C语言考试题库及复习答案_第1页
C语言考试题库及复习答案_第2页
C语言考试题库及复习答案_第3页
C语言考试题库及复习答案_第4页
C语言考试题库及复习答案_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言理论上机考试选择题部分(共200题)

1、下面程序的输出是__D_5、C语言提供的合法的数据类型关键字是

#include<stdio.h>_____B____.

voidmain()A)DoubleB)shortC)

{intk=ll;integerD)Char

6、字符(char)型数据在微机内存中的存储

printf(,/k=%d,k=%o,k=%x\n”,k,k,k);形式是_D_.

)A)反码B)补码C)EBCDIC码D)

A)k=ll,k=12,k=llB)ASCII码

k=ll,k=13,k=137、C语言程序的基本单位是____C_______.

C)k=ll,k=013,k=0xbD)A)程序行B)语句C)函数

k=ll,k=13,k=bD)字符

2、在下列选项中,不正确的赋值语句是8、设inta=12,则执行完语句a+=a-=a*a

__D_______.后,a的值是___D____

A)++t;B)nl=(n2=(n3=0));A)552B)264C)144

C)k=i=j;D)a=b+c=l;D)-264

3、下面合法的C语言字符常量是9、执行下面程序中的输出语句后,输出结

_______A____.果是—B_.

A)''t'B)"A"C)65#include<stdio.h>

D)Avoidmain()

4、表达式:10!=9的值是________D____.{inta;

A)trueB)非零值C)0printf("%d\n”,(a=3*5,a*4,a+5));

D)1

A)65B)20C)15ch2='A'+'6'-'3';

D)10printf("%d,%c\n”,chi,ch2);

10、下面程序的输出是B.)

#include<stdio.h>A)67,DB)B,CC)C,DD)不

voidmain()确定的值

{intx=023;13、若要求在if后一对圆括号中表示a不

printf("%d\n",-x);等于0的关系,则能正确表示这一关系的表

}达式为__D_.

A)17B)18C)23A)a<>0B)!aC)a=0

D)24D)a

11、下面程序的输出的是C_.14、以下程序的输出结果是D.

#include<stdio.h>#include<stdio.h>

voidmain()voidmain()

{intx=10,y=3;{intx=10,y=10;

printf("%d\n",y=x/y);printf("%d%d\n”,x-,-y);

}}

A)0B)103D)不A)1010B)99C)910

确定的值D)109

12、已知字母A的ASCII码为十进制的65,15、设有如下定义:

下面程序的输出是A.intx=10,y=3,z;

#include<stdio.h>则语句

voidmain()printf("%d\n”,z-(x%y,x/y));

{charchi,ch2;的输出结果是D.

chl='A'+'5'-'3';

A)1B)0C)4

D)3charch:

16、为表示关系x>y》z,应使用C语言表scanf("%3c”,&ch);

达式—A—.printf(//%c,/,ch);

A)(x>=y)&&(y>=z)B)i

(x>=y)AND(y>=z)如果从键盘上输入

C)(x>=y>=z)D)(x>=y)&abc〈回车》

(y>=z)则程序的运行结果是_A.

17、C语言中非空的基本数据类型包括A)aB)bC)cD)程

B____.序语法出错

A)整型,实型,逻辑型B)整型,20、阅读下面的程序

实型,字符型#include<stdio.h>

0整型,字符型,逻辑型voidmain()

D)整型,实型,逻辑型,字符型(

18、若x和y都是int型变量,x=100,y=200,inti,j;

且有下面的程序片段:i=010;

printf("%d”,(x,y));j=9;

上面程序片段的输出结果是—A—.printf(/z%d,%d”,i-j,i+j);

A)200B)100}

0100200D)输出格式符不够,输出则程序的运行结果是—D—.

不确定的值A)1,19B)-1,19C)1,17

19、阅读下面的程序D)-1,17

#include<stdio.h>21、阅读下面的程序

voidmain()#include<stdio.h>

