C语言循环结构选择题(新)2

2019-08-01 22:48

循环结构练习一

1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是

for (i=5;i;i--)

for (j=0;j<4;j++){...}

A) 20 B) 25 C) 24 D) 30

}

A) 当x<0时,整个循环结束 B) 当x>=0时,什么也不输出 C) printf函数永远也不执行 D) 最多允许输出100个非负整数

11、在下列选项中,没有构成死循环的程序段是 printf(\

A) 1 B) 9 C) 11 D) 10 15、以下程序段的输出结果是( )。 int k,n,m; n=10;m=1;k=1;

while (k<=n) {m*=2;k+=4;} 2、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为 for(i=0,j=10;i<=j;i++,j--) k=i+j;

A) 12 B) 10 C) 11 D) 9 3、当执行以下程序段时 x=-1;

do { x=x*x;} while( !x);

A) 循环体将执行一次 B) 循环体将执行两次 C) 循环体将执行无限次 D) 系统将提示有语法错误 4、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。 while((ch=getchar())=='e') printf(\A) 5 B) 4 C) 6 D) 1 5、有以下程序段 int k=0;

while (k=1) k++;

while循环执行的次数是

A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行一次

6、语句while(!e);中的条件 !e 等价于( )。 A) e==0 B) e!=1 C) e!=0 D) ~e 7、以下for循环是( )。

for(x=0,y=0;(y!=123) && (x<4);x++)

A) 无限循环 B) 循环次数不定 C) 执行4次 D) 执行3次

8、C语言中while 和do-while 循环的主要区别是( )。 A) do-while的循环体至少无条件执行一次

B) while 的循环控制条件比do-while 的循环控制条件严格 C) do-while 允许从外部转到循环体内 D) do-while 的循环体不能是复合语句 9、以下叙述正确的是( )。

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

B) 只能在循环体内和switch语句体内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 10、对下面程序段,描述正确的是( )。 for(t=1;t<=100;t++) { scanf(\ if (x<0) continue; printf(\

A) int i=100; while (1) { i=i0+1;

if (i>100) break; }

B) for( ; ; ); C) int k=1000;

do {++k;} while (k>=1000); D) int s=36; while (s) --s;

12、以下程序的输出结果是 main( ) { int a,b;

for(a=1,b=1;a<=100;a++) { if (b>=10) break;

if (b%5==1) { b+=5; continue; } } printf(\

A) 101 B) 6 C) 4 D) 3 13、以下程序的输出结果是( )。 #include main() {

int i;

for(i=1;i<=5;i++) if(i%2)

printf(\ else continue; printf(\ printf(\ }

A) ***#$ B) #*#*#*$ C) *#*#*#$ D) **#*$ 14、以下程序段的输出结果是( )。 int k,j,s;

for(k=2;k<6;k++,k++) { s=1;

for(j=k;j<6;j++) s+=j;}

1

printf(\

A) 4 B) 16 C) 8 D) 32 16、设有如下程序段: int i=0, sum=1; do

{ sum+=i++;} while(i<6);

printf(\

上述程序段的输出结果是( )。

A) 11 B) 16 C) 22 D) 15 17、以下程序的输出结果是( )。 #include main( )

{ int count,i=0;

for(count=1; count<=4; count++) {i+=2; printf(\ }

A) 20 B) 246 C) 2468 D) 2222 18、下面程序的输出结果是( )。 main( )

{ unsigned int num,k; num=26;k=1; do {

k*=num; num/=10; } while(num); printf(\ }

A) 2 B) 12 C) 60 D) 18 19、阅读以下程序: main( ) { int x;

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

if (x--<5) printf(\ else printf(\程序运行后的输出结果是( )。

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

20、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输A) ABCdef B) abcDEF 出 C) abc D) DEF 最高成绩和最低成绩,当输入负数时结束输入。请填空。 main( ) 23、运行以下程序后,如果从键盘上输入:65 14<回车>, main( )

{ int n1,n2;

scanf(\ while (n2!=0) { 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, 则输出为 #include 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(\ }

则输出结果为 main( ) { int m,n; printf(\ scanf(\ while (m!=n) { while (m>n) m-=n; while (n>m) n-=m; } printf(\ }

A) m=3 B) m=2 C) m=1 D) m=0 24、下面程序的输出结果是( )。 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 25、有如下程序 main( ) { int n=9; while(n>6) {n--;printf(\ } 该程序段的输出结果是 A) 987 B) 876 C) 8765 D) 9876

26、函数pi的功能是根据以下近似公式求π值: (π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求π的功能。 #include main( ) { double s=0.0; long 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) 27、设有以下程序

2

{ n1=n2; n2=n2/10;

printf(\ } }

程序运行后,如果从键盘上输入1298,则输出结果为( )。A) 892 B) 8921 C) 89 D) 921

28、以下函数的功能是:求x的y次方,请填空。 main( )

{ int i,x,y; double z;

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

printf(\ }

A) i++ B) x++ C) x D) i 29、下面程序的运行结果是( )。 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 30、执行下面程序段后,k的值是( )。 int i,j,k;

for(i=0,j=10;i

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

循环结构练习二

1、下面程序的运行结果是( )。 main( )

{ int m=7,n=5,i=1; do

{ if (i%m==0); if (i%n==0)

{ printf(\ i++;

} while(i!=0); }

A) 7 B) 6 C) 5 D) 4 2、下面程序的运行结果是( )。 main( )

{ int s=0,i=1; while (s<=10) { s=s+i*i; i++; }

printf(\ }

A) 4 B) 3 C) 5 D) 6 3、以下程序的输出结果是( )。 #include main( ) {

int num=0; while (num<=2) { num++;

printf( \ }

A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 4、以下程序运行后的输出结果是( )。 #include main( )

{ int s=0,k;

for(k=7;k>=0;k--) {switch(k) {

case 1:

case 4:

case 7: s++; break; case 2: case 3:

case 6: break; case 0:

case 5: s+=2; break; } }

printf(\ }

A)s=5 B)s=1 C)s=3 D)s=7 5、以下程序运行后的输出结果是( )。 #include main( ) { int i,j;

for(i=4;i>=1;i--) { printf(\

for(j=1;j<=4-i;j++) printf(\ printf(\ } }

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

6、有以下程序

#include main() { int c;

while ((c=getchar())!='\\n') { switch(c-'2') { case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break; case 3: putchar(c+3);

default: putchar(c+2);break; } } printf(\ }

从第一列开始输入以下数据,代表一个回车符。 2473 程序的输出结果是( )。

A) 668977 B) 668966 C) 66778777 D) 6688766 7、当从键盘上输入字符“12134211”下面程序的

3

输出结果是( )。 main( ) { char s;

int v1=0,v2=0,v3=0,v4=0,k; for(k=0;k<=7;k++) { scanf(\ switch(s)

{ default: v4++; case '1': v1++; case '3': v3++; case '2': v2++; } }

printf(\ }

A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8

8、运行以下程序后,如果从键盘上输入china#<回车>, 则输出结果为

#include main( )

{ int v1=0,v2=0; char ch;

while ((ch=getchar( ))!='#') switch(ch) { case 'a': case 'h':

default: v1++; case 'o': v2++; }

printf(\ }

A) 2,0 B) 5,0 C) 5,5 D) 2,5 9、下列程序的输出结果是( )。 main( )

{ int i, j, m=0, n=0; for(i=0; i<2; i++) for(j=0; j<2; j++) if (j>=i) m=1; n++; printf(\ }

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

10、下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。

#include main( )

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

for(i=0;i<=10;i+=2) printf(\A) m=-9 B) m=2 C) m=58 D) m=-1 ________________ } 15、运行以下程序后,如果从键盘上输入12,8<回车>, } 则输出结果为( )。 A)i<=k B)k

printf(\偶数之和=%d\\n\ printf(\奇数之和=%d\\n\ }

A) i+=2 B) i++ C) b=b+1 D) b=i+1

11、下面程序的功能是:输出100以内能被3整除且个位数为6的 所有整数,请填空。 #include main( ) { int i,j;

for(i=0;______; i++) { j=i*10+6;

if (_______) continue; printf(\ } }

A) i<=10 B) i<10 C) i<10 D) i<=9 j%3!=0 j/3 j%3!=0 i%3

12、要输出下面的图形,请完善程序。 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 #include main( )

{ int i,j,k;

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

for(j=1;j<=20-2*i;j++) printf(\

for(k=1;________;k++)

printf(\13、要输出下面的图形,请完善程序。 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 #include main( ) { int i,j,k; for(i=1;i<=5;i++) { for(j=1;j<=20-3*i;j++) printf(\ for(k=1;_________;k++) printf(\ for(__________;k>0;k++) printf(\ printf(\ } } A) k<=i B)k, 则输出结果为( )。 main( )

{ int x,i,m; do

scanf(\ while (x<0 && x!=-1); m=x;

while (x!=-1)

{ scanf(\

if (x>0 && x>m) m=x; }

if (m!=-1) printf(\ }

4

if (n1>n2) { t=n1;n1=n2;n2=t;} a=n1;b=n2; while (b!=0) { t=a%b; a=b; b=t; } printf(\ } A) 2,6 B) 4,24 C) 4,12 D) 8,96 16、下列程序的输出结果是( )。 main( ) { int i, j, k; for(i=0;i<=2;i++) { for(k=1;k<=i;k++) printf(\ for(j=0;j<=3;j++) printf(\ printf(\ } } A) **** B) **** **** **** **** **** C) **** D) *** **** *** **** ***


C语言循环结构选择题(新)2.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: