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

合集下载

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

(完整版)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循环中,根据情况可以省略while3、设有程序段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) 66、语句while(!E);中的表达式!E等价于(A)。

A)E==0 B)E!=1 C)E!=0 D)E==17、下面程序段的运行结果是(A)。

a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--; }printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18、下面程序的运行结果是(C)。

#include <stdio.h>main(){int num=0;while(num<=2){num++;printf(“%d\n”,nu m);}}A)1 B)1 C)1 D)12 2 23 39、以下能正确计算1×2×3×…×10的程序段是(C)。

C语言第六章复习题(含答案)

C语言第六章复习题(含答案)

1.t为int类型,进入下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是( B )(A) 循环控制表达式的值为0 (B) 循环控制表达式的值为1(C) 循环控制表达式不合法(D) 以上说法都不对2.有以下程序main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是( D )。

(A) 自然数1~9的累加和 (B) 自然数1~10的累加和(C) 自然数1~9中的奇数之和(D) 自然数1~10中的偶数之和3.以下程序段的输出结果是( C )。

int x=3;do{ printf("%3d",x-=2); }while(!(- -x));(A)1 (B)30 (C)1 -2 (D)死循环4.以下程序中,while循环的循环次数是( D)。

main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}(A) 1 (B) 10(C) 6 (D) 死循环,不能确定次数5.下面程序的输出是( B )。

(A)741 (B)852 (C)963 (D)main(){int y=9;for(;y>0;y--){if(y%3==0){printf("%d",--y);continue;}}}6.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是( A )。

for (i=5;i;i--)for(j=0;j<4;j++){...}(A)20 (B)25 (C)24 (D)307.执行语句: for(i=l;i++<4;;);后,变量i的值是(C)。

(A) 3 (B) 4 (C) 5 (D) 不定8.假定a和b为int型变量,则执行以下语句后b的值为( D )。

C语言循环结构选择题(新)

C语言循环结构选择题(新)
while ((ch=getchar( ))!='\n') { if (ch>='A' && ch<='Z') ch=ch+32;
else if (ch>='a' && ch<'z') ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A) ABCdef
B) abcDEF
i++;
} while(i!=0);
}
A) 7
B) 6
C) 5
D) 4
C
31、下面程序的运行结果是( )。
main( )
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
A) 4
B) 3
C) 5
D) 6
B
32、以下程序的输出结果是( )。
{ int s=0,k;
for(k=7;k>=0;k--)
{switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break; }
}
printf("s=%d\n",s);
for(t=1;t<=100;t++) { scanf("%d",&x);

C语言单元复习题 第06部份 循环

C语言单元复习题  第06部份 循环
B.只有do...while语句构成的循环能用break语句退出
C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
(知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
(知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
(知识点:continue语句; 难度系数:1; 答案:C )
A.x==0B.x==1C.x!=lD.x!=0
(知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0B.1C.真D.非0
(知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;

C 循环结构23道题[含答案解析]

C  循环结构23道题[含答案解析]

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环01:最大数写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。

输入39 28 5 63 18 27 0输出63测试:输入153 26 963 28 75 90 156 0输出963#include<iostream>using namespace std;int main(){int i,max=0;cin>>i;while(i!=0){if(i>max)max=i;cin>>i;}cout<<max<<endl;return 0;}循环02:素数输入正数n,判断n是否为素数。

若为素数则输出1,否则输出0。

(提示:素数是指只可以被1和其本身整除的正数(1除外))输入10输出0输入7输出1测试:输入9输出0#include<iostream>using namespace std;int main(){int n,i,d;cin>>n;for(i=2;i<n;i++){d=n%i;if(n%i==0)break;}if(n==i)cout<<"1"<<endl;elsecout<<"0"<<endl;return 0;}循环03:数列求和输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。

输入5输出1.56978输入4输出1.49286#include<iostream>using namespace std;int main(){int i,n;double s=0;cin>>n;for(i=1;i<=n;i++)s+=1.0/(3*i-2);cout<<s<<endl;return 0;}循环04:西瓜卖几天n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。

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

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的值为0b) 退出while循环后,x的值为1c) while的控制表达式是非法的d) while循环执行无限次3. 有以下程序段,其中n为整型变量,执行后输出结果是:()n=20 ;while(n--) ; printf(“%d”,n) ;a) 2 b) 10 c) -1 d) 04. 有以下程序段,其中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=1c) 输出x=0d) 输出x=-16. 有以下程序段,其中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=0c) x=1,y=1 d) x=0,y=0解析:在开始时 x=0,y=0;进入循环判断(x<=1)&&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1; 然后执行 x++,y--,执行之后x=1,y=0;再进入循环判断(x<=1)&&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1;然后执行 x++,y--,执行之后x=2,y=0;再进入循环判断(x<=1)&&(y= 1),条件不成立,跳出循环输出x=2,y=0 。

