文档库 最新最全的文档下载
当前位置:文档库 › C练习题库及答案

C练习题库及答案

C练习题库及答案
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

14、以下程序得输出结果就是____D_____、

#include

void main()

{ int x=10,y=10;

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

}

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

15、设有如下定义:

int x=10,y=3,z;

则语句

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

得输出结果就是_____D_____、

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

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

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

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

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

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

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

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

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

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

上面程序片段得输出结果就是____A___、

A) 200 B) 100

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

19、阅读下面得程序

#include

void main()

{

char ch;

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

printf("%c",ch);

}

如果从键盘上输入

abc<回车>

则程序得运行结果就是__A_____、

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

20、阅读下面得程序

#include

void main()

{

int i,j;

i=010;

j=9;

printf("%d,%d",i-j,i+j);

}

则程序得运行结果就是____D____、

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

21、阅读下面得程序

#include

void main()

{

int i,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d",i,j,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",&i,&j);

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

}

如果从键盘上输入1234567<回车>,则程序得运行结果就是____D____、

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

C) i=1,j=2 D) i=123,j=45 25、下面程序得输出结果就是____D____、

#include

void main()

{

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

k=(++a<=0)&&(b--<=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",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) -1 D) 1

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

int a=010, b=0x10, 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=1,d+5,d++得值就是_____D__、

A) 1 B) 6、0 C) 2、0 D) 1、0

34、表达式5!=3得值就是____D____、

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

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,则表达式:(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; 则表达式: 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=='\40') 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("%d,%d,%d",&a,&b,&c);

if (a>b)

if (a>c)

printf("%d\n",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 cp;

cp=getchar( );

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

k=cp-'0';

else if (cp>='a' && 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("%f\n",b);

}

A) 0、000000 B) 0、500000

C) 1、000000 D) 0、250000

48、执行下面程序后,运行结果就是____A____、

#include

void main( )

{ int x=41,y=1;

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

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

else

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

}

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

49、运行下面程序时,从键盘输入"12,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("Hello!\n");

case 'G':printf("Good morning!\n");

default:printf("Bye_Bye!\n");

}

}

A) Hello! B) Hello!

Good Morning!

C) Hello! D) Hello!

Good morning! Bye_Bye!

Bye_Bye!

51、执行下列程序段后得输出结果就是_____A____、

int x=1,y=1,z=1;

x+=y+=z;

printf("%d\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-=1;

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

}

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

54、运行下面程序时,若从键盘输入"5 ",则程序得输出结果就是_____B___、

#include

void main( )

{ int a ;

scanf("%d",&a);

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

else printf("%d\n",a--) ;

}

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

55、运行下面程序时,若从键盘输入"3,4 ",则程序得输出结果就是____B___、

#include

void main( )

{ int a,b,s;

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

s=a;

if (s

s=s*s;

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

}

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

56、下列程序得执行结果就是_____D____、

#include

void main( )

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

if (x=z=y)

x=3;

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

}

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

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

等级:A 分数:85~100

等级:B 分数:60~84

等级:C 分数:60 以下

对于等级grade输出相应得分数区间,能够完成该功能得程序段就是____D____、

A) switch (grade)

{

case 'A':printf("85--100\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");

}

C) switch (grade)

{

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

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

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

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

}

D) switch (grade)

{

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

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

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

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

}

58、能够完成如下函数计算得程序段就是__B____、

┌-1 x<0

y= ┤0 x=0

└ 1 x>0

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

if(x!=0) if(x>0) y=1;

if(x>0) y=1; else y=0;

else y=0; else y=-1;

C) y=0; D) y=-1;

if (x>=0) if (x>0) y=1;

if (x>0) y=1; else y=0;

else y=-1;

59、有如下程序

#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=1,y=0;

switch (x)

{

case 1:

switch (y)

{

case 0:printf("first\n");break;

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

}

case 2:printf("third\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=1;

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 D) 25

62、有如下程序:

#include

void main( )

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

if (a

if (b<0) c=0;

else c++;

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

}

该程序得输出结果就是___C_____、

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

63、下列程序执行后得输出结果就是____B____、#include

void main( )

{ int x,y=1,z;

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

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

else x=6;

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

}

A) 4,1 B) 6,1 C) 5,0 D) 出错信息

64、有如下程序

#include

void 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\n",a,b);

}

该程序得输出结果就是______A____、

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

65、下面程序得输出结果就是____C_____、

#include

void main( )

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

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

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

else

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

}

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

66、假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;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("%d\n",a>100);

else printf("%d\n",a<=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 printf("%d\n",n--);}

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

69、以下程序输出结果就是_____D_____、

#include

void main( )

{ int m=4;

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

else printf("%d\n",--m);

}

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

