当前位置:文档之家› C语言考试题库及答案.doc

C语言考试题库及答案.doc

1、下面程序的输出是—D ________

# include void main()

{ int k= 11; printf(“k=%d,k=%o,k=%x\n”,k,k,k);

}

A)k=ll,k=12,k=ll B) k=ll,k=13,k=13

C)k=ll,k=013,k=0xb D) k=l l,k=13,k=b

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

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

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

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

A)B)”A”C) 65 D)A

4、表达式:10!=9的值是 ________D ____ .

A)true B)非零值C) 0 D) 1

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

_____ B ___ .

A)Double B) short C) integer D) Char

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

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

7、C语言程序的基木单位是______C ______ .

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

8、设int a= 12,则执行完语句a+=a-=a*a后,a的值是

____ D ____

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

printf(” %d\rT〉?x);

}

A) 17 B)18 C) 23 D) 24 11、下面程序的输出的是_____ C_?

#includc

void main()

{int x=10,y=3; printfi(,'%d\n',,y=x/y);

}

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

12、已知字付A的ASCII码为十进制的65,下而程序

的输岀是______ A _____ .

#include

void main()

{char chl,ch2;

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

ch2='A 屮

printf(” %d,%c\n”,ch 1 ,ch2);

}

A) 67,D B)B,C C) CD D)不确定的值

13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D_.

A)a<>0 B)!a C)a=0 D) a

14、以卜-程序的输出结果是—D _______ .

#include

void main()

{int x=10,y=10;

printf(n%d %d\n n,x-,-y);

}

A) 10 10 B)9 9 C)9 10 D) 10 9

9、执行下面程序屮的输ill语句后,输出结果是B_.

#include

void main()

{int a; printfV%d\n",(a=3*5,a*4,a+5));

}

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

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

#includc void main()

{int x=023;

15、设有如下定义:

int x=10,y=3,z;

则语句

printf(n%d\n u,z=(x%y,x/y)); 的输出结果是_____ D _____ .

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

16.为表示关系x2y$z,应使用C语言表达式

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

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

17.C语言中非空的阜本数据类型包括 B

A)整

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

C)整型,字符型,逻辑型

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

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

C) (x>=y>=z)

18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf(M%d H,(x,y));

上面程序片段的输出结果是—A_.

A)200 B) 100

C) 100 200 D)输出格式符不够,输出不确定的值

19、阅读下面的程序

#include

void main()

{

char ch;

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

printf(n%c",ch);

}

如果从键盘上输入

abc<回车〉

则程序的运行结果是_A _______ .

A) a B)b C)c D)程序语法出错

20、阅读下面的程序

#includc

void main()

{

int i,j;

i=010;

j=9;

printf(”%d,%d”,i?j,i+j);

}

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

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

21、阅读下面的程序

#include

void main()

{

int i,j,m,n;

i=8;j=10;

m=-H-i;

printf(n%d,%d,%d,%d,',ij,m,n);

}

程序的运行结果是______ C—.

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

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

22、已知a=12,则表达式a+=a-=a*=a的结果是A_. A)0 B) 144 C) 12 D) -264 23若已定义int a,则表达式a=10,a+10,a++的值是_B_. A) 20 B) 10 C)21 D) 11

24、阅读下面的程序

#include

void main()

{

int i,j;

scanf(,,%3d%2d n,&i,&j); printf(,,i=%dj=%d\n,',i,j);

}

如果从键盘上输入1234567<回年〉,则程序的运行结果是_____ D ____ .

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

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

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

#include

void main()

{

int a=-l, b=4, k;

k=(-H-a<=0)&&(b??v=0);

printf(”%d,%d,%d\n“,k,a,b);

}

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

26、下面程序的输出结果是—A_.

#include

void main()

{

int a=5,b=3;

float x=3.14, y=6.5;

printf(',%d,%d\n u,a+b!=a-b,x<=(y-=6.1));

}

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

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

int a;

int b=65536;

a=b;

printf(”%d\n”,a);

A) 65536 B)0 C)-l D) 1

28、若有以下定义和语句:

int a=010, b=0xl0, c=10;

printf("%d,%d,%d\n'\a,b,c);

则输出结果是—B _______ .

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

29、已知冇double型变量x=2.5,y=4.7,整型变量a=7,

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

A) 2.4 B) 2.5 C) 2.75 D) 0

30、若已定义x和y是整型变最,x=2;,则表达式

y=2.75+x/2 的值是____ C ____ .

A) 5.5 B)5 C)3 D) 4.0

31、以下程序的输出结果是_D_.

# include

void main()

{

int a=12, b=12;

printf(”%d,%d\n,?a,卄b);

}

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

32、设有以下语句:int x=10;x+=3+x%(3),则x的值是.—A ______

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

33、若d为double型变量,则表达式d=l,d+5,d卄的值

是 ____ D_.

35>若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a 的值 ________ A _____ .

A)0 B) 1 C) 12 D)6

36、若有定义int x=3,y=2 和float a=2.5,b=3.5,贝U表达式:(x+y)%2+(int)a/(int)b 的值是_D_.

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

37、在C语言中,以卜?叙述不正确的是_ A_.

A)在C程序中,无论是整数还是实数,都能被准确无误

的表示

B)在C程序屮,变最名代表存储器屮的一个位置

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

D)C语言中变量必须先定义后引用

38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_C_.

A)必须为字母

B)必须为下划线

C)必须为字母或下划线

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

39、设有说明:char w; int x; float y; double z;贝!J表达式:w*x+z?y值的数据类型是___ D__ .

A) float B) char C) int D) double

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

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

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

数结束

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

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

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

A) 10

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

42、_______________________________ 下列程序执行后的输出结果是_____________________ C_?

# include

void main()