C语言程序设计:循环结构程序设计单元测试与答案

C语言程序设计:循环结构程序设计单元测试与答案

一、单选题1、下面程序的运行结果是 ( )。

#include <stdio.h>int main( ){int i=5;while(i>0);printf("%d",i--);return 0;}A.5B.死循环C.0D.-1正确答案:B2、关于下面程序段,正确的是()。

int k=10;while(!k)k--;A.循环体执行1次B.循环体执行10次C.循环体一次也不执行D.死循环正确答案:C3、下面程序的运行结果是( )。

#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1 -2B.死循环C.10D.1正确答案:A4、下面程序的运行结果是( )。

#include <stdio.h>int main( ){int i=10;while(i-->0);printf("%d ",i);return 0;}A.10B.0C.10987654321D.-1正确答案:D5、已定义int j; 下面程序段的输出结果是()。

for(j=7;j<10;j++)printf("%d",j);A.91011B.8910C.789D.无结果正确答案:C6、下面程序的输出结果是()。

#include <stdio.h>int main( ){int i,j,s=0;for(j=1,i=7;j<=i;j++,i--)s=s+i+j;printf("%d",s);return 0;}A.死循环B.28C.0D.32正确答案:D二、判断题1、while循环语句至少无条件执行一次循环体。

正确答案:×2、for循环语句只能用于循环次数已经确定的情况。

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

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

第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);}}答:24思考:语句“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输入一行字符(以$结束),统计其中的数字字符、空格字符出现的次数。

c语言循环试题及答案

c语言循环试题及答案

c语言循环试题及答案C语言循环试题及答案1. 以下哪个选项是C语言中实现循环的关键字?A. switchB. caseC. whileD. do答案:C2. 写出一个使用for循环的程序段,计算1到100之间所有奇数的和。

```cint sum = 0;for(int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of odd numbers from 1 to 100 is %d", sum);```3. 以下哪个语句是正确的while循环的语法?A. while (condition) statementB. do statement while (condition)C. for (initialization; condition; iteration)D. if (condition) statement答案:A4. 假设有一个数组arr[10],以下哪个循环可以用来遍历这个数组?```cint i;for(i = 0; i < 10; i++) {// 遍历数组}```5. 如果要使用do-while循环打印出1到5的数字,以下哪个程序段是正确的?```cint i = 1;do {printf("%d ", i);i++;} while (i <= 5);```6. 以下哪个选项是break语句的正确用法?A. 用于跳出switch语句B. 用于跳出循环C. 用于进入循环D. 用于结束程序答案:B7. 写出一个使用while循环的程序段,计算1到10的乘积。

int product = 1;int i = 1;while(i <= 10) {product *= i;i++;}printf("The product of numbers from 1 to 10 is %d", product); ```8. 以下哪个选项是continue语句的正确用法?A. 跳过当前循环的剩余部分,开始下一次循环B. 用于跳出循环C. 用于进入循环D. 用于结束程序答案:A9. 假设有一个字符串str,以下哪个循环可以用来遍历这个字符串?```cchar str[] = "Hello";int i = 0;while(str[i] != '\0') {// 遍历字符串i++;}```10. 以下哪个程序段将打印出2到10之间的所有偶数?for(int i = 2; i <= 10; i += 2) { printf("%d ", i);}```。

C语言 循环结构习题

C语言  循环结构习题

第5章循环结构习题第6章数组习题一、选择题1.在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。

A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式2.若有声明:int a[ 10];,则对a数组元素的正确引用是( )。

A)a[ 10]B)a[3.5]C)a(5)D)a[10-10]3.已知int a[10]={6,7,8,9,10};,以下对上述说明语句的正确理解是( )。

