C+循环结构道题含答案

合集下载

循环结构测试

循环结构测试

C语言之循环结构测试一、选择题(1)有以下程序段int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数(2)设变量已正确定义,则以下能正确计算f = n!的程序段是A)f=0; B)f=1;for(i=1;i<=n;i++) f*=i; for(i=1;i<n;i++) f*=i;C)f=1; D)f=1;for(i=n;i>1;i++) f*=i; for(i=n;i>=2;i--) f*=i;(3)有以下程序main(){ int k=5,n=0;while(k>0){ switch(k){ default : break;case 1 : n+=k;case 2 :case 3 : n+=k;}k--;}printf("%d\n",n);}程序运行后的输出结果是A)0B)4C)6D)7(4)有以下程序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);}程序运行后的输出结果是A)3B)4C)5D)6(5) 有以下程序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) -1B) -3C) -5D) 0(6) 若有如下程序段,其中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;(7) 有以下程序main(){ int k=4,n=4;{ n++;if(n%3!=0) continue;k--; }printf("%d,%d\n",k,n);}程序运行后的输出结果是A) 1,1B) 2,2C) 3,3D) 4,4(8) 要求以下程序的功能是计算:main (){ int n; float s;s=1.0;for(n=10;n>1;n--)s=s+1/n;print("%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);(9)有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出结果是A) 011122B) 012C) 012020D) 120(10)有以下程序{ int i=0,s=0;do{if(i%2){i++;continue;}i++;s +=i;}while(i<7);printf("%d\n",s);}执行后输出结果是A) 16B) 12C) 28D) 21(11) 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main(){ int n,k;float score ,sum,ave;sum=0.0;for(n=1;n<=10;n++){ for(k=1;k<=4;k++){ scanf(“%f”,&score); sum+=score;}ave=sum/4.0;printf(“NO%d:%f\n”,n,ave);}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

C语言循环结构练习题

C语言循环结构练习题

第5 章循环结构程序设计5.1 基本知识点while 语句的使用格式和注意事项do-while 语句的使用格式和注意事项for 语句的使用格式和注意事项break 和continue 语句在循环语句中的应用循环结构的嵌套使用goto 语句实现循环结构穷举法程序设计方法迭代程序设计方法5.2 练习题51.单项选择题(1)语句while (!e); 中的条件!e 等价于。

A.e==0B. e!=1C. e!=0D. ~e(2)下面有关for 循环的正确描述是。

A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判定表达式C.在for 循环中,不能用break 语句跳出循环体D.for 循环体语句中,可以包含多条语句,但要用花括号括起来(3) C 语言中。

A.不能使用do-while 语句构成的循环B.do-while 语句构成的循环必须用break 语句才能退出C.do-while 语句构成的循环,当while 语句中的表达式值为非零时结束循环D.do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环(4) C 语言中while 和do-while 循环的主要区别是。

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

int x=-1;do{x=x*x;}while (!x);A. 是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误( 6)下列语句段中不是死循环的是________ 。

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)与以下程序段等价的是while (a){if (b) continue;c;}A. while (a) { if (!b) c; }B. while (c){ if (!b) break; c; }C. while (c){ if (b) c; }( 8)以下程序的输出结果是 ________ 。

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 语句中的条件为()时,结束该循环。

广技师C语言复习题4. 练习(循环结构)(有答案)

广技师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语言程序设计习题集第4章 循环结构(答案)

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。

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++循环结构23道题(含答案)

C++循环结构23道题(含答案)
int m,n,i; cin>>m>>n; for(i=m;i>=1;i--)
{ if(m%i==0&&n%i==0)
break; }
cout<<i<<endl; return 0; }
循环 15:斐波那契数列 判 断 第 n 个 斐 波 那 契 数 列 能 否 被 3 整 除 给 定 斐 波 那 契 数 列 为 : F(0)=1, F(1)=1,
3%; 4%;
输出:每个收入对应的纳税额 输入 4 900 2000 4000 6000 输出 0 60 160 360 #include<iostream> using namespace std; int main() {
double m,tax;;int i,n; cin>>n; for(i=1;i<=n;i++) {
循环 04:西瓜卖几天
n 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为
5 时,卖一半为卖 2
个。
输入:西瓜个数,输出:天数
输入 10 输出 2
输入 50 输出 4
测试
输入 120 输出 5
#include<iostream>
#include<iostream> using namespace std; int main() {
int n,i=1; double s=0; cin>>n; while(i<=n) {
s+=1.0/i; i++;}

C语言循环结构练习题带答案.doc

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___。

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

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环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;elsereturn 0;}循环03:数列求和输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。

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

输入:西瓜个数,输出:天数输入10输出2输入50输出4测试输入120输出5#include<iostream>using namespace std;int main(){int n,d=0;cin>>n;while(n>0){d++;n=n/2-2;}cout<<d<<endl;return 0;}循环05:成绩判定输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。

