C语言前四章练习题答案.DOC
- 格式:pdf
- 大小:136.69 KB
- 文档页数:8
C语言程序基础练习1-4一、选择2601、以下叙述中错误的是A、C语句必须以分号结束B、复合语句在语法上被看作一条语句C、空语句出现在任何位置都不会影响程序运行D、赋值表达式末尾加分号就构成赋值语句
2、以下叙述中正确的是____。
A、用C程序实现的算法必须要有输入和输出操作
B、用C程序实现的算法可以没有输出但必须要有输入
C、用C程序实现的算法可以没有输入但必须要有输出
D、用C程序实现的算法可以既没有输入也没有输出
3、以下叙述中错误的是
A、用户所定义的标识符允许使用关键字
B、用户所定义的标识符应尽量做到“见名知意”C、用户所定义的标识符必须以字母或下划线开头
D、用户定义的标识符中,大、小写字母代表不同标识
4、以下不能定义为用户标识符的是____。A、MainB、_0C、_intD、sizeof5、C语言提供的合法的数据类型的关键字是____。A、DoubleB、longC、integerD、Char6、C语言提供的合法的关键字是____。A、SwitchB、cherC、CaseD、default
7、以下选项中可作为C语言合法常量的是____。(p39)A、-80.0B、-080C、-8e1.0D、-80.0e8、C语言提供的不正确的转义字符是____。A、’\\’B、’\’’C、’074’D、’\0’9、字符串”ab\n\012\\\’”包括____个字符(空字符除外)。(空字符除外,1
个英文字符存储要1个字节,2个数字为一个字节/转义字符占1个字节)A、3B、4C、6D、12
10、在C语言中,要求运算数必须是整型的运算符是____。
A、/B、++C、!=D、%11、符合c语言语法的表达式是____。A、a:=b+1B、a=b=c+2C、int18.5%3D、a=a+7=c+b12、若有代数式3ae/bc,则不正确的C语言表达式是_____。A、a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3
13、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是__。
A、7B、8C、6D、2
14、intx=10;执行x+=x-=x-x后x的值是____。
A、10B、20C、30D、40
15、intx=3;表达式x++的值是____。A、2B、3C、4D、516、若有doublex,y;执行x=1,y=x+3/2后y的值是____。A、1B、2C、2.0D、2.517、intx=11,表达式(x++*1/3)的值是____。A、3B、4C、11D、1218、已知intx=1,y=2,z;执行(z=1.0/y*x)语句后z的值是___。A.0B.0.5C.1D.219、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是__。A.inta=b=c=5;B.inta,b,c=5;C.inta=5,b=5,c=5;D.a=b=c=5;20、若有以下定义,则不正确的赋值语句是____。inta,b=0;floatx;A、a=1,b=2;B.b++;C.a=b=5;D.b=int(x);21、已知ch是字符型变量,下面不正确的赋值语句是____。A.ch=’a+b’;B.ch=’\0’;C.ch=’7’+’9’D.ch=5+9;22、若inta,i;以下合法的语句是____。A.a==1;B.++i;C.a=a+i=5;D.a++=i;23、假设所有变量均为整型,且num=sum=7;则表达式sum=num++,sum++,++num执行后的值为____。A、7B、8C、9D、10
24、有以下程序main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是____。
A、m=123n=456p=789B、m=123n=456p=789C、m=123,n=456,p=789D、123456789
25、以下程序的运行结果是____。
main(){intk=4,a=3,b=2,c=1;printf(“\n%d\n”,kA、4B、3C、2D、1(结合方向从右至左)26、以下能正确定义且赋初值的语句是A、intn1=n2=10;B、charc=32;C、floatf=f+1.1;D、doublex=12.3E2.5;27、设有定义:inta=2,b=3,c=4;,则以下选项中值为0的表达式是A、(!a==1)&&(!b==0)B、(aC、a&&bD、a||(b+b)&&(c-a)28、以下程序的运行结果是___。main(){charc=’b’;printf(“%c”,c-32);}A、aB、BC、b-32D、z
29、数字字符0的ASCII值为48,若有以下程序
main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是____。A、3,2B、50,2C、2,2D、2,50
30、有以下程序
main(){intm=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是____。A、12353514B、12353513C、12343514D、12343513
31、有以下程序
main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是____。A、6,1B、2,1C、6,0D、2,0
32、有以下程序
main(){chara1='M',a2='m';printf("%c\n",(a1,a2));}
以下叙述中正确的是A、程序输出大写字母MB、程序输出小写字母m
C、格式说明符不足,编译出错D、程序运行时出错
33、有以下程序
#includemain(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}
当运行时输入:a后,以下叙述正确的是A、变量c1被赋予字符a,c2被赋予回车符
B、程序将等待用户输入第2个字符
C、变量c1被赋予字符a,c2中仍是原有字符2
D、变量c1被赋予字符a,c2中将无确定值34、有以下程序main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d%d%d\n",i,j,k);}程序运行后的输出结果是____。A、123B、234C、223D、233
35、若整型变量a、b、c、d中的值依次为:1、4、3、2。
则条件表达式a)A、1B、2C、3D、436、以下程序的运行结果是___。
main(){intm=5;if(m++>5)printf(“%d\n”,m);elseprintf(“%d\n”,m--);}(在if判断时就将m值+1)
A、4B、5C、6D、737、以下程序的运行结果是____。
main(){inta=2,b=-1,c=2;if(aelsec++;print(“%d”,c);}A、0B、3C、2D、1(注意if嵌套时else的配对问题)
38、以下程序的输出结果是____。
main(){intx=2,y=-1,z=2;if(xif(y<0)z=0;elsez+=1;printf(“%d\n”,z);}A、3B、2C、1D、0(注意if嵌套时else的配对问题)
39、以下程序的运行结果是____。
main(){inta=1,b=2,x=0,y=0;if(a<=b)x=1;elsey=2;if(a>b)printf(“******y=%d”,y);elseprintf(“######x=%d”,x);}A、******y=1B、******y=2C、######x=1D、######x=240、inta,b;printf(“%d”,(a=2)&&(b=-2));的运行结果是____。A、0B、1C、2D、-2二、填空1、一个C源程序中至少应包括一个_主函数____。2、在C语言中的实型变量分为两种类型,它们是_单精度型_和双精度型。3、若x和a均是int型变量,则执行表达式x=a=4,6*2后x的值为_4_。4、若a是int型变量,则执行下面表达式a=25/3%3后a的值为__2___。5、若有定义:inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值类型为__double___。6、若有以下定义inta=5,n=2;则执行表达式a%=(n%=2)+1后a的值是_0_。7、若x和n均是int型变量,且x和n的初值均为5,则执行下面表达式x+=n++后x的值为__10__,n的值为___6__。8、以下程序运行后的输出结果是_4599___。
main(){inta=3,b=4,c=5,t=99;if(bif(aprintf("%d%d%d\n",a,b,c);}(注意if的语句体!)9、已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回
车>.输出结果是_1B___。(0的ASCII代码值为48)#include"stdio.h"main(){chara,b;a=getchar();scanf("%d",&b);a=a-'A'+'0';b=b*2;printf("%c%c\n",a,b);}