A)将5个初值依次赋给a[1]至a[5]B)将5个初值依次赋给a[0]至a[4]C)将5个初值依次赋给a[6]至a[ 10]D)因为数组长度与初值的个数不相同,所以此语句不正确4.以下对二维数组a的正确声明是( ) 。

A)int a[3][];B)float a(3,4);C)double a[1][4];D)float a(3)(4);5.若有声明:int a[3][4];,则对a数组元素的非法引用是( )A)a[0][2* 1] B)a[1][3]C)a[4-2][0] D)a[0][4]二、填空题1.下面程序的输出结果是________。

#include <stdio. h>int main( ){int i,j=90,a[]={3,5,8,9,10};for(i= 1;i<3;i++)j-=a[i];printf("%d\n" ,j-50);return 0;}2.下面程序的输出结果是________。

#include <stdio. h>int main( ){int a[]={2,3,5,4},i;for(i=0;i<4;i++)switch( i%2){case 0:switch(a[i]%2){case 0:a[i]++ ; break;case 1:a[i]--;}break;case l:a[i]=O;for(i=0;i<4;i++)prinf(" %d" ,a[1);printf("\n");return 0;}3.下面程序的输出结果是________。

C语言题库-循环结构

C语言题库-循环结构

一、选择题1.以下叙述正确的是A: do-while 语句构成的循环不能用其它语句构成的循环来代替。

B: do-while 语句构成的循环只能用break 语句退出。

C: 用do-while 语句构成的循环,在while 后的表达式为非零时结束循环。

D: 用do-while 语句构成的循环,在while 后的表达式为零时结束循环。

2.下面有关for 循环的正确描述是A: for 循环只能用于循环次数已经确定的情况B: for 循环是先执行循环体语句,后判定表达式C: 在for 循环中,不能用break 语句跳出循环体D: for 循环体语句中,可以包含多条语句,但要用花括号括起来3.C 语言中while 和do-while 循环的主要区别是A: do-while 的循环体至少无条件执行一次B: while 的循环控制条件比do-while 的循环控制条件严格C: do-while 允许从外部转到循环体内;D: do-while 的循环体不能是复合语句;4.下列关于switch 语句和break 语句的结论中,正确的是A: break 语句是switch 语句中的一部分B: 在switch 语句中可以根据需要使用或不使用break 语句C: 在switch 语句中必须使用break 语句D: switch 语句是break 语句的一部分5..以下正确的描述是A: continue 语句的作用是结束整个循环的执行;B: 只能在循环体内和switch 语句体内使用break 语句;C: 在循环体内使用break 语句或continue 语句的作用相同;D: 从多层循环嵌套中退出时,只能使用goto 语句;6.语句while(!e);中的条件!e 等价于A: e==0B: e!=0C: e!=1D: ~e7.在以下给出的表达式中,与while(E)中的E不等价的表达式是A: !E=0B: E>0||E<0C: E==0D: E!=08.在C 语言中,当do-while 语句中的条件为()时,结束该循环。

循环结构、函数练习题及答案

循环结构、函数练习题及答案

