n)m-=n;while(n>m)n-=m;}printf("m=%d\n",m);}A)m=3B)m=2C)m=1D)m=02.以下程序" />

第6章 循环结构程序设计习题

第六章循环结构程序设计

一.选择题

1.21.运行以下程序后,如果从键盘上输入65 14 <回车>,则输出结果为

()。

#include

void main()

{

int m,n;

printf("enter m,n:");

scanf("%d%d",&m,&n);

while(m!=n)

{

while(m>n) m-=n;

while(n>m) n-=m;

}

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

}

A) m=3 B) m=2 C) m=1 D) m=0

2.以下程序段的输出结果是()。

int i,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)

m++;

A. 12

B. 15

C. 20

D. 25

3.printf("%d\n",m);设有程序段:

int k=10;

while(k=0)

k=k-1;

则下面描述正确的是()

A. while循环体执行了10次

B. 循环是无限循环

C. 循环体语句一次都不执行

D. 循环体语句执行一次

4.以下正确的描述是()

A.Continue语句的作用是结束整个循环的执行

B.只能在循环体内和switch语句体内使用break语句

C.在循环体内使用break语句或者continue语句的作用相同

D.从多层循环嵌套中退出时,只能使用goto语句

5.下面程序段()

for(t=1;t<=100;t++)

{

scanf("%d",&x);

if(x<0)

continue;

printf("%3d",x);

}

#include

void main()

{

int x=3;

do

{

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

}while(!(--x));

}

A. 1

B. 3 0

C. 1 -2

D. 死循环

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

#include

void main()

{

int i,n=0;

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

{

do

{

if(i%3)

continue;

n++;

}while(!i);

n++;

}

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

}

A. n=5

B. n=2

C. n=3

D. n=4

8.若有如下程序段,其中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

9.以下程序段的输出结果是()。

#include

void main()

