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

下载本文档

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

文档简介

C语言考试题库及答案

精编WORD版

IBMsystemofficeroom[A0816H-A0912AAAHH-GX8Q8-GNTHHJ8]

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)

1、下面程序的输出是—D4、表达式:10!=9的值是D.

#include<stdio.h>A)trueB)非零值C)0D)1

voidmain()5、C语言提供的合法的数据类型关键字是

B.

{intk=ll;

A)DoubleB)shortC)integerD)Char

printf(nk=%d,k=%o,k=%x\nn,k,k,k);

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

)

是一D一

A)k=M,k=12,k=hB)k=1l,k=13,k=l3

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

C)k=11,k=013,k=0xbD)k=ll,k=13,k=b

7、C语言程序的基本单位是____C.

2、在下列选项中,不正确的赋值语句是

A)程序行B)语句C)函数D)字符

_D______.

8、设inta=12厕执行完语句a+=a-=a*a后,a的

A)++t;B)nl=(n2=(n3=0));

值是一D一

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

A)552B)264C)144D)-264

3、下面合法的C语言字符常量是

9、执行下面程序中的输出语句后,输出结果是

A

____B_.

A)'\t'B)"A"C)65D)A

#includc<stdio.h>

voidmainQ

{inta;A)0B)1C)3D)不确定的值

printfC,%d\nM,(a=3*5,a*4,a+5));12、已知字母A的ASCII码为十进制的65,下

面程序的输出是A

)

#includc<stdio.h>

A)65B)20C)15D)10

voidmain()

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

{charchl,ch2;

#include<stdio.h>

chi='A'+5-'3‘;

voidmainQ

ch2='A'+6・'3‘;

{intx=023;

printf(,,%d,%c\nn,chl,ch2);

printf(n%d\nn,—x);

}

)

A)67,DB)B,CC)C,DD)不确定的值

A)17B)18C)23D)24

13、若要求在if后一对圆括号中表示a不等于

11、下面程序的输出的是C

0的关系,则能正确表示这一关系的表达式为

#include<stdio.h>____D_.

voidmainQA)a<>0B)!aC)a=0D)a

{intx=10,y=3;14、以下程序的输出结果是—D.

printf("%d\n",y=x/y);#include<stdio.h>

voidmainQA)整型,实型,逻辑型B)整型,实型,字符型

{intx=10,y=10;C)整型,字符型,逻辑型

printf(n%d%d\n,f,x—y);D)整型,实型,逻辑型,字符型

)18、若x和y都是int型变量,x=100,y=200,且有

下面的程序片段:

A)1010B)99C)910D)109

printf("%d",(x,y));

15、设有如下定义:

上面程序片段的输出结果是—A•一.

intx=10,y=3,z;

A)200B)100

则语句

C)100200D)输出格式符不够,输出不确定的

printf(n%d\nH,z=(x%y,x/y));

的输出结果是_____D.

19、阅读下面的程序

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

#includc<stdio.h>

16、为表示关系x>y>z,应使用C语言表达式

voidmainQ

A.

(

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

charch;

C)(x>=y>=z)D)(x>=y)&(y>=z)

scanf("%3c",&ch);

17、C语言中非空的基本数据类型包括

B.printf("%c",ch);

#include<stdio.h>

如果从键盘上输入voidmainQ

abc<回车〉(

则程序的运行结果是—A.inti,j,m,n;

A)aB)bC)cD)程序语法出错i=8;j=10;

20、阅读下面的程序m=++i;

#include<stdio.h>n=j++;

voidmain。printf("%d,%d,%d,%d”,i,j,m,n);

{)

inti,j;程序的运行结果是_____C.

i=010;A)8,10,8,10B)9,11,8,10

j=9;C)9,11,9,10D)9,10,9,11

printf("%d,%d",i-j4+j);22、已知a=12,则表达式a+=a-=a*=a的结果是

_____A_.

}

A)0B)144C)12D)-264

则程序的运行结果是一D—.

23、若已定义inta,则表达式a=10,a+10,a++的

A)1,19B)-1,19C)1,17D)-1,17

值是一B.

21、阅读下面的程序

A)20B)10C)21D)11inta=-l,b=4,k;

24、阅读下面的程序k=(++aV=0)&&(b-Y=0);

#include<stdio.h>printf(,,%d,%d,%d\nH,k,a,b);

voidmain。)

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

inti,j;26、下面程序的输出结果是A.

scanf("%3d%2d",&i,&j);#include<stdio.h>