voidmain()scanf("%3d%2d”,&i,&j);

printf("i=%d,j=%d\n",i,j);

inti,j,m,n;)

i=8;j=10;如果从键盘上输入1234567(回车》,则程序

m=++i;的运行结果是—D—.

n=j++;A)i=123,j=4567B)i=1234,j=567

printf(/z%d,%d,%d,%d”,i,j,m,n);0i=l,j=2D)i=123,j=45

)25、下面程序的输出结果是D.

程序的运行结果是C.#include<stdio.h>

A)8,10,8,10B)9,11,8,10voidmain()

C)9,11,9,10D)9,10,9,11(

22、已知a=12,则表达式a+=a-=a*=a的结inta=T,b=4,k;

果是A_.k=(++a<=0)&&(b一<=0);

A)0B)144C)12printf(z,%d,%d,%d\n”,k,a,b);

D)-264)

23、若已定义inta,则表达式A)1,1,2B)1,0,3C)0,1,2

a=10,a+10,a++的值是_B_.D)0,0,3

A)20B)10C)2126、下面程序的输出结果是A.

D)11#include<stdio.h>

24、阅读下面的程序voidmain()

#include<stdio.h>(

voidmain()inta=5,b=3;

floatx=3.14,y=6.5;

inti,j;

A)2.4B)2.5C)2.75

printf(/z%d,%d\n”,a+b!=a-b,x<=(y-=D)0

6.D);30、若已定义x和y是整型变量,x=2;,则表

}达式y=2.75+x/2的值是C____.

A)1,0B)0,1C)1,1A)5.5B)5C)3

D)0,0D)4.0

27、执行下面程序段后,输出结果是31、以下程序的输出结果是—D—.

A.#include<stdio.h>

inta;voidmain()

intb=65536;(

a=b;inta=12,b=12;

printf("%d\n”,a);printf("%d,%d\n”,—a,++b);

A)65536B)0C)-1i

D)1A)10,10B)12,12C)11,10

28、若有以下定义和语句:D)11,13

inta=010,b=0xl0,c=10;32、设有以下语句:intx=10;x+=3+x%(3),

printf("%d,%d,%d\n,z,a,b,c):则x的值是.—A_____

则输出结果是—B_____.A)14B)15C)11

A)10,10,10B)8,16,10C)8,10,10D)12

D)8,8,1033、若d为double型变量,则表达式

29、已知有double型变量x=2.5,y=4.7,整d=l,d+5,d++的值是D_.

型变量a=7,A)1B)6.0C)2.0

则表达式x+a%3*(int)(x+y)%2/4的值是D)1.0

B.34、表达式5!=3的值是D.

A)TB)非零值C)0B)必须为下划线

D)10必须为字母或下划线

35、若有定义inta=12,n=5,则表达式D)可以是字母,数字或下划线中的任意一

a%=(n%2)运算后,a的值_____A____.种

A)0B)1C)1239>设有说明:charw;intx;floaty;

D)6doublez:则表达式:w*x+z-y值的数据类

36、若有定义intx=3,y=2和float型是—D.

a=2.5,b=3.5,则表达A)floatB)charC)int

式:(x+y)%2+(int)a/(int)b的值是—D—.D)double

A)0B)2C)1.540、一个C语言的执行是从A.

D)1A)本程序的主函数开始,到本程序的主函

37、在C语言中,以下叙述不正确的是数结束

A.B)本程序的第一个函数开始,到本程序的

A)在C程序中,无论是整数还是实数,都能最后一个函数结束

被准确无误的表示0本程序的主函数开始,到本程序的最后

B)在C程序中,变量名代表存储器中的一一个函数结束

个位置D)本程序的第一个函数开始,到本程序的

0静态变量的生存期与整个程序的生存期主函数结束

相同41、设a为整型变量,不能正确表达数学关

D)C语言中变量必须先定义后引用系10<a<15的C语言表达式是___A____.

38、C语言中的变量名只能由字母,数字和A)10<a<15B)