{ int a=5,b=60,c;

if (a

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

else

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

}

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

43、如果c为字符型变最,判断c是否为空格不能使用___ A ___ .(假设已知空格ASCII码为32)

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

C) if(c==M0,) D) if(c=* ')

44、运行下面程序时,若从键盘输入”3,5“,则程序的输出结果是—D—.

# include

void main()

{

int x,y;

scanf(” %d,%d”,&x,&y);

if (x=y)

printf(” x==y”);

else if (x>y)

printf(” x>y”);

else

printf(''x

}

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

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

“6,5,7”,则输出结果是_____ C_.

# include

void main()

{ int a,b,c;

scanf(n%d,%d,%d n,&a,&b,&c);

if(a>b)

if (a>c) printf(M%d\n H,a);

else

printf(” %d\n”,c);

else

if (b>c)

printf(” %d\n”,b);

else

printf(”%d\n”,c);

}

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

46、执行下面程序时,若从键盘输入”2”,则程序的运行结果是—A—.

#include

void main()

{ int k; char op;

cp=getchar();

if(cp>=*0' && cp<=9)

k=cp-,0,;

else if (cp>='a r && cp<='f) k=cp?'a'+10;

else k=cp-'A'+10;

printf(” %d\n”,k);

}

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

47、运行下面程序时,从键盘输入“2.0”,则输出结果是—B ______ .

^include

void main()

{ float a,b;

scanf(“%f',&a);

if(a<0.0) b=0.0;

else if((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);

else if (a<10.0) b= 1.0/2;

else b=10.0; printf(n%f\n n,b);

}

A) 0.000000 B) 0.500000

C) 1.000000 D) 0.250000

48、执行下面程序后,运行结果是_A_.

^include

void main()

{ int x=41,y=l;

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

{ y+=x;printf(”y=%d\n”,y);}

else

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

}

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

49、运行下面程序时,从键盘输入T2,34,9”,则输出结果是_A_.

# include

void main()

{int x,y,z;

scanf(” %d,%d,%d”,&x,&y,&z);

if(x

if(y

else printf「%d\n”,y);

else if(x

else printf(”%d\n”,x);

}

A) 34 B) 12 C) 9 D)不确定的值

50、运行下而程序时,从键盘输入字母H,则输出结果是________ C_?

#include

void main()

{ char ch;

ch=getchar();

switch(ch)

{ case ,H,:printf(H Hcllo!\n n); case 'G':printfV'Good

moming!\n n); default:printf("Bye Bye!\n”);

A) Hello!

C) Hello!

Good morning!

Bye Bye!

B) Hello!

Good Morning!

D) Hello!

Bye Bye!

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

int x=l,y=l,z=l; x+=y+=z;

printfC'%d\n n,x

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

52、设ch是char型变量,值为A,则表达式ch=(ch>=,A, && ch<=,Z,)?ch+32:ch 的值是_B_.

A)Z B)a C)z D)A

53、下面程序的输出结果是—C_.

# include

void main()

{int x=8,y=-7,z=9;

if(x

if (y<0) z=0;

else z-=l;

printf(u%d\n",z);

}

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

54、运行下而程序时,若从键盘输入”5 ”,则程序的输出结果是 ____ B_.

#include

void main()

{int a;

scanf("%d",&a);

if (a-H->5)printf(H%d\n",a);

else printfC%d\n”,a??);

}

A) 7 B)6 C)5 D)4

55、运行下而程序吋,若从键盘输入“3, 4“,则程序的输出结果是—B_.

#inelude

void main()

{ int a,b,s;

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

s=a;

if(s

s=s*s;

printf(n%d\n n,s);

}

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

56、下列程序的执行结果是_____ D—.

# include

void main()

{ int x=0,y=l,z=0;

if (x=z=y)

x=3;

printfC%d,%d\n”,x,z);

}

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

D)3,l

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

等级:A 分数:85?100

等级:B 分数:60?84

等级:C 分数:60以下

对于等级grade输出相应的分数区间,能够完成该功能的程序段是—D_.

A)switch (grade)

{

case ,A,:printf(,,85-100\n n);

case B:printf(”60—84\n”);

case C:printf(”60 以下\n”); default:printf(n等级错误!\『);

}

B)switch (grade)

{

case ,A,:printf(,,85-100\n,,);break;

case B:printf(”60??84\n”);

case C:printf(”60 以下\n”); default:printf(n等级错

误!\n”);

}

C)switch (grade)

{

case A:printf(”85??l 00\ii");break;

case B:priiitf(”60??84\n”);break;

case ,C,:printf(,,60 以下\n n); default:printf(n^ 级错

误!\n“);}

D)switch (grade)

{

case ,A,:printf(u85-100\n,,);break;

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

case C:printf(”60 以卜\n n);break; default:printf(” 等级错误!\『);

58、能够完成如卜函数计算的程序段是_B

厂-1

y= T 0

L 1

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

x<0

x=0

x>0

B) if(x>=0)

if(x>0)y=l; else

y=0;

else y=0;

C) y=o; if (x>=0)

if(x>O)y=l; else y=-l;

59、有如F程序

#include

void main()

{ float x=5.0,y;

if(x<0.0) y=0.0;

else if (x<10.0) y=1.0/x;

else y=1.0;

printf(”%f\n”,y);

}

该程序的输出结果是—C_ A) 0.000000 B)

0.50000

C) 0.200000 D) 1.000000

60、以下程序的执行结果是—B _______ .

#include void main()

{ int x=Uy=0;

switch (x)

{

case 1:

switch (y) {

case O:printf(n first\n n);break; case

1:printf(n second\n n);break;

}

case 2:printf(M third\n n);

}

}

A) first B) first

second third

C) first D) second

third

61、以下程序的执行结果是—A.

# include void main()

{ int a,b,c,d,x; a=c=0;

b=l;

d=20;

if (a) d=d-10;

else if(!b)

if(!c)x=15;

else x=25;

printf(” d=%d\n”,d);

}

A) d=20 B)d=10 C)d=15

62、有如下程序:#include

void main()

{int a=2,b=-l,c=2;

if(a

if(b<0) c=0;

else c++;

printf(”%d\n”,c);

}

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

A)0 B) 1 C)2