printfC'i=%d,j=%d\n"4,j);voidmainQ

){

如果从键盘上输入1234567(回车>,则程序的运inta=5,b=3;

行结果是一D一.

floatx=3.14,y=6.5;

A)i=123,j=4567B)i=1234,j=567

printff,%d,%d\nu,a+b!=a-b,x<=(y-=6.1));

C)i=l,j=2D)i=123,j=45

)

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

A)1,0B)0,1C)1,1D)0,0

#include<stdio.h>

27、执行下面程序段后,输出结果是—A

voidmain()

inta;

intb=65536;

a二b;voidmain。

printf(*,%d\nn,a);

A)65536B)0C)-1D)1inta=12,b=12;

28、若有以下定义和语句:printf("%d,%d\n”,--a,++b);

inta=010,b=0xl0,c=10;)

printf(n%d,%d,%d\nn,a,b,c);A)10,10B)12,12C)11,10D)11,13

则输出结果是—B.32、设有以下语句:intx=10;x+=3+x%(3),则x的

值是.一A

A)10,10,10B)8,16,10Q8,10,10D)8,8,10

A)14B)15C)11D)12

29、已知有double型变量x=2.5,y=4.7,整型变

量a=7,33、若d为double型变量,则表达式

d=l,d+5,d++的值^_____D_.

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

B.A)1B)6.0C)2.0D)1.0

A)2.4B)2.5C)2.75D)034、表达式5!=3的值是____D.

30、若已定义x和y是整型变量4=2;,则表达式A)TB)非零值C)0D)1

y=2.75+x/2的值是____C.

35、若有定义inta=12,n=5,则表达式a%=(n%2)

A)5.5B)5C)3D)4.0运算后,a的值_____A.

31、以下程序的输出结果是—D—.A)0B)1C)12D)6

#include<stdio.h>

36、若有定义intx=3,y=2和floata=2.5,b=3.5,A)floatB)charC)intD)double

则表达式:(x+y)%2+(int)a/(int)b的值是_D一

40、一个C语言的执行是从____A.

A)0B)2Q1.5D)1

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

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

A

B)本程序的第一个函数开始,到本程序的最后

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

确无误的表示

C)本程序的主函数开始,到本程序的最后一个

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

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

C)静态变量的生存期与整个程序的生存期相同数结束

D)C语言中变量必须先定义后引用41、设a为整型变量,不能正确表达数学关系

10<a<15的C语言表达式是^A.

38、C语言中的变量名只能由字母,数字和下划

线三种字符组成,且第一个字符―C.A)10<a<15B)

a==ll||a==12||a==13||a==14

A)必须为字母

C)a>10&&a<15D)!(a<=10)&&!(a>=15)

B)必须为下划线

42、下列程序执行后的输出结果是C

C)必须为字母或下划线

#includc<stdio.h>

D)可以是字母,数字或下划线中的任意一种

voidmain()

39、设有说明:charw;intx;floaty;doublez;则表

达式:w*x+z-y值的数据类型是_D.{inta=5,b=60,c;

if(a<b)if(x==y)

{c=a*b;printf(,,%d*%d=%d\nH,b,a,c);)printf(nx==yn);

elseelseif(x>y)

{c=b/a;printf(',%d/%d=%d\nn,b,a,c);}printf(nx>y**);

A)60/5=12B)300C)60*5=300D)12printf(Hx<yn);

43、如果c为字符型变量,判断c是否为空格

不能使用一A.(假设已知空格ASCII码为

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

32)

45、运行下面程序时,若从键盘输入数据为

A)if(c=='32)B)if(c==32)

"6,5,7<CR>",则输出结果是____C

C)if(c二二、40')D)if(c二二,)

#includc<stdio.h>

44、运行下面程序时、若从键盘输入

voidmain()

"3,5<CR>",则程序的输出结果是___D.

{inta,b,c;

#includc<stdio.h>

scanf("%d,%d,%d”,&a,&b,&c);

voidmain()

if(a>b)

if(a>c)

intx,y;

printf(,,%d\nn,a);

scanf(n%d,%dn,&x,&y);

elseelseif(cp>=*a*&&cp<=,f)

printf("%d\n”,c);k=cp-'a'+10;

elseelsek=cp」A'+10;

if(b>c)printf(n%d\nn,k);

printfC%d\nn,b);)

elseA)2B)4C)1D)10

printf("%d\n",c);47、运行下面程序时,从键盘输入"2.0<CR>"

则输出结果是_B.

f

#include<stdio.h>