70、若执行下面得程序从键盘上输入5,则输出结果就是、

#include

void main( )

{int x;

scanf("%d",&x);

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

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

}

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

71、以下程序段运行结果就是____A____、

int x=1,y=1,z=-1;

x+=y+=z;

printf("%d\n",x

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

72、有以下程序

#include

void main( )

{ int a,b,c=246;

a=c/100%9;

b=(-1)&&(-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=1;

i=num/100;

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

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

switch (place)

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

break;

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

break;

case 1: printf("%d\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=1;

printf("%d\n",k

}

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

75、以下条件表达式中能完全等价于条件表达式x得就是____B___、

A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)

76、若运行下面程序时,给变量a输入15,则输出结果就是___A___、

#include

void main( )

{ int a,b;

scanf("%d",&a);

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

printf("%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) ####

B) ****

C) ####****

D) 有语法错误不能通过编译

78、执行下面程序得输出结果就是____C____、

#include

void main( )

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

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

else printf("####\n");

}

A) 有语法错误不能编译

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

C) 输出****

D) 输出####

79、为了避免嵌套得if-else语句得二义性,C语言规定else总就是与___C___组成配对关系、

A) 缩排位置相同得if

B) 在其之前未配对得if

C) 在其之前尚未配对得最近得if

D) 同一行上得if

80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t得值为____C_____、

x=y=z=1;

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

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

81、以下程序段____C______、

x=-1;

do

{

x=x*x;

} while (!x);

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

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

82、对下面程序段描述正确得就是___B____、

int x=0,s=0;

while (!x!=0) s+=++x;

printf("%d",s);

A) 运行程序段后输出0

B) 运行程序段后输出1

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

D) 程序段循环无数次

83、下面程序段得输出结果就是____C____、

x=3;

do { y=x--;

if (!y) {printf("*");continue;}

printf("#");

} while(x=2);

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

84、下面程序得运行结果就是____B____、

#include

void main( )

{ int a=1,b=10;

do

{ b-=a;a++;

} while(b--<0);

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

}

A) 3,11 B) 2,8 C) 1,-1 D) 4,9

85、下面程序段得运行结果就是____B______、

int n=0;

while (n++<=2)

printf("%d",n);

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

86、下面程序段得运行结果就是___D_____、

int x=0,y=0;

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

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

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

87、下面程序得运行结果就是___B_____、

#include

void main()

{ int s=0,i=1;

while (s<=10)

{ s=s+i*i;

i++;

}

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

}

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

88、函数pi得功能就是根据以下近似公式求π值:____C______

(π*π)/6=1+1/(2*2)+1/(3*3)+、、+1/(n*n) 请填空,完成求π得功能。

#include

void main( )

{ double s=0、0; int i,n;

scanf("%ld",&n);

for(i=1;i<=n;i++)

s=s+_______ ;

s=(sqrt(6*s));

printf("s=%e",s);

}

A) 1/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("%d ",x);

}

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

90、下面程序得运行结果就是____D_____、

#include

void main( )

{ int a,b;

a=-1;

b=0;

do {

++a;

++a;

b+=a;

} while(a<9);

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

}

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

91、下面程序段得运行结果就是_____D______、

for(i=1;i<=5;)

printf("%d",i);

i++;

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

92、下面程序得输出结果就是_____B_____、

#include

void main( )

{ int n=4;

while (n--) printf("%d ",n--);

}

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

93、以下程序运行后得输出结果就是___D_____、

#include

void main()

{ int i=10,j=0;

do

{ j=j+1; i--;

}while(i>2);

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

}

A) 50 B) 52 C) 51 D) 8

94、以下函数得功能就是:求x得y次方,请填空、____C______

#include

void main()

{ int i,x,y;

double z;

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

for(i=1,z=x;i

z=z*______ ;

printf("x^y=%e\n",z);

}

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

95、有如下程序

#include

void main()

{ int x=23;

do

{ printf("%d",x--);

}while(!x);

}

该程序得执行结果就是___B____

A) 321 B) 23

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

96、以下程序段得执行结果就是____C____、

int i,j,m=0;

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

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

m++;

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

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

97、下面程序得输出结果就是______A_____、

#include

void main( )

{ int i;

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

{ if (i%2!=0) {printf("#");continue;}

printf("*");

}

printf("\n");

}

A) #*#*# B) ##### C) ***** D) *#*#* 98、下面程序得输出结果就是____D______、

#include

void main( )

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

for(i=0;x>8;y=++i)

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

}

A) 10 1 9 2 B) 9 8 7 6

C) 10 9 9 0 D) 10 10 9 1

99、执行以下程序后,输出得结果就是_____D_____、

#include

void main( )

{ int y=10;

do {y--;}

while (--y);

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

}

