0)&" />

2022年辽宁专升本C语言程序设计习题练习(2)

浏览次数:次 发布时间:2023-04-07

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)反馈。 未经本站授权,不得转载、摘编、复制或者建立镜像, 如有违反,本站将追究法律责任!


本文标签: 专升本统招全日制

上一篇:2022年辽宁专升本C语言程序设计习题练习(1)                  下一篇:2022年辽宁专升本C语言程序设计习题练习(2)

湖南3+2 统招专升本

一键查询