循环结构程序设计

更新时间:2023-12-09 05:56:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

循环结构程序设计

3.5.2 while语句 (21)有以下程序

#include main() { int n=2,k=0; while(k++&&n++>2); printf(“%d %d\\n”,k,n);} 程序运行后的输出结果是(D) A)0 2 B)1 3 C)5 7 D)1 2

(10)下列程序运行时,若输入labced12df<

回车>输出结果为__1AbCeDf2dF ____

#include main() { char a=0,ch; while((ch=getchar())!=?\\n?) { if(a&2!=0&&(ch>?a?&&ch<=?z?)) ch=ch-?a?+?A?; a++;putchar(ch);} printf(“\\n”);} (9)以下程序运行后的输出结果是【5】。

#include main()

{ int a=1,b=7; do { b=b/2;a+=b; } while (b>1); printf(“%d\\n”,a);} (8)有以下程序(2010年3月)

#include main() { int m,n; scanf(\ while(m!=n) { while(m>n) m=m-n; while(m ?

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

} 程序运行后,当输入14 63 <回车> 时,输出结果是 【8】。 (21)有以下程序

#include main()

{ int n=2,k=0;

while(k++&&n++>2); printf(“%d %d\\n”,k,n); } 程序运行后的输出结果是D A)0 2 B)1 3 C)5 7 D)1 2 (8)以下程序的输出结果是_54321__.

#include main() { int n=12345,d; while(n!=0){ d=n; printf(\n/=10;} } (9)有以下程序段,且变量已正确定义和赋值 for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf(\请填空,使下面程序段的功能为完全相同

s=1.0;k=1; while(_k<=n ____){ s=s+1.0/(k*(k+1)); _

k++___;} printf(\ (7) 当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行 0 次。 #include

main() { char ch; while((ch=getchar())==?0?) printf(“#”); } (22)有以下程序 mian0

{int k=5; while(-k) printf(\

printf(\} 执行后的输出结果是___A_____。 A)1 B)2 C)4

D)死循环

21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是(C) A)(!E=0) B) (E>0||E<0) C) (E==0) D) (E!=0)

22)要求通过while循环不断读入字符,当读入字母N时本文-来源_于贵.州学习网 WWW.GZU521.COM 结束循环。若变量已正确定义,以下正确的程序段是(A) A) while((ch=getchar())!='N') printf(“%c”,ch);

B) while(ch=getchar()!='N') printf(“%c”,ch);

C) while(ch=getchar()==N') printf(“%c”,ch);

D) while((ch=getchar())=='N') printf(“%c”,ch); 30)若有以下程序 main() {int y=10;

while(y- -); printf(“y=%d\\n”y); }

程序运行后的输出结果是(B) A)y=0 B)y=-1 C)y=1 D)while构成无限循环

(23) 有以下程序 main( )

{ int x=0,y=5,z=3;

 while(z-->0&&++x<5) y=y-1;  printf(“%d,%d,%d\\n”,x,y,z); }

程序执行后的输出结果是(B) A) 3,2,0 B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5

8、以下程序运行后的输出结果是__3,2,2,3__。 main() { int x=15;

while(x>10 && x<50) { x++;

if(x/3){x++;break;} else continue; }

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

9、有以下程序: #include main() { char c;

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

程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为__ /i 或者 *1.0/i 或者 *1/i 或者 *(1.0/i) 或者 /(double)i__。 (27) t为int类型,进人下面的循环之前,t的值为0 while( t=l )

{ …… }

则以下叙述中正确的是(B)

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

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

(28) 以下程序的输出结果是(B) main()

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

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

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

(9) 设有以下程序: main()

{ int n1,n2; scanf(“%d”,&n2); while(n2!=0) { n1=n2; n2=n2/10;

printf(“%d”,n1); } }

程序运行后,如果从键盘上输入1298;则输出结果为 __8921__。

(15) 若有定义语句: char s[100],d[100];

2 2 int j=0, i=0;,且s中已赋字符串,请填空以

实现字符串拷贝。(注:不得使用逗号表达

式)

while([i]){ d[j]= __s[i++]__;j++;} d[j]=0; (25) 有以下程序段

int k=0 while(k=1)k++; while 循环执行的次数是(A)

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

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

(28) 有如下程序 main0 { int n=9; while(n>6) {n--;printf(“%d”,n);} }

该程序段的输出结果是(B)

A) 987 B) 876 C) 8765 D) 9876 (34) 定义如下变量: int n=10; 则下列循环的输出结果是(B)

while(n>7) { n--; printf(\ } A) 10 B) 9 C) 10 D) 9 (6) 下面程序的输出是 -1 。