输入5 35 68 49 94 88输出PassFailPassPass测试输入8 90 80 60 50 40 30 73 88 59输出PassPassPassFailFailFailPassPassFail#include<iostream>using namespace std;int main(){int repeat,n,i;cin>>repeat;for(i=0;i<repeat;i++){cin>>n;if(n<60)cout<<"Fail"<<endl;elsecout<<"Pass"<<endl;}return 0;}循环06:数列求和输入1 个正整数 n(n<=100),计算并输出1+1/2+1/3+……+1/n 。

输入5输出输入4输出#include<iostream>using namespace std;int main(){int n,i=1;double s=0;cin>>n;while(i<=n)s+=i;i++;}cout<<s<<endl;return 0;}循环07:水仙花数打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。

例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

输入无输出 153 370 371 407#include<iostream>using namespace std;int main (){int n,i,j,k;for(n=100;n<1000;n++){i=n/100;j=n/10%10;k=n%10;if(i*i*i+j*j*j+k*k*k==n)cout<<n<<" ";}return 0;}循环08:数位之和输入一个正整数,输出其各个位置上的数字之和。

输入 1234输出10输入 12534输出15测试输入 4325输出14#include<iostream>using namespace std;int main(){int n,s=0;cin>>n;while(n){s+=n%10;n=n/10;}cout<<s<<endl;return 0;}循环09:奇数和输入32 33 50 34 65 67 0 输出165输入13 15 17 30 35 0 输出80测试输入31 33 50 34 65 67 0 输出196#include<iostream>using namespace std;int main(){int n,s=0;cin>>n;while(n>0){if(n%2!=0)s=s+n;cin>>n;}cout<<s<<endl;return 0;}循环10:求和从键盘输入若干正数,对其求和并输出,遇到负数则终止输入。

输入32 33 50 34 65 67 -1 输出281输入13 15 17 30 35 -2 输出110测试输入31 33 50 34 65 67 -5 输出280#include<iostream>using namespace std;int main(){int n,a=0;cin>>n;while(n>=0){a=n+a;cin>>n;}cout<<a<<endl;return 0;}循环11:特殊数值已知四位数3025有一个特殊性质: 它的前两位数字30和后两位数字25的和是 55, 而55的平方刚好等于该数(55*55=3025). 试编一程序打印所有具有这种性质的四位数.输入无输出2025 3025 9801#include<iostream>using namespace std;int main(){int i,a,b;{a=i/100;b=i%100;if((a+b)*(a+b)==i)cout<<i<<" ";}return 0;}循环12:征税税务部门征收所的税,规定如下:1)收入在1000元以内(含1000),免征;2)收入在1000~3000元以内(含3000),纳税额为收入的3%;3)收入超过3000~5000元以内(含5000),纳税为收入的4%;4)当收入超过5000元时,纳税为收入的6%。

请根据以上关系,输入收入m,输出应缴纳的税收tax。

输入:第一个整数n表示后续有n个收入输出:每个收入对应的纳税额输入4 900 2000 4000 6000输出0 60 160 360#include<iostream>using namespace std;int main(){double m,tax;;int i,n;cin>>n;for(i=1;i<=n;i++){cin>>m;if(m<=1000)tax=0;else if(m<=3000)tax=m*;else if(m<=5000)tax=m*;elsetax=m*;cout<<tax<<" ";}return 0;}循环13:因数个数给定一个正整数n,求它的因数个数。

如6的因数为1、2、3、6,则因数个数为4。

输入12 输出6测试输入30 输出8using namespace std;int main(){int n,i,count=0;cin>>n;for(i=1;i<=n;i++){if(n%i==0)count++;}cout<<count<<endl;return 0;}循环14:最大公约数键盘输入两个正整数m,n,求出他们的最大公约数。

输入20 15 输出5测试输入32 80 输出16#include<iostream>using namespace std;int main(){int m,n,i;cin>>m>>n;for(i=m;i>=1;i--){if(m%i==0&&n%i==0)break;}cout<<i<<endl;return 0;}循环15:斐波那契数列判断第n个斐波那契数列能否被3整除给定斐波那契数列为:F(0)=1, F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2),编写一个程序,输入n(>=0),如果F(n)能被3整除则输出一个“yes”,否则输出一个“no”。

输入8输出yes输入6输出no测试输入12输出yes#include<iostream>using namespace std;int main(){int n,F0=1,F1=1,F,i;for(i=2;i<=n;i++){F=F0+F1;F0=F1;F1=F;}if(F%3==0)cout<<"yes"<<endl;elsecout<<"no"<<endl;return 0;}循环16:计算奇偶数求N(<=100)个数中奇数的平方和与偶数的立方和。

注意:输入格式为,第一个数为N,后面接着N个数。

输出的平方和与立方和以空格隔开输入3 5 8 9 输出106 512测试输入5 5 8 9 10 输出106 1512#include<iostream>using namespace std;int main(){int i,N,n,a=0,b=0;cin>>N;for(i=1;i<=N;i++){cin>>n;if(n%2==0)a+=n*n*n;elseb+=n*n;}cout<<b<<" "<<a<<endl;return 0;}循环17:数位计算对于输入的一个数字,请计算它的各个位上的数字为偶数的和。

相关文档
最新文档