循环结构、函数练习题1.以下由while构成的循环执行的次数是:A:无限次B:有语法错,不能执行C:一次也不执行D:执行一次int k=0;while(k=1) k++;2.以下程序的输出结果是:A:15 B:14 C:不确定 D:0{ int i,sum;for (i=1;i<6;i++) sum+=i;printf(“%d\n”);}3. 以下的for循环是:A:无限循环B:循环次数不定C:执行4次D:执行3次for(x=0,y=0;(y!=123)&&(x<4);x++);4. 以下程序段的执行结果是:A:输出321 B:输出23 C:不输出任何内容D:陷入死循环int x=23;do{ printf(“%d”,x ); }while (!x);5. 以下程序段输出的结果是:A:12 B:15 C:20 D:25int i, j,m=0;for(i=1;i<=15;i+=4)for (j=3;j<=19;j+=4) m++;p rintf (“%d\n”,m);6.设j为int型变量,则下面for循环语句的执行结果是:A:6 3 B:7 4 C:6 2 D:7 3for (j=10;j>3;j--){ if (j%3) j--;--j; --j;printf(“%d”,j);}7.若i, j已定义为int类型,则以下程序段中内循环体的执行次数是:A:20 B:24 C:25 D:30for (i=5;i;i--)for (j=0;j<4;j++)8.若x是int型变量,以下程序段的输出结果是:A:**3 B:##3 C:##3 D:**3##4##4 **4 **4##5 **5**5 ##5for(x=3;x<6;x++)printf( ( x%2 ) ? (**%d”) : (“##%d\n”), x);9.以下函数的类型是(1),函数的返回值是(2):(1)A:与参数x的类型相同B:void类型C:int 类型D:无法确定(2)A:0 B:1 C:无法确定D:出错fff (float x){ printf(“%d\n”,x*x); }10. 以下函数调用语句中,含有的实参个数是:A:3 B:4 C:5 D:有语法错func (rec1,rec2+1,(rec3,rec4));11. 以下叙述中正确的是:A:C语言程序总是从第一个定义的函数开始执行B:在C语言程序中,要调用的函数必须在main()函数中定义C:C语言程序中,只有int类型的函数可以未经说明而出现在调用之后D:C语言程序中的main()函数必须放在程序的开始部分12.以下叙述中正确的是:A:C语言程序的函数中必需有return语句B:在C语言程序中,函数的类型必须进行显式说明C:函数中,return语句必须放在函数体的最后D:C语言程序中,return语句中表达式的类型应该与函数的类型一致13.能正确表示数学公式根号下sin(x0)的C语言表达式是:A:sqrt(abs(sin(x*/180)))B:sqrt(sin(x*3.14/180)))C:sqrt(sin(x))D:sqrt(fabs(sin(x*3.14/180)))14.能求出a的3次方的表达式是:A:a^3 B:a**3 C:pow(a,3) D:power(a,3)15.以下正确的函数定义是:A:double sub(int x,y) B:double sub(int x,inty);{ double z; { double z;z=x-y; return z; } z=x-y; return z; }C: double sub(int x, int y) D:double sub(int x, int y) { z=x-y; { double z;return z; } z=x-y; return z; }16.C语言中,形参与实参之间的数据传递方式是:A:只能按值传递B:只能按地址传送C:由使用者指定传递方式D:既可以按值传送也可以按地址传送17.以下程序的输出结果是:A:9 8 B:8 9 C:6 6 D:以上三个都不对#include <math.h>void main(){ double a=-3.0,b=2;printf(“%3.0f,%3.0f\n”,pow(b,fabs(a)),pow(fabs(a),b)); }循环结构、函数练习题答案1. A2. C3. C4. B5. C6. B7. A8. D9.C、C10. A11. C12. D13. D14. C15. D16. D17. B。

c语言循环试题及答案

c语言循环试题及答案

c语言循环试题及答案C语言是一种广泛应用于计算机编程领域的编程语言。

在学习C语言的过程中,掌握循环语句是非常重要的,因为循环可以使程序重复执行特定的代码块。

下面将介绍几道C语言循环试题及其详细答案,希望对你的学习有所帮助。

试题一:编写一个程序,要求用户输入一个整数n,计算并输出1到n之间的所有自然数的和。

答案一:```c#include <stdio.h>int main() {int n, i, sum = 0;printf("请输入一个整数n: ");scanf("%d", &n);for (i = 1; i <= n; i++) {sum += i;}printf("1到%d之间的所有自然数的和为:%d\n", n, sum);return 0;}```试题二:编写一个程序,要求用户输入一个正整数n,计算并输出n的阶乘。

答案二:```c#include <stdio.h>int main() {int n, i;unsigned long long factorial = 1;printf("请输入一个正整数n: ");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial *= i;}printf("%d的阶乘为:%llu\n", n, factorial);return 0;}```试题三:编写一个程序,要求用户输入一个整数n,判断并输出n是否为素数(质数)。