{

int a=1,b;

for(b=1;b<=10;b++)

{

if(a>=8) break;

if(a%2==1) { a+=5;continue; }

a-=3;

}

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

二.填空题:

1.下面程序段是实现从键盘上输入的字符中统计数字字符的个数,用换行符结束循环,请

填空。

#include

void main()

{

int n=0,c;

c=getchar();

while( )

{

if( )

n++;

c=getchar();

}

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

}

2.下面程序的功能是计算1~10之间的奇数之和及偶数之和,请选择填空。

#include

void main()

{

int a,b,c,i;

a=c=0;

for(i=0;i<=10;i=i+2)

{

a+=i;

________________________;

c=c+b;

}

printf("The sum of even=%d\n",a);

printf("The sum of odd =%d\n",___________________);

}

三.分析程序写出正确输出结果

(注意,在手写答案的时候如果有空格时必须把空格表示出来,用上课教过的符号~!)

1.下面程序的运行结果为:

#include

void main()

{

int i,j,x=0;

for(i=0;i<2;i++)

{

x++;

for(j=0;j<=3;j++)

{

if(j%2)

continue;

x++;

printf("x=%d\n",x);

}

2.下面程序的运行结果是:

#include

void main()

{

int k=0;

char c='A';

do

{

switch(c++)

{

case 'A':k++; break;

case 'B':k--;

case 'C':k+=2; break;

case 'D':k=k%2; continue;

case 'E':k=k*10; break;

default :k=k/3;

}

k++;

} while(c<'G');

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

}

3.下面程序的运行结果是:

#include

void main()

{

int i,j,a=0;

for(i=0;i<2;i++)

{

for(j=0;j<4;j++)

{

if(j%2)

break;

a++;

}

a++;

}

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

}

4.下面程序的运行结果是:

#include

void main()

{

int i;

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

switch(i%5)

{

case 0: printf("*");break;

case 1: printf("#");break;

default: printf("\n");

case 2: printf("&");break;

}

}

四.程序设计题:

1.请输入两个整数,求两个数之间所有整数之和,例如:输入1,10,输出结

果为:55。请编写程序实现。

2.求fibonacci数列40个数。这个数列有如下特点:第1,2两个数为1,1。从

第3个数开始,该数是其前面两个数之和。(要求不能使用数组完成!)

3.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各

位数字。

4.输出所有“水仙花”数,所谓“水仙花”数是指一个3位数,其各位数字立

方和等于该数本身。例如:153就是一个水仙花数。153=13+53+33

5.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如

2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

6.求s=1+12+123+1234+……+123…n的值,其中n是由键盘输入。例如:输入

输入n=5 s=1+12+123+1234+12345(此时共有5个数相加)。

7.请编写程序实现功能:从3个红球,5个白球,6个黑球中任意取出8个球,

其中必须要有白球,请输出所有的方案。

8.请编写程序实现功能:统计0-9可以组成多少个没有重复的3位偶数。

9.输入两个正整数m和n,求其最大公约数和最小公倍数。

10.请编写程序实现功能:求1000之内的所有完全数。(说明:一个数如果恰好

等于它的因子之和(除自身外),则该数为完全数。例如6=1+2+3,6为完全数)

11.请编写程序实现功能:从键盘上输入6名学生的5门成绩,分别统计出每个

学生的平均成绩和总成绩,并输出。

12.有一分数序列:2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13,……….求出这个

序列的前20项之和。(答案见书课后练习答案)

13.两个羽毛球队进行比赛,各出3人。甲队为A、B、C,3人,乙队为X、Y、

Z,3人。已抽签决定比赛名单。有人向队员打听比赛的名单,A说他不和X

比,C说他不和X、Z比,请编程序找出3对赛手的名单

14.编写程序,打印出如下图案(菱形)

*

***

*****

*******

*****

***

*

教材P128页例题6.10

15.求1+2!+3!+...+20!的和

第6章 循环结构程序设计习题

第六章循环结构程序设计 一.选择题 1.21.运行以下程序后,如果从键盘上输入65 14 <回车>,则输出结果为 ()。 #include void main() { int m,n; printf("enter m,n:"); scanf("%d%d",&m,&n); while(m!=n) { while(m>n) m-=n; while(n>m) n-=m; } printf("m=%d\n",m); } A) m=3 B) m=2 C) m=1 D) m=0 2.以下程序段的输出结果是()。 int i,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++; A. 12 B. 15 C. 20 D. 25 3.printf("%d\n",m);设有程序段: int k=10; while(k=0) k=k-1; 则下面描述正确的是() A. while循环体执行了10次 B. 循环是无限循环 C. 循环体语句一次都不执行 D. 循环体语句执行一次 4.以下正确的描述是() A.Continue语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或者continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 5.下面程序段() for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%3d",x); }

#include void main() { int x=3; do { printf("%3d",x-=2); }while(!(--x)); } A. 1 B. 3 0 C. 1 -2 D. 死循环 7.以下程序段的输出结果是()。 #include void main() { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; }while(!i); n++; } printf("n=%d\n",n); } A. n=5 B. n=2 C. n=3 D. n=4 8.若有如下程序段,其中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 9.以下程序段的输出结果是()。 #include void main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8) break; if(a%2==1) { a+=5;continue; } a-=3; } printf("%d\n",b);

循环结构程序设计练习题 内含答案

第三单元循环结构练习题 选择题: 1、有以下程序执行后的输出结果是( D )。 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和 2、以下关于for语句的说法不正确的是( A )。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用break跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是( d )。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、以下程序程序的执行后的输出结果是( c )。 main() {int i,t[][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);} A.7 5 3 B. 3 5 7 C.3 6 9 D.7 5 1 5、以下程序运行后的输出结果是( A )。 void fun(char*s) { while(*s) { if(*s%2==0) printf(“%c”,*s); s++;} } main() { char a[]={“good”};fun(a);printf(“\n”);} 注意:字母a的ASCⅡ码值为97 A.d B.go C.god D.good 6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 7、设有以下程序段 B int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0

选择结构程序设计,循环结构程序设计习题

习题4 选择结构程序设计 一、单选题 1.有如下嵌套的if语句 if(ay&&y! =0); C)if(x>0)x-- D)if(y<0){;} else y+ +; else x+ +; 4.有以下程序 #include main()

{ int c=0,k; for (k=1;k<3;k++) switch (k) { default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d\n”,c); } 程序运行后的输出结果是 A)3 B)5 C)7 D)9 5.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c)) k=1; else k=0; B)if((a>b)||(b>c) k=1; else k=0; C)if(a<=b) k=0; else if(b<=c) k=1; D)if(a>b) k=1; else if(b>c) k=1; else k=0; 6.以下是if语句的基本形式: if(表达式) 语句 其中“表达式” A)必须是逻辑表达式 B)必须是关系表达式 C)必须是逻辑表达式或关系表达式 D)可以是任意合法的表达式 7.有以下程序 #include main() {int x; scanf(“%d”,&x); if(x<=3); else if(x!=10) printf(“%d\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果 A)不等于10的整数 B)大于3且不等于10的整数

