C语言考试题库及答案(1) 下载本文

while (n++<=2) printf(\

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

86、下面程序段的运行结果是___D_____. int x=0,y=0;

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

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(\ }

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(\ for(i=1;i<=n;i++) s=s+_______ ; s=(sqrt(6*s)); printf(\ }

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(\ }

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(\ }

A) 34 B) 24 C) 26 D) 25 91、下面程序段的运行结果是_____D______.

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

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

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

#include void main( ) { int n=4;

while (n--) printf(\ }

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(\ }

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

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

#include void main() { int i,x,y; double z;

scanf(\ for(i=1,z=x;i

printf(\ }

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

- 9 -

95、有如下程序

#include void main() { int x=23; do

{ printf(\ }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(\

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(\ printf(\ }

printf(\ }

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

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

#include void main( )

{ int x=10,y=10,i; for(i=0;x>8;y=++i)

printf(\ }

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(\ }

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

100、有如下程序

#include void main( ) { int n=9;

while(n>6) {n--;printf(\ }

该程序段的输出结果是_____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(\ }

该程序的执行结果是______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(\ }

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(\ }

printf(\ }

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

104、下面程序的输出结果是____D______.

main( ) {

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

- 10 -

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

{

k++;

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

printf(\ }

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

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

106、下面程序是计算n个数的平均值,请填空.____B___

#include void main( ) { int i,n;

float x,avg=0.0; scanf(\ for(i=0;i

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(\ amax=x; amin=x;

while (________ )

{ if (x>amax) amax=x; if (______) amin=x; scanf(\ }

printf(\ }

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

108、阅读以下程序,程序运行后的输出结果是__B____.

#include void main( ) { int x;

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

if (x--<5) printf(\ else printf(\ }

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(\

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(\ continue;} } }

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

111、下面程序的输出结果是____B____.

#include void main( ) {int x=3; do {

printf(\ }while(!(--x)); }

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

112、定义如下变量: int n=10;

则下列循环的输出结果是___B____.

while(n>7)

{ n--; printf(\

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

- 11 -

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=i0+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(\ }

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(\

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]={\ B) int a[5]={0,1,2,3,4,5}; C) char a={\ 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(\ printf(\ }

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[ ]=\

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

- 12 -