A)5B)6C)7D)不定值

voidmain()

46、执行下面程序时,若从键盘输入"2<CR>",

则程序的运行结果是-A—.{floata,b;

#includc<stdio.h>scanf(H%f\&a);

voidmain()if(a<0.0)b=0.0;

{intk;charcp;elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);

cp=getchar();elseif(a<10.0)b=1.0/2;

if(cp>=V&&cpv+9)elseb=10.0;

k=cp-V;printfC%f\nn,b);

{intx,y,z;

A)0.000000B)0.500000scanf("%d,%d,%d”,&x,&y,&z);

C)1.000000D)0.250000if(x<y)

48、执行下面程序后,运行结果是一_A.if(y<z)printf(,,%d\nH,z);

#includc<stdio.h>elseprintf(H%d\nu,y);

voidmain()elseif(x<z)printf(M%d\nn,z);

{intx=41,y=l;elseprintf("%d\n”,x);

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

{y+=x;printf(ny=%d\nn,y);}A)34B)12C)9D)不确定的值

else50、运行下面程序时,从键盘输入字母H,则

输出结果是____C_.

{y=x;printf(*,y=%dn,y);)

#includc<stdio.h>

)

voidmain()

A)y=41B)y=43C)y=42D)y=l

{charch;

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

"12,34,9<CR>",则输出结果是—A—.ch=getchar();

#include<stdio.h>switch(ch)

voidmain(){case,H,:printf(,,Hello!\n,r);

case'G':printf("Goodmorning!\n");A)ZB)aC)zD)A

defaultprintf("Bye_Bye!\n");53、下面程序的输出结果是—C—.

)#include<stdio.h>

)voidmain()

A)Hello!B)HcUo!{intx=8,y=-7,z=9;

GoodMorning!if(x<y)

C)Hello!D)HeUo!if(y<0)z=0;

Goodmornin目Bye_Bye!elsez-=l;

Bye_Bye!printf(n%d\nH,z);

51、执行下列程序段后的输出结果是)

A.

A)8B)1C)9D)0

intx--11,z=1;

54、运行下面程序时,若从键盘输入"5<CR>

x+=y+=z;则程序的输出结果是_____B_.

printf(M%d\nn,x<y?y:x);#include<stdio.h>

A)3B)2C)1D)4voidmain()

52、设ch是char型变量,值为W,则表达式{inta;

ch=(ch>='A'&&ch<='Z')?ch+32:ch的值是

scanf("%d",&a);

B

if(a++>5)printf(,,%d\n,,,a);#include<stdio.h>

elseprintf(n%d\nn,a—);voidmain()

){intx=0,y=l,z=0;

A)7B)6C)5D)4if(x=z=y)

55、运行下面程序时;若从键盘输入"3,4x=3;

<CR>",则程序的输出结果是—B—.

printf(n%d,%d\nn,x,z);

#include<stdio.h>

f

voidmain()

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

{inta,b,s;

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

scanf(H%d,%dn,&a,&b);

等级:A分数:85-100

s=a;

等级:B分数:60〜84

if(s<b)s=b;

等级:C分数:60以下

s=s*s;

对于等级grade输出相应的分数区间,能够完

printf(*,%d\nH,s);成该功能的程序段是—D—.

)A)switch(grade)

A)14B)16C)18D)20(

56、下列程序的执行结果是____D.caseWzprintff185—100\nn);

case'B':printf("60--84\n");

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

default:printf("等级错误!\n、);{

)case'A':printf("85-100\n");brcak;

B)switch(grade)case'B':printf(”60—84\n");brcak;

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

case'A':printf("85--100\nn);break;default:printf("等级错误!\n”);

case'B':printf(”60--84\n");)

case'C':printf("60以下\n");58、能够完成如下函数计算的程序段是

_B____.

default:printf(H等级错误!\n“);

r-1x<0

)

y=T0x=0

C)switch(grade)

-1x>0

{

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

case'A':printf("85--100\nn);break;

if(x!=O)if(x>0)y=l;

case'B':printf(”60--84\n”);break;

if(x>0)y=l;elsey=0;

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

elsey=0;elsey=-l;

dcfault:printf("等级错误!\n”);

Qy=o;D)y=-l;#include<stdio.h>

if(x>=0)if(x>O)y=l;voidmain()

if(x>0)y=l;elsey=0;{intx=l,y=0;

elsey=-l;switch(x)

59、有如下程序(

#include<stdio.h>case1:

voidmain()switch(y)

{floatx=5.0,y;{

if(x<0.0)y=0.0;caseO:printf(nfirst\nM);brcak;

elseif(x<10.0)y=1.0/x;casel:printf(Msccond\nn);brcak;

elsey=1.0;}

printf("%f\n”,y);case2:printf(nthird\nH);

}

该程序的输出结果是—C.}

A)0.000000B)0.50000A)firstB)first