循环结构程序设计典型例题

循环结构程序设计典型例题 例1:有数列2/3、4/5、6/9、10/15……求此数列前30项的和。 算法分析: 对于数列的题,首先要找出通项公式,或前后项的计算关系公式,根据公式求所需。由于数列的题一般执行次数能确定,用for语句来编写比较方便。 此题,前后项的关系是:后一项的分子是前一项的分母加1,后一项的分母是前一项的分子加分母。解题思路是用循环语句求各项,并把值累加,因为是求前30项的和,循环执行30次。 1. 初值i=2,j=3,s=0; 2. 用n从1到30循环 3. s=s+ i/j; 4. c=i; i=j+1; j=c+j; 5.输出s; 程序: #include main( ) { int i=2,j=3,n,c; float s=0; for(n=1;n<=30;n++) { s=s+(float)i/j; c=i; i=j+1; j=c+j; } printf(“\n%f”,s); } 此题中的n与循环体中的执行语句没有数值上的联系,仅仅用做决定循环执行的次数。 例2:下面这个程序,想想它实现的是什么功能? #include main( ) { int i,s=0; for(i=1;i<=100;i++) {if(i%5==0) continue; s=s+i; } printf(“\n%d”,s); } 在左边的程序中,i从1到100循环,当i是5的倍数时,直接进入下一个i,当i不是5的倍数时,把i累加到s,最后输出s。所以,这个程序实现的是求1~100中间所有非5的倍数的数之和。 例3:输出n~m中(0

C语言第六章循环结构复习题

循环结构程序设计复习题 一.选择题 1.以下while循环中,循环体执行的次数是:() k=1; while (--k) k=10; a) 10次b) 无限次c) 一次也不执行d) 1次 2.有以下程序段,其中x为整型变量,以下选项中叙述正确的是:() x=0; while (!x!=0) x++; a) 退出while循环后,x的值为0 b) 退出while循环后,x的值为1 c) while的控制表达式是非法的 d) while循环执行无限次 3. 有以下程序段,其中n为整型变量,执行后输出结果是:() n=20 ; while(n--) ; printf(“%d”,n) ; a) 2 b) 10 c) -1 d) 0 4. 有以下程序段,其中t为整型变量,以下选项中叙述正确的是:() t=1; while (-1)

{ t--; if(t) break;} a) 循环一次也不执行 b) 循环执行一次 c) 循环控制表达式(-1)不合法 d) 循环执行2次 5. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是:() x=-1; do {;} while (x++); printf(“x=%d”,x); a) 该循环没有循环体,程序错误 b) 输出x=1 c) 输出x=0 d) 输出x=-1 6. 有以下程序段,其中x,y为整型变量,程序输出结果是:() for(x=0,y=0;(x<=1)&&(y=1);x++,y--) ; printf(“x=%d,y=%d”,x,y); a) x=2,y=0 b) x=1,y=0 c) x=1,y=1 d) x=0,y=0

循环结构程序设计习题答案