main() { int x=2; while(x--); printf(\(41) 请读程序:

#include main() { int mun=0; while(num<=2) { num++; printf(\} 上面程序的输出结果是(C) A) 1 B) 1 C) 1 D) 1 2 3 3 4 (32) 以下程序段给数组所有的元素输入数据,请选择正确答案填入。(A)

#include main() { int a[10],i=0;

while(i<10) scanf(\ ┇

} A) a+(i++) B) &a[i+1] C) a+i D) &a[++i] ()语句while(!E);中的条件!E等价于 A 。 【16】 A)E = = 0 B)E!=1 C)E!=0 D)~E 3.5.3 do while语句 ( 9 )以下程序运行后的输出结果是 5 。 #include main()

{ int a=1,b=7; do { b=b/2;a+=b; } while (b>1); printf(“%d\\n”,a);}

(21)有以下程序 #include main() { char *s=(“ABC);

do{ printf(“%d”,*s);s++; }while(*s); } 注意,字母A的ASCII码值为65。程序运行后的输出结果是(C) A)5670 B)656667 C)567 D)ABC (29)有以下程序

#include main() { int i=5; do { if(i%3==1) if(i%5==2) { printf(〞%d〞,i); break;} i++; }while(i!=0); printf(〞\\n〞);

}程序运行的结果是 (A) A) *7 B)*3*5 C)*5 D)*2*6 (9)以下程序运行后的输来 源 于 贵/州学习网 WWw.gzU521.COm 出结果是____ s=0___ #include main() { int k=1,s=0; do{ if{((k&2)!=0)continue; s+=k;k++; }while(k)10);

printf(“s=&d/n”,s); } (19)若变量已正确定义,有以下程序段(B) i=0; do printf(\printf(\其输出结果是 A)0,0 B)0,1 C)1,1 D)程序进入无限循环 (26)有以下程序段  int n,t=1,s=0;  scanf(\ do{ s=s+t; t=t-2; }while (t!=n);  为使此程序段不陷入死循环,从键盘输入的数据应该是(D)

 A)任意正奇数 B)任意负偶数 C)任意正偶数 D)任意负奇数 (21)有以下程序 main()

{ int s=0,a=1,n; scanf(\do { s+=1; a=a-2; } while(a!=n); printf(\} 若要使程序的输出值为2,则应该从键盘给n输入的值是(B) A)-1 B)-3 C)-5 D)0

(24) 有以下程序  main() { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s +=i; }while(i<7);  printf(\} 执行后输出结果是(A) A) 16 B) 12 C) 28 D) 21

(25) 有以下程序段 int n=0,p; do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3); 此处do—while循环的结束条件是(D)A) P的值不等于12345并且n的值小 于 3 B) P的值等于12345并且n的值大于等于3 C) P的值不等于12345或者n的值小于3 D) P的值等于12345或者n的值大于等于3

(25) 有以下程序段 int n=0,p; do{scanf(“%d”,&p);n++;}while(p!=12345

&&n<3); 此处do—while循环的结束条件是(D)

A) P的值不等于12345并且n的值小 D) 用do-while语句构成的循环,在于3 while后的表达式为零时结束循环。 B) P的值等于12345并且n的值大于(38) 以下程序段的执行结果是(B)

A) a=12 y=12 等于3

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

于3

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

等于3

(8)以下程序运行后的输出结果是

__52__。

main() { int i=10, j=0; do { j=j+i; i-; while(i>2); printf(“%d\\n”,j); } (27) 有以下程序段

int x=3 do { printf(“%d”,x-=2); } while (!(--x)); 其输出结果是(C) A) 1 B) 3 0 C) 1 -2 D) 死循环 (27) 有如下程序 main0 { int x=23; do { printf(“%d”,x--);} while(!x); } 该程序的执行结果是(B)

A) 321 B) 23 C) 不输

出任何内容 D) 陷入死循环

(23) 以下叙述正确的是(D)

A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用

break语句退出。

C) 用do-while语句构成的循环,在

while后的表达式为非零时结束循环。

B) a=12 y=12 a=14 y=16 a=16 y=28 a=16 y=20 a=18 y=24

C) a=12 y=12 D) a=12 y=12 a=14 y=26 a=14 y=44 int a, y; a=10; y=0; do { a+=2; y+=a;

printf(\ if(y>20) break; }while(a=14); . (27) 执行以下程序段时(A) A) 循环体将执行一次 B) 循环体将执行两次 C) 循环体将执行无限次 D) 系统将提示有语法错误 X=-1; do {x=x*x; } while(! x); (28) 执行以下程序后,输出的结果是(D) A) -1 B) 1 C) 8 D) 0 main ()

{ int y=10; do { y - -;} while(- - y); printf(\ } (32) 假定a和b为int型变量,则执行以下语句后b的值为(D)

a=1; b=10; do { b-=a; a++; } while (b--<0) ;

本文来源:https://www.bwwdw.com/article/ljy5.html

Top