3-3循环结构

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3-3循环结构

1、while do-while

(1)以下程序运行后的输出结果是【1】。

#include “stdio.h”

main()

{ int i=10, j=0;

do

{ j=j+i; i--;}

while(i>2);

printf(“%d\n”,j);}

(2) 设有以下程序:

#include “stdio.h”

main()

{ int n1,n2;

sc anf(“%d”,&n2);

while(n2!=0)

{ n1=n2%10;

n2=n2/10;

printf(“%d”,n1);

}

}

程序运行后,如果从键盘上输入1298;则输出结果为【2】。(4)有以下程序:

#include

main()

{ char c;

while((c=getchar( ))!=’?’) putchar(--c);

}

程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为【4】。

(5) 以下程序中,while循环的循环次数是

main()

{ int i=0;

while(i<10)

{ if(i<1) continue;

if(I==5) break;

i++;

}

......

}

A) 1 B) 10

C) 6 D)死循环,不能确定次数

(6) t为int类型,进人下面的循环之前,t的值为0

while( t=l )

{ …… }

则以下叙述中正确的是

A) 循环控制表达式的值为0 B) 循环控制表达式的值为1

C) 循环控制表达式不合法D) 以上说法都不对

(7) 以下程序的输出结果是

main()

{ int num= 0;

while(num<=2)

{ num++; printf(“%d\n”,num);

}

A) 1 B) 1 C)1 D) l

2 2 2

3 3

4

(8) 有以下程序段

int n=0,p;

do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);

此处do—while循环的结束条件是

A) P的值不等于12345并且n的值小于3

B) P的值等于12345并且n的值大于等于3

C) P的值不等于12345或者n的值小于3

D) P的值等于12345或者n的值大于等于3

(9) 有以下程序

main ()

{ int s=0,a=1,n;

scanf("%d",&n);

do

{ s+=1; a=a-2; }

while(a!=n);

printf("%d\n",s);

}

若要使程序的输出值为2,则应该从键盘给n输入的值是

A) -1 B) -3 C) -5 D) 0

(10) 以下程序段输出结果是()。

int x=3;

do

{ printf("%3d",x-=2);

}while(!(--x));

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

(11) 有以下程序段

int k=0

while(k=1)k++;

while 循环执行的次数是

A) 无限次B) 有语法错,不能执行

C) 一次也不执行D) 执行1次

2、for

(1) 以下程序的输出结果是【1】。

#include

main()

{int s,i;

for(s=0,i=1;i<3;i++,s+=i);

printf("%d\n",s);

}

(2) 以下程序运行后的输出结果是【2】。

#include

main()

{ int i,m=0, n=0, k=0;

for (i=9; i<=11; i++)

switch(i/10)

{ case 0 : m++; n++; break;

case 10: n++;break;

default: k++;n++;

}

printf("%d %d %d\n",m,n,k);

}

(3) 若有如下程序段,其中s 、a 、b 、c 均已定义为整型变量,且a 、c

均已赋值(c 大于0)

s=a;

for(b=1;b<=c;b++) s=s+1;

则与上述程序段功能等价的赋值语句是

A) s=a+b; B) s=a+c; C) s=s+c; D) s=b+c;

(5) 要求以下程序的功能是计算: 101

(3121)

1+++=s

#include

main ()

{ int n; float s;

s=1.0;

for(n=10;n>1;n--)

s=s+1/n;

printf("%6.4f\n",s);

}

程序运行后输出结果错误,导致错误结果的程序行是

A) s=1.0; B) for(n=10;n>1;n--)

C) s=s+1/n; D) printf("%6.4f\n",s);

(6) 以下程序的输出结果是

#include

main()

{ int a=0,i;

for(i=;i<5;i++)

{ switch(i)

{ case 0:

case 3:a+=2;

case 1:

case 2:a+=3;

default:a+=5;

}

}

printf("%d\n",a);}

A) 31 B) 13 C) 10 D) 20

(7) 以下程序执行后sum 的值是

A)15 B)14 C) 不确定

D )0

相关文档
最新文档