循环结构程序设计习题答案 一、单选题。 1.下面有关for循环的正确描述是( ) A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判定表达式 C.在for循环中,不能用break语句跳出循环体 D.for循环体语句中,可以包含多条语句,但要用花括号括起来 [解答]:D。 2.对于for(表达式1;;表达式3)可理解为() A.for(表达式1;1;表达式3) B.for(表达式1:1;表达式3) C.for(表达式1;表达式1;表达式3) D.for(表达式1;表达式3;表达式3) [解答]:B。 3.以下正确的描述是()。 A.continue语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 [解答]:B。 4.C语言中( )。 A.不能使用do-while语句构成的循环 B.do-while语句构成的循环必须用break语句才能退出 C.do—whiLe语句构成的循环,当while语句中的表达式值为非零时结束循环D.do—while语句构成的循环,当while语句中的表达式值为零时结束循环[解答]:D。 5.C语言中while和do-while循环的主要区别是( ) A.do—while的循环体至少无条件执行一次 B.while的循环控制条件比do—while的循环控制条件严格 C.do—while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 [解答]:A。 6.下面程序段不是死循环的是()。 A.int I=100; B.for ( ; ; ); while(1) { I=I%100+1; if(I>100) break;

(完整版)C语言程序设计习题集及答案

C语言程序设计 习题集 东华理工大学 2014.9

基础知识 一单项选择题(每题2分,共44分) 1 以下叙述正确的是___。 A C程序基本组成单位是语句 B C程序每一行只能写一个语句 C 简单C语句必须以分号作为结束符 D 注释语句可以嵌套 2 一个C语言程序是从___开始执行的。 A 程序中第一个函数 B 名为main的函数 C 包含文件(头文件)的第一个函数 D 程序中的第一个语句 3 请选出合法的C语言赋值语句___。 A a=b=58 B i++; C a=58,b=58 D k=int(a+b); 4 下面标识符中,合法的用户标识符是___。 A 1abc B include C a-b-c123 D char 5 以下所列的C语言整形常量中,正确的是___。 A 0x10 B 0976 C 076L D 01ff 6 C语言中下列运算符的操作数必须为整型的是___。 A % B ++ C / D = 7 设a和b均为int型变量,则执行以下语句后的输出为___。 int a=20; int b=3; printf("%d\n",a+=(b%=2)); A 20 B 21 C 0 D 23 8 已知int i;,则执行语句 i=2.6;后,i的值为___。 A 2 B 3 C 2.6 D 不确定 9 以下合法的字符常量为___。 A 'ab' B '\482' C '\' D '\xaf' 10 若y为int型变量,则执行以下语句后,y的值是___。 y=8; y+=y-=y*y; A 64 B –56 C –112 D –48 11 以下合法的浮点型常量是___。 A e-3 B 1.5e+2.4 C 3.14e+2L D 3.14 e +5 12 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已 知float a=2;int b=3;则执行下列语句输出为___。 printf("%d",sizeof(a*b)+2/5); A 4 B 8 C 6 D 7 13 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。 A 0 B -2 C 65534 D 65535 14 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。 x=a++; y=--a; z=x+y-a--; A 100 B 400 C 200 D 300 15 若有以下定义和语句:int u=010,v=0x10,w=10,printf("%d,%d,%d\n",u,v,w);,则输出 结果是___。 A 8,16,10 B 10,10,10 C 8,8,10 D 8,10,10 16 设x、y为int型变量,则执行下列语句后,y的值是___。 x=5; y=x++*x++; y=--y*--y; A 529 B 2401 C 1209 D 625

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案 1、循环语句的三要素分别是、、; 2、for语句括号内的3个表达式的作用分别 是、、; 3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整 地,只有当时,才结束整个循环; 4、在循环结构中,break语句的作用是;continue语句的作用是; 5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次; 6、下面程序段的执行次数: int a=0; whilea=0 { printf"good\n"; a--; } 7、下面程序段的执行次数: int a=0; whilea==0 { printf"good\n"; a--; } 8、下面程序段的执行次数: int a=1; whilea=1 { printf"good\n"; a++; } 9、下面程序段的执行次数: int a=1; whilea==1 { printf"good\n"; a++; } 10、下列程序段的运行结果是; fori=5;i>=0;i-- printf“%d “,i; 11、下列程序段的运行结果是; forn=1;n<20;n=n+3 printf“%d “,n; 12、下列程序段的运行结果是; for ch='a' ;ch<='e' ;ch++ printf“%d“,ch-97;

13、下列程序段的运行结果是; fori=1,j=5 ; i100 break; } C、int a=0; D、int x=21; do whilex { ++a; --x; }whilea>=0; 三、阅读程序,写出程序运行结果; 1、include"stdio.h" main { int i=0,sum=1; do { sum+=i; i++; }whilei<5; printf"%d\n",sum; } 程序运行结果: 2、 include"stdio.h" main { int a,b;

C语言循环结构程序设计习题与答案

一、单选题 1、计算1!+2!+3!+4!+5!编程如下,程序中下划线处应填写#include void main() { int i; int t= z s=; for(i=l;i<6;i++) { t=t*i; s=s+t; ) printf("l!+2!+3!+4!+5!=%d\n"z s); ) A.l 1 B.O 0 C.O 1 D.l 0 正确答案:D 2、下面代码段的输出是一 int k,m; for(k=0;k<10;k++ ) { if(m>50) continue; m=k*k; ) printf("%d,%d\n”,k,m); A. 10,64 B.9,81

C.10,81 D.8,64 正确答案:A 3、对于以下代码: int i; for(i=0;i<10;i++) pnntf("%d",i); for循环结束后,i的值是— A.ll B.10 C.9 D.i不再存在了 正确答案:B 4、对于以下代码: int i=6; do{ printf("%d", i-); }while(i-); 正确的是— A,输出6420-2-4…,程序无法停机B,输出6420 C.输出6420-2 D输出642 正确答案:A 5、对于以下代码:int i=6; do{

printf("%d", i-); }while(i); 最后一个输出的值是— A.2 B.3 C.O D.l 正确答案:D 6、在代码:while(e)中,e等价于_ A.e == 0 B.e != 1 C.e == 1 D.e!=0 正确答案:D 7、在代码:while© |1)中,e等价于_ A.e!=0 B.e == 1 C.e取任何值 D.e == 0 正确答案:C 8、设有程序段int k=5; while(k=0) k=k-l;则下面描述中正确的是A,循环体语句一次也不执行 B.while循环执行5次 C.循环体语句执彳亍一次 D彳盾环是无限循环 正确答案:A

