C综合复习题

2019-04-01 20:57

复习题

一、 单选题

1、一个C源程序至少应包括一个( C )。

A、功能函数 B、自定义函数 C、main函数 D、头文件 2、下面全不正确的字符常量是(C)。

A、A p_0 Do B、float la0 _A C、 b-a goto int D、_123 temp INT 3、执行以下语句后b的值是( B )A int a=5,b=6,w=1,x=2,y=3,z=4;

(a=w>x)&&(b=y>z); &&一边为0另一边不算,||一边为1另一边不算 A、6 B、0 C、1 D、4

4、若以下变量均是整型,且num=sum=7 ; 则计算表达式sum=num++,sum++,++num后sum的值为(B ) A、7 B、8 C、9 D、10

5、设a=10,b=4,执行以下赋值语句后,a的值为( A ) a%=b+1

A、0 B、1 C、2 D、3

6、当a=5,b=4,c=2时,表达式a>b !=c的值是( D ) A、5 B、4 C、2 D、1

7、条件“2

C、x<3||x>2&&x<-10 D、x<3&&x>2||x<-10 有交集用&&无交集用|| 8、以下程序的运行结果是( C ) main () {

int m=5 ;

if(m++>5)printf(“%d ”,m); else printf(“%d”,m--); }

A、4 B、5 C、6 D、7 9、以下程序的输出结果是( B ) A、main( ) {

int x=2,y=-1,z=2; if(x

printf(“%d”,z); }

A、3 B、2 C、1 D、0

10、以下对二维数组a的正确说明是( C ) A、int a[3][] B、float a(3,4) C、double a[1][3] D、float a(3)(4)

11、阅读以下程序,当输入数据的形式为:25,13,10,正确的输出结果为(main( )

{ int x,y,z;

scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\\n”,x+y+z); }

A、x+y+z=48 B、x+y+z=35 C、x+z=35 D、不确定值 12、以下错误的if语句是( B ) C

)。 CR=回车 D A) if(x>y); B) if (x==y) x+=y;

C) if (x!=y) scanf(“%d”,&x) ; else scanf(“%d”,&y) D) if (x

A) break语句不能用于循环语句和switch语句外的任何其它语句 B) 在switch语句中使用break语句或continue语句的作用相同

C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止循环 D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 14、执行”for(I=1;I++<4; ) ;”后,变量I的值为( A ) C

A)3 B) 4 C) 5 D) 不定

15、若int I=10; 执行下列程序后,变量I的正确结果是(B ) D 没有break,不跳出 switch(i) {case 9 : I+=1; case 10 : I+=1; case 11 : I+=1; default : I+=1; }

A) 10 B) 11 C) 12 D)13

16、C语言中while 与do-while语句的主要区别是( A ) A、do-while的循环体至少无条件执行一行; B、do-while允许从外部转到循环体内; C、do-while的循环体不能是复合语句;

D、while的循环控制条件比do-while的循环控制条件严格 17、下面程序运行的结果是( A )D main()

{int y=10;do{y--;}

while(--y);printf(“%d”,y--); }

A、-1 B、1 C、8 D、0

18、设j为int型变量,则下面for循环语句的执行结果是(B ) for(j=10;j>3;j--) {if(j%3)j--;

--j;--j;printf(“%d ”,j);}

A、6 3 B、7 4 C、6 2 D、7 3 19、以下建立函数的目的中,正确的说法是( B ) A、提高程序的执行效率 B、提高程序的可读性; C、减少程序的篇幅 D、减少程序文件所占内存

20、若调用一个函数,且此函数中没有return语句,则正确的说法是( A )D A、没有返回值 B、返回若干个系统默认值

C、能返回一个用户所希望的值 D、返回一个不确定的值 21.在C语言中,合法的字符常量是( D)

A)‘程序设计’ B)“程序设计” C) C D)‘\\\\’

22.表示图中坐标轴上阴影部分的正确表达式是( C ) -1 0 1 3 A) -1<=x && 1<=x||x<=3 B) (x<=-1)&&(1<=x||x<=3) C) x<=-1||x>=1&&x<=3 D) !(-13)

23.执行int x=2,y=3;后,表达式x=(y==3)的值是( A )B

A)0 B)1 C)2 D)3

x 24.在循环结构的循环体中执行break语句,其作用是( C ) A) 结束本次循环,进行下次循环

B) 继续执行break语句之后的循环体中各语句 C) 跳出该循环体,提前结束循环 D) 终止程序运行

25.以下程序运行结果是( B )A 有效长度,不加转义字符 main()

{char s[]=“\\’Address\\’” ; printf(%d\\n”, strlen(s)) ; }