63、下列程序执行后的输出结果是_I

#include

void main()

{ int x,y=l,z;

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

else if (y==0) x=5;

else x=6;

printf(u%d,%d\n n,x,y);

}

A) 4,1 B) 6,1 C)5,0 1

64、有如下程序

#include

void main()

{ int x=l,a=0,b=0;

switch(x)

{

case 0: b++;

case 1: a++;

case 2: a++;b++;

}

printf(M a=%d,b=%d\n n,a,b);

}

该程序的输岀结果是 _____ A—.

A) a=2,b= 1 B) a=l,b= 1 C) a=l,b=0

65、下面程序的输出结果是—C _______ #include

void main()

{ int a=-l,b=l,k;

else y=?l;

D) y=-l;

if(x>O)y=l

else y=0;

D) 25

D)3

出错信息

D) a=2,b=2

if ((-H-a<0) && (b—<=0))

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

else

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

}

A)-l 1 B)0 1 C) 1 0 D)0 0

66假定w、x、y、z、m均为int型变量,有如卜'程序段:w=l;x=2;y=3;z=4;

m=(w

则该程序段执行后,m的值是_D _________ .

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

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

main()

{int a= 100;

if(a>100) printf(n%d\n,r,a>100);

else printf(” %d\n”,av=100);

}

A)a<=100 B) 100 C)0 D) 1

68、若执行下而的程序从键盘上输入9,则输出结果

是. _____ B ________

#include

void main()

{int n;

scanf(,'%d,,.&n);

if (n++<10) printf(”%d\n”,n);

else printff%d\n n,n-);}

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

69、以下程序输出结果是____ D ______ .

#include

void main()

{ int m=4;

if(++m>5) printf(n%d\n n,m-);

else printf(”

}

A) 7 B)6 C)5 D)4 70、若执行下面的程序从键盘上输入5贝J输出结果是.

# include

void main()

{int x;

scanf(”%d”,&x);

if (x++>5) printf(n%d\n u,x);

else printf(,,%d\n,,,x-);

D)4

71、以下程序段运行结果是—A_.

int x=l,y=l,z=?l;

x+=y+=z;

printf(,,%d\n M,x

A) 1 B)2 C)4 D)不确定的值

72、有以下程序

//include

void main()

{ int a,b,c=246;

a=c/100%9;

b=(-l)&&(-1);

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

}

输出结果是—A_.

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

73、运行下面程序时,若从键盘输入数据为”123”, 则输出结果是—C—.

^include "stdio.h”

void main()

{ int num,i,j,k,place;

scanf(” %d”,&num);

if (num>99)

place=3;

else if(num>9)

place=2;

else

place=l;

i=num/100;

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

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

switch (place)

{ case 3: printf(u%d%d%d\n",k,j,i);

break;

case 2: printf(,,%d%d\n,\k,j);

break;

case 1: printf("%d\n n,k);

}

}

A) 123 B) 1,2,3 C)321 D) 3,2,1

74、执行下列程序后的输出结果是_D_.

#include

void main()

{ int k=4,a=3,b=2,c=l;

printf(,,%d\n u,k

A) 7 B)6 C)5

}

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

75、以下条件表达式小能完全等价于条件表达式x的是____ B_.

A)(x==0) B) (x!=0) C) (x=l) D) (x!=l) 76、若运行下而程序吋,给变量a输入15,则输出结果是—A_.

#include

void main()

{ int a,b;

scanf(”%d“,&a);

b=a>15?a+10:a-10;

printff%d\n”,b);

}

A) 5 B)25 C) 15 D)10 77、运行下面程序后,输出是—D

#include

void main()

{ int k=-3;

if(k<=0) printf(”****\n”); else printf^"####\n")

}

A) ####

****

C) ####****

D)冇语法错決不能通过编译78、执行下面程序的输出结果是—C

#include

void main()

{ int a=5,b=0,c=0;

讦(a=a+b) print”****\n"); else printf(”####\n");

}

A)有语法错谋不能编译

B)能通过编译,但不能通过连接

C)输出****

D)输出####

79、为了避免嵌套的if?else语句的二义性,C语言规定else总是与_____ C __ 组成配对关系.

A)缩排位置相同的if

B)在贡Z前未配对的if

C)在其Z前尚未配对的最近的if

D)同一行上的if

80、设x、y、z、t均为int型变量,则执行以下语句后,t 的值为______ C _____ .

x=y=z=l;

t=++x || ++y && ++z;

A)不定值B) 4 C) 1 D)0

81.______________________ 以下程序段—C .

x=-l;

do

{

x=x*x;

} while (!x);

A)是死循环B)循环执行两次

C)循环执行一次D)有语法错误

82、对卜-面程序段描述lE确的是—B int x=0,s=0;

while (!x!=0) s+=++x; printf(n%d H,s);

A)运行程序段后输出0

B)运行程序段后输出1

C)程序段中的控制表达式是非法的

D)程序段循环无数次

83、下面程序段的输出结果是—C_.

x=3; do { y=x—;

if (!y) {printf(,'*',);continue;} printfC'#");

} while(x=2);

A)## B) ##* C)死循坏D)输出错误信息

84、下面程序的运行结果是_B

# include

void main()

{ int a=l,b=10;

do

{ b-=a;a-H-;

} whilc(b-<0);

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

}

A) 3,11 B) 2,8 C) 1,-1

85、下面程序段的运行结果是—B _________

int n=0;

while (n++<=2)

printff%d”,n);

D) 4,9

86、下而程序段的运行结果是_D ________ .

int x=0,y=0;

while (x<15) y++,x+=++y;

printf(n%d,%d H,y,x);

A) 20,7 B) 6,12 C) 20,8 D)8,20

87、下而程序的运行结果是_B ________ .

#include

void main()

{ int s=0,i=l; while (s<= 10)

{ s=s+i*i;

i++;

} printf(,,%d,,,-i);

}

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

88、函数pi的功能是根据以下近似公式求H值:

____ C ______

(71*71)/6= 1 +1/(2 *2)+1/(3 *3)+..+ l/(n*n) 请填空,完成求兀的功能。

#include

void main()

{ double s=0.0; int i,n; scanf("%ld n,&n);

for(i=l;i<=n;i++) s=s+ ;

s=(sqrt(6*s)); printf(,'s=%e,,,s);

}

A) l/i*i B) 1.0/i*i C) 1.0/(i*i) D) 1.0/(n*n)

89、下面程序段的运行结果是—B_.

for(x=10;x>3;x-)

{ if(x%3) X-;

??x; -X; printf(H%d ”,x);

}

A) 6 3 B)7 4 C)6 2 D) 7 3

90、下而程序的运行结果是_D ________ .

#include

void main()

{ int a,b;

a=-l;

b=0;

++a;

++a;

b+=a;

} whilc(a<9);

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

} A) 34 B) 24 C) 26 D) 25

91、下面程序段的运行结果是_____ D _______ .

fbr(i=l;i<=5;)

printf(n%d H,i);

i++;

A) 12345 B) 1234 C) 15 D)无限循环

92、下面程序的输出结果是_____ B _____ .

# include

void main()

{ int n=4;

while (n-) printfl n%d ”,n??);

}

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

95、有如下程序

# include

A) 012 B) 123 C) 234 D)错误信息do {

void main()

{ int x=23;

do

{ printf(n%d u,x-);

}whilc(!x);

} 该程序的执行结果是_B—

A)321 B)23

C)不输出任何内容D)陷入死循环

96、以下程序段的执行结果是—C—.

int i,j,m=0;

for(i=l;i<=15; i+=4)

for(j=3;j<=19;j+=4)

m++; printf(u%d\n",m);

A)12 B) 15 C) 20 D)25

97、下面程序的输出结果是______ A_____ .

#include

void main()

{inti;

for(i=l;i<6;i++)

{ if(i%2!=0) {prints#”);continue;} prints”*”);

}

printf(”\n”);

}

A)#*#* # B)##### C)*****

D)*#*#*

98、下面程序的输出结果是____ D_______ .

# include void main()

{ int x=10,y=10,i;

for(i=0;x>8;y=4-4-i) printf(n%d %d n,x-,y);

}

A)10 1 92 B) 9 8 7 6

C) 10 99 0 D) 10 10 9 1

99、执行以下程序后,输出的结果是____ D ______ .

#include

void main()

{ inty=10; do {y-;} while (—y);

printf(M%d\n n,y-);

100>有如卜程序

#include

void main()

{int n=9;

while(n>6) {n-;printf(n%d H,n);}

} 该程序段的输出结果是___ B .

A)987 B) 876 C) 8765 D) 9876

101、有如下程序

#include

void main()

{ int i5sum=0;

fbr(i=l ;i<=3 ;sum++) sum+=i; printf(n%d\n n,sum);

} 该程序的执行结果是____ C .

A) 6 B)3 C)死循环D)0

102、以下循环体的执行次数是—D_

#include

void main()

{int i,j;

ft)r(i=OJ= 1 ; i<=j+1 ; i+=2, j-)

printf(” %d \n n,i);

}

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

103、在执行以下程序时,如果从键盘上输入:ABCdcf<冋车〉,则输出为___ B ___ .

#include

void main()

{ char ch;

while ((ch=getchar( ))!='\1T)

{if(ch>=,A, && ch<=,Z,) ch=ch+32; else if (ch>-a'

&& ch<'z') ch=ch-32; printf(”%c”,ch);

}

printfr'\n n);

}

A) ABCdef B) abcDEF C) abc D) DEF

104、下而程序的输出结果是_D _________ .

main()

{

int i,k=0, a=0, b=0;

fbr(i=l;i<=4;i-H-)

A)-l B)1 C)8 D)0

k++;

if (k%2==0) {a=a+k; continue;} b=b+k;

a=a+k;

}

printf(n k=%d a=%d b=%d\n",k,a,b);

}

A)k=5 a=10b=4 B) k=3 a=6 b=4

C) k=4 a= 10 b=3 D) k=4 a= 10 b=4

105、执行下面程序段后,k的值是_D_________ .

int i,j,k;

for(i=0j=10;i

k=i+j;

A)9 B) 11 C)8 D) 10 106、下面程序是计算n个数的平均值,请填

#include

void main()

{ int i,n;

float x,avg=0.0;

scanf(”%d”,&n);

fdr(i=0;i

{ scan“%f',&x);

avg=avg+ _______ ;}

avg= ________ ;

pr intf(”avg=%f\n”,avg);

}

A)i B)x C)x D)i

avg/i avg/n avg/x avg/n 108、阅读以下程序,程序运行后的输出结果是

_B ____ .

#include

void main()

{ int x;

for(x=5;x>0;x—)

if(x-<5) printf(n%d;',x);

else printf(”%d,”,x卄);}

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

109、以下程序段的输出结果是—C—.

int k,n,m;

n=10;m=l;k=l;

while (k<=n) {m*=2;k+=4;}

printf(” %d\n”,m);

A) 4 B) 16 C)8 D) 32

110、下面程序的输出结果是—B _______ .

# includc

void main()

{int y=9;

for(;y>0;y-)

{if(y%3=0)

{printfC'%d n,-y);

continue;}

}

}

x>amin x<=amin x>amin x

A) 741 B) 852 C)963 D)875421

7 6

113^语句while(!e);屮的条件!e等价于_______ A ___ . A)c==0 B) c!=l C) c!=0 D)?c

114、以下叙述正确的是_____ B—.

A)continue语句的作川是结束整个循环的执行

B)只能在循环体内和switch语句体内使用break语句

C)在循环体内使用break语句或continue语句的作用相

D)从多层循环嵌套中退出时,只能使用goto语句115、在下列选项中,没有构成死循环的程序段是_D_.

A)int i=100; B) for(;;);

while (1)

{ i=i% 100+1;

if (i>100) break;

}