(完整版)c语言第六章循环结构程序设计(习题册答案)

第六章循环结构程序设计 基础练习(A) 一、选择题 1、C语言中while和do-while循环的主要区别是(A)。 A) do-while的循环体至少无条件执行一次 B) while的循环控制条件比do-while的循环控制条件严格 C) C)do-while允许从外部转到循环体内 D) do-while的循环体不能是复合语句 2、以下描述中正确的是(C)。 A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用 复合语句 B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操 作 D)do-while循环中,根据情况可以省略while 3、设有程序段 int k=10; while(k) k=k-1; 则下面描述中正确的是(A)。 A)while循环执行10次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次 4、下列循环语句中有语法错误的是( D )。 A) while(x=y) 5;B) while(0) ; C) do 2;while(x==b);D) do x++ while(x==10); 5、已知int i=1;执行语句while (i++<4) ;后,变量i的值为(C)。 A) 3 B) 4 C) 5 D) 6 6、语句while(!E);中的表达式!E等价于(A)。 A)E==0 B)E!=1 C)E!=0 D)E==1 7、下面程序段的运行结果是(A)。 a=1; b=2; c=2; while(a main() { int num=0; while(num<=2) { num++; printf(“%d\n”,nu m); } } A)1 B)1 C)1 D)1 2 2 2 3 3 9、以下能正确计算1×2×3×…×10的程序段是(C)。

循环结构程序设计练习题

循环结构程序设计练习题 1、运行以下语句后,A的值为______。 Dim A As Integer A=1 Do Until A=100 A) 99 B) 100 A=A+2 C) 溢出D) 101 Loop 2、以下程序运行结果是()。 S=0 For H=1 T o 10 A)15 B)25 If Int(H/2)<>H/2 Then C)35D)45 S=S+H End If Next H Print S 3、在窗体上画一个command1的命令按钮,然后编写如下事件过程: X = 0 N = Inputbox("") For I = 1 T o N For J = 1 T o I X = X + 1 Next J Next I Print X 程序运行后单击命令按钮,如果输入3,则在窗体上显示的内容是( ) A) 3 B) 4C) 5 D) 6 4、设有以下循环结构 Do 循环体 Loop While <条件> 则以下叙述中错误的是( ) A)"条件"是一个为0的常数,则一次也不执行循环体 B)"条件"可以是关系表达式、逻辑表达式或常数 C)循环体中可以使用exit Do语句 D)如果"条件"总是为true,则不停地执行循环体 5、下面程序的循环次数是() For J=8 T o 35 Step 3 Print J A)7B)8 Next J C)9D)10 6、对正实数x 的第四位小数四舍五入的vb表达式是()。 A) 0.001*Int(X+0.005) B ) 0.001*(1000*X+0.5) C) 0.001*Int(1000*X+5) D) 0.001*Int(1000*(X+0.0005)) 7、下面程序运行后在文本框中的结果是() For K=1 T o 3 For M=1 T o K A)12B)14 For N=M T o 3 C)18D)24 X=X+1 Next N,M,K T ext1.T ext=X 8、下面程序运行后的输出结果是() For H=1 T o 13 Step 2 H=H+1 :Print H;A)2 4 6 8 10 12B)1 3 5 7 9 11 13 Next H C)2 5 8 D)2 5 8 11 14 9、下面程序的作用是什么() M=0:N=0 For H=1 T o 10 X=Val(Inputbox(“请输入数据”,””,0)) If X<0 Then M=M+X Elseif X>0 Then N=N+1 End If Next H Print M,N A)计算从键盘上输入的数据之和,并统计输入数据的数目 B) 分别计算从键盘上输入的正数之和与负数之和 C) 分别统计从键盘上输入的正数和负数的数目 D) 计算从键盘上输入的负数之和,并统计正数的数目 10、下列关于for循环的叙述中,正确的是() A) 循环体至少被执行一次B) 循环体有可能不被执行 C) 步长不允许是小数D) 循环初值等于终值时循环体不被执行 11、下列程序的输出结果是哪一个() Do While X<20 X=X+1:X=X*X A)36B)25 Loop C)16 D)12 Print X 12、下面程序的运行结果是() A=1:B=1 Do A=A+1:B=B+1 Loop Until B>5 Print "K=";A;Spc(3);"B=",B+A A)K=7 B=14B)K=5 B=10C)K=6 B=6 D)K=6 B=12 13、下面语句组中,不能实现20次循环的有() A) N=0 B) N=0 Do Do N=N+1 N=N+1 Loop Until N>=20Loop Until N<20 C) N=0 D) N=0 Do Do Whle N <20 N=N+1 N=N+1 Loop While N<20 Loop 14、下面程序能计算1+(1+2)+(1+2+3)+…+(1+2+3…+9)的是() A) S=0 B) S=0:T=0 For H=1 T o 9 For H=1 T o 9 S=S+1 S=S+T Next H Next H C) S=0 D) S=0 For H=1 T o 9 For H=1 T o 9 T=0 For J=1 T o H For J=1 T o H T=T+H T=T+J Next J Next J S=S+T S=S+T Next H Next H 15、下面程序的运行结果是() Dim X(1 T o 10)As Integer Max=1e-30 For H=1 T o 10 X(H)=H If X(H)>=Max Then Max=X(H) 1