A) 9 B) 10 C) 11 D) 12

26.以下程序运行结果是( A )C Y=Y+a[X+1] main()

{int a[]={2, 4, 6, 8, 10}, y=1, x; for(x=0;x<3;x++) y+=a[x+1]; printf(“%d\\n”, y); }

A) 17 B) 18 C) 19 D) 20

27.已定义char x[8]; int i;为了给x数组赋值,以下正确的语句是(A ) D不能给X赋值X【】也不能直接赋值

A) x[8]=”Turbo C”; B) x=”Turbo C”;

C) x[]=”Turbo C”; D) for(i=0;i<7;i++) x[i]=getchar(); 28.设int a[][4]={0, 0};则以下错误的描述是(. D ) A) 数组a的每个元素都可得到初值0 B) 二维数组a的第一维大小为1 C) 数组a的行数为1

D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值0

29.以下程序运行结果是(. C ) fun3(int x)

{static int a=3; a+=x; return a; } main()

{int k=2, m=1, n; n=fun3(k); n=fun3(m);

printf(“%d\\n”, n); }

A) 3 B) 4 C) 6 D) 9

30.设变量a是整型,f是单精度型,i是双精度型,则表达式10+′a′+i*f值的数据类型为(C ) A) int B) float C) double D) 不确定 31.以下不正确的描述是( D)

A) 在函数外部定义的变量是全局变量 B) 在函数内部定义的变量是局部变量 C) 函数的形参是局部变量

D) 局部变量不能与全局变量同名

32.为了避免在嵌套的条件语句 if --- else 中产生二义性,C语言规定:else子句总是与(.B )配对。 A) 缩排位置相同的if B) 其之前最近的if C) 其之后最近的if D) 同一行上的 if

33.以下程序段(C )

x = -1 ; do

{ x = x * x ; }

while ( !x ) ;

A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误

34.下列各变量均为整型,选项中不正确的C语言赋值语句是( D )

A)i+=++i; B)i=j==k; C)i=j+=i; D)i=j+1=k; 35.以下正确的函数声明形式是(A )C

A)double fun (int x, int y ) B)double fun (int x ;int y) C)double fun (int x, int y); D)double fun (int x,y) ; 36.要使以下程序的输出结果为4,则a和b应满足的条件是( A )

main()

{int s,t,a,b;

scanf(“%d%d”,&a,&b); s=t=1;

if(a>0) s += 1; if(a>b) t= s + t;

else

if(a==b) t=5; else t=2*s;

printf(“%d\\n”,t); }

A)a>0并且a0并且a>b D)a<0并且a

for(i=100;i<200;i++) {

if(i%5==0) continue; printf(“%d\\n”,i); break; } }

A)100 B)101 C)无限循环 D)无输出结果 38.下列程序段的运行结果是(B )

int i=1,a[]={1,5,10,9,13,7};

while(a[i]<=10) a[i++]+=2; a[i++]=a[i++]+2

for (i=0;i<6;i++) printf(“%d”,a[i]); A)2 7 12 11 13 9 B)1 7 12 11 13 7 C)1 7 12 11 13 9 D)1 7 12 9 13 7

39.以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是( B )D

A)char s[]=“abcde”;

B)char s[]={’a’, ’b’,’c’,’d’,’e’,’\\0’};

C)char s[]={“abcde”}; D)char s[5]= “abcde”; 40.下面程序段的运行结果是( B )D

int a[2][3]={1,2,3},i,j; for(i=0;i<2;i++) for(j=0;j<3;j++)

{a[i][j]=a[i*j%2][j]+a[i][(i+j printf(“%d,”,a[i][j]); }

A) 2,4,6,2,0,8, B) 1,2,3,0,0,0, C) 1,2,3,2,0,6, D) 2,4,6,2,0,6,

41.下列哪项可以作为C语言中的用户定义字?( B ) A.@sina B.mean C.a+b D.int

42.C源程序的后缀名是?(A ) ~~编译后叫编译程序 A. .c B..obj C.exe D. .prj

43、表示图中坐标轴上阴影部分的正确表达式是( C )

A. -1<=x && 1<=x||x<=3 B.((x<=-1)&&x>=-4)&&(1<=x||x<=3) C.x<=-1&&x>=-4||x>=1&&x<=3 D.!(-13) 44.语言中用于结构化程序设计的三种基本结构是( A ) A 顺序结构、选择结构、循环结构 B if、switch、break C for、while、do-while D if、for、continue

45.下面程序段所表示的逻辑关系是(B ) if(a

A.当a=b且c!=d时,x=2 B.当a=b时,x=2 C. 当a


C综合复习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

Copyright © 2019-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18

× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: