0)&" />
2022年辽宁专升本C语言程序设计习题练习(2)
C语言(分支和循环结构)一
1.以下程序输出结果是( )
main()
{ int m=5;
if(m++>5) printf("%d\n",m);
else printf("%d\n",m--);
A)7 B)6 C)5 D)4
2以下程序的输出结果为( )
# include
main ( )
{ int i=0, j=0, a=6;
if ((++i>0)&&(++j>0)) a++;
printf ("i=%d, j=%d, a=%d\n", i,j,a);}
A) i=0, j=0, a=6 B) i=1, j=1, a=7
C) i=1, j=0, a=7 D) i=0, j=1, a=7
3有如下程序
main()
{ int a=2,b=-1,c=2;
if(a
if(b<0) c=0;
else c++;
printf("%d\n",c);
}
该程序的输出结果是( )
A) 0 B) 1 C) 2 D) 3
4若i为int型,且有程序如下,则输出结果是( )
i=111;
if(i%3==0)
printf("####");
printf("****");
A) #### B) **** C) ####**** D) 无输出结果
5若运行时x=12,则运行结果为( )
{int x, y;
scanf("%d", &x);
y=x>12 ? x+10:x-12;
printf("%d\n", y);}
A) 0 B) 22 C) 12 D) 10
6以下程序的输出结果是( )
main()
{ int i=0, j=0, k=6;
if ((++i>0)||(++j>0)) k++;
printf("%d, %d, %d\n", i, j, k);
}
A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7
7若变量都已正确说明,则以下程序段输出为( )
int a=1,b=2,c=3;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A)a=1 b=2 c=1 B)a=1 b=2 c=3
C)a=1 b=3 c=1 D)a=2 b=3 c=2
8当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是( )
if(a
if(c
else
if(a
if(b
else x=3;
else x=6;
else x=7;
A) 1 B)2 C)3 D)6
9以下不正确的语句为( )
A)if(x>y);
B)if(x==y)&&(x!=0)x+=y;
C)if(x!=y)scanf("%d",&x);else scanf("%d",&y);
D)if(x
10有以下程序:
#include"stdio.h"
main( )
{char i;
for (; (i=getchar ())!='\n';)
{switch (i-'a')
{case 0: putchar (i);
case 1: putchar (i+1);break;
case 2: putchar (i+2);
case 3: break;
default: putchar (i);break;
}
}
printf ("\n");
}
输入下列数据后,程序的输出结果是( )
abcde
A) abcde B) abcee
C) abbde D) abccdd
11若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是( )
A) switch(a+b); B) switch(a*a+b*b)
{ case 1:y=a+b; break; {case 3:
case 0:y=a-b; break; case 1:y=a+b;break;
} case 3:y=b-a,break;
}
C) switch a D) switch(a-b)
{ case 1 :y=a-b; break {
case 2: x=a*d; break case c1:case 4:x=a+b;break;
default:x=a+b; case c2:case 11:y=a-b;break;
} default:y=a*b;break;
}
12写出下面程序输出结果( )
{int x=1, y=0, a=0, b=0;
switch(x)
{case 1:
switch(y)
{case 0: a++;
case 1: b++; }
case 2: a++; b++;
}
printf("a=%d, b=%d\n", a, b) ;
}
A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2
13C语言的for语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达式
均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。
A) < B) ++ C) ; D) ,
14下面有关for循环的正确描述是( )。
A) for循环只能用于循环次数已经确定的情况
B) for循环是先执行循环体语句,后判定表达式
C) 在for循环中,不能用break语句跳出循环体
D) for循环体语句中,可以包含多条语句,但要用花括号括起来
15以下程序段( )。
x=-1;
do
{ x=x*x;}
while(!x)
A) 是死循环 B) 循环执行2次 C) 循环执行一次 D) 有语法错误
16如下的数组中,数组array占用的内存空间是( )个字节。
char array[]={'c','h','i','n','a'};
A. 1 B. 5 C. 6 D. 不确定
17设有程序段
int k=10;
while(k=0) k=k-1;
则下面描述正确的是( )。
A) while 循环执行10次 B) 循环是无限循环
C) 循环体语句一次也不执行 D) 循环体语句执行一次
18下列程序段的运行结果是( )
int n=0;
while(n++<3);
printf("%d",n)
A. 2 B. 3 C. 4 D. 以上都不对
19设有程序段
t=0;
while(printf("*"));
{ t++;
if (t<3) break;
}
下面描述正确的是( )。
A) 其中循环控制表达式与0等价 B) 其中循环控制表达式与'0'等价
C) 其中循环控制表达式是不合法的 D) 以上说法都不对
20下面程序的运行结果是( )。
#include
main()
{ int y=10;
do { y--;} while(--y);
printf("%d\n",y--);
}
A) -1 B) 1 C) 8 D) 0
21以下程序段的输出结果是( ).
main()
{ int i=5;
for ( ;i<=15; )
{ i++;
if (i%4==0) printf("%d ",i);
else continue;}
}
A. 8 12 16 B. 8 12 C. 12 16 D. 8
22以下不是无限循环的语句为( )。
A) for(y=0,x=1;x>++y;x=i++) i=x;
B) for( ; ;x++=i);
C) while(1){x++;}
D) for(i=10; ; i--) sum+=i;
23有如下语句
int x=3;
do
{ printf("%d\n",x-=2);} while(!(--x));
则上面程序段( )
A. 输出的是1 B. 输出的是1和-2
C. 输出的是3和0 D. 是死循环
24以下不是无限循环的是( )
A. for(y=0,x=1;x>++y;x=i++) i=x;
B. for( ; ;x++=i);
C. while(1) x++;
D. for(i=10; ;i--) s+=i;
25以下正确的描述是( )。
A) continue语句的作用是结束整个循环的执行
B) 只能在循环体内和switch语句内使用break语句
C) 在循环体内使用break语句或continue语句的作用相同
D) 从多层循环嵌套中退出时,只能使用goto语句
26以下程序输出结果为( )
#include "stdio.h"
main()
{int i,b,k=0;
for(i=1;i<=5;i++)
{ b=i%2;
while (b-->=0) k++;}
printf("%d,%d\n",k,b);
}
A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2
27以下程序段中循环体总的执行次数是( )
int i,j;
for(i=7;i;i--)
for(j=0;j<6;j++)
{......}
A) 42 B) 21 C) 13 D) 36
28以下不正确的描述是( )
A. break 语句不能用于循环语句和switch语句外的任何其他语句
B. 在switch语句中使用break语句或continue语句的作用相同
C. 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行
D. 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
1else语句总是和靠它最近的if匹配。
2switch语句中一定有default分支
3case后只能跟常量,不能跟变量
4break语句的作用就是结束本层循环。
5do-while语句构成的循环不能用其它语句构成的循环来代替。
6用do-while语句构成循环时,只要while后的表达式为0时就结束循环。
7for(表达式1;表达式2;表达式3)中,表达式1和表达式3不能同时都是逗号表达式。
8for循环中,如果表达式2为空,则该循环一定是死循环。
9while循环的while()后没有分号,而do-while循环的while()后一定要有一个分号。
10for(i=0,j=10;i<=j;i++,j--) k=i+j;执行完后,k的值为50。
1若a、b均为int型变量,且a=100,则以下的for循环是死循环.
for (b=100;a!=b;++a,b++) printf("----\n");
执行语句:for(i=1;i++<4;++i);后;变量i的值是5。
2以下程序的运行结果是【 】
main()
{int x,y,z;
x=1;y=2;z=3;
x=y--<=x||x+y!=z;
printf("%d,%d",x,y);
}
3以下程序的运行结果是【 】
main()
{int x,y,z;
x=1;y=1;z=0;
x=x||y&&z;
printf("%d,%d",x,x&&!y||z);
}
4以下程序的运行结果是【 】
main()
{int a,b,c;
int s,w=0,t;
a=-1;b=3;c=3;
if(c>0)s=a+b;
if(a<=0)
{if(b>0)
if(c<=0)w=a-b;
}
else if(c>0)w=a-b;
else t=c;
printf("%d,%d,%d\n",s,w,t);
}
5阅读下面程序:
main()
{ int s, t, a, b;
scanf("%d%d",&a, &b);
s=1;
t=1;
if(a>0) s=s+1;
if(a>b) t=s+t;
else if (a==b) t=5;
else t=2*s;
printf("s=%d, t=%d", s, t);
}
6为了使输出结果t=4, 输入量a和b应满足的条件是【 】
7下面程序的功能是在输入的一批整数中求出最大者,输入0结束循环。
#includemain()
{ int a,max=0;
scanf("%d",&a)
while(【 】){ if (max
scanf("%d",&a);
}
printf("%d",max);
}
8执行下面的程序段后,k值是【 】。
k=1; n=263;
do { k*=n%10; n/=10; } while(n);
9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。
#include
main()
{ int a,d,sum;
a=2;d=3;sum=0;
do
{ sum+=a;
a+=d;
if (【 】) printf("%d\n",sum);
} while(sum<200);
}
10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。
for(x=1;x<=29;x++)
{ y=30-x;
if (【 】) printf("%d,%d\n",x,y);
}
11写出下面程序的运算结果【 】。
# include
main ( )
{ int a=14, b=63;
while (a!=b)
{while (a>b) a-=b;
while (a
}
printf ("%d\n",a);
}
12下列程序的输出为【 】。
#include
main()
{
int i,j,x=0;
for(i=0;i<3;i++)
{ if(i%3==2) break;
x++;
for(j=0;j<4;j++)
{ if(j%2) break;
x++;
}
x++;
}
printf("x=%d\n",x);
}
C语言(分支和循环结构)二
以下程序的输出结果是( )
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
与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是( )
A) if (x>0) y=1; B) if(x)
else if(x
else y=0; else if(x<0)y=-1;
else y=0;
C) y=-1 D) y=0;
if(x) if(x>=0)
if(x>0)y=1; if(x>0)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
若执行以下程序时从键盘上输入9,则输出结果是( )
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
若i为int型,且有程序如下,则输出结果是( )
i=111;
if(i%3==0);
printf("####");
printf("****");
A) #### B) **** C) ####**** D) 无输出结果
请读下面程序:
main()
{int x=1, y=2, z=3;
x+=y+=z;
printf("%d\t", x printf("%d\t", x } 程序输出结果为( ) A) 5 4 B) 4 5 C) 5 6 D) 6 5 在C语言的if语句中,用作判断的表达式为( ) A) 关系表达式 B) 逻辑表达式 C) 算术表达式 D) 任意表达式 若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c,d; if (a=b) c=d=a; else c=b;d=b; printf("%d,%d",c,d); A)c=1,d=1 B)c=1,d=2 C)c=2,d=1 D)c=2,d=2 以下程序的输出结果是( ) main() {int a=100,x=10,y=20,a1=5,a2=0 if(x if(y !=10) if(!a1) a=1; else if(a2) a=10; a=-1; printf("%d\n",a) A)1 B) 0 C) 10 D)-1 若w、x、y、z、m均为int型变量,则执行下面语句后的m值是( ) w=1;x=2;y=3; z=4; m=(w m=(m m=(m A)1 B)2 C)3 D)4 若有定义: float w; int a, b; 则合法的switch语句是( ) A) switch(w) B) switch(a); { case 1.0: printf("*\n"); { case 1 printf("*\n"); case 2.0: printf("**\n"); case 2 printf("**\n"); } } C) switch(b) D) switch(a+b); { case 1: printf("*\n"); { case 1: printf("*\n"); default: printf("\n"); case 2: printf("**\n"); case 1+2: printf("**\n"); default: printf("\n"); } } 若输入B,以下程序的运行结果为 ( ) main() { char grade; scanf("%c", &grade); switch(grade) { case 'A': printf(">=85"); case 'B': case 'C': printf(">=60"); case 'D': printf("<60"); default: printf("error.");} } A) >=85 B) >=60 C) >=60 D) error. <60 error. 选择出i的正确结果( ) int i=10; switch(i) { case 9: i++; case 10: i+=1; case 11:i++; default: i+=1; } A) 10 B) 11 C) 12 D) 13 C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的( ) 不能丢,它表示d0_while循环的结束。 A) \n B) ; C) % D) , C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的( ) 不能丢,它表示d0_while循环的结束。 A) \n B) ; C) % D) , 以下程序的输出结果是( )。 #include main() { int num=0; while(num<=2) { num++; printf("%d\n",num); } } A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 以下程序的输出为( ) # include main( ) { int y=10; while (y--); printf ("y=%d\n", y);} A. y=0 B. 无限循环,无结果输出 C. y=1 D. y=-1 设有程序段 int x=0,s=0; while(!x!=0) s+=++x; printf("%d",s); 则( )。 A) 运行程序段后输出0 B) 运行程序段后输出1 C) 程序段中的控制表达式是非法的 D) 程序段执行无限次 下面程序段的运行结果是( )。 a=1;b=2;c=2; while(a {t=a; b=a; a=t; c--; } printf("%d ,%d,%d",a,b,c); A) 1,2,0 B) 2,1,0 C) 1,2,1 D) 2,1,1 以下能正确计算1×2×3×4...×10的程序段是( )。 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) 下面程序的运行结果是( )。 #include main() { int a=1,b=10; do {b-=a; a++;} while(b--<0); printf("a=%d,b+%d\n";a,b); } A) a=3,b=11 B) a=2,b=8 C) a=1,b=-1 D) a=4,b=9 若i为整型变量,则以下循环执行的次数是( )。 for(i=2;i==0;) printf("%d",i--); A) 无限次 B) 0次 C) 1次 D) 2次 下面程序段的运行结果是( )。 for(y=1;y<10;) y=((x=3*y, x+1), x-1); printf("x=%d,y=%d",x,y); A) x=27,y=27 B) x=12,y=13 C) ) x=15,y=14 D) x=y=27 以下的for循环( ) for(x=0,y=0;(y!=123)&&(x<4);x++); A. 执行3次 B. 执行4次 C. 循环次数不定 D. 是无限循环 下列程序段不是死循环的是( )。 A) int i=100; while(1) {i=i%100+1; if (i>100) break;} B) for( ; ; ); C) int k=0; do { ++k;} while(k>=0); D) int s=36; while(s) ;--s; 下面程序段( )。 for(t=1;t<=100;t++) {scanf("%d",&x); if (x<0) continue; printf("%3d",t); } A) 当x<0时整个循环结束 B) x>=0时什么也不输出 C) printf函数永远也不执行 D) 最多允许输出100个非负整数 以下为死循环的程序段是( )。 A) for(i=1; ; ) {if (++i%2==0) continue; if (++i%3==0) break; } B) i=32767; do { if (i<0) break;} while(++i); C) for(i=1; ; ) if (++i<10) continue; D) i=1; while(i--); 若有如下程序段 int m=15; while(!m==0) {m+=m; printf("test..."); } 以下说法中正确的是( )。 A) 循环体语句执行一次。 B) 循环执行无限次 C) 循环体语句一次也不执行 D) 循环执行两次 下面程序的运行结果是( ). #include main() { int i,b,k=0; for(i=1;i<=5;i++) { b=i%2; while(b-->=0) k++; } printf("%d,%d",k,b); } A) 3,-1 B) 8,-1 C) 3,0 D) 8,-2 语句if(a) x=1;与 if(a==0)x=1;等价 switch语句中的default分支一定放在最后 while语句do-while语句无论什么情况下,二者的执行结果都一样。 C语言的while、do-while和for几个循环语句,可以进行相互嵌套。 do-while语句构成的循环只能用break语句退出。 for( ; ; ) {循环体} 永远是一个死循环。 要使for(表达式1;表达式2;表达式3){循环体}不形成死循环,表达式2一定不能为空。 while循环和do-while循环的while()后一定要有一个分号。 C语言程序的三种基本结构是嵌套结构、递归结构、顺序结构。 C语言中while与do-while语句的主要区别是do-while的循环体至少无条件执行一次。 语句 x=3; do {printf("%2d",x--);} while(!x); 的执行结果是3。 以下循环for (i=0; i<10;printf("*")); i++; printf("\n"); 是死循环。 以下程序的运行结果是【 】 main() {int a,b; int i=5,j=7,k=0; a=!k; b=i!=j; printf("a=%d,b=%d\n",a,b); } 以下程序的运行结果是【 】 main() {if(2*1==2<2*2==4) printf("##"); else printf("**"); } 以下程序的运行结果是【 】 main() {int a,b,c,d; a=c=0; b=1; d=20; if(a)d=d-10; else if(!b) if(! c)d=15; else d=25; printf("%d",d); } 若运行时输入:3 5 / main() {float x,y; char o; double r; scanf("%f%f%c",&x,&y,&o); switch(o) {case '+':r=x+y;break; case '-':r=x-y;break; case '*':r=x*y;break; case '/':r=x/y;break; } printf("%f",r); } 当运行下面程序时,从键盘键入right? #include main() { char c; while((c=getchar())!='?') putchar(++c); } 下面程序段的运行结果是【 】。 x=2; do { printf("*"); x--; } while(!x==0) 当运行以下程序时,从键盘键入1 2 3 4 5 -1 #include main() { int k=0,n; do { scanf("%d",&n); k+=n; } while(n!=-1); printf("k=%d n=%d\n",k,n); } 下面程序段的运行结果是【 】。 for( a=1,i=-1;-1<=i<1;i++) { a++; printf("%2d",a); } printf("%2d",i); 以下程序输出结果为【 】。 main() { int x=-5; do { printf("%3d",x+=2);} while (!(x++)); } 设x和y均为int型变量,则执行下的循环后,y值为【 】。 for(y=1,x=1;y<=50;y++) { if(x>=10)break; if (x%2==1) { x+=5; continue;} x-=3; } C语言(分支和循环结构)三 若 w = 1, x = 2, y=3, z=4, 则条件表达式 w>x? w : y A)4 B)3 C)2 D)1 有如下程序 main() { float x=2.0,y; if(x<0.0) y=0.0; else if(x<5.0) y=1.0/x; else y=1.0; printf("%f\n",y); } 该程序的输出结果是( ) A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000 若i为int型,且有程序如下,则输出结果是( ) i=322; if(i%2==0) printf("####"); else printf("****"); A) #### B) **** C) ####**** D) 有语法错误, 无输出结果 有程序如下,若由键盘输入70,则输出结果是( ) {int n; scanf("%d\n", &n); if(n<=90) printf("A\n"); else if(n<=80) printf("B\n"); else if(n>=60) printf("C\n"); else printf("D\n"); } A) A B) B C) C D) D 选择运行结果为4的表达式( ) A) int i=0, j=0; (i=3,(j++)+i); B) int i=1, j=0; j=i=((i=3)*2); C) int i=0, j=1; i=(j==1)?(i=1):(i=3); D) int i=1,j=1; i+=j=2; 以下程序段输出为( ) int a=1,b=2,c=3; if(a>b)a=b, b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c); A)a=1 b=2 c=1 B)a=1 b=2 c=3 C)a=1 b=3 c=1 D)a=2 b=3 c=2 请问读以下程序: main() {int a=5,b=0,c=0; if(a=b+c)printf("&&&"); else printf("###"); } 以上程序( ) A)有语法错不能通过编译 B)可以通过编译但不能连接 C)输出&&& D)### 以下程序的输出结果是( ) main() { int x=2,y=-1,z=2; if(x if(y<0) z=0; else z+=1; printf("%d\n",z); A)0 B)1 C)2 D)3 以下程序的运行结果是( ) main() {int x,y,z; x=0;y=1;z=3; x=++y<=x||x+y!=z; printf("%d,%d",x,y); } A)0,1 B)1,2 C)0,2 D)1,1 有如下程序 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=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 写出下面程序输出结果( ) {int x=1, y=0, a=0, b=0; switch(x) {case 1: switch(y) {case 0: a++; break; case 1: b++; break;} case 2: a++; b++; break;} printf("a=%d, b=%d\n", a, b) ; } A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 在下列选项中,没有构成死循环的程序段是( ). A. int i=100 while (1) {i=i%100+1; if(i>100)break; } B. for(;;); C. int k=1000; do{--k} while (k) D. int s=36 While(s>=0);++s; 语句while (!e);中的条件!e等价于( )。 A) e==0; B) e!=1 C) e!=0 D) ~e 在C语言中( )。 A) 不能使用do_while语句构成的循环 B) do_while语句构成的循环必须用break语句才能退出 C) do_while语句构成的循环,当while语句中的表达式为非0时结束循环 D) do_while语句构成的循环,当while语句中的表达式为0时结束循环 有如下程序 #include main() { while(putchar(getchar())!='?'); } 当输入"china?"时,程序的执行结果是( )。 A) china B) dijob C) dijob? D) china? 定义如下变量: int n=25; 则下列循环的输出结果是( )。 While(n>22) { n--; printf("%d\n",n); } A) 22 B) 24 C) 23 D) 1 21 23 22 2 20 22 21 0 下列程序段的运行结果是( ) x=y=0; while(x<10) x++;y++; printf("%d,%d\n",x,y); A. 0,0 B. 10,1 C. 10,10 D. 1,10 下面程序段的运行结果是( )。 int n=0; while(n++<=2); printf("%d",n); A) 2 B) 3 C) 4 D) 有语法错 以下描述中正确的是( )。 A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) 在do-while循环体中,一定要有能使while后面表达式的值变为“假”的操作 D) do-while循环中,根据情况可以省略while 以下程序段的输出结果是( ) main() { int x,i; for (i=1;i<=100;i++) { x=i; if (++x%2==0) if (++x%3==0) if (++x%7=0) printf("%d ",x); } } A. 39 81 B. 42 84 C. 26 68 D. 28 70 以下for循环的执行次数是( )。 for(x=0,y=0;(y=123)&&(x<4);x++); A) 是无限循环 B) 循环次数不定 C) 执行4次 D) 执行3次 下面程序段的运行结果是( )。 for(x=3;x<6;x++) printf((x%2)?("**%d"):("##%d\n"),x); A) **3 B) ##3 C) ##3 D) **3##4 ##4 **4 **4##5 **5 **5 ##5 下面有关for循环的正确描述是( ) A. for循环只能用于循环次数已经确定的情况。 B. for循环是先执行循环体语句,后判断表达式。 C. 在for循环中,不能用break语句跳出循环体。 D. for循环的循环体语句中,可以包含多条语句。 执行语句for(i=1;i++<4; );后变量i的值是( )。 A) 3 B) 4 C) 5 D) 不定 下面程序段( )。 x=3; do { y=x--; if (!y) {printf("*"); continue;} printf("#"); } while (1<=x<=2); A) 将输出## B) 将输出##* C) 是死循环 D) 含有不合法的控制表达式 以下描述正确的是( )。 A) goto语句只能用于退出多层循环 B) switch语句中不能出现continue语句 C) 只能用continue语句来终止本次循环 D) 在循环中break语句不能独立出现 与下面呈现等价的是( )。 for(n=100;n<=200;n++) { if (n%3==0) continue; printf("%4d",n); } A) for(n=100;(n%3)&&n<200;n++) printf("%4d",n); B) for(n=100;(n%3)||n<200;n++) printf("%4d",n); C) for(n=100;n<=200;n++) if (n%3!=0) printf("%4d",n); D) for(n=100;(n%3)&&n<200;n++) {if (n%3) printf("%4d",n); else continue; break; } 下列程序段的运行结果是( ) a=2;b=1;c=1; while (a>b>c) { t=a;a=b;b=t;c--} printf("%d,%d,%d\n",a,b,c); A)1,2,0 B)2,1,0 C)1,2,1 D. 2,1,1 case后如果有多语句不需要用花括号括住。 case语句后一定要加break语句 continue语句的功能就是结束本层循环。 C语言的while、do-while和for几个循环语句中,for循环语句最灵活、功能最强。 用do-while语句构成循环时,只有在while后的表达式为非0时结束循环。 for(表达式1;表达式2;表达式3)中,表达式1和表达式3可以同时都为逗号表达式。 for后的一对圆括号中,可以出现各种形式的与循环控制无关的表达式。 while循环和do-while循环的while()后一定不能加上一个分号。 若i为整型变量,则以下循环 i=0; while(i=0)i++;一次也不执行。 执行语句 for(i=1;++i<10; )后,i的值是10. 执行语句:for(i=1;i++<4;++i);后;变量i的值是3. 以下程序段的输出结果是987。 int n=10; while (n>7) { n--;printf("%d ",n);} 以下程序的运行结果是【 】 main() {int a,b; int i=5,j=7,k=0; a=k&&j; b=k||j; printf("a=%d b=%d\n",a,b); } 阅读下列程序 main() {int t,h,m; scanf("%d",&t); h=(t/100)%12; if(h==0)h=12; printf("%d:",h); m=t%100; if(m<10)printf("0"); printf("%d",m); if(t<1200 ||t==2400) printf("AM"); else printf("PM"); } 若运行时输入:1605 以下程序的运行结果是【 】 main() {int a=2,b=3,c; c=a; if(a>b)c=1; else if(a==b)c=0; printf("%d\n",c); } 以下程序段的运行结果是【 】 int x=1,y=0; switch(x) {case 1: switch (y) { case 0:printf("*1*");break; case 1:printf("*2*");break;} case 2:printf("*3*");break; } 下面程序的运行结果是【 】。 #include main() { int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7) { n=n*a; s=s+n; ++count; } printf("%d",s); } 下面程序段的运行结果是【 】。 i=1; a=0; s=1; do { a=a+s*i; s=-s; i++; } while(i<=10); printf("a=%d",a); 下面程序段是找出整数的所有因子,请填空。 scanf("%d",&x); i=1; for( ; 【 】; ) { if (x%i==0) printf("%3d",i);} i++; } 以下程序输出结果为【 】。 #include"stdio.h" main() { int i; for(i=0;i<10;i++); printf("%d",i); } 以下程序段中,不是无限循环的是【 】。 A. i=100 B. for(;;) while (1) { i=i%100; i++; if (i>100) break; } C. k=10; D. s=100 do while (s) s-=3; { k++; k++;} while (k>0); 有以下程序 main() { int i, j; for(j=10;j<11;j++) { for(i=9;i==j-1;i++)printf("%d",j); } } 输出结果是【 】。 以上就是关于2022年辽宁专升本C语言程序设计习题练习(2)的全部内容了,如果你还有专升本相关的疑惑(如专升本报名、考试动态、院校招生简章、统考动态、湖南专升本院校、历年真题、考试大纲、专升本等相关信息),可以在文章下方留下你的联系方式,老师会第一时间联系到你,为你答疑解惑哦! 部分内容来源于网络转载、学生投稿,如有侵权或对本站有任何意见、建议或者投诉,请联系邮箱(1296178999@qq.com)反馈。
未经本站授权,不得转载、摘编、复制或者建立镜像, 如有违反,本站将追究法律责任!