C语言 循环结构程序设计模拟题

C语言循环结构程序 设计模拟题 -CAL-FENGHAI.-(YICAI)-Company One1

第五章循环结构程序设计 一、选择题 1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为的操作,否则,循环将会无限制地进行下去。(0级) A)0 B)1 C)成立 D)2 2.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的不能丢,它表示do-while语句的结束。(0级)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)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次5.程序段如下 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++) 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)1 B)10 C)6 D)死循环、不能确定次数8.程序段如下 int k=0; while(k++<=2) printf("%d\n",k);

顺序结构程序设计习题

For循环结构程序设计习题 1、【约数问题】 题目描述:键入一个自然数x,请编程显示这个自然数的所有约数,并输出约数之和s 。 输入数据:27 输出结果:1 3 9 27 s=40 2、【质数问题】 题目描述:判断从键盘输入的一个数m是否为质数,如果是就输出“Yes”,如果不是就输出“No”。 测试数据:2 5 8 17 37 101 110 137 3、【评委打分问题】 题目描述:在歌手大奖赛中,有10个评委为参赛的选手打分,分数为1—100分。选手最后得分为:去掉一个最高分和一个最低分,取其余8个分数的平均值。请编写一个程序实现。 输入数据: 90 91 93 94 90 99 98 92 91 95 输出结果:93 4、【斐波那契数列问题】 题目描述:有这样一种数列:1、1、2、3、5、8、……,这个数列的特点是:第1、2两个数为1,1,从第3个数开始,该数是其前面两个数之和。这种数列被称为Fibonacci(斐波那契)数列,请编程输出斐波那契数列的前20项。 输出结果:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 5、【求e值问题】 题目描述:已知e=1+1/1!+1/2!+1/3!+1/4!+…+1/n! ,请编程求e的值。 输入数据:10 输出结果:2.718282 6、【谁是小偷问题】 题目描述:警察局抓了甲、乙、丙、丁四个偷窃嫌疑犯,其中有一人是小偷,审问中:甲说:“我不是小偷。” 乙说:“丙是小偷。” 丙说:“小偷肯定是丁。” 丁说:“丙冤枉人!” 现在已经知道四人中三人说的是真话,一人说的是假话,并且他们中有且仅有一名小偷,请你写个程序帮助破案! 结论:丙是小偷。 7、【搜索问题】 题目描述:编程找出四位整数abcd中满足下述关系的数: (ab+cd)(ab+cd)=abcd 输出结果:2025 3025 9801 8.【回文数问题】 题目描述:中文里,有回文诗句、对联,如:“灵山大佛,佛大山灵”",“客上天然居,居然天上客”等等,都是美妙的符合正念倒念都一样的回文句;回文数则是有类似22、383、5445、12321,不论是从左向右顺读,还是从右向左倒读,结果都是一样的特征。请你编程测试下面的数是否为回文数,如果是就输出“Yes”,不是就输出“No”。 测试数据:121 1234 10001 10101 1233421 思考:如何输出10000—20000中的所有回文数。

