C语言 循环结构程序设计模拟题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A)无限循环B)循环次数不定C)执行4次D)执行5次
7.在下列程序中,while循环的循环次数是。(1级)
main( )
{ int i=0;
while(i<10)
{if(i<1) continue;
if(i= =5) break;
i++;
}
......
}
A)1B)10C)6 D)死循环、不能确定次数
31.以下程序段。(04~05第二学期试题)
x=-1; do { x=x*x;} while(!x);
A)是死循环B)循环执行二次
C)循环执行一次D)有语法错误
32.下面程序的运行结果是:。(往届试题)
#include <stdio.h>
main( )
{ int y=10;
do { y--; } while(--y) ;
A)do {i=1;s=1; s=s*i;i++; } while(i<=10);
B)do {i=1;s=0; s=s*i;i++; } while(i<=10);
C)i=1;s=1; do {s=s*i;i++; } while(i<=10);
D)i=1;s=0; do {s=s*i;i++; } while(i<=10);
29.下面有关for循环的正确描述是。(04~05第二学期试题)
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
30.以下能正确计算1×2×3×…×10的程序段是。(04~05第二学期试题)
A)20B)24C)25D)30
22.以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{intn,k;
float score,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{for(k=1;k<=4;k++)
{scanf("%f",&score);sum+=score};}
do
{printf("%3d",x-=2);
}while(--x);
}
A)1 B)30 3 C)1 -2 D)死循环
12.定义如下变量:
int n=10;
则下列循环的输出结果是。(1级)
while(n>7)
{n--;
printf("%d\n",n);
}
A)10B)9C)10D)9
9898
8787
76
{if(i%2)printf("#");
else continue;
printf("*");
}
printf("$\n");
}
A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$
15.以下程序的输出结果是。(1级)
main()
{int a=0,i;
for(i=;i<5;i++)
{swich(i)
switch (I%5 )
{ case 0: printf (“*”); break;
case 1: printf (“#”); break;
default : printf (“\n”);
case 2: printf (“&”); break; }
}
A)#&&* B)#& C)# D)#&
& &
&* & *
6.在循环中,continue语句与break语句的区别是:continue语句只是(1),break语句是(2)。(0级)
7.循环的嵌套是指。(0级)
8.要使以下程序段输出10个整数,请填入一个整数:
for(i=0;i<=;printf("%d\n",i+=2));
9.goto语句的用途是和。(0级)
A)quertB)RvfsuC)quert?D)rvfsu?
19.当输入为"quert?"时,下面程序的执行结果是。(2级)
#include<stdio.h>
main()
{char c;
c=getchar();
while(c!='?')
{
putchar(c);
c=getchar();
}
}
A)quertB)RvfsuC)quert?D)rvfsu?
第五章
一、选择题
1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。(0级)
A)0 B)1 C)成立D)2
2.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。(0级)
main()
{float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while(1)
{if(x>amax)amax=x;
if(2)amin=x;
25.定义如下变量:
int n=10;
则下列循环的输出结果是。(01~02第二学期试题)
while (n>7){ n--;printf(“%d”,n); }
A)10 B)9 C)10 D)9
9 8 9 8
8 7 8 7
7 6
26.下面程序段的运行结果是:。(03试题)
x=y=0; while(x<15) y++,x+=++y;
C)3 5 7 D)3 6 9
34.以下程序的运行结果是:。(往届试题)
main( )
{ int n=4;
while(n--)
printf (“%2d”,--n);}
A)2 0 B)3 1
C)3 2 1 D)2 1 0
35.设有以下程序段,则执行该程序后为:。(往届试题)
int x = 0, s = 0 ;
{for(;;){if((i%10)==0) break;else i--;}
i+=11;a+=i;
}
printf("%d\n",a);
}
A)21B)32C)33D)11
17.当输入为"quert?"时,下面程序的执行结果是。(1级)
#include<stdio.h>
main()
{char c;
c=getchar();
10.while语句的特点是,do_while语句的特点是。(0级)
11.把for(表达式1;表达式2;表达式3);改写为等价的while语句为。(0级)
12.语句标号由标识符表示,由,和组成。第一个字符必须是字母或下划线。(0级)
三、程序填空题
1.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
20.在C语言的循环语句for,while,do-while中,用于直接中断最内层循环的语句是。(0级)
A)swichB)continueC)breakD)if
21.若i,j已定义为int型,则以下程序段中循环体的总的执行次数是。
(1级)
for(i=5;i;i--)
for(j=0;j<4;j++)
{}
printf(“%d\n”,y--); }
A)-1 B)1 C)8 D)0
33.定义如下变量和数组:
intI;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面执行语句的结果为:。(往届试题)
for(I=0;I<3;I++)
printf(“%3d”,x[I][2-I]);
A)1 5 9 B)1 4 7
ave=sum/4.0;
printf("NO%d:%f\n",n,ave);
}
}
上述程序有一条语句出现在程序的位置不正确。这条语句是。(2级)
A)sum=0.0;B)sum+=score;
C)ave=sum/4.0;D)printf("NO%d:%f\n",n,ave);
23.有如下程序段,其执行结果为。(02~03第一学期试题)
13.以下程序的输出结果。(1级)
main()
{int n=0;
while(n++<=1)
printf("%d\t",n);
printf("%d\n",n);
}
A)1 2 3B)0 1 2C)1 1 2D)1 2 2
14.以下程序的输出结果是。(1级)
main()
{int i;
for(i=1;i<=5;i++)
10.执行下面的程序后,a的值为。(1级)
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)break;
if(b%3==1)
{b+=3;
continue;
}
b-=5;
}
}
A)7B)8C)9D)10
11.以下程序的输出结果。(1级)
main()
{
int x=3;
{case 0:
case 3:a+=2;
case 1:
case2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A)31B)13C)10D)20
16.以下程序的输出结果是。(1级)
#include <stdio.h>
main()
{int i=0,a=0;
while(i<20)
printf(“%d,%d”,y,x);
A)20, 7B)6, 12
C)20, 8D)8, 20
27.以下程序的运行结果是:。(03试题)
main( )
{ int a=2,i;
for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; }
f( int a)
{ int b=0,c=3;
while((c=getchar())!='?')putchar(++c);
}
A)QuertB)vfsuC)quert?D)rvfsu?
18.当输入为"quert?"时,下面程序的执行结果是。(1级)
#include<stdio.h>
main()
{while(putchar(getchar())!='?');}
8.程序段如下
int k=0;while(k++<=2)printf("%d\n",k);
则执行结果是。(1级)
A)1 B)2 C)0 D)无结果
23 1
34 2
9.程序段如下
int k=0;
while(k++<=2);printf("last=%d\n",k);
则执行结果是last=。(1级)
A)2 B)3 C)4 D)无结果
A)0 B)1 C);D),
3.for语句中的表达式可以部分或全部省略,但两个不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。(0级)
A)0 B)1 C);D),
4.程序段如下
int k=-20;
while(k=0)k=k+1;
则以下说法中正确的是。(1级)
A)while循环执行20次B)循环是无限循环
while ( !x != 0 ) s += ++ x ;
printf (“%d”, s ) ;
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
36.下面程序的运行结果是:。(往届试题)
#include <stdio.h>
main( )
{ intI;
for (I= 1;I<=5;I++)
C)循环体语句一次也不执行D)循环体语句执行一次
5.程序段如下Biblioteka Baidu
int k=1;
while(!k==0){k=k+1;printf("%d\n",k);}
说法正确的是。(1级)
A)while循环执行2次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句执行一次
6.以下for循环是。(1级)
for(a=0,b=0;(b!=123)&&(a<=4);a++)
b++; c++; return(a+b+c); }
A)7 10 13 B)7 7 7
C)7 9 11 D)7 8 9
28.下面程序的运行结果是:。(往届试题)
main( )
{ int y=10;
do { y--; } while(--y) ;
printf(“%d\n”,y--); }
A)-1 B)1 C)8 D)0
&
*
二、填空题
1.while语句的特点是(1),do-while语句的特点是(2)。(0级)
2.将for(表达式1;表达式2;表达式3)语句改写为while语句是。(0级)
3.break语句的功能是。(0级)
4.break语句只能用于(1)语句和(2)语句中。(0级)
5.continue语句的作用是,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。(0级)
for ( n = 10; 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
24.循环语句中的for语句,其一般形式如下:
for(表达式1;表达式2;表达式3)语句
其中表示循环条件的是。(01~02第二学期试题)
A)表达式1B)表达式2C)表达式3D)语句
7.在下列程序中,while循环的循环次数是。(1级)
main( )
{ int i=0;
while(i<10)
{if(i<1) continue;
if(i= =5) break;
i++;
}
......
}
A)1B)10C)6 D)死循环、不能确定次数
31.以下程序段。(04~05第二学期试题)
x=-1; do { x=x*x;} while(!x);
A)是死循环B)循环执行二次
C)循环执行一次D)有语法错误
32.下面程序的运行结果是:。(往届试题)
#include <stdio.h>
main( )
{ int y=10;
do { y--; } while(--y) ;
A)do {i=1;s=1; s=s*i;i++; } while(i<=10);
B)do {i=1;s=0; s=s*i;i++; } while(i<=10);
C)i=1;s=1; do {s=s*i;i++; } while(i<=10);
D)i=1;s=0; do {s=s*i;i++; } while(i<=10);
29.下面有关for循环的正确描述是。(04~05第二学期试题)
A)for循环只能用于循环次数已经确定的情况
B)for循环是先执行循环体语句,后判断表达式
C)在for循环中,不能用break语句跳出循环体
D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
30.以下能正确计算1×2×3×…×10的程序段是。(04~05第二学期试题)
A)20B)24C)25D)30
22.以下程序的功能是:按顺序读入10名学生的4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{intn,k;
float score,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{for(k=1;k<=4;k++)
{scanf("%f",&score);sum+=score};}
do
{printf("%3d",x-=2);
}while(--x);
}
A)1 B)30 3 C)1 -2 D)死循环
12.定义如下变量:
int n=10;
则下列循环的输出结果是。(1级)
while(n>7)
{n--;
printf("%d\n",n);
}
A)10B)9C)10D)9
9898
8787
76
{if(i%2)printf("#");
else continue;
printf("*");
}
printf("$\n");
}
A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$
15.以下程序的输出结果是。(1级)
main()
{int a=0,i;
for(i=;i<5;i++)
{swich(i)
switch (I%5 )
{ case 0: printf (“*”); break;
case 1: printf (“#”); break;
default : printf (“\n”);
case 2: printf (“&”); break; }
}
A)#&&* B)#& C)# D)#&
& &
&* & *
6.在循环中,continue语句与break语句的区别是:continue语句只是(1),break语句是(2)。(0级)
7.循环的嵌套是指。(0级)
8.要使以下程序段输出10个整数,请填入一个整数:
for(i=0;i<=;printf("%d\n",i+=2));
9.goto语句的用途是和。(0级)
A)quertB)RvfsuC)quert?D)rvfsu?
19.当输入为"quert?"时,下面程序的执行结果是。(2级)
#include<stdio.h>
main()
{char c;
c=getchar();
while(c!='?')
{
putchar(c);
c=getchar();
}
}
A)quertB)RvfsuC)quert?D)rvfsu?
第五章
一、选择题
1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。(0级)
A)0 B)1 C)成立D)2
2.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。(0级)
main()
{float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while(1)
{if(x>amax)amax=x;
if(2)amin=x;
25.定义如下变量:
int n=10;
则下列循环的输出结果是。(01~02第二学期试题)
while (n>7){ n--;printf(“%d”,n); }
A)10 B)9 C)10 D)9
9 8 9 8
8 7 8 7
7 6
26.下面程序段的运行结果是:。(03试题)
x=y=0; while(x<15) y++,x+=++y;
C)3 5 7 D)3 6 9
34.以下程序的运行结果是:。(往届试题)
main( )
{ int n=4;
while(n--)
printf (“%2d”,--n);}
A)2 0 B)3 1
C)3 2 1 D)2 1 0
35.设有以下程序段,则执行该程序后为:。(往届试题)
int x = 0, s = 0 ;
{for(;;){if((i%10)==0) break;else i--;}
i+=11;a+=i;
}
printf("%d\n",a);
}
A)21B)32C)33D)11
17.当输入为"quert?"时,下面程序的执行结果是。(1级)
#include<stdio.h>
main()
{char c;
c=getchar();
10.while语句的特点是,do_while语句的特点是。(0级)
11.把for(表达式1;表达式2;表达式3);改写为等价的while语句为。(0级)
12.语句标号由标识符表示,由,和组成。第一个字符必须是字母或下划线。(0级)
三、程序填空题
1.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
20.在C语言的循环语句for,while,do-while中,用于直接中断最内层循环的语句是。(0级)
A)swichB)continueC)breakD)if
21.若i,j已定义为int型,则以下程序段中循环体的总的执行次数是。
(1级)
for(i=5;i;i--)
for(j=0;j<4;j++)
{}
printf(“%d\n”,y--); }
A)-1 B)1 C)8 D)0
33.定义如下变量和数组:
intI;
int x[3][3]={1,2,3,4,5,6,7,8,9};
则下面执行语句的结果为:。(往届试题)
for(I=0;I<3;I++)
printf(“%3d”,x[I][2-I]);
A)1 5 9 B)1 4 7
ave=sum/4.0;
printf("NO%d:%f\n",n,ave);
}
}
上述程序有一条语句出现在程序的位置不正确。这条语句是。(2级)
A)sum=0.0;B)sum+=score;
C)ave=sum/4.0;D)printf("NO%d:%f\n",n,ave);
23.有如下程序段,其执行结果为。(02~03第一学期试题)
13.以下程序的输出结果。(1级)
main()
{int n=0;
while(n++<=1)
printf("%d\t",n);
printf("%d\n",n);
}
A)1 2 3B)0 1 2C)1 1 2D)1 2 2
14.以下程序的输出结果是。(1级)
main()
{int i;
for(i=1;i<=5;i++)
10.执行下面的程序后,a的值为。(1级)
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20)break;
if(b%3==1)
{b+=3;
continue;
}
b-=5;
}
}
A)7B)8C)9D)10
11.以下程序的输出结果。(1级)
main()
{
int x=3;
{case 0:
case 3:a+=2;
case 1:
case2:a+=3;
default:a+=5;
}
}
printf("%d\n",a);
}
A)31B)13C)10D)20
16.以下程序的输出结果是。(1级)
#include <stdio.h>
main()
{int i=0,a=0;
while(i<20)
printf(“%d,%d”,y,x);
A)20, 7B)6, 12
C)20, 8D)8, 20
27.以下程序的运行结果是:。(03试题)
main( )
{ int a=2,i;
for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; }
f( int a)
{ int b=0,c=3;
while((c=getchar())!='?')putchar(++c);
}
A)QuertB)vfsuC)quert?D)rvfsu?
18.当输入为"quert?"时,下面程序的执行结果是。(1级)
#include<stdio.h>
main()
{while(putchar(getchar())!='?');}
8.程序段如下
int k=0;while(k++<=2)printf("%d\n",k);
则执行结果是。(1级)
A)1 B)2 C)0 D)无结果
23 1
34 2
9.程序段如下
int k=0;
while(k++<=2);printf("last=%d\n",k);
则执行结果是last=。(1级)
A)2 B)3 C)4 D)无结果
A)0 B)1 C);D),
3.for语句中的表达式可以部分或全部省略,但两个不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。(0级)
A)0 B)1 C);D),
4.程序段如下
int k=-20;
while(k=0)k=k+1;
则以下说法中正确的是。(1级)
A)while循环执行20次B)循环是无限循环
while ( !x != 0 ) s += ++ x ;
printf (“%d”, s ) ;
A)运行程序段后输出0
B)运行程序段后输出1
C)程序段中的控制表达式是非法的
D)程序段执行无限次
36.下面程序的运行结果是:。(往届试题)
#include <stdio.h>
main( )
{ intI;
for (I= 1;I<=5;I++)
C)循环体语句一次也不执行D)循环体语句执行一次
5.程序段如下Biblioteka Baidu
int k=1;
while(!k==0){k=k+1;printf("%d\n",k);}
说法正确的是。(1级)
A)while循环执行2次B)循环是无限循环
C)循环体语句一次也不执行D)循环体语句执行一次
6.以下for循环是。(1级)
for(a=0,b=0;(b!=123)&&(a<=4);a++)
b++; c++; return(a+b+c); }
A)7 10 13 B)7 7 7
C)7 9 11 D)7 8 9
28.下面程序的运行结果是:。(往届试题)
main( )
{ int y=10;
do { y--; } while(--y) ;
printf(“%d\n”,y--); }
A)-1 B)1 C)8 D)0
&
*
二、填空题
1.while语句的特点是(1),do-while语句的特点是(2)。(0级)
2.将for(表达式1;表达式2;表达式3)语句改写为while语句是。(0级)
3.break语句的功能是。(0级)
4.break语句只能用于(1)语句和(2)语句中。(0级)
5.continue语句的作用是,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。(0级)
for ( n = 10; 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
24.循环语句中的for语句,其一般形式如下:
for(表达式1;表达式2;表达式3)语句
其中表示循环条件的是。(01~02第二学期试题)
A)表达式1B)表达式2C)表达式3D)语句