C) int k=1000; D) int s=36;

do {++k;} while (k>=1000); while (s) —s;

116、下面程序的输出结果是—A _______ .

# include

void main()

{int i;

fbr(i=l;i<=5;i++)

{ if(i%2) print"”*”);

else continue;

printf(”# ”);

}

p「intf(”$\n“);

}

A)*#*#*#$ B)#*#*#*$

C)#*#*$ D)*#*#S

117、下面程序段中,循环体的执行次数是—C ______ .

int a=10,b=0;

do {b+=2;a?=2+b;} while(a>=0);

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

118、若i为整型变量,则以下循环语句的循环次数是

_B_.

for(i=2;i=0;)

printf(”%d”,i??);

A)无限次B) 0次C)1次D) 2次

119> C语言中while和do-while循环的主要区别是._A_ A)do-while的循环体至少无条件执彳J:一次

B)while的循环控制条件比do-while的循环控制条件严

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

120、对于for(表达式1;;表达式3)可理解为

______ B ____ .

A)fb?(表达式1;0;表达式3)

B)fbr(表达式1;1;表达式3)

107、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最髙成绩和最低成绩,当输入负数吋结束输入。请填空。—D _________

#include

void main()

{ float x,amax,amin;

scanf(”%f',&x);

amax=x;

amin=x;

while ( _________ )

{ if (x>amax) amax=x;

if ( ______ ) amin=x;

scanfC%f;&x);

} printf(n\namax=%f\namin=%f\n l\amax?amin);

}

A) x<=0 B) x>0 C) x>0 D) x>=0

111、卞面程序的输出结果是—B

# include

void main()

{int x=3;

do {

printf(M%d ”,x?=2);

}while(!(-x));

}

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

112、定义如下变量:

int n=10;

则-卜列循环的输出结果是—B_.

while(n>7)

{ n-; printfC%d\n”,n);}

A) 10 B)9 C) 10

9 8 9

D)是死循环

D)9

8

C)for(表达式1;表达式1;表达式3)

D)fbi?(表达式1;表达式3;表达式3)

121、合法的数组定义是_D _______ .

A) int a[6]={“string”};B) int a[5]={0,l,2,3,4,5};

C) char a二{“string”};D) char a[]={0,l,2,3,4,5}; 122、要求下血的程序运行后,显示如下结果:

2 10 4 6

15 2 3

2 4 7 8

5 13 2

则程序中的划线处应填入—B _______ .

#include

void main()

{int a[4][4]={ __________ };

int i,j;

for(i=0;i<4;i++)

{fbr0=O;j<4;j++) printf(,,%4d,',a[i][j]);

printf(n\n M); }

}

A){1,5,2,3},{2,4,7,8},{5,1,3,2}

B){2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}

C){5,1,3,2},{2,4,7,8},{1,5,2,3}

D){2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3,8,2}

123、给出以下定义:

char x[ ]=”abcdefg"; chary[]={'a:b,'cTd;e,'f,?};

则正确的叙述为—C ________ .

A)数组x和数组y等价

B)数组x和数组y的长度相同

C)数组x的长度大于数组y的长度

D)数组x的长度小于数组y的长度

124、定义如下变量和数组:

int i;

int x[4][4]={l,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; 则下面语句的输出结果是—C ___________ .

for(i=0;i<4;i++) printf(M%3d H,x[i][3-i]);

{ int i,j,x=0;

static int a[6]={ 1,2,3,40,6};

for(i=O,j=l;i<5 汁+i,j++) x+=a[i]*a[j];

printf(” %d\n”,x);

}

A)数组a中首尾的对应元素的乘积

B)数组a中首尾的对应元素的乘积之和

C)数组a中相邻各元素的乘积

D)数组a中相邻各元素的乘积之和

126、若希望下面的程序运行后输出45,程序空白处的正确选择是—C __________ .

#include

void main()

{int iJ=10,a[ ]={1,3,5,7,9,11,13,15};

for( _____________ )

j+=a[i];

printf(” %d\n”,j);

}

A)i=5;i>l;i- B) i=0;i<7;++i

C) i=5;i>=l ;-i D) i=2;i<6;++i 127、若有以下说明:

char si [ ]={n tree n},s2[]={n flower n};,

则以下对数组元索或数组的输出语句中,正确的是_C_.

A)printf(n%s%s",sl [5],s2[7]);

B)printf(,,%c%c,,,sl,s2);

C)puts(sl);puts(s2); D) puts(s 1 ,s2);

128、下列一维数组初始化语句小,正确J=L与语句float a[ ]={0,3,8,0,9};等价的是_____ D_.

A) float a[6]={0,3,8,0,9}; B) float a[4]={0,3,&0,9}; C) float

a[7]={0,3,8,0,9}; D) float a[5]={0,3,8,0,9};

129、____________________________________ 运行下面程序段的输出结果是_A ___________________ .

char si [10]={,S',,e',,t,,,\0,,'u7p,A0,}; printf(” %s”,si); A) Set B) Set叩C) Set up D) SOf

130、以下程序段的输出结果是—B_. char s[ ]=M an apple";

printf(n%d\n n,strlcn (s));

A) 7 B)8 C)9 D) 10

131、若有说明:char c[10]={,E,;a,;s,;t7\0,};,则下述

说法中正确的是_____ D ____ .

A)c[7]不可引用B) c[6]可引用,但值不确定

C)c[4]不可引用D) c[4]可引用,其值为空字符

132、下列初始化语句中,正确且与语句

char c[ ]=,,string n;等价的是_______ C ___ .

A)char c[ ]={,s';t7r,;i','n,;g,};

B)char c[ ]-string*;

C)char c[7]={,s7t7r,;i';n,,,g',W};

D)char c[7]= {'string'};

133、若有说明char c[7]={Mf,T,T,n:g};则对元素的非法引用是—C_.

A) c[0] B) c[9-6] C) c[4*2] D) c[2*3]

134、如有说明:charsl[5],s2[7];,要给数组si和s2整体赋值,下列语句中正确的是—C_.