循环结构程序设计习题及答案

第6章循环结构程序设计 6-1.比较while语句、do–while语句和for语句的异同。 答:(1)while语句、do-while语句用于条件循环,for语句用于计数循环。 (2)while语句、for语句是先判断循环条件,后执行循环体,如果循环条件一开始就不成立,则循环体一次也不被执行;而do-while语句是是先执行循环体,后判断循环条件,所以循环体至少被执行一次。 (3)知道循环的次数可选用for语句实现循环,不知道循环的次数可选用while语句或do-while语句实现循环. (4)一般而言,三种循环语句可等价实现. 6-2 仔细阅读下面的程序,指出程序的运行结果. #include<> void main() { int i; for(i=0;++i;i<5) { if(i==3) {printf("%d\n",++i); break; } printf("%d\n",++i); } } 答:2 4 思考:语句“for(“i=0;++i;i<5”)在编译时为何会给出语法警告错误当将其改为“for(i=0;i<5;++i)”时,运行结果又将如何 6-3 仔细阅读下面的语的程序,指出程序的运行结果。 #include"" void main()

{ int i, a=0; for(i=1;i<=5;i++) {do {i++; a++; } while(i<3); } i++; printf("a=%d,i=%d",a,i); } 答:a=3,i=7 思考:在for循环中嵌套着do-while循环,那么do-while循环中对i的修改会对for循环产生影响吗 6-4编写程序,用1000个单词”computer”填充屏幕,每行60个. 解:#include<> void main() { int i; for(i=1;i<=1000;i++) { printf("computer."); if(i%60==0)printf("\n"); } } 思考:在for循环中,”if(i%60==0)printf(“\n”);”语句的作用是什么没有此语句将会是什么状况 6-5输入一行字符(以$结束),统计其中的数字字符、空格字符出现的次数。 解:#include<> void main() { char c; int d=0,s=0; printf("请输入字符(当输入$时结束):");

循环结构程序设计练习题__内含答案

循环结构程序设计练习题__内含答案 第三单元循环结构练习题 选择题:(有答案) 1、有以下程序执行后的输出结果是()。 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n",s);} A.自然数1~9的累加和 B.自然数1~10的累加和 C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和 2、以下关于for语句的说法不正确的是()。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先判断表达式,后执行循环体语句 C. for循环中,可以用break跳出循环体 D. for循环体语句中,可以保含多条语句,但要用花括号括起来 3、若i和k都是int类型变量,有以下for语句 for(i=0,k=-1;k=1;k++) printf("*****\n"); 下面关于语句执行情况的叙述中正确的是()。 A.循环体执行两次 B.循环体执行一次 C.循环体一次也不执行 D.构成无限循环 4、若运行以下程序时,输入2473↙,则程序的运行结果是:()main ( ) { int c; while ((c=getchar( )) ! =’\n’) switch (c-‘2’) { case 0 : case 1 : putchar (c+4) ;

case 2 : putchar (c+4) ; break ; case 3 : putchar (c+3) ; default : putchar (c+2) ; break ; } pr intf(“\n”); } A)668977 B)668966 C)66778777 D)6688766 5、以下for循环的执行次数是:()。 for (x=0,y=0; (y=123) && (x<4) ; x++) ; A)无限循环 B)循环次数不定 C)4次 D)3次 6、已知 int t=0; while(t=1){...} 则以下叙述正确的是()。 A)循环控制表达式的值为0 B)循环控制表达式的值为1 C)循环控制表达式不合法 D)以上说法都不对 7、设有以下程序段() int x=0,s=0; while(!x!=0)s+=++x; printf("%d",s); 则 A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次 8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为()。for(i=0, j=10; i<=j; i++, j- -) k=i+j; A.6 B.9 C.10 D.11 9、C语言中,break; 语句可以用于循环语句和( )语句中。

相关主题
相关文档
最新文档