A) -1 B) 1C) 8D) 0 100、有如下程序

#include

void main( )

{ int n=9;

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

}

该程序段得输出结果就是_____B_____、

A) 987 B) 876 C) 8765 D) 9876 101、有如下程序

#include

void main( )

{ int i,sum=0;

for(i=1;i<=3;sum++) sum+=i;

printf("%d\n",sum);

}

该程序得执行结果就是______C_____、

A) 6 B) 3 C) 死循环D) 0 102、以下循环体得执行次数就是___D____

#include

void main( )

{ int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--)

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

}

A) 3 B) 2 C) 1 D) 0 103、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为____B____、

#include

void main( )

{ char ch;

while ((ch=getchar( ))!='\n')

{ if (ch>='A' && ch<='Z') ch=ch+32;

else if (ch>='a' && ch<'z') ch=ch-32;

printf("%c",ch);

}

printf("\n");

}

A) ABCdef B) abcDEF C) abc D) DEF 104、下面程序得输出结果就是____D______、main( )

{

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

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

{

k++;

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

b=b+k;

a=a+k;

}

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

}

A) k=5 a=10 b=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=0,j=10;i

k=i+j;

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

#include

void main( )

{ int i,n;

float x,avg=0、0;

scanf("%d",&n);

for(i=0;i

{ scanf("%f",&x);

avg=avg+______; }

avg=________;

printf("avg=%f\n",avg);

}

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

avg/i avg/n avg/x avg/n 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;

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

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

x>amin x<=amin x>amin x

#include

void main( )

{ int x;

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

if (x--<5) printf("%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=1;k=1;

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

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

A) 4 B) 16 C) 8 D) 32 110、下面程序得输出结果就是____B_____、

#include

void main( )

{int y=9;

for(;y>0;y--)

{if(y%3==0)

{printf("%d",--y);

continue;}

}

}

A) 741 B) 852 C) 963 D) 875421 111、下面程序得输出结果就是____B____、

#include

void main( )

{int x=3;

do {

printf("%d ",x-=2);

}while(!(--x));

}

A) 1 B) 1 -2 C) 3 0 D)就是死循

112、定义如下变量:

int n=10;

则下列循环得输出结果就是___B____、

while(n>7)

{ n--; printf("%d\n",n);}

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

9 8 9 8

8 7 8 7

7 6 113、语句while(!e);中得条件!e 等价于____A____、A) e==0 B) e!=1 C) e!=0 D) ~e 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;

for(i=1;i<=5;i++)

{ if (i%2) printf("*");

else continue;

printf("#");

}

printf("$\n");

}

A) *#*#*#$ B) #*#*#*$ C) #*#*$ D) *#*#$ 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得循环体至少无条件执行一次

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

件严格

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

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

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

A) for(表达式1;0;表达式3)

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

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

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

121、合法得数组定义就是___D_____、

A) int a[6]={"string"}; B) int a[5]={0,1,2,3,4,5}; C) char a={"string"}; D) char a[]={0,1,2,3,4,5}; 122、要求下面得程序运行后,显示如下结果:

2 10 4 6

1 5

2 3

2 4 7 8

5 1 3 2

则程序中得划线处应填入___B_____、

#include

void main( )

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

int i,j;

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

{for(j=0;j<4;j++) printf("%4d",a[i][j]);

printf("\n"); }

}

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";

char y[ ]={'a','b','c','d','e','f','g'};

则正确得叙述为___C_____、

A) 数组x与数组y等价

B) 数组x与数组y得长度相同

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

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

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

int i;

int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; 则下面语句得输出结果就是___C_____、

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

A) 1 5 9 13 B) 1 6 11 16

C) 4 7 10 13 D) 4 8 12 16

125、下面程序输出得结果就是____D____、#include

void main( )

{ int i,j,x=0;

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

for(i=0,j=1;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 i,j=10,a[ ]={1,3,5,7,9,11,13,15};

for( ____________ )

j+=a[i];

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

}

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

C) i=5;i>=1;--i D) i=2;i<6;++i

127、若有以下说明:

char s1[ ]={"tree"},s2[]={"flower"}; ,

则以下对数组元素或数组得输出语句中,正确得就是__C___、

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

B) printf("%c%c",s1,s2);

C) puts(s1);puts(s2); D) puts(s1,s2);

128、下列一维数组初始化语句中,正确且与语句float a[ ]={0,3,8,0,9};等价得就是_____D___、

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

C) float a[7]={0,3,8,0,9}; D) float a[5]={0,3,8,0,9}; 129、运行下面程序段得输出结果就是___A_____、char s1[10]={'S','e','t','\0','u','p','\0'};

printf("%s",s1);

A) Set B) Setup C) Set up D) 'S''e''t' 130、以下程序段得输出结果就是____B____、

