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语言循环结构练习题集带答案解析
第5章循环结构程序设计5.1 基本知识点while语句的使用格式和注意事项do-while语句的使用格式和注意事项for语句的使用格式和注意事项break和continue语句在循环语句中的应用循环结构的嵌套使用goto语句实现循环结构穷举法程序设计方法迭代程序设计方法5.2 练习题51. 单项选择题(1)语句while (!e);中的条件!e等价于 A 。
A. e==0B. e!=1C. e!=0D. ~e(2)下面有关for循环的正确描述是 D 。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在for循环中,不能用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中 D 。
A. 不能使用do-while语句构成的循环B. do-while语句构成的循环必须用break语句才能退出C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是 A 。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句(5)以下程序段 C 。
int x=-1;do{x=x*x;}while (!x);A. 是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误(6)下列语句段中不是死循环的是__C__。
A. i=100;while (1){i=i%100+1;if (i==20) break;}B. for (i=1;;i++)sum=sum+1;C. k=0;do{++k;} while (k<=0);D. s=3379;while (s++%2+3%2)s++;(7)与以下程序段等价的是__A__。
C语言循环习题答案
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 55 6.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。
B.do---while语句构成的循环只能用break语句退出。
C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while语句构成的循环,在while后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。
广技师C语言复习题4. 练习(循环结构)(有答案)
一、选择题1. 设有如下程序段,则下面描述正确的是int k=10;while (k=0) k=k-1;A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次2. 下面程序段的运行结果是a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--;}pirntf(“%d, %d, %d”,a,b,c);A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 3. 下面程序段的运行结果是。
int n=0;while(n<=2) n++; printf(“%d”,n);A.2 B.3 C.4 D.有语法错误4. 设有如下程序段,则描述正确的是。
t=0;while (printf(“*”)){t++; if(t<3) break;}A.其中循环控制表达式与0等价B.其中循环控制表达式与‘0’等价C.其中循环控制表达式是不合法的D.以上说法都不对5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。
#include<stdio.h>int main(){int a,b,t;scanf("%d%d",&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}return 0;}A.!a=b B.a!=b C.a==b D.a=b8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。
#include<stdio.h>int main(){int a,max=0;scanf("%d",&a);while( ){if(max<a) max=a;scanf("%d",&a);}printf("%d\n",max);return 0;}A.!a=0 B.a!=0 C.a= =0 D.a=09. 下面程序的运行结果是。
C语言循环结构练习题带答案.doc
第 5 章循环结构程序设计练习题1.单项选择题( 1)语句 while (!e);中的条件!e等价于A。
A. e==0B. e!=1C. e!=0D. ~e( 2)下面有关for循环的正确描述是D。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在 for循环中,不能用break 语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。
A.不能使用do-while语句构成的循环B. do-while 语句构成的循环必须用break 语句才能退出C. do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环D. do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环( 4) C 语言中 while 和 do-while 循环的主要区别是A 。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句( 5)以下程序段C。
int x=-1;do{x=x*x;}while (!x);A.是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误( 6)下列语句段中不是死循环的是__C__。
A.i=100;while (1){i=i%100+1;if (i==20) break;}B.for (i=1;;i++)sum=sum+1;C.k=0;do{++k;} while (k<=0);D.s=3379;while (s++%2+3%2)s++;( 7)与以下程序段等价的是__A__。
while (a){if (b) continue;c;}A.while (a)B.while (c){ if (!b) c; }{ if (!b) break; c; }C. while (c)D. while (a){ if (b) c; }{ if (b) break; c; }( 8)以下程序的输出结果是_B___。
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循环语句只能用于循环次数已经确定的情况。
(完整版)C语言循环习题答案
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。
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语言各章节单元测试题及答案——循环结构程序设计
第3章循环结构程序设计3.1 典型考试题剖析3.1.1 选择题【例1】若有如下程序段,其中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;✧考点:本例考查for循环。
✧分析:初始赋值时s=a,那么s的值一定与a有关,C、D答案中不含a所以排除掉。
只用清楚for循环的次数,不管b以前的值为多少,第一次循环时b=1,当b>c时循环结束,那么显然s要加c次1。
所以s的值为a与c的和。
✧答案:B【例2】设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;}A) 2 B) 4 C) 6 D) 8✧考点:本例考查for循环中break和continue的用法,以及区别。
✧分析:break用在循环中,只能退出一层循环。
尤其是在嵌套循环中,只能退出它所在的那一层循环。
不能期望用break从最内层循环一下子退出最外层循环(可以用goto实现)。
continue语句只能用在循环中,它的作用是跳过其后面的语句,直接将控制转移到下一轮循环条件的测试。
语句“if(x>=10) break;”中的break只有当x>=10时,才会执行,并且跳出for循环;语句“x+=5;continue;”是每次执行完一次跳过其后面的语句,直接将控制转移到下一轮循环条件的测试for(y=1,x=1;y<=50;y++)中。
✧答案:C【例3】以下程序中,while循环的循环次数是_______。
main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}A) 1 B) 10 C) 6 D) 死循环,不能确定次数✧考点:本例考查while循环的用法,以及continue和break的分别。
广技师C语言复习题4.练习(循环结构)(有答案)
一、选择题1. 设有如下程序段,则下面描述正确的是int k=10;while (k=0) k=k-1;A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次2. 下面程序段的运行结果是a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--;}pirntf(“%d, %d, %d”,a,b,c);A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 3. 下面程序段的运行结果是。
int n=0;while(n<=2) n++; printf(“%d”,n);A.2 B.3 C.4 D.有语法错误4. 设有如下程序段,则描述正确的是。
t=0;while (printf(“*”)){t++; if(t<3) break;}A.其中循环控制表达式与0等价B.其中循环控制表达式与‘0’等价C.其中循环控制表达式是不合法的D.以上说法都不对5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。
#include<stdio.h>int main(){int a,b,t;scanf("%d%d",&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}return 0;}A.!a=b B.a!=b C.a==b D.a=b8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。
#include<stdio.h>int main(){int a,max=0;scanf("%d",&a);while( ){if(max<a) max=a;scanf("%d",&a);}printf("%d\n",max);return 0;}A.!a=0 B.a!=0 C.a= =0 D.a=09. 下面程序的运行结果是。
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是素数。
计算机二级C语言循环结构练习题答案
12.答案选择:C
考点:break语句
分析:break语句只能出现在switch结构和循环结构中。
13.答案选择:C
考点:while循环和break语句
分析:谨记break跳出的是真个循环,如果是循环的嵌套那么就跳出内循环。
(1) x=15,判断:x>10为真,执行x++后x的值为16,判断(x%3)为真,则继续执行if语句,x++后x的值为17,接着执行break语句,跳出循环。
②判断内循环2中的条件(b>a)为真,执行b-=a则b=4,a=7继续判断内循环2中的条件(b>a)为假。
(2)a=7,b=4,判断外循环中的条件(a!=b)为真,执行内循环:①判断内循环1中的条件(a>b)为真,执行a-=b则a=3,b=4继续判断内循环1中的条件(a>b)为假。
②判断内循环2中的条件(b>a)为真,执行b-=a则b=1,a=3继续判断内循环2中的条件(b>a)为假。
分析:switch(表达式)中的表达式和case 表达式一致,则执行表达式后面的语句,否则执行default后面的语句。case或是default后面的语句中如果有break语句则跳出switch结构。
(1)k=5,n=0,k>0为真,执行switch(5),因为没有case 5,因此执行default : break;跳出switch(5),执行switch(5)后面的语句,k--后k的值为4。
(3)i=2,s=3,因为永真,执行for语句,判断第一个if中的表达式(i==3||i==5)为假,不会执行continue。接着判断第二个if中的表达式(i==6)为假,不会执行break语句。继续执行i++后i的值为3,s+=i后s的值为6。
C语言循环结构程序设计习题与答案
一、单选题1、计算1!+2!+3!+4!+5!编程如下,程序中下划线处应填写#include <stdio.h>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 1B.O 0C.O 1D.l 0正确答案:D2、下面代码段的输出是一int k,m;for(k=0;k<10;k++ ){if(m>50) continue;m=k*k;)printf("%d,%d\n”,k,m);A. 10,64B.9,81C.10,81D.8,64正确答案:A3、对于以下代码:int i;for(i=0;i<10;i++)pnntf("%d",i);for循环结束后,i的值是—A.llB.10C.9D.i不再存在了正确答案:B4、对于以下代码:int i=6;do{printf("%d", i-);}while(i-);正确的是—A,输出6420-2-4…,程序无法停机B,输出6420C.输出6420-2D输出642正确答案:A5、对于以下代码:int i=6;do{printf("%d", i-);}while(i);最后一个输出的值是—A.2B.3C.OD.l正确答案:D6、在代码:while(e)中,e等价于_A.e == 0B.e != 1C.e == 1D.e!=0正确答案:D7、在代码:while© |1)中,e等价于_A.e!=0B.e == 1C.e取任何值D.e == 0正确答案:C8、设有程序段int k=5;while(k=0) k=k-l;则下面描述中正确的是A,循环体语句一次也不执行B.while循环执行5次C.循环体语句执彳亍一次D彳盾环是无限循环正确答案:A9、下面程序段的运行结果是int n=0;while(n++<=2);printf("%d",n);A.有语法错B.2C.4D.3正确答案:C10、若有如下语句int x=3;do{ printf("%d\n"z x -=2);} while(!(-x));则上面程序段—A,是死循环B,输出的是1C.输出的是3和0D,输出的是1和・2正确答案:D11、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空,答案是#includemain()int n,sum=0;n=2345;sum=sum+(n%10)*(n%10);n=_;}while(n);printf("sum=%d"/sum);}A.n/10B.n%10C.n/100D.n/1000正确答案:A12、下面程序段—for(t=l;t< = 100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);)A.最多允许输出100个非负整数B.x>=0时什么也不输出C.printf函数永远也不执行D・当x<0时整个循环结束正确答案:A13、下列运算符中结合方向与其他不同的是A.+=B.< =c.>D.+正确答案:A14、下列运算符中结合方向与其他不同的是A.&&B.?:c.||D.+正确答案:B15、以下代码输出结果是—int x=0,y=20,z=30 ;if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.代码错误,不能输出B.y=50C.y=20D,不确定正确答案:B16、以下代码输出结果是—int x=0z y=20,z=30if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.y=20B.代码错误,不能执行C.y=50D,不确定正确答案:B17、下列程序段的输出结果是一int a=3,b=15;a+=b;b=b/2;}while(b>l);printf("%d\rT,a);正确答案:28二、多选题1、在c语言中,叙述正确的是()。
C语言程序设计习题集第4章 循环结构(答案)
第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是( A)A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次2、t为int类型,进入下面的循环之前,t的值为0while( t=1){ …… }则以下叙述中正确的是( B)A) 循环控制表达式的值为0B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D) m!=14、有以下程序,程序运行后的输出结果是(C )。
main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D )。
main(){ int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n--;printf(“%d”,n);}}该程序段的输出结果是(B)A) 987 B) 876 C) 8765 D) 98767、以下程序的输出结果是( B )main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A) 1 B) 1 C)1 D) l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。
main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2.000000 D)2.4000009、执行以下程序段时x=-1;do{ x=x*x; }while(! x);则下面描述正确的是(A )A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误10、有以下程序段其输出结果是(C )int x=3;do{ printf("%d",x-=2); }while (!(--x));A) 1 B) 3 0 C) 1 -2D) 死循环11、有如下程序main(){int x=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B )A) 321 B) 23 C) 不输出任何内容D) 陷入死循环12、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是( D)A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A) n=0;do {++n;}while(n<0);B) n=0;while(1){n++;}C) n=10;while(n);{n--;}D) for(n=0,i=1; ;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i= =0;) printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A) 3 B) 4 C) 5 D) 不定16、有以下程序main(){int y=9 ;for( ; y>0 ; y--)if(y%3==0 ) printf("%d" , --y) ;}程序的运行结果是(C)A) 741 B)963 C)852 D)87542117、以下程序执行后sum的值是( C)A)15 B)14 C) 不确定D)0main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}18、有如下程序main(){ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A) 6 B) 3 C) 死循环D) 019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )A)0 B)10 C)-1 D)120、执行下面程序片段的结果是(A )。
C循环结构程序设计试题以及参考答案
C循环结构程序设计试题以及参考答案C循环结构程序设计试题以及参考答案实验内容:1.编程:输出200以内所有能被7整除的数。
#includemain(){int i;for(i=1;i<200;i++)if(i%7==0)printf("%4d",i);}2. 编程:求出1 ~ 1000之间能被13整除的最⼤的那个数。
#includemain(){int i,max=0;for(i=1;i<1000;i++)if(i%13==0){i>=max;max=i;}printf("max=%d",max);}3.编程:找出若⼲个⾮零数中的最⼩值m以及它们的平均值a。
要求:若⼲个数由键盘输⼊,每次输⼊⼀个赋给变量x,x为零时,结束输⼊。
#includemain(){int n,i,b,min,s=0;float a;printf("输⼊的数据的个数n=");scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&b);if(i==1)min=b;if(min>b)min=b;s=s+b;}a=s*1.0/n;printf("min=%d\n a=%f",min,a); }4. 编程:求两个正整数m、n之间所有奇数之和x与偶数之和y。
要求:(1)m、n的值由键盘输⼊。
(2)输⼊时,允许⽤户随意先输⼊⼤的或⼩的整数。
#include main(){int m,n,i,x1=0,x2=0;printf("input m,n(mscanf("%d,%d",&m,&n);for(i=m;i<=n;i++){if (i%2==1)x1+=i;elsex2+=i;}printf("x1=%d,x2=%d\n",x1,x2);}5. 编程:计算π的近似值,π的计算公式为:要求:(1)n值由键盘输⼊。
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语言循环习题答案
循环习题集锦一. 选择题1. for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;)A. 5 B 6 C 4 D死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf("%d\n”,s))A 1B 9C 10D 154.要使下面程序输出10个整数则在下画线处填入正确的数是(c)for(i=0;i<=;)printf("%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf("%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;)k+=11;a+=k;)printf("%d %d\n”,k,a);)则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。
B.do---while语句构成的循环只能用break语句退出。
C.用do---while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do---while语句构成的循环,在while后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf("%d”,x--);}while(!x);)该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章循环结构程序设计5.1基本知识点✍while语句的使用格式和注意事项✍do-while语句的使用格式和注意事项✍for语句的使用格式和注意事项✍break和continue语句在循环语句中的应用✍循环结构的嵌套✍使用goto语句实现循环结构✍穷举法程序设计方法✍迭代程序设计方法5.2练习题51.单项选择题(1)语句while(!e);中的条件!e等价于A。
A.e==0B.e!=1C.e!=0D.~e(2)下面有关for循环的正确描述是D。
A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判定表达式C.在for循环中,不能用break语句跳出循环体D.for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。
A.不能使用do-while语句构成的循环B.do-while语句构成的循环必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是A。
A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句(5)以下程序段C。
intx=-1;do{x=x*x;}while(!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误(6)下列语句段中不是死循环的是__C__。
A.i=100;while(1){i=i%100+1;if(i==20)break;}B.for(i=1;;i++)sum=sum+1;C.k=0;do{++k;}while(k<=0);D.s=3379;while(s++%2+3%2)s++;(7)与以下程序段等价的是__A__。
while(a){if(b)continue;c;}A.while(a)B.while(c) {if(!b)c;} {if(!b)break;c;}C.while(c)D.while(a) {if(b)c;} {if(b)break;c;} (8)以下程序的输出结果是_B___。
#include<stdio.h>main()inti;for(i=4;i<=10;i++){if(i%3==0)continue;COUT<<i;}}A.45B.457810C.69D.678910(9)以下程序的输出结果是__C__。
#include<stdio.h>main(){intnum=0;while(num<=2){num++;cout<<num<<endl;}}A.1B.1C.1D.12 2 23 34 2.填空题(1)以下程序的运行结果是__S=7__。
#include<stdio.h>main(){ints=0,k;for(k=7;k>=0;k--){switch(k){case1:case4:case7:s++;break;case2:case3:case6:break;case0:case5:s+=2;break;}cout<<s;}(2)以下程序的运行结果是i=8。
#include<stdio.h>main(){inti=1,s=3;do{s+=i++;if(s%7==0)continue;else++i;}while(s<15);Cout<<i;}(3)以下程序的运行结果是____。
#include<stdio.h>main(){inti,j;for(i=4;i>=1;i--){cout<<"*";for(j=1;j<=4-i;j++)cout<<"*";cout<<"\n";}}输出结果:**********(4)以下程序的运行结果是____。
#include<stdio.h>main(){inti,j,k;for(i=1;i<=6;i++)for(j=1;j<=20-2*i;j++)cout<<"";for(k=1;k<=i;k++)cout<<i;cout<<endl;}}输出结果:122333444455555666666(5)以下程序的运行结果是____。
#include<stdio.h>main(){inti,j,k;for(i=1;i<=6;i++){for(j=1;j<=20-3*i;j++)cout<<"";for(k=1;k<=i;k++)cout<<k;for(k=i-1;k>0;k--)cout<<k;cout<<endl;}}输出结果:1121123211234321(6)以下程序的运行结果是____。
#include<stdio.h>main(){inti,j,k;for(i=1;i<=4;i++)for(j=1;j<=20-3*i;j++)cout<<"";for(k=1;k<=2*i-1;k++)cout<<"*";cout<<endl;}for(i=3;i>0;i--){for(j=1;j<=20-3*i;j++)cout<<"";for(k=1;k<=2*i-1;k++)cout<<"*";cout<<endl;}}输出结果:*************************3.编程题(1)编写一个程序,求100199********-++-+-Λ之值。
(2)编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。
(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。
(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。
(6)编写一个程序,求e 的值。
(7)编写一个程序,求满足如下条件的最大的n :(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。
编写一个程序,采用迭代法问某人共摘了多少只桃子。
(9) 输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。
(东师大,01年)(10)求一组整数中的正数之积与负数之和,直到遇到0时结束。
(东师大,03年)(11)输入一组实数,求前10个正数的平均值。
(东师大,02年)(12)编程求1~200中能被2,3,5除余1的前10个整数。
(东师大,02年)(13)输入100个整数,统计这些数中能被3或5整除数所占的百分比。
(东师大,02年)(14)计算并输出200—600中能被7整除,且至少有一位数字是3的所有数的和。
(东师大,01年)(15)输出1~999中能被5整除,且百位数字是5的所有整数。
(东师大,04年)(16)设N 是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),求N 值。
(东师大,03年)\(17)有这样一个三位数,该三位数等于其每位数字的阶乘之和,即abc=a !+b !+c !。
(如:145=1!+4!+5!)(东师大,04年)(18)编写程序求出满足下列条件的四位数:该数是个完全平方数;千位、十位数字之和为10,百位、个位数字之积为12。
(东师大,05年)(19)已知abc+cba=1333,其中a,b,c 均为一位数,编写一个程序求出abc 分别代表什么数字。
(东师大,05年)(20)100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。
试编写程序计算大、中、小马的数目。
(东师大,06年)(21)求1~100之间数的每位数的乘积大于每位数的和的数。
(东师大,07年)(22)一个正整数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。
(东师大,08年)(23)为了求正整数n 的平方根,可以使用如下迭代法求解:(南师大04)使用C 语言编)(211ii i x n x x +=+写一个完整的程序,以求出用户从键盘上输入的任何正整数的平方根。
24.有一口深度为h 米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬m 米,夜里则顺井壁向下滑n 米,若青蛙从某个早晨开始向外爬,试编写一个函数:对于任意指定的h,m,n 值(均为自然数),计算青蛙多少天能够爬出井口?并简要说明程序实现的基本思想。
(南师大09) 求平方根,乒乓球比赛题目。