下划线三种字符组成,且第一个字符a==ll||a-121|a=131|a=14

C.C)a>10&&a<15

A)必须为字母D)[(a<=10)&&!(a>=15)

42、下列程序执行后的输出结果是voidmain()

C.

#include<stdio.h>intx,y;

voidmain()scanf("%d,%d",&x,&y);

{inta=5,b=60,c;if(x==y)

if(a<b)printf("x==y");

elseif(x>y)

{c=a*b;printf(,,%d*%d=%d\n,/,b,a,c);}printf('x>y");

elseelse

printf("x〈y');

{c=b/a;printf("%d/%d=%d\n”,b,a,c);})

)A)3<5B)5>3C)x>y

A)60/5=12B)300C)60*5=300D)x<y

D)1245、运行下面程序时,若从键盘输入数据

43、如果c为字符型变量,判断c是否为空为〃6,5,7<CR>",则输出结果是—C_.

格不能使用—A—.(假设已知空格ttinclude<stdio.h>

ASCII码为32)voidmain()

A)if(c=='32')B)if(c=32){inta,b,c;

C)if(c=='\40')D)if(c=='scanf("%d,%d,%d",&a,&b,&c);

')if(a>b)

44、运行下面程序时,若从键盘输入if(a>c)

〃3,5<CR>〃,则程序的输出结果是printf("%d\n",a):

D.else

ttinclude<stdio.h>printf("%d\n",c);

else47、运行下面程序时,从键盘输入

if(b>c)〃2.0<CR>〃,则输出结果是—B.

printf("%d\n”,b);#include<stdio.h>

elsevoidmain()

printf("%d\n”,c);{floata,b;

}scanf("%f",&a);

A)5B)6C)7D)if(a<0.0)b=0.0;

不定值elseif((a<0.5)&&(a!=2.0))

46、执行下面程序时,若从键盘输入b=L0/(a+2.0);

〃2<CR>〃,则程序的运行结果是——A—.elseif(a<10.0)b=1.0/2;

#include<stdio.h>elseb=10.0;

voidmain()printf("%f\n”,b);

{intk;charcp;)

cp=getchar();A)0.000000B)0.500000

if(cp>='O'&&cp<=,9')C)1.000000D)0.250000

k=cp-'0';48、执行下面程序后,运行结果是

elseif(cp>='a'&&cp<='f')____A____.

k=cp-'a+10;#include<stdio.h>

elsek=cp-'A'+10;voidmain()

printf("%d\n",k);{intx=41,y=l;

}if(x%3==0&&x%7=0)

A)2B)4C)1{y+=x;printf("y=%d\n”,y);}

D)10else

{y=x;printf("y=%d",y);}

}{case'H':printf("Hello!\n");

A)y=41B)y=43C)y=42case'G':printf("Good

D)y=lmorning!\n/z);

49、运行下面程序时,从键盘输入default:printf(,/Bye_Bye!\n/?);

“12,34,9<CR>",则输出结果是—A—.}

#include<stdio.h>}

voidmain()A)Hello!B)Hello!

{intx,y,z;Good

scanf("%d,%d,%d",&x,&y,&z);Morning!

if(x<y)C)Hello!D)Hello!

if(y<z)printf("%d\n",z);Goodmorning!

elseprintf("%d\n”,y);Bye_Bye!

elseif(x〈z)printf("%d\n",z);Bye_Bye!

elseprintf("%d\n",x);51、执行下列程序段后的输出结果是

}A.

A)34B)12C)9D)不intx=l,y=l,z=l;

确定的值x+=y+=z;

50、运行下面程序时,从键盘输入字母H,printf("%d\n",x<y?y:x);

则输出结果是C—.A)3B)2C)1

ttinclude<stdio.h>D)4

voidmain()52、设ch是char型变量,值为'A',则表达

{charch;式ch=(ch>='A'&&ch<='Z')?ch+32:ch的

ch=getchar();值是_B—.

switch(ch)

A)ZB)aC)z55、运行下面程序时,若从键盘输入〃3,4