A)sl=getchar(); s2=getchar();

B)scanff%s%s”,sl,s2);

C)scanf("%c%c",sl ,s2);

D)gcts(sl,s2);

135、下列一组初始化语句中,正确的是—B _______ . A) int a[8]={ }; B) int a[9]={0,7,0,4,8}; C) int a[5]={9,5,7,4,0,2}; D) int a[7]=7*6;

136、以下程序输出的结果是—D ________ .

#includc

void main()

{char str[ ]=u la2b3c"; int i;

for(i=0;str[i]!=,\0';i++)

if(str[i]>=,0,&&str[i]<=,9,) printf(n%c n,str[i]);

printfCW);

}

A) 123456789 B) 1 a2b3c C) abc D) 123

137、以下程序输出的结果是_C _______ .

#include

void main()

{int a[]={5,4,3,2,l},i,j;

long s=0;

for(i=0;i<5;i ++) s=s* 10+a[i];

printf(u s=%ld\n H,s);

}

A) s=12345 B) s=5 4 3 2 1

C) s=54321 D)以上都不对

138、以下程序输出的结果是 A .

# include

void main()

{int a[ ]={l,2,3,4,5},i,j,s=0; fbr(i=O;i<5;i++)

s=s*10+a[i];

printf(',s=%d\n,,,s);

}

A)s=12345 B) s=l 234 5

C) s=54321 D) s=5 4 3 2 1 139、在定义int a[5][6];后,数组a中的第10个元素

是. __ C ___ (设a[0][0]为第一个元索)

A)a[2][5] B) a[2][4] C) a[l][3] D)a[l][5]

140、当接受用户输入的含有空格的字符串时,应使用

____ A __ 隊|数.

A) gets() B) getchar() C) scanf() D) printf()

141、以下程序执行时输入Language Programming<

回车〉,输出结果是 __ D ____ .

# include void main()

{ char str[30];

gcts(str);

printf(M str=%s\n",str);

}

A) Language Programming B) Language

C) str=Language D) str=Language Programming

142、以下一维数组a的正确定义是_D _________

A) int a(10);

C) int n; scanf(u%d n,&n); int a[n];

143、以下对二维数组a进行正

确初始化的是_B .

A)int a[2][3]={ {1,2},{3,4},{5,6} };

B)int a[][3]={l,2,3,4,5,6};

C)int a[2][F{l,2,3,4,5,6};

D)int a[2][]={{l,2},{3,4}};

144、以下关于数组的描述正确的是_C __________ .

A)数组的大小是固定的,但可以有不同类型的数组元素。

B)数组的人小是可变的,但所有数组元索的类型必须相同。

C)数组的人小是固定的,所有数组元素的类型必须相同。

D)数组的人小是可变的,可以冇不同类型的数组元索。

145、以下程序的输出结果是—B

#include

void main()

{int a[4][4]={{l,3,5,},{2,4,6},{3,5,7}};

printf(”%d%d%d%d\n",a[0][0],a[1][l],a[2][2],a[3][3]);

}

A) 0650 B) 1470 C) 5430 D)输出值不定

146、以下程序的输出结果是—A _______ .

# inc hide

void main() {inta[4][4]={{l,3,5,},{2,4,6},{3,5,7}};

printfC,%d%d%d%d\n u,a[0][3],a[l][2],a[2][l],a[3][0]);

}

A) 0650 B) 1470 C) 5430 D)输出值不定

147、已知short int类型变量占用两个字节,若有定义: short int x[ 10]= {0,2,4};,贝U数组x在内存中所占字节数是—D_.

A)3 B)6 C) 10 D)20 148、在定义int a[5][4];之后,对a的引用正确的是. C A) a[2][4] B) a[l,3] C) a[4]⑶ D) a[5][0] 149、以下数组定义中不正确的是_D

A)int a[2][3];

B)intb[][3]={0,l,2,3};

C)intc[100][100]={0};

D)int a[3][]={{l,2},{l,2,3},{l,2,3,4}};

150、在执行语句:inta[][3]={l,2,3,4,5,6};后,a[l][0] 的值是—A_.

A) 4 B) 1 C)2 D)5 151、以下程序的输出结果是—C_

#include void main() {int i,a[10];

fbr(i=9;i>=0;i-) a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

C) 852 D) 369

错误的是—B ______ .

B)char a={"tesf'};

D) int a[]={,a,;b,;c,};

错误的是—D_.

B)char a[]={M test"};

D)int n=5,a[n];

154、下列程序的输出结果是C

#include

void main()

{char b[]=,,ABCDEFG M;

char p=0;

whilc(p<7)

B) int n=10,a[n];

D) #define SIZE 10 int

a[SIZE];

A)258 B)741

152、以下定义语句中,

A) inta[]={l,2};

C) char s[ 10]= {“test”};

153、以下定义语句小,

A) int a[]={l,2};

C) chars[10]={n test M};

putchar(b[p++J);

putchar(,\n,);

}

A) GFEDCBA B) BCDEFG

C)ABCDEFG D) GFEDCB

155、下述对C语言字符数组的描述中错误的是_C_.

A)字符数组可以存放字符串

B)字符数组中的字符串可以整体输入、输出

C)可以在赋值语句屮通过赋值运算符对字符数组整体

赋值

D)不可以用关系运算符对字符数组小的字符串进行比

156、以下程序的输出结果是—A_.

#include

void main()

{int i,x[3][3]={l,2,3,4,5,6,7,8,9};

fbr(i=O;i<3;i++)

printf(”%d,”,x[i][i]);

printfC'\n n);

}

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

157、如有定义语句int a[]={l,8,2,8,3,8,4,8,5,8};,则

数组a的人小是_A ________ .

A) 10 B) 11 C)8 D)不定

158、有如下程序

#includc

void main()

{ char ch[80]=,,123abcdEFG*&";

int j Jong s=0;

puts(ch);

for(j=O;ch[j]>,\O,;j++)

if(ch[j]XA '&&ch[j]<='Z,) ch[j]=ch[j]+e?E;

puts(ch);

}

