您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > C语言程序设计练习题[1]
C语言程序设计练习题一、选择题(每小题2分,共40分,答案必须填写半角大写字母ABCD)1.若a是float型变量,b是unsigned型变量,以下输入语句(c)是合法的。A)scanf(%6.2f%d,&a,&b)B)scanf(%f%n,&a,&b)C)scanf(%f%3o,&a,&b)D)scanf(%f%f,&a,&b)2.设以下变量均为int类型,则值不等于7的表达式是(C)。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(x=6,x+1,y=x,y+1)3.设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c值的数据类型为(C)。A)intB)floatC)doubleD)不确定4.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(D)。A)floatB)charC)intD)double5.若给定条件表达式(x)?(a++):(a--),则表达式x(C)。A)和(x==0)等价B)和(x==1)等价C)和(x!=0)等价D)和(x!=1)等价6.C语言中while和do-while循环的主要区别是(B)A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合句7.若有说明:inta[10];,则对a数组元素的正确引用是(D)A)a[10]B)a[3.5]C)a(5)D)a[10-10]8.设以下变量均为int类型,则值不等于7的表达式是(C)。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(x=6,x+1,y=x,y+1)9.设i和x都是int类型,则以下for循环(A)。for(i=0,x=0;i=9&&x!=876;i++)scanf(%d,&x);A)最多执行者10次B)最多执行者9次C)是无限循环D)循环体一次也不执行10.以下对二维数组a进行初始化的语句错误的是(C)A)inta[2][3]={0};B)inta[][3]={{1,2},{0}};C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6};11.下面描述正确的是(B)。A)两个字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串stop与Stop相等D)字符串that小于字符串the12.以下不正确的说法是(B)。A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以是任意类型D)形参应与其对应的实参类型一致13.下面函数调用语句中含有实参个数为(B)。func((exp1,exp2),(exp2,exp4,exp5));A)1B)2C)3D)414.若有说明:inta[10];,则对a数组元素的正确引用是(D)。A)a[10]B)a[3.5]C)a(5)D)a[10-10]15.设有下面的语句和说明,则下列叙述正确的是(C)。chars[]=china;char*p;p=s;A)s和p完全相同B)数组s中的内容和指针变量P的内容相同C)s数组长度和P所指向的字符串长度相同D)*p和s[0]相同16.若有说明:inta[3][4];,则对a数组元素正确引用是(C)。A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)17.设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。A)0B)3C)2D)118.一个C语言程序是由(B)。A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成19.凡是在C语言中函数未指定存储类别的局部变量,其隐含的存储类别为(A)。A)自动B)静态C)外部D)寄存器20.变量的指针,其含义是指该变量的(B)。A)值B)地址C)名D)一个标志22.在C语言中,要求运算数必须是整型的运算符是(D)。A)/B)++C)!=D)%23.若int类型数据占两个字节,则以下程序的输出为(D)。main(){intk=-1;Printf(“%d,%u\n”,k,k);}A)-1,-1B)-1,32767C)-1,32768D)-1,6553524.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(D)。A)floatB)charC)intD)double25.下面程序段中循环体的执行次数是(A)a=10;b=0;do{b+=2;a-=2+b;}while(a=0);A)3B)4C)5D)不定26.以下叙述正确的是(C)。A)在C语言中,每行只能写一条语句。B)若X是实型变量,C语言中允许赋值X=100,因此实型变量中允许存放整型变量。C)在C程序中,%只能用于整数运算的运算符。D)在C程序中,无论是整数还是实数,都能被准确无误地表示。27.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)。A)2.500000B)2.750000C)3.500000D)0.0000028.下面程序段的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空。#includemain(){inta,b,t;scanf(%d,%d\n,a,b);while___B___{if(ab){t=a;a=b;b=t;}printf(%d,%d\n,a,b);scanf(%d%d,&a,&b);}}A)!a=bB)a!=bC)a==bD)a=b29.若调用一个函数,且函数中没有return语句,则正确的说法是(A)。A)该函数没有返回值B)返回若干个系统默认值A)能返回一个用户所希望的函数值A)返回一个不确定的值30.凡是在C语言中函数未指定存储类别的局部变量,其隐含的存储类别为(A)。A)自动B)静态C)外部D)寄存器31.以下不正确的语句(设有intq,p)是(A)。A)p*=3;B)p/=q;C)p+=3;D)p&&=q;32.设intn=3,则++n的结果是(C)。A)2B)3C)4D)533.在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是(A)。A)4B)1C)2D)534.若有说明:inta[10];,则对a数组元素的正确引用是(D)。A)a[10]B)a[3.5]C)a(5)D)a[10-10]35.以下对一维整型数组a的正确说明是(D)。A)inta(10);B)intn=10,a[n];C)intn;scanf(%d,&n);inta[10];D)#definemax10inta[max];36.若有说明:inta[3][4];,则对a数组元素正确引用是(C)。A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)37.若a=1,b=2,c=3,d=4,则条件表达式aB?A:C若有说明inta[][3]={1,2,3,4,5,6,7};,则a数组第一维的大小是(A)。A)2B)3C)4D)无确定值38.凡是在C语言中函数未指定存储类别的局部变量,其隐含的存储类别为(A)。A)自动B)静态C)外部D)寄存器39.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(A)。A)7B)8C)6D)240.若int类型数据占两个字节,则以下程序的输出为(D)。main(){intk=-1;Printf(“%d,%u\n”,k,k);}A)-1,-1B)-1,32767C)-1,32768D)-1,6553541.若int类型数据占两个字节,则以下程序的输出为(D)。main(){intk=-1;Printf(“%d,%u\n”,k,k);}A)-1,-1B)-1,32767C)-1,32768D)-1,6553542.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(D)。A)floatB)charC)intD)double43.若a是float型变量,b是unsigned型变量,以下输入语句(C)是合法的。A)scanf(%6.2f%d,&a,&b)B)scanf(%f%n,&a,&b)C)scanf(%f%3o,&a,&b)D)scanf(%f%f,&a,&b)44.以下叙述正确的是(C)。A)在C语言中,每行只能写一条语句。B)若X是实型变量,C语言中允许赋值X=100,因此实型变量中允许存放整型变量。C)在C程序中,%只能用于整数运算的运算符。D)在C程序中,无论是整数还是实数,都能被准确无误地表示。45.若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)。A)2.500000B)2.750000C)3.500000D)0.0000046.设以下变量均为int类型,则值不等于7的表达式是(C)。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(x=6,x+1,y=x,y+1)47.设i和x都是int类型,则以下for循环(A)。for(i=0,x=0;i=9&&x!=876;i++)scanf(%d,&x);A)最多执行者10次B)最多执行者9次C)是无限循环D)循环体一次也不执行48.以下叙述正确的是(C)。A)在C语言中,每行只能写一条语句。B)若X是实型变量,C语言中允许赋值X=100,因此实型变量中允许存放整型变量。C)在C程序中,%只能用于整数运算的运算符。D)在C程序中,无论是整数还是实数,都能被准确无误地表示。49.设以下程序段intx=0,s=0;while(!x!=0)s+=++x;printf)%d,s);则(A)A)运行程序后输出0B)运行程序后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次50.下面程序段中循环体的执行次数是(A)a=10;b=0;do{b+=2;a-=2+b;}while(a=0);A)3B)4C)5D)不定51.设变量a是整型,b是实型,c是双精度型,则表达式10+'a'+b*c值的数据类型为(C)。A)intB)floatC)doubleD)不确定52.若有说明:inta[10];,则对a数组元素的正确引用是(D)。A)a[10]B)a[3.5]C)a(5)D)a[10-10]53.以下对一维整型数组a的正确说明是(D)。A)inta(10);B)intn=10,a[n];C)intn;scanf(%d,&n);inta[10];D)#definemax10inta[max];54.若有说明:inta[3][4];,则对a数组元素正确引用是(C)。A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)55.以下对二维数组a进行初始化的语句错误的是(C)A)inta[2][3]={0};B)inta[][3]={{1,2},{0}};C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6};56.在C语言中,int型数据在内存中的存储形式是(A)。A)补码B)反码C)原码D)ASC||码57.在C语言中,当while语句中的条件为(A)时,结束该循环。A)0B)1C)trueD)非058.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(A)。A)7B)8C)6D)259.在C语言中,要求运算数必须是整型的运算符是(D)。A)/B)++C)!=D)%60.若int类型数据占两个字节,则以下程序的输出为(D)。main(){intk=-1;Printf(“%d,
本文标题:C语言程序设计练习题[1]
链接地址:https://www.777doc.com/doc-3375569 .html