char s[ ]="an apple";

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

A) 7 B) 8 C) 9 D) 10 131、若有说明:char c[10]={'E','a','s','t','\0'};,则下述说法中正确得就是_____D_____、

A) c[7]不可引用B) c[6]可引用,但值不确定C) c[4]不可引用D) c[4]可引用,其值为空字符132、下列初始化语句中,正确且与语句

char c[ ]="string";等价得就是____C____、

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

B) char c[ ]='string';

C) char c[7]={'s','t','r','i','n','g','\0'};

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

133、若有说明char c[7]={'s','t','r','i','n','g'};则对元素得非法引用就是____C____、

A) c[0] B) c[9-6] C) c[4*2] D) c[2*3] 134、如有说明:char s1[5],s2[7]; ,要给数组s1与s2整体赋值,下列语句中正确得就是____C____、

A) s1=getchar(); s2=getchar();

B) scanf("%s%s",s1,s2);

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

D) gets(s1,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_____、#include

void main( )

{ char str[ ]="1a2b3c"; int i;

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

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

printf("\n");

}

A) 123456789 B) 1a2b3c C) abc D) 123 137、以下程序输出得结果就是___C_____、

#include

void main( )

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

long s=0;

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

printf("s=%ld\n",s);

}

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

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

138、以下程序输出得结果就是____A____、

#include

void main( )

{ int a[ ]={1,2,3,4,5},i,j,s=0;

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

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

}

A) s=12345 B) s=1 2 3 4 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[1][3] D) a[1][5] 140、当接受用户输入得含有空格得字符串时,应使用

____A____函数、

A) gets( ) B) getchar( ) C) scanf( ) D) printf( ) 141、以下程序执行时输入Language Programming<回车>,输出结果就是____D____、

#include

void main( )

{ char str[30];

gets(str);

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

}

A) Language Programming B) Language

C) str=Language D) str=Language Programming 142、以下一维数组a得正确定义就是___D_____ 、A) int a(10); B) int n=10,a[n];

C) int n; D) #define SIZE 10

scanf("%d",&n); int a[SIZE];

int a[n];

143、以下对二维数组a进行正确初始化得就是__B_____、

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

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

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

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

144、以下关于数组得描述正确得就是____C______、A) 数组得大小就是固定得,但可以有不同类型得数组元

素。

B) 数组得大小就是可变得,但所有数组元素得类型必须相

同。

C) 数组得大小就是固定得,所有数组元素得类型必须相

同。

D) 数组得大小就是可变得,可以有不同类型得数组元素。145、以下程序得输出结果就是____B____、

#include

void main()

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

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

}

A) 0650 B) 1470 C) 5430 D) 输出值不定146、以下程序得输出结果就是___A_____、

#include

void main()

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

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

}

A) 0650 B) 1470 C) 5430 D) 输出值不定147、已知short int类型变量占用两个字节,若有定义:short int x[10]={0,2,4}; ,则数组x在内存中所占字节数就是____D____、

A) 3 B) 6 C) 10 D) 20 148、在定义int a[5][4]; 之后,对a得引用正确得就是、____C____

A) a[2][4] B) a[1,3] C) a[4][3] D) a[5][0] 149、以下数组定义中不正确得就是____D____、

A) int a[2][3];

B) int b[][3]={0,1,2,3};

C) int c[100][100]={0};

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

150、在执行语句:int a[ ][3]={1,2,3,4,5,6}; 后,a[1][0]得值就是____A____、

A) 4 B) 1 C) 2 D) 5 151、以下程序得输出结果就是____C____、#include

void main()

{ int i,a[10];

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

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

}

A) 258 B) 741 C) 852 D) 369 152、以下定义语句中,错误得就是___B_____、A) int a[]={1,2}; B) char a={"test"}; C) char s[10]={"test"}; D) int a[]={'a','b','c'}; 153、以下定义语句中,错误得就是____D____、A) int a[]={1,2}; B) char a[]={"test"};

C) char s[10]={"test"}; D) int n=5,a[n]; 154、下列程序得输出结果就是____C____、#include

void main()

{char b[]="ABCDEFG";

char p=0;

while(p<7)

putchar(b[p++]);

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]={1,2,3,4,5,6,7,8,9};

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

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

printf("\n");

}

A) 1,5,9, B) 1,4,7, C) 3,5,7, D) 3,6,9, 157、如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,则数组a得大小就是___A_____、

A) 10 B) 11 C) 8 D) 不定158、有如下程序

#include

void main()

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

int j;long s=0;

puts(ch);

for(j=0;ch[j]>'\0';j++)

if(ch[j]>='A'&&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]={ "abcd", "ABCD"};

则以下说法中错误得就是____D____、

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

得字符串