D)A〈CR>〃,则程序的输出结果是B_.

53、下面程序的输出结果是—C—,ttinclude<stdio.h>

ttinclude<stdio.h>voidmain()

voidmain(){inta,b,s;

{intx=8,y=-7,z=9;scanf("%d,%d",&a,&b);

if(x<y)s=a;

if(y<0)z=0;if(s<b)s=b;

elsez-=l;s=s*s;

printf("%d'n',z);printf("%d\n”,s);

))

A)8B)1C)9A)14B)16018

D)0D)20

54、运行下面程序时,若从键盘输入"556、下列程序的执行结果是D.

<CR>〃,则程序的输出结果是B—ttinclude<stdio.h>

ttinclude<stdio.h>voidmain()

voidmain(){intx=0,y=l,z-0;

{inta;if(x=z=y)

scanf("%d",&a);x=3;

if(a++>5)printf(/,%d\n/,,a);printf%d\n”,x,z);

elseprintf(组d\n”,a-);)

}A)3,0B)0,0C)0,1

A)7B)6C)5D)3,1

D)457、假定等级和分数有以下对应关系:

等级:A分数:85-100case

等级:B分数:60-84'B':printf("60—84\n");break;

等级:C分数:60以下case'C':printf("60以下\n");

对于等级grade输出相应的分数区间,能default:printf("等级错误!、n");

够完成该功能的程序段是—D—.)

A)switch(grade)D)switch(grade)

{(

case'A':printf(“85—100\n");case

case'B':printf(“60—84\n");'A':printf("85—100\n");break;

case'C':printf("60以下\n");case

default:printf("等级错误!、n");'B':printf("60—84\n"):break;

}case'C':printf(“60以下

B)switch(grade)\nz/);break;

(default:printf("等级错误!'n");

case}

'A':printf(“85—100\n,z);break;58、能够完成如下函数计算的程序段是

case'B':printf(“60—84\n");_B____.

case'C':printf("60以下\n");।—1x<0

default:printf(,/等级错误!\n");y=T0x=0

}L1x>0

C)switch(grade)A)y=l;B)if(x>=0)

(if(x!=0)if(x>0)

casey=l;

'A':printf(“85—100\n,z);break;if(x>0)y=l;elsey=0;

elsey=0;elsey=T;case1:

C)y=0;D)y=-l;switch

if(x>=0)if(x>0)(

y=l;case

if(x>0)y=l;elsey=0;0:printf("first'n");break;

elsey=-l;case

59、有如下程序1:printf(/,second\n//);break;

ttinclude<stdio.h>)

voidmain()case2:printf("third'n");

{floatx=5.0,y;)

if(x<0.0)y=0.0;)

elseif(x<10.0)y=l.0/x;A)firstB)first

elsey=l.0;secondthird

printf("%f\n",y);C)firstD)second

)third

该程序的输出结果是_c_____.61、以下程序的执行结果是___A—

A)0.000000B)0.50000#include<stdio.h>

C)0.200000D)1.000000voidmain()

60、以下程序的执行结果是_B_____.{inta,b,c,d,x;

#include<stdio.h>a=c=0;

voidmain()b=l;

{intx=l,y=0;d=20;

switch(x)if(a)d=dT0;

elseif(!b)

if(!c)x=15;elseif(y==0)x=5;

elsex=25;elsex=6;

printf("d=%d\n”,d);printf("%d,%d\n”,x,y);

)

A)d=20B)d=100d=15A)4,1B)6,1C)5,0D)

D)25出错信息

62、有如下程序:64、有如下程序

#include<stdio.h>ttinclude<stdio.h>

voidmain()voidmain()

{inta-2,b=-l,c-2;{intx=l,a=0,b=0;

if(a<b)switch(x)

if(b<0)c=0;(

elsec++;case0:b++;

printf("%d\n",c);case1:a++;

)case2:a++;b++;

该程序的输出结果是_C.}

A)0B)102printf("a=%d,b=%d\n”,a,b);

D)3}

