资源描述:
《C语言1-5章复习题及参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、.一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。A.-3B.9C.-12D.62、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为( )。A.1.4B.1C.2.0D.23、有如下程序:void main(){ int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d",sum);}该程序的执行结果是( )。A.6B.3C.死循环D.04、下列关于表达式的描述中,错误的是( )。A.常量和变量都是表达式。B
2、.运算符类型对应表达式的类型。C.每一个表达式都有自己的值。D.表达式必须以分号结尾。5、C语言中,合法的长整型常数是( )。A.'t'B.”A”C.65D.a6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。A.1B.2C.2.00000D.2.500007、表达式:10!=9的值是( )。A.trueB.非零值C.0D.18、以下程序的输出结果是( )。#includevoid main(){ printf("%d", NULL);}A.不确定的B.0C.-1D.19、
3、请选出合法的C语言赋值语句。( )A.a=b=58B.i++;C.a=58,b=58D.k=int(a+b);10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是( )。A.0B.2C.4D.811、关于语句printf(“hello world”);,下列描述中错误的是()。A.printf()是格式化输出函数,用于输出信息。B.printf()括号中的内容为函数的参数。C.printf()括号中的内容会全部输出到控制台上。D.表示换行操作。12、下列选项中,哪一项不是C语言中的位运算符()。A.&B.
4、
5、C.~D.^13、
6、以下程序的输出结果是( )。void main()..{ char c='z'; printf("%c", c-25);}A.aB.ZC.z-25D.y14、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。A.a<>0B.!aC.a=0D.a15、以下循环体的执行次数是( )。void main(){ int i,j; for (i=0,j=1; i<=j+1; i+=2,j--) printf("%d",i);}A.3B.2C.1D.016、下列运算符中优先级最高的是( )。A.
7、
8、B.&&C
9、.+D.=17、若有以下定义和语句:char c1='b',c2='e'; printf("%d,%c",c2-c1,c2-'a'+'A'); 那么输出结果是( )。A.2,MB.3,EC.2,ED.输出项与对应的格式控制不一致,输出结果不确定18、若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1; 那么执行后,c3中的值是( )。A.0B.0.5C.1D.219、若变量a是int类型,并执行了语句:a='A'+1.6; 则下列描述中,正确的是( )。A.a的值是字符’C'B.a的值是浮点型C.不允许字符型和浮
10、点型相加D.a的值是字符’A’的ASCII值加上120、若有定义:int x ,i;则下列for循环语句:for(i = 0,x = 0; i<= 9 && x!=876;i++)scanf(“%d”,&x);下列选项中,描述正确的是( )A.最多执行10次B.最多执行9次C.是无限循环D.循环体一次也不执行21、假定有以下变量定义:int k=7,x=12; 那么能使值为3的表达式是( )。A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出
11、结果是( )。void main(){ int x; scanf("%d",&x); if (x++ > 5) printf("%d",x); else printf("%d",x--);}A.7和5B.6和3C.7和4D.6和4..23、若已定义x和y为double类型,则表达式:x=1, y=x+3/2 的值是( )。A.1B.2C.2.0D.2.524、执行下面程序片段的结果是( )。int x=23;do{ printf("%2d",x--);} while (!x);A.打印出321B.打印出23C.不打印任何内容D.陷入死
12、循环25、以下选项中合法的字符常量是( )。A."B"B.' 10'C.6