B) aa就是个二维数组,每行中分别存放了字符串

"abcd"与"ABCD"

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

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

160、以下对C语言函数得有关描述中,正确得就是___A__、

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

形参得值不能传送给实参

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

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

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

程序文件中

161、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9};

则数值不为9得表达式就是____B____、

A) a[10-1] B) a[8] C) a[9]-0 D) a[9]-a[0] 162、设有数组定义:char array[]="China";则数组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;

return(x*y-m);

}

void main()

{ int a=7, b=5;

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

}

A) 1 B) 2 C) 7 D) 10 164、请读程序:

#include

f(int b[ ], int n)

{ int i, r=0;

for(i=0; 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

f(int b[ ], int n)

{ int i, r=1;

for(i=0; 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、请读程序:

#include

f(char s[ ])

{ int i,j;

i=0;j=0;

while( s[j]!= '\0') j++;

return (j-i); }

void main()

{printf("%d\n",f("ABCDEF"));}

上面程序得输出结果就是____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("%d\n",k); }

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

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

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

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

168、若已定义实参数组int a[3][4]={2,4,6,8,10};,则在被调用函数f得下述定义中,对形参数组b定义正确得选项就是_____B___、

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

C) f(int b[3][ ]); D) f(b) int b[4][5];

169、若函数调用时用数组名作为函数参数,以下叙述中,不正确得就是____C____、

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

B) 实参将其地址传递给形参,结果等同于实现了参数

之间得双向值传递

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、调用函数时,当实参与形参都就是简单变量时,它们之间数据传递得过程就是____D____、

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

单元

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

地址回传给实参

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

回传给实参

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

值回传给实参

173、以下叙述中,不正确得就是___B_____、A) 在同一C程序文件中,不同函数中可以使用同名

变量

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

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

D) 若同一文件中全局变量与局部变量同名,则全局变

量在局部变量作用范围内不起作用

174、若函数调用时参数为基本数据类型得变量(俗称简单变量),以下叙述正确得就是____C____、

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

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

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

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

储单元

175、若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中得表达式类型为float型,则被调函数返回值得类型就是____A____。

A) int 型B) float 型

C) double 型D) 由系统当时得情况而定176、在以下叙述中,不正确得选项就是____B____。

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

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

数中定义

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

函数与用户自定义函数

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

得调用可以嵌套

177、C语言中,若未说明函数得类型,则系统默认该函数得类型就是___C_____。

A) float型B) long型C) int型D) double型178、下面函数得功能就是____B____。

sss(s, t)

char s[ ], t[ ];

{ int i=0;

while((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;

while(s[i++]!='\0');

return (i-1); }

如果在主程序中用下面得语句调用上述函数,则输出结果为___C_____、

printf("%d\n",f("goodbey!"));

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

180、对于C语言得函数,下列叙述中正确得就是___A___、

A) 函数得定义不能嵌套,但函数调用可以嵌套

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

C) 函数得定义与调用都不能嵌套

D) 函数得定义与调用都可以嵌套

181、以下说法中正确得就是_____C___、

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

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

中定义

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

D) C语言程序中得main()函数必须放在程序得开始部分182、以下程序得输出结果就是____B_____、#include

int a,b;

void fun()

{ a=100; b=200; }

void main()

{ int a=5,b=7;

fun();

printf("%d%d\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;

for(i=0;i<3;i++) printf("%d\n",f(i)); }

A) 5 B) 5 C) 3 D) 3

7 6 4 3

9 7 5 3 185、设有以下函数:

#include

int f(int a)

{ int b=0;

static c=3;

b++ ; c++;

return (a+b+c); }

如果在下面得程序中调用该函数,则输出结果就是___A_、

void main()

{ int a=2,i;

for(i=0;i<3;i++) printf("%d\n",f(a)); }

A) 7 B) 7 C) 7 D) 7

8 9 10 7

9 11 13 7 186、在调用函数时,如果实参就是简单变量,它与对应形参之间得数据传递方式就是_____B___、

A) 地址传递B) 单向值传递

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

D) 传递方式由用户指定

187、C语言规定,除主函数外,程序中各函数之间__A__、

A) 既允许直接递归调用也允许间接递归调用

B) 不允许直接递归调用也不允许间接递归调用

C) 允许直接递归调用不允许间接递归调用

D) 不允许直接递归调用允许间接递归调用

188、以下函数fun形参得类型就是____D____、fun( float x)

{ float y;

y=3*x-4;

return y; }

A) int B) 不确定C) void D) float 189、下面程序得输出就是____C____、

int fun3(int x)

{static int a=3;

a+=x;

return(a); }

void 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 190、下列程序执行后输出得结果就是___C_____、#include

int f(int a)

{int b=0;

static c=3;

a=c++,b++;

return(a); }