63、下列程序执行后的输出结果是该程序的输出结果是A.

B.A)a=2,b=lB)a-1,b=lC)a=l,b=0

#include<stdio.h>D)a=2,b=2

voidmain()65、下面程序的输出结果是C.

{intx,y=l,z;ttinclude<stdio.h>

if((z=y)<0)x=4;voidmain()

{inta=T,b=l,k;68、若执行下面的程序从键盘上输入9,则

if((++a<0)&&(b—<=0))输出结果是.B

printf("%d%d\n”,a,b);ttinclude<stdio.h>

elsevoidmain()

printf("%d%d\n”,b,a);{intn;

)scanf("%d",&n);

A)-11B)01C)10D)if(n++<10)printf("%d\n”,n);

00elseprintf("/d\n”,n—);}

66、假定w、x、y、z、m均为int型变量,A)11B)10C)9

有如下程序段:D)8

w=l;x=2;y=3;z=4;69、以下程序输出结果是D.

m=(w<x)?w:x;m=(m<y)?m:y;ttinclude<stdio.h>

m=(m<z)?m:z;voidmain()

则该程序段执行后,m的值是D.{intm=4;

A)4B)3C)2if(++m>5)printf("%d\n”,m-);

D)1elseprintf(“刎\n",—m);

67、以下程序的输出结果是_D.)

main()A)7B)6C)5

{inta=100;D)4

if(a>100)printf("%d\n”,a>100);70、若执行下面的程序从键盘上输入5,则

elseprintf("%d\n",a<=100);输出结果是.

)ttinclude<stdio.h>

A)a<=100B)100C)0voidmain()

D)1{intx;

scanf("%d",&x);73、运行下面程序时,若从键盘输入数据

if(x++>5)printf("%d\n',x);为〃123”,

elseprintf("%d\n”,x—);则输出结果是—C—.

)#include“stdio.h"

A)7B)6C)5voidmain()

D)4{intnum,i,j,k,place;

71、以下程序段运行结果是—A—.scanf("%d”,&num);

intx=l,y=l,zl;if(num>99)

x+=y+=z;place=3;

printf(//%d\n,/,x<y?y:x);elseif(num>9)

A)1B)2C)4D)不place=2:

确定的值else

72、有以下程序place=l;

ttinclude<stdio.h>i=num/100;

voidmain()j=(num-i*100)/10;

{inta,b,c=246;k=(num-i*100-j*10);

a=c/100%9;switch(place)

b=(-l)&&(-l):{case3:

printf("%d,%d\n”,a,b);printf(,,%d%d%d\n/,,k,j,i);

}break;

输出结果是A____.case2:printf("%d%d\n”,k,j);

A)2,1B)3,2C)4,3break;

D)2,-1case1:printf("%d\n",k);

A)123B)1,2,3C)321A)5B)25C)15D)

D)3,2,110

74、执行下列程序后的输出结果是77、运行下面程序后,输出是—D—.

—D.ttinclude<stdio.h>

ttinclude<stdio.h>voidmain()

voidmain(){intk=-3;

{intk=4,a=3,b=2,c=l;if(k<=0)printf("****\n");

printf("%d\n",k<a?k:c<b?c:a);elseprintf("####\n")

))

A)4B)3C)2A)####

D)1B)****

75、以下条件表达式中能完全等价于条件C)####****

表达式x的是B__.D)有语法错误不能通过编译

A)(x==0)B)(x!=0)C)(x==l)78、执行下面程序的输出结果是

D)(x!=l)C____.

76、若运行下面程序时,给变量a输入15,ttinclude<stdio.h>

则输出结果是_A__.voidmain()

ttinclude<stdio.h>{inta=5,b=0,c=0;

voidmain()if(a=a+b)printf("****\n");

{inta,b;elseprintf("####\n");

scanf("%d",&a);}

b=a>15?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论