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);}