该程序的功能是—D_.

A)测字符数组ch的长度

B)将数字字符串ch转换成| ?进制数

C)将字符数组ch屮的小写字母转换成大写

D)将字符数组ch小的人写字母转换成小写

159、设有如下定义:

char aa[2][20]={ ”abed”,”ABCD”}; 则以下说法中错误的是—D_.

A)aa是个二维数组,可以存放2个19个字符以下的字

符串

B)aa是个二维数组,每行屮分別存放了字符串

bbed“ 和” ABCD”

C)aa[0]可以看作是一维数组名

D)aa[0][0]可以看作是一维数组名

160、以下对C语言函数的有关描述中,正确的是_A_.

A)在C屮,调用函数时,只能把实参的值传送给形参, 形

参的值不能传送给实参

B)C函数既可以嵌套定义乂可以递归调用

C)函数必须冇返回值,否则不能使用函数

D)C程序屮有调用关系的所有函数必须放在同一个源程

序文件中

161、有如下说明:int a[10]={0,l,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是_B_.

A) a[10-l] B) a[8] C) a[9]-0 D) a[9]-a[0]

162、设有数组定义:char array[]=H China n;则数组array 所占的存储空间为—C_?

A) 4个字节B) 5个字节

C)6个字节D) 7个字节

163>下面程序的输出是_____ B ____ .

#include

int m=13;

int fun2(int x, int y)

{ int m=3;

rctum(x*y-m);

}

void main()

{ int a=7, b=5;

printf(u%d\n,r,fun2(a,b)/m);

}

A) 1 B)2 C)7 D) 10

164、请读程序:

#include f(int b[ ], int n) { int i, r=0;

fbr(i=O; i<=n; i++) r=r+b[i];

return r;

void main()

int x, a[]={ 2,3,4,5,6,7,8,9};

x=f(a, 3); printf(” %d\n”,x);}

上面程序的输出结果是_B _______ .

A) 20 B) 14 C)9 D)5

165、请读程序:

#include

Hint b[ ], int n)

{int i,r=l;

fbr(i=O; i<=n; i++) r=r*b[i];

return r; }

void main()

{int x, a[]={ 2,3,4,5,6,7,8,9};

x=f(a, 3);

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

上面程序的输出结果是_B _______ .

A)720 B)120 C) 24 D)6 166^请读程序:

#includc

f(char s[])

{int ij;

i=0;j=0;

while( s[j]U'\(r)j++;

return (j-i); }

void main()

{printf(n%d\n n4n ABCDEF n));} 上面程序的输出结果是—B—. A)0 B)6 C)7 D)8

167、对以下程序,正确的说法是_D ________ .

sub (char x.char y)

{int z; z=x%y; return z; }

void main()

{int g=5,h=3,k;

k=sub(g,h);

printf(M%d\n n,k); }

A)实参与其对应的形参类型不一致,程序不能运行

B)被调函数缺少数据类型说切,程序不能运行

C)主函数屮缺少对被调函数的说明语句,程序不能运行

D)程序中没有错误,可以正常运行

168、若已定义实参数组int a⑶[4]={2,4,6,8,10};,则

在被调用函数f的下述定义中,对形参数组b定义正确的选项是______ B_.

A)f(intb[][6]) B)f(b)int b[][4];

C) f(int b[3][ ]); D)f(b) int b[4][5]; 169、若函数调用时用数组名作为函数参数,以下叙述中,不正确的是___ C ____ .

A)实参与其对应的形参共占用同一段存储空间

B)实参将其地址传递给形参,结果等同于实现了参数Z间的双向值传递

C)实参与其对应的形参分別占用不同的存储空间

D)在调用函数屮必须说明数组的人小,但在被调函数中可以使用不定尺寸数组

170、以下叙述中,不正确的是—B_.

A)使用static float a定义的外部变屋存放在内存中的静态存储区

B)使用float b定义的外部变量存放在内存屮的动态存储区

C)使用static float c定义的内部变量存放在内存小的静态存储区

D)使用float d定义的内部变量存放在内存屮的动态存储区

171、如果一个函数位于C程序文件的上部,在该函

数体内说明语句后的复合语旬中定义了一个变虽,则该变屋—C ________ .

A)为全局变量,在本程序文件范围内有效

B)为局部变屋,只在该函数内有效

C)为局部变量,只在该复合语句中有效

D)定义无效,为非法变量

172、调用函数时,当实参和形参都是简单变屋时,它们Z间数据传递的过程是—D—.

A)实参将其地址传递给形参,并释放原先占用的存储单元

B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参

C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

D)实参将其值传递给形参,调用结束吋形参并不将其值回传给实参

173、以下叙述中,不正确的是_B ________ .

A)在同一C程序文件中,不同函数中可以使用同名变量

B)在main函数体内定义的变量是全局变量

C)形参是局部变量,函数调用完成即失去意义

D)若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用

174、若函数调用时参数为基本数据类型的变量(俗称简

单变量),以下叙述正确的是—C_.

A)实参与其对应的形参共占存储单元

B)只有当实参与对应的形参同名时才共占存储单元

C)实参与其对应的形参分别占用不同的存储单元

D)实参将数据传递给形参后,立即释放原先占用的存储

单元

175、若主调用函数类型为double,被调用函数定义中

没有进行函数类型说明,而return语句小的衣达式类型为float型,则被调函数返回值的类型是—A_o A) int 型B) float 型

C) double型D)由系统当时的情况而定

176、在以下叙述屮,不正确的选项是____ B ____ 。

A)C语言程序总是从main()函数开始执行

B)在C语言程序中,被调用的函数必须在main()函数中

定义

C)C程序是函数的集合,在这个函数集中包括标准函数

和用户日定义函数

D)在C语言程序中,函数的定义不能嵌套,但函数的

调用可以嵌套

177、C语言中,若未说明函数的类型,则系统默认该