void main()

{int a=2,i,k;

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

k=f(a++);

printf("%d\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((exp1,exp2),(exp3,exp4,exp5));

A) 1个B) 2个C) 4个D) 5个194、以下程序得输出结果就是_____D___、

#include

void fun()

{ static int a=0;

a+=2;

printf("%d",a); }

void main()

{ int cc;

for(cc=1;cc<4;cc++) fun( );

printf("\n"); }

A) 2222 B) 2468 C) 222 D) 246 195、有如下程序

int func(int a,int b)

{ return(a+b); }

void main()

{ int x=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d\n",r); }

该程序得输出结果就是_____D_____、

A) 12 B) 13 C) 14 D) 15 196、有如下函数调用语句func(rec1,rec2+rec3,rec4, rec5);该函数调用语句中,含有得实参个数就是___B_____、

A) 3 B) 4 C) 5 D) 有语法错误197、有如下函数调用语句func(rec1,rec2+rec3,(rec4, rec5));该函数调用语句中,含有得实参个数就是____A___、A) 3 B) 4 C) 5 D) 有语法错误198、在一个C源程序文件中,要定义一个只允许本源文件中所有函数使用得全局变量,则该变量需要使用得存储类别就是:____D____、

A) extern B) register C) auto D) static 199、C语言中,凡未指定存储类别得局部变量得隐含存储类别就是____A____、

A) auto B) static C) extern D) register 200、在C语言中,全局变量得存储类别就是____A_____、

A) static B) extern C) void D) registe

程序改错题(共15题)

1、在考生文件夹下,给定程序MODI 、C 得功能就是: 求一维数组a 中所有元素得平均值,结果保留两位小数。 例如,当一维数组a 中得元素为:10,4,2,7,3,12,5,34,5,9 程序得输出应为:The aver is: 9、10 。 #include #include void main() {

int a[10]={10,4,2,7,3,12,5,34,5,9},i;

int aver,s;

s = 0;

for ( i=1; i<10; i++)

s += a[i]; aver = s / i;

printf("The aver is: %、2f\n", aver); }

2、在考生文件夹下,给定程序MODI 、C 得功能就是: 求二维数组a 中得最大值与最小值。 例如,当二维数组a 中得元素为: 4 4 34 37 3 12 5 6 5

程序得输出应为:The max is: 37 The min is: 3 。 #include #include void main() {

int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; max = min = a[0][0]; for ( i=0; i<3; i++)

for ( j=1; j<3; j++)

{ if ( max < a[i][j] ) max = a[i][j];

/************found************/ if (min < a[i][j])

min = a[i][j]; }

printf("The max is: %d\n", max); printf("The min is: %d\n", min); }

3、在考生文件夹下,给定程序MODI 、C 得功能就是: 求一维数组a 中得最大元素及其下标。

例如,当一维数组a 中得元素为:1,4,2,7,3,12,5,34,5,9, 程序得输出应为:The max is: 34,pos is: 7 。

#include #include void main() {

int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos; max = a[0]; pos = 0;

for ( i=1; i<10; i++)

/************found************/ if (max > a[i]) { max = a[i];

/************found************/ i = pos; }

printf("The max is: %d ,pos is: %d\n", max , pos); }

4、在考生文件夹下,给定程序MODI 、C 得功能就是:

求二维数组a 中得最小值。

例如,当二维数组a 中得元素为: 4 2 34 7 3 12 5 6 5

程序得输出应为:The min is: 2 。 #include #include void main() {

int a[3][3]={4,2,34,7,3,12,5,6,5},i,j,min; min = a[0][0];

for ( i=1; i<3; i++)

for ( j=0; j<3; j++) if (min > a[i][j]) {

/************found************/ min == a[i][j];

}

printf("The min is: %d\n", min); }

5、在考生文件夹下,给定程序MODI 、C 得功能就是: 求一维数组a 中所有元素得平均值。

例如,当一维数组a 中得元素为:10,4,2,7,3,12,5,34,5,9 程序得输出应为:The aver is: 9、10 。 #include #include void main()

{

int a[10]={10,4,2,7,3,12,5,34,5,9},i; double aver,s;

s = a[0];

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

s = s + i;

aver = s / i;

printf("The aver is: %、2f\n", aver);

}

6、在考生文件夹下,给定程序MODI、C得功能就是:

输入一个百分制成绩,打印出五级记分成绩。考试成绩

在90分或90分以上为优秀,80~89分为良好,70~

79为中等,60~69为及格,低于60分为不及格。

#include

#include

#include

#include

void main()

