《C语言各章节复习题》由会员分享,可在线阅读,更多相关《C语言各章节复习题(35页珍藏版)》请在金锄头文库上搜索。
1、一、C语言概述练习题选择1. 一个C程序的执行是从。A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2. 以下叙述不正确的是。A) 一个C源程序必须包含一个main函数B)个C源程序可由一个或多个函数组成C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面3. 以下叙述正确的是。A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面
2、C) C语言本身没有输入输出语句D)C程序的每行中只能写一条语句4. 一个C语言程序是由。A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成5. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对6. 以下叙述中错误的是。A) C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C) 通过编译得到的二进制目标程序需要连接才可以运行D) 在没有安装C语言集成开发环境的机器上不能运行C源程序生成的
3、.exe文件7. 以下叙述正确的是。A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x)C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1. 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32)A)4B)16C)32D)522. 下列四组选项中,均不是C语言关键字的选项是。A)defineIFtypeB)getccharprintfC)includecasescanfD)whilegopow3. 下列四组选项中,均是不合法的用户标识符的选项
4、是。A)WP_0doB)b-agotointC)floatla0_AD)-123abcTEMP4. 下列四组选项中,均是合法转义字符的选项是。A)”nB)017”C)018fxabD)0101xlf5. 下面不正确的字符常量是。A)“c”B)C)D)K6. 以下叙述不正确的是。A)在C程序中,逗号运算符的优先级最低B)在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7. 以下叙述正确的是。A) 在C程序中,每行只能写一条语句B) 若
5、a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,是只能用于整数运算的运算符(字符型也可以)D) 在C程序中,无论是整数还是实数,都能被准确无误地表示8. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=A+6-3后,c2中的值为。A)DB)68C)不确定的值D)C9. sizeof(float)是。A)一个双精度型表达式B)一个整型表达式C)一种函数表达式D)一个不合法的表达式10. 设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为。A)0255B)032767C)065535D)02147
6、48364711. 设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。A)floatB)charC)intD)double12. 设以下变量均为int类型,则值不等于7的表达式是。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)(y=6,y+1,x=y,x+1)13. 下列变量定义中合法的是。A)short_a=015;B)doubleb=e2.5;C)longdo=0xfdaL;D)float2_and=1e-3;14有以下程序#includemain()intx=011;prin
7、tf(%dn,+x);程序运行后的输出结果是。A)12B)11C)10D)9填空1. 若有以下定义,intm=5,y=2;则计算表达式y+=y-=m*=y后的y值是【1】。-162. 在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为【2】。-32768327673. 若s是int型变量,且s=6,则下面表达式s%2+(s+1)%2的值为【3】。14. 若a是int型变量,则下面表达式(a=4*5,a*2),a+6的值为【4】。265. 若x和a均是int型变量,则计算表达式(1)后的x值为【5】,计算表达式(2)后的x值为【6】。412(1)x=(a=4,6*2)(2
8、)x=a=4,6*26. 若a是int型变量,则计算下面表达式a=25/3%3后a的值为【7】。27. 若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。106x+=n+/若改为x+=+n则计算后X为,为1168. 若有定义:charc=010;则变量c中包含的字符个数为【10】。19. 若有定义:intx=3,y=2;floata=2.5,b=3.5;则下面表达式(x+y)%2+(int)a/(int)b的值为【11】。110. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=a+8-3的值为【12】。f三、简单的C程序
9、设计选择1. putchar函数可以向终端输出一个。A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值2. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式B_;如果字符串长度小于5,则输出按方式C。A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符串,左补空格D)输出错误信息3. 阅读以下程序,当输入数据的形式为:25,13,10(注:CR表示回车),则正确的输出结果为。main()intx,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%dn”,x
10、+y+z);A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值4根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为。main()charch1,ch2,ch3;输入语句printf(“%c%c”,ch1,ch2,ch3);输出形式:ABC输入形式:ABCA)scanf(“%c%c%c”,&ch1,&ch2,&ch3);B)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C)scanf(“%c%c%c”,&ch1,&ch2,&ch3);D)scanf(“%c%c”,&ch1,&ch2,&ch3);5. 已知ch是字符型变量,下面不正确的赋值语
11、句是。A)ch=a+b;B)ch=0;C)ch=7+9;D)ch=5+9;6. 以下关于结构化程序设计的叙述中正确的是。A) 一个结构化程序必须同时由顺序、分支、循环三种结构组成B) 结构化程序使用goto语句会很便捷C) 在C语言中,程序的模块化是利用函数实现的D)由二种基本结构构成的程序只能解决小规模的问题7有以下程序#includemain()inta1,a2;charc1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,a1,c1,a2,c2);若想通过键盘输入,使得al的值为12,a2的值为34,cl的值为字符a,c
12、2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下代表空格,CR代表回车)A)12a34bB)12_a_34_bC)12,a,34,bD)12_a34_bCR填空1. 以下的输出结果是【1】。c:dec=120,oct=170,hex=78,ASCII二xmain()charc=x;printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%cn”,c,c,c,c);2以下的输出结果是【2】。main()intx=1,y=2;printf(“x=%dy=%d*sum*=%dn”,x,y,x+y);printf(“10Squaredis:%dn”,10*1
13、0);x=1y=2*sum*=310Squaredis:1003. 假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+=【3】;b=a-【4】;a-=【5】;bbb4. 若x为int型变量,则执行以下语句x=7;x+二x-二x+x;后的x值为【6】。-145. 有一输入语句scanf(“d”,k);则不能使float类型变量k得到正确数值的原因是【7】和【8】。格式控制符应为%f;变量k前缺少&四、逻辑运算与判断选取控制选择1. 逻辑运算符两侧运算对象的数据类型。A)只能是0和1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据2. 判
14、断char型变量ch是否为大写字母的正确表达式是。A)A=ch=A)&(ch=A)&(ch=Z)D)(A=ch)3. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是。A)A%2=1B)!(A%2=0)C)!(A%2)D)A%24. 设有:inta=l,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&(n=cd)后n的值为。A)1B)2C)3D)45. 以下程序的运行结果是。main()inta,b,d=241;a=d/100%9;b=(-1)&(-1);printf(“%d,%d”,a,b);A)6,1B)2,1C)6,0D)2,06. 已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是。if(xy)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=207. 以下程序的运行结果是。main()intm=5;if(m+5)printf(“%dn”,m);else;printf(“%dn”,m-);A)4B)5C)6D)7