函数的类型是—C _______ o

A) float 型B) long 型C) int 型D) double 型

178、下面函数的功能是____ B ____ 。

sss(s, t)

char s[ ], t[];

{int i=0;

whilc((s[i])&&(t[i])&&(t[i]= s[i])) i++;

return (s[i]?t[i]);}

A)求字符串的长度

B)比较两个字符串的大小

C)将字符串s复制到字符串t中

D)将字符串s接续到字符串t中

179、设有如下函数定义:

int f(char s[])

{ int i=0;

whi!e(s[i++]!=W);

return (i-1); }

如果在主程序中用下而的语句调用上述函数,则输岀结果为—C ________ ?

printff%d\n”,f(” goodbey!”));

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

180、对于C语言的函数,下列叙述小正确的是_A_.A)函数的定义不能恢套,但函数调用可以嵌套

B)函数的定义可以嵌套,但函数调用不能嵌套

C)函数的泄义和调用都不能嵌套

D)两数的定义和调用都可以嵌套

⑻、以下说法中正确的是______ C_.

A)C语言程序总是从第一个定义的函数开始执行

B)在C语言程序中,婆调用的函数必须在mainO?数中

定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的imin()函数必须放在程序的开始部分

182、以下程序的输出结果是—B _______ .

# inc hide

int a,b;

void fun()

{ a=100; b=200; }

void main()

{ int a=5,b=7;

fun();

printf(,,%d%d\n n,a,b); }

A)100200 B)57 C)200100 D)75

183、以下函数func()的功能是:使具冇n个元索的一维数组b的每个元索的值都增加2,划线处应填入一D_.

func(int b[ ],int n)

{int;

for(i=0;i

__________ ; }

A) b[i++] B) b[i]卄C) b[i+=2] D) b[i]+=2 184、设有以下函数:

#include

int f(int a)

{ int b=0,c;

c=3;

b++; c++;

return (a+b+c); }

如果在下面的程序小调用该函数,则输出结果是—B—? void main()

{int i;

185、设冇以下函数:

#include

int Rint a) { int b=0;

static c=3;

b++; c++; return (a+b+c ); }

如果在下面的程序中调用该函数,则输出结果是

A_?

void main() { int a=2,i ;

186、在调用函数时,如果实参是简单变量,它与对应 形

参Z 间的数据传递方式是 _______ B_.

A )地址传递

B )单向值传递

C ) 由实参传给形参,再由形参传回实参

D ) 传递方式由用户指定

187、 C 语言规定,除主函数外,程序中各函数之间 一A_. A ) 既允许直接递归调用也允许间接递归调用 B ) 不允许直接递归调用也不允许间接递归调用 C ) 允许直接递归调用不允许间接递归调用 D ) 不允许直接递归调用允许间接递归调用 189、 下面程序的输出是—C_? int fun3(int x)

{static int a=3; a+=x; retum(a); } void main() {int k=2,m=l,n; n=fun3(k); n=fun3(m); printf (” %d\n”,n);

}

A) 3

B)4

C)6

D)9

190、 下列程序执行后输出的结果是—C ______ .

# include int f(int a) {int b=0; static c=3; a=c++,b++; retum(a); } void main()

{int a=2,i,k; fbr(i=0;i<3;i++)

k=f(a++); printf(n

%d\n n

,k); }

A) 3

B) 0

C)5

D)4

191、 C 语言中规定函数的返回值的类型是由

_D ______ .

A) return 语句中的表达式类型所决定 B) 调用该函数时的主调用函数类型所决泄 C) 调用该函数时系统临时决定 D) 在定义该函数时所指定的类型所决定 192、 以下程序的输出结果是 _____ C _____ . #include fun(int x,int y,int z) { z=x*x+y*y;} void main() { int a=31; fun(5,2,a); printf(”%d”,a); } A)0

B) 29

C)31

D)无定值

193、 以下函数调用语旬中含冇实参个数为—B_.

func((cxp 1 ,cxp2),(cxp3,cxp4,cxp5)); A) 1个

B) 2个 C)4个

D) 5个

194、 以下程序的输出结果是 _____ D_. #include void fun() { static int a=0; a+=2;

printf(n %d M ,a); } void main() {int cc;

for(cc=l ;cc<4;cc++) fun(); printfT n

\n n

); }

A) 2222

B) 2468 C) 222 D) 246

195、 有如下程序

int func(int a,int b) { rctum(a+b); } void main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf(u %d\n n ,r); }

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

大学C语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串

选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char*p[10];该语句声明了一个:。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D)有10个元素的指针数组p,每个元素存放一个字符串 2.若intx;且有下面的程序片断,则输出结果为:。 for(x=3;x<6;x++) { printf((x%2)"##%d":"**%d\n",x); } A) ##3B)**3 C)**3D)##3**4 **4##4##4**5##5 ##5**5 3.在while(!x)语句中的!x与下面条件表达式等价的是:。 A)x!=0B)x==1 C)x!=1D)x==0 4.已知 structpoint { intx; inty; }; structrect { structpointpt1; structpointpt2; }; structrectrt; structrect*rp=&rt; 则下面哪一种引用是不正确的________。 A) r t.pt1.xB) (*rp).pt1.xC) rp->pt1.x D)rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:。 A)*(a+j*n+i)B)*(a+i*n+j)C)*(*(a+i)+j)D)*(*a+i) +j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1.#include main()

{intn; staticchar*monthName[]= {"Illegalmonth","January","February", "March","April","May","June","July","August", "September","October","November","December"}; for(n=1;n<=12;n++) { printf("%s\n",monthName[n]); } } 运行结果是: January February March April May June July August September October November December 2.#include #defineARR_SIZE7 voidYH(inta[][ARR_SIZE],intn); voidPrintYH(inta[][ARR_SIZE],intn); main() {inta[ARR_SIZE][ARR_SIZE];

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

(完整版)c语言期末考试题及其答案

选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套

C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

历年C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

相关主题
文本预览
相关文档 最新文档