{

int score,t;

printf("Please enter a score:");

do

{scanf("%d",&score);}

while(score<0||score>100);

t=score/10;

switch(score)

{

case 10:

case 9:printf("优秀!\n");break;

case 8:printf("良好!\n");break;

case 7:printf("中等!\n");break;

case 6:printf("及格!\n");break;

/*************found**************/

else :printf("不及格!\n");

}

}

7、在考生文件夹下,给定程序MODI、C得功能就是:

输出100~200之间既不能被3整除也不能被7整除得

整数并统计这些整数得个数,要求每行输出8个数。

#include

#include

#include

#include

void main()

{

int i;

int n;

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

{

/************found************/

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

{ if(n%8==0) printf("\n");

printf("%6d",i);

n++;

}

}

printf("\nNumbers are: %d\n",n);

}

8、在考生文件夹下,给定程序MODI、C得功能就

是:

学习优良奖得条件如下:所考5门课得总成绩在450

分(含)以上;或者每门课都在88分(含)以上。输

入某学生5门课得考试成绩,输出就是否够学习优良奖

得条件。

#include

main()

{

int score,sum=0;

int i,n=0;

for(i=1;i<=5;i++)

{ scanf("%d",&score);

sum+=score;

if(score<=88) n++;

}

if(sum>=450 && n==5 )

else

printf("The student is not very good!\n");

}

9、在考生文件夹下,给定程序MODI、C得功能就是:

输出200~300之间得所有素数,要求每行输出8个素数。

#include

#include

main()

{

int m,j,n=0,k;

for(m=200;m<=300;m++)

{

k=sqrt(m);

for(j=2;j<=k;j++)

if(m%j==0) continue;

if(j>k)

{ if(n%8==0) printf("\n"); /************found************/ printf("%d,",j); n++; } } } 10、在考生文件夹下,给定程序MODI 、C 得功能就是: 求出a 所指数组中最小数(规定最小数不在a[0]中),最小数与a[0]中得数对调。

例如数组中原有得数为:7、10、12、0、3、6、9、11、5、8,

输出得结果为:0、10、12、7、3、6、9、11、5、8。 #include #include #define N 20 main( ) {

int a[N]={7,10,12,0,3,6,9,11,5,8}, n=10, i, k,m,min,t; for ( i = 0; i

min= a[0]; m=0;

for ( k = 0; k < n; k++ )

/************found************/ if ( a[k]>min ) {

min = a[k]; m = k; }

/************found************/ t = a[0]; a[m]=a[0]; a[m] = t;

for ( i=0; i

例如,当一维数组a 中得元素为:1,4,2,7,3,12,5,34,5,9, 程序得输出应为:The min is: 1,pos is: 0 。 #include #include main()

{ int a[10]={1,4,2,7,3,12,5,34,5,9},i,min,pos; /************found************/ min = 0;

pos = 0;

for ( i=1; i<10; i++) if (min > a[i]) { min = a[i];

/************found************/ pos = a[i]; }

printf("The min is: %d ,pos is: %d\n", min , pos); } 12、在考生文件夹下,给定程序MODI 、C 得功能就是: 求一维数组a 中值为偶数得元素之与。 例如,当一维数组a 中得元素为:10,4,2,7,3,12,5,34,5,9 , 程序得输出应为:The result is: 62。 #include #include sum ( int arr[ ],int n ) {

int i,s; s = 0;

for ( i=0; i

/************found************/ s = s + i; return (s); }

void main() {

int a[10]={10,4,2,7,3,12,5,34,5,9},s;

sum( a ,2 );

}

} 13

求一维数组

a 中得最大元素及其下标。

例如,当一维数组a 中得元素为:1,4,2,7,3,12,5,34,5,9, 程序得输出应为:The max is: 34,pos is: 7 。 #include #include void main()

{ int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos; max = a[0]; pos = 0;

for ( i=1; i<10; i++)

if (max > a[i]) {

max = a; pos =i; }

printf("The max is: %d ,pos is: %d\n", max , pos); } 14、在考生文件夹下,给定程序MODI 、C 得功能就是:

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语言试题及答案解析

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语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#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语言函数题库及答案 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、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: " 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2、如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错 4、语句for( ;1 ;)有什么问题?它是什么意思? 答:和while(1)相同。 5、do……while和while……do有什么区别? 答:前一个循环一遍再判断,后一个判断以后再循环 6、请写出下列代码的输出内容 #include main() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf( "b,c,d:%d,%d,%d ",b,c,d); return 0; } 答:10,12,120 7、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全

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) 与机器字长有关

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 1) STYPE(2)FILE(3)fp 改错:(1) for(i=0;i<=sl;i++)(2)t[2*sl]= 0“ 或t[sl+sl]= 0“ 编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10); 2、程序填空题给定程序的功能是:从键盘输入若干文本 (每行不超过80 个字符),写到文件myfile4.txt 中,用-1 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