C)0.200000D)1.000000secondthird

60、以下程序的执行结果是_BC)firstD)second

thirdvoidmain()

61、以下程序的执行结果是—A,{inta=2,b=-l,c二2;

#include<stdio.h>if(a<b)

voidmain()if(b<0)c=0;

{inta,b,c,d,x;elsec++;

a=c=0;printf(H%d\nH,c);

b=l;)

d=20;该程序的输出结果是—C.

if(a)d=d-10;A)0B)1C)2D)3

elseif(!b)63、下列程序执行后的输出结果是一B

if(!c)x=15;#includc<stdio.h>

elsex=25;voidmain()

printfC'd=%d\n",d);{intx,y=l,z;

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

A)d=20B)d=10C)d=15D)25elseif(y==0)x=5;

62、有如下程序:elsex=6;

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

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

A)4,1B)6,1C)5,0D)出错信息#include<stdio.h>

64、有如下程序voidmain()

#includc<stdio.h>{int,b=1,k;

voidmain()if((++a<0)&&(b-<=0))

{intx=l,a=0,b=0;printf(n%d%d\nn,a,b);

switch(x)else

{printf(H%d%d\nn,b,a);

case0:b++;)

case1:a++;A)-11B)01C)10D)00

case2:a++;b++;66、假定w、x、y、z^m均为int型变量,有

如下程序段:

)

w=l;x=2;y=3;z=4;

printf(na=%d,b=%d\nn,a,b);

m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;

}

则该程序段执行后,m的值是—D.

该程序的输出结果是A.

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

A)a=2,b=lB)a=l,b=lC)a=l,b=0D)

a=2,b=267、以下程序的输出结果是—D.

main()voidmain()

{inta=100;{intm=4;

if(a>100)printf(n%d\nM,a>100);if(++m>5)printf(n%d\n,,,m—);

elseprintf(n%d\nn,a<=100);elseprintf(H%d\nnm);

})

A)a<=100B)100C)0D)1A)7B)6C)5D)4

68、若执行下面的程序从键盘上输入9,则输出70、若执行下面的程序从键盘上输入5,则输出

结果是•B结果是.

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

voidmain()voidmain()

{intn;{intx;

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

if(n++<10)printf(M%d\nn,n);if(x++>5)printf(n%d\nn,x);

elseprintf(n%d\nn,n—);}elseprintf(n%d\nn,x—);

A)11B)10C)9D)8}

69、以下程序输出结果是____D.A)7B)6C)5D)4

#includc<stdio.h>71、以下程序段运行结果是_A

intx=l,y=l,z=-l;#include"stdio.h"

x+=y+二z;voidmain。

printf(n%d\nn,x<y?y:x);{intnum,i,j,k,place;

A)1B)2C)4D)不确定的值scanf(H%dn,&num);

72、有以下程序if(num>99)

#include<stdio.h>place=3;

voidmain()elseif(num>9)

{inta,b,c=246;place=2;

a=c/100%9;else

place=l;

printf(n%d,%d\nn,a,b);i=num/100;

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

输出结果是—A■—.k=(num-i*100-j*10);

A)2,1B)3,2C)4,3D)2,-1switch(place)

73、运行下面程序时,若从键盘输入数据为{case3:printf("%d%d%d\n”,k,j,i);

"123",

break;

则输出结果是—C.

Hn

case2:printf(%d%d\n,k?j);

break;#include<stdio.h>

case1:printf(n%d\nn,k);voidmain()

){inta,b;

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

A)123B)1,2,3C)321D)3,2,1b=a>15?a+10:a-10;

74、执行下列程序后的输出结果是—D—.printf(H%d\nM,b);

#include<stdio.h>)

voidmain()A)5B)25C)15D)10

{intk=4,a=3,b=2,c=l;77、运行下面程序后,输出是—D

printf(n%d\nn,k<a?k:c<b?c:a);#include<stdio.h>

}voidmain()

A)4B)3C)2D)1{intk=-3;

75、以下条件表达式中能完全等价于条件表达if(k<=0)printf("****\n");

式x的是

温馨提示

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

评论

0/150

提交评论