答案三:```c#include <stdio.h>int main() {int n, i, isPrime = 1;printf("请输入一个整数n: ");scanf("%d", &n);for (i = 2; i <= n / 2; i++) {if (n % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {printf("%d是素数。

循环试题及答案

循环试题及答案

循环试题及答案一、单项选择题(每题2分,共20分)1. 在循环结构中,以下哪个关键字用于控制循环的执行次数?A. ifB. forC. whileD. switch答案:B2. 在for循环中,以下哪个表达式用于初始化循环变量?A. 条件表达式B. 循环体C. 初始表达式D. 终止条件答案:C3. 下列哪个选项是while循环的一般形式?A. while (条件) {循环体}B. for (初始化; 条件; 迭代) {循环体}C. do {循环体} while (条件);D. A和B答案:A4. 在循环中,break语句的作用是什么?A. 继续执行下一个循环B. 跳出当前循环C. 跳转到循环的开始D. 终止程序答案:B5. 下列哪个选项不是循环结构的特点?A. 可以执行0次B. 可以执行有限次C. 可以执行无限次D. 只能执行一次答案:D6. 在for循环中,迭代表达式的作用是什么?A. 用于初始化循环变量B. 用于更新循环变量C. 用于判断循环条件D. 用于执行循环体答案:B7. 下列哪个关键字不是用于循环控制的?A. continueB. breakC. returnD. goto答案:C8. 在while循环中,如果条件表达式始终为真,会发生什么?A. 循环将无限执行B. 循环将执行一次C. 循环将不执行D. 程序将崩溃答案:A9. 下列哪个选项是do-while循环的特点?A. 循环体至少执行一次B. 循环体可能不执行C. 循环体只执行一次D. 循环体执行次数无限答案:A10. 在for循环中,以下哪个表达式用于判断循环是否继续?A. 初始表达式B. 条件表达式C. 迭代表达式D. 循环体答案:B二、填空题(每题2分,共10分)1. 在for循环中,循环变量的初始值由______表达式设定。

答案:初始2. 循环结构通常用于执行______次的操作。

答案:重复3. 使用______语句可以立即退出循环。

ch62

ch62
Y N
do-while语句 do-while语句 … break; …
表达式? 表达式?
Y N
for语句 for语句 计算表达式1 计算表达式1
表达式2? 表达式2?
Y N
… break; …
… break; …
计算表达式3 计算表达式3 后续语句
2010-12-4
后续语句
后续语句
26
输出半径为 半径为1 10的圆面积,面积大于100 100时停止 例:输出半径为1到10的圆面积,面积大于100时停止
1234
4

2010-12-4
5
2.C语言中while和do-while循环的主要区别 2.C语言中 语言中while和do-while循环的主要区别 是( A ) A.do-while的循环体至少无条件执行一次 A.do-while的循环体至少无条件执行一次 B.While的循环控制条件比 -while的循环 B.While的循环控制条件比do-while的循环 的循环控制条件比do 控制条件严格 C.doC.do-while 允许从外部转到循环体内 D. do-while 的循环体不能是符合语句 do-
2010-12-4
9
6.以下程序段() 6.以下程序段() 以下程序段 C
x=-1; x=do {x=x*x;} while(!x);
A.是死循环 A.是死循环 C.循环执行1次 C.循环执行 循环执行1
B.循环执行2次 B.循环执行 循环执行2 D.有语法错误 D.有语法错误
2010-12-4
10
B 7.若i为整型变量,则以下循环执行次数是() 7.若 为整型变量,则以下循环执行次数是() for(i=2;i==0;)printf(“%d\ ,i--); for(i=2;i==0;)printf(“%d\n”,i--); A. 无限次 B. 0次 C. 1次 D. 2次 0次 1次 2次

C语言复习题循环结构

C语言复习题循环结构
********************
********************
********************
********************
仔细阅读下面的程序,在空白处填写适当内容,完成程序。
#include <stdio.h>
__①__;
int main()
{
int m, n;
2、下面程序的功能是输出1到100之间数位上数字的乘积大于数位上数字之和的数。例如数字26,数位上数字的乘积12大于数字之和8。请在空白处填写适当内容,完成程序。
#include <stdio.h>
int main()
{ intn,k=1, s=0,m;
for(n=1;⑥;n++)
{ k=1;
s=0;
double f(int n)
{
double y, p;
int k, s;
y = 0.0;
p =⑥;
k = 1;
while (⑦)
{
y =⑧;
k++;
p =⑨;
}
return⑩;
(6)0.5或2(7)k<=n(8) y+p或y+1.0/p(9) p/2或2*p (10) y
4、下面程序的功能是输入多个实数,求这些实数的最大值和最小值。当输入为0时结束输入。请在空白处填写适当内容,完成程序。
printf("m, n = ? ");
scanf("%d %d", &m, &n);
__②__;
return 0;
}
voidPara(int height, int width)

c语言循环练习题

c语言循环练习题

c语言循环练习题C语言循环练习题C语言是一门广泛应用于计算机科学领域的编程语言,掌握好循环结构是学习C语言的重要一步。

循环结构允许我们重复执行一段代码,这在处理大量数据或需要重复操作的情况下非常有用。

接下来,我们将通过一些C语言循环练习题来巩固对循环结构的理解和应用。

1. 打印九九乘法表九九乘法表是一个经典的练习题,可以通过嵌套循环来实现。

我们可以使用两个循环,一个用于控制行数,另一个用于控制列数。

在每个位置上,将行数和列数相乘即可得到结果。

2. 计算阶乘阶乘是一个常见的数学运算,在C语言中可以使用循环结构来实现。

我们可以通过一个循环,从1开始逐步累乘,直到达到所需的数值。

可以使用一个变量来保存累乘的结果。

3. 判断素数素数是只能被1和自身整除的大于1的自然数。

判断一个数是否为素数可以通过循环结构来实现。

我们可以从2开始,逐个尝试除以每个小于该数的自然数,如果存在能整除的数,则该数不是素数。

4. 斐波那契数列斐波那契数列是一个经典的数列,在该数列中,每个数都是前两个数的和。

可以通过循环结构来实现斐波那契数列的计算。

可以使用两个变量来保存前两个数的值,并通过循环不断更新这两个变量的值。

5. 求最大公约数求最大公约数是一个常见的数学问题,可以通过循环结构来实现。

可以使用辗转相除法来求解最大公约数,即通过不断取两个数的余数,将较大的数替换为余数,直到余数为0。

6. 猜数字游戏猜数字游戏是一个简单而有趣的游戏,可以通过循环结构来实现。

可以随机生成一个目标数字,并让用户通过输入猜测的数字来进行游戏。

通过循环判断用户的猜测是否正确,并根据猜测的结果给出相应的提示。

通过以上的练习题,我们可以巩固对C语言循环结构的理解和应用。

循环结构在编程中非常重要,它可以帮助我们处理大量的数据和重复的操作。

通过不断练习和实践,我们可以逐渐掌握循环结构的技巧,并能够灵活运用到实际的编程项目中。

总结C语言循环练习题是提高编程技能的有效途径之一。

c语言循环题库

c语言循环题库

c语言循环题库一、在C语言中,以下哪个循环结构不是基于条件的循环?A. for循环B. while循环C. do-while循环D. goto语句(答案)二、以下哪个选项不是for循环的控制表达式?A. 初始化表达式B. 循环条件表达式C. 循环体D. 迭代表达式(答案:C是循环体,不是控制表达式)三、在C语言的while循环中,循环条件通常是一个什么类型的表达式?A. 赋值表达式B. 关系表达式或逻辑表达式(答案)C. 算术表达式D. 逗号表达式四、以下哪个选项描述的do-while循环的特点是不正确的?A. 循环体至少执行一次B. 循环条件在循环体之后判断C. 循环条件为真时,循环继续执行D. 循环条件通常是一个赋值表达式(答案)五、在C语言中,如何跳出当前所在的循环体?A. 使用continue语句B. 使用break语句(答案)C. 使用return语句D. 使用goto语句六、以下哪个选项不是使用循环结构时需要注意的问题?A. 循环条件的设置B. 循环体的设计C. 循环变量的初始化(答案:虽然重要,但相比其他选项更偏向于编程习惯)D. 避免无限循环的发生七、在嵌套循环中,如何跳出最外层的循环?A. 使用多次break语句B. 在最外层循环中使用goto语句配合标签跳出(答案)C. 使用continue语句D. 无法直接跳出,需要重新设计循环结构八、以下哪个选项描述的for循环的语法结构是不正确的?A. for(初始化表达式; 循环条件表达式; 迭代表达式) 循环体;B. for(循环条件表达式; 初始化表达式; 迭代表达式) 循环体;(答案)C. for(;;) 循环体; // 相当于一个无限循环D. for(初始化表达式; ; 迭代表达式) { 如果条件满足则执行循环体; } // 需要内部判断条件九、在C语言中,continue语句的作用是?A. 跳出当前循环体,继续执行下一轮循环(答案,但描述略有歧义,实际上是结束当前迭代,进入下一次迭代条件判断)B. 跳出当前函数C. 跳出所有循环D. 结束整个程序十、以下哪个选项不是循环结构在程序设计中的应用场景?A. 重复执行相同的操作直到满足某个条件B. 遍历数组或集合中的每个元素C. 实现递归算法(答案)D. 计算累加、累乘等需要重复计算的问题。

C语言循环结构选择题(新)

C语言循环结构选择题(新)

C语言循环结构选择题(新)1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for (i=5;i;i--)for (j=0;j<4;j++){...}A) 20 B) 25C) 24 D) 30Afor(i=0,j=10;i<=j;i++,j--) k=i+j;2、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为A) 12 B) 10C) 11 D) 9B3、当执行以下程序段时x=-1;do { x=x*x;} while( !x);A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误A4、若输入字符串:abcde<回车>,则以下while循环体将执行多少次。

while((ch=getchar())=='e') printf("*");A) 5 B) 4C) 6 D) 1B5、有以下程序段int k=0;while (k=1) k++;while循环执行的次数是A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行一次A6、语句while(!e);中的条件!e 等价于( )。

A) e==0 B) e!=1C) e!=0 D) ~eA7、以下for循环是( )。

for(x=0,y=0;(y!=123) && (x<4);x++)A) 无限循环B) 循环次数不定C) 执行4次D) 执行3次C8、C语言中while 和do-while 循环的主要区别是( )。

A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句A9、以下叙述正确的是( )。

A) continue语句的作用是结束整个循环的执行B) 只能在循环体内和switch语句体内使用break语句C) 在循环体内使用break语句或continue语句的作用相同D) 从多层循环嵌套中退出时,只能使用goto语句B10、对下面程序段,描述正确的是( )。

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

循环结构程序设计复习题一.选择题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的值为0b) 退出while循环后,x的值为1c) while的控制表达式是非法的d) while循环执行无限次3. 有以下程序段,其中n为整型变量,执行后输出结果是:()n=20 ;while(n--) ; printf(“%d”,n) ;a) 2 b) 10 c) -1 d) 04. 有以下程序段,其中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=1c) 输出x=0d) 输出x=-16. 有以下程序段,其中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=0c) x=1,y=1 d) x=0,y=0解析:在开始时 x=0,y=0;进入循环判断(x<=1)&&(y= 1) 条件成立,同时把1赋给y,此时x=0,y=1;然后执行 x++,y--,执行之后x=1,y=0;再进入循环判断(x<=1)&&(y= 1),条件成立,同时同时把1赋给y,此时x=1,y=1; 然后执行 x++,y--,执行之后x=2,y=0;再进入循环判断(x<=1)&&(y= 1),条件不成立,跳出循环输出x=2,y=0 。

7. 有以下程序:main(){ int x=0,y=0;while(x<5&&++y) y--,x++;printf(“%d,%d”,y,x);}程序的输出结果是:()a) 0,5 b) 1,5 c) 0,4 d) 1,48. 有以下程序:main(){ int num=0;do{ num++ ;printf(“%d\n”,num); }while(num<=2);}程序的输出结果是:()a) 1 b) 1c) 1 d) 12 2 23 349. 有以下程序:main(){ int x=3;do{ printf(“%d”,x-=2); }while(!(--x));}程序的输出结果是:()a) 1 b) 3 0 c) 1 -2 d) 死循环10. 有以下程序:main(){ int y=10;do { y--; } while(--y);printf(“%d\n”,y--);}程序的输出结果是:()a) 1 b) -1 c) 8 d) 011. 有以下程序:main(){ int x=3,y;do{ y=--x;if( !y) printf(“x”) ;else printf(“y”) ;} while(x);}程序的输出结果是:()a) xyx b) yyx c) yxx d) yxy12. 有以下程序段,此处do-while循环的结束条件是:()int n=0,p;do {scanf(“%d”,&p);n++;} while (p!=12345&&n<3);a) p的值不等于12345并且n的值小于3b) p的值等于12345并且n的值大于等于3c) p的值不等于12345或者n的值小于3d) p的值等于12345或者n的值大于等于313. 有以下程序:main(){ int a,b,t;for(a=3,b=0 ;!a==b ;a--,b++)if(a>b) { t=a;a=b;b=t;}printf(“%d,%d\n”,a,b);}程序的输出结果是:()a) 4,1 b) 1,4 c) 4,-1 d) -1,414. 有以下程序:main(){ int x=3,y=0;do{ while( !y) y=-x;} while(x--);printf(“%d,%d\n”,x,y);}程序的输出结果是:()a) -1,3 b) -1,-3c) 0,0 d) 1,-315. 有以下程序: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=016. 有以下程序:main(){ int i,s=1;for(i=1 ;i<=50 ;i++)if( !(i%5)&& !(i%3)) s+=i;printf(“%d\n”,s);}程序的输出结果是:()a) 409 b) 277 c) 1 d) 9117. 有以下程序:main(){ int x=0,y=0,i;for(i=1 ; ;++i){ if(i%2==0) {x++ ;continue ;}if(i%5==0) {y++ ;break ;}}printf(“%d,%d”,x,y);}程序的输出结果是:()a) 2,1 b) 2,2 c) 2,5 d) 5,218. 有以下程序:main(){ int i=0,a=0;while(i<30){for(;;){if((i%10)==0) break;else i--;}i+=11; a+=i;}printf(“%d\n”,a);}程序的输出结果是:()a) 66 b) 63 c) 33 d) 3219. 有以下程序:main(){ int a,b;for(a=1,b=1 ;a<=100 ;a++){ if(b>=10) break;if(b%3==1){ b+=3; continue; }}printf(“%d\n”,a);}程序的输出结果是:()a) 101 b) 6 c) 5 d) 420. 有以下程序:main(){ int i=0;for(i+=3 ;i<=5 ;i=i+2)switch(i%5){ case 0: printf(“*”);case 1: printf(“#”); break;default: printf(“!”); break;case 2: printf(“&”);}}程序的输出结果是:()a) *# b) !& c) !*# d) *#* 二.填空题1.要求使以下程序段输出10个整数,请填空。

for(i=0;i<=_18_;printf(“%d\n”,i+=2));2. 执行下面程序段后,k的值是_____0_____。

r=1; n=203; k=1;do {k*=n%10*r; n/=10; r++;} while(n);3. 下面程序的输出结果是_1 2 5 10_。

main(){ int i,x=10;for(i=1;i<=x;i++)if(x%i==0) printf(“%d ”,i);}4. 下面程序的输出结果是___无定值________。

main(){ int i,sum;for(i=1;i<6;i++) sum+=i;printf(“%d”,sum);}5. 下面程序的输出结果是_20__。

main(){ int i,sum=0;for(i=2;i<10;i++){ if((i%2)!=0) continue;sum+=i;}printf(“%d\n”,sum);}6.下面程序的输出结果是**!*!!__!!!____。

main(){ int i,j;for(i=2;i>=0;i--){ for(j=1;j<=i;j++) printf(“*”);for(j=0;j<=2-i;j++) printf(“!”);printf(“\n”);}}7. 下面程序的输出结果是___1,1____。

main(){ int i,j=0,a=0;for(i=0;i<5;i++)do{ if(j%3) break;a++; j++;} while(j<10);printf(“%d,%d\n”,j,a);}8. 下面程序的输出结果是___852____。

main(){ int x=9;for(;x>0;){ if(x%3==0){ printf(“%d”,--x); continue; }x--;}}9. 下面程序的输出结果是____***#____。

main(){ int i,j=2;for(i=1;i<=2*j;i++)switch(i/j){ case 0: case 1: printf(“*”); break;case 2: printf(“#”);}}三.操作题1.计算1到10之间的奇数之和以及偶数之和。

2.输出100以内能被3整除且个位数为6的所有整数。

3.找出2至99之间的全部同构数。

同构数是这样一组数:它出 现在其平方数的右边,例如,5是25右边的数,25是625右边 的数,5和25都是同构数。

4.根据以下近似公式求∏值。

22221......312116n ++++=π5.根据以下公式求S 的值。

121......7151311++-+-=n S6.根据以下公式求S 的值。

!1......!31!211n S ++++=。

相关文档
最新文档