else if(min==a[i].s) b[j++]=a[i]; } return j; 3、程序填空题 给定程序中,函数fun 的功能是:讲自 然数1~10 以及它们的平方根写到名为myfile3.txt 的文本中,然后再按顺序读出显示在屏幕上。 填空:( 1) fp( 2)fclose(fp)(3)myfile3.txt 改错:( 1)for(i=j+1;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语言考试试题

一、单项选择题(每小题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语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

c言语题库及答案

1.调试示例,输入正整数的个数n,再输入n个正整数,判断它们是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 源程序(有错误) #include #include void main() { int i,j,k,m,n; printf(“输入正整数的个数n:”); scanf(“%d”,&n); printf(“输入%d个正整数\n”); for(j=0;jn) printf(“%d是一个素数!\n”,m); else printf(“%d不是一个素数!\n”,m); } } #include #include void main() { int i,j,k,m,n; printf("输入正整数的个数n:"); scanf("%d",&n); printf("输入%d个正整数\n",n); k=n; for(j=0;jn) printf("%d是一个素数!\n",m); else printf("%d不是一个素数!\n",m); } } 输入:5 再输入:1 2 3 4 5 输出:

1是一个素数! 2是一个素数! 3是一个素数! 4不是一个素数! 5是一个素数! 2.编程,输出101-115之间不能被3整除的数,每行输出5个。要求使用continue语句。输入输出救命: 101 103 104 106 107 109 110 112 113 115 思考:输入一批整数(Ctrl+Z),输出其中不能被3整除的奇数。 #include void main() { int i,j=0; for(i=101;i<=115;i++) { if(i%3==0) continue; else { j++; printf("%-4d",i); if(j%5==0) printf("\n"); } } } 输出: 101 103 104 106 107 109 110 112 113 115 3.编程,输入一个正整数,再输入n个整数,输出其中的最大值,输入的每个数都在100-200之间,如果某个输入数不在100-200之间,则只处理在该数这前输入的数据。 输入示例(共运行2次) 第一次运行: 输入n:5 输入5个整数:100 155 187 192 168 最大值是192 第二次运行: 输入n:6 输入6个整数:100 155 187 292 168 199

历年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

2020最新C语言题库及答案

2020最新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

2020年C语言题库及答案

2020年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语言考试题库及答案2015

200题) C语言(共 1、下面程序的输出是___D______voidmain() #include{intx=023; voidmain()printf("%d\n",--x); {intk=11;} printf("k=%d,k=%o,k=%x\n",k,k,k);A)17B)18C)23D)24 }11、下面程序的输出的是_____C____. A)k=11,k=12,k=11B)k=11,k=13,k=13#include C)k=11,k=013,k=0xbD)k=11,k=13,k=bvoidmain() {intx=10,y=3; 2、在下列选项中,不正确的赋值语句是__D______.printf("%d\n",y=x/y); A)++t;B)n1=(n2=(n3=0));} C)k=i=j;D)a=b+c=1;A)0B)1C)3D)不确定的值 的 65,下面程序 制 3、下面合法的C语言字符常量是______A____.12、已知字母A的ASCII码为十进 的输出是 ______A_____.A)'\t'B)"A"C)65D)A #include 4、表达式:10!=9的值是________D____.voidmain() A)trueB)非零值C)0D)1{charch1,ch2; ch1='A'+'5'-'3'; 型关键字是ch2='A'+'6'-'3'; 5、C语言提供的合法的数据类 _____B____.printf("%d,%c\n",ch1,ch2); A)DoubleB)shortC)integerD)Char} A)67,DB)B,CC)C,DD)不确定的值 6、字符(char)型数据在微机内存中的存储形式是 __D__.13、若要求在if后一对圆括号中表示a不等于0的关 系,则能正确表示这一关系的表达式为____D__.A)反码B)补码C)EBCDIC码D)ASCII码 A)a<>0B)!aC)a=0D)a 7、C语言程序的基本单位是_____C______. A)程序行B)语句C)函数D)字符14、以下程序的输出结果是____D_____. #include 8、设inta=12,则执行完语句a+=a-=a*a后,a的值是voidmain() ____D____{intx=10,y=10; A)552B)264C)144D)-264printf("%d%d\n",x--,--y); } 9、执行下面程序中的输出语句后,输出结果是A)1010B)99C)910D)109 ____B__. : #include15、设有如下定义 voidmain()intx=10,y=3,z; {inta; 则语句 printf("%d\n",(a=3*5,a*4,a+5));printf("%d\n",z=(x%y,x/y)); }的输出结果是_____D_____. A)65B)20C)15D)10A)1B)0C)4D)3 10、下面程序的输出是____B______.16、为表示关系x≥y≥z,应使用C语言表达式

相关文档
相关文档 最新文档