C语言循环结构测习题带答案
- 格式:doc
- 大小:41.50 KB
- 文档页数:6
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循环结构程序设计试题以及参考答案实验内容: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值由键盘输⼊。
题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环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个。
第 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. 设有如下程序段,则下面描述正确的是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,13。
下面程序段的运行结果是。
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。
一、单选题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循环语句只能用于循环次数已经确定的情况。
第三单元循环结构练习题选择题: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.753B.357C.369D.7515、以下程序运行后的输出结果是( 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Ⅱ码值为 97A.dB.goC.godD.good6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。
A)循环控制表达式的值为 0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while (!x!=0 ) s+=++x;printf ( "%d",s );则A)运行程序段后输出0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设 i ,j ,k 均为 int型变量,则执行完下面的 for 语句后, k 的值为( C)。
2021年C语言考试循环结构训练习题库及答案(精品)1 选择题1.以下程序的输出结果是( )。
main(){ int n=4;while (n--)printf(〞%d〞,--n);}A.20B.31C.321D.2102.以下程序的输出结果是( )。
main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d",x--,y);}A.10192B.9876C.10990D.1010913.当执行以下程序段时。
x=-1;{x=x*x;}while (!x);A.循环体将执行一次B.循环体将执行两次C.循环体将执行无数多次D.系统将提示有语法错误4.执行以下程序后输出的结果是()。
main(){ int y=10;do{y--;}while(--y);printf("%d\n",y--);}A.-1B.1C.8D.05.下面程序的输出结果是()。
main(){ int x=3,y=6,a=0;while (x++!=(y-=1)){a+=1;if (y<x) break;}printf("x=%d,y=%d,a=%d\n",x,y,a);A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1 6.若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()。
for (i=5;i;i--)for (j=0;j<4;j++){…}A.20B.24C.25D.307.请读程序:#include<stdio.h>main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);上面程序的输出结果是()。
循环结构测试一、选择题(2’*20)1. C语言的for语句中的表达式可以部分或全部省略,但两个( C )不可省略。
但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。
A) <B) ++C) ;D) ,2. 下列程序的输出结果是( B )#include "stdio.h"main(){ int i=6;while(i- -)printf("%d",- -i);printf("\n");}A)531B)420C)654321D)死循3. 下面有关for循环的正确描述是( D )。
A) for循环只能用于循环次数已经确定的情况B) for循环是先执行循环体语句,后判定表达式C) 在for循环中,不能用break语句跳出循环体D) for循环体语句中,可以包含多条语句,但要用花括号括起来4.设有程序段int k=10;while(k=0) k=k-1;则下面描述正确的是( C )。
A) while 循环执行10次B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次5.下列程序段的运行结果是( C )int n=0;while(n++<3);printf("%d",n)A. 2B. 3C. 4D. 以上都不对6.以下程序段的输出结果是( A ).main(){ int i=5;for ( ;i<=15; ){ i++;if (i%4==0) printf("%d ",i);else continue;}}A. 8 12 16B. 8 12C. 12 16D. 87.以下不是无限循环的语句为( A )。
A) for(y=0,x=1;x>++y;x=i++) i=x;B) for( ; ;x++=i);C) while(1){x++;}D) for(i=10; ; i--) sum+=i;8.以下正确的描述是( B )。
第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的分别。
循环习题集锦一.选择题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语言循环试题及答案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);}```。
循环结构、函数练习题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。
第5章循环结构程序设计5.1基本知识点✍while语句的使用格式和注意事项✍do-while语句的使用格式和注意事项✍for语句的使用格式和注意事项✍✍✍✍✍1.((C.(A.(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.{D.({}A.C.({{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(){{{}}}({++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)以下程序的运行结果是____。
循环能力测试题及答案
一、单项选择题
1. 在循环结构中,以下哪个选项是正确的?
A. for循环只能用于数组
B. while循环不能用于字符串
C. do-while循环至少执行一次
D. 以上都不对
答案:C
2. 以下哪个循环结构在执行过程中,条件判断失败时会直接退出循环?
A. for循环
B. while循环
C. do-while循环
D. 以上都是
答案:B
二、填空题
1. 在编程中,____循环结构允许在循环体执行完毕后再进行条件判断。
答案:do-while
2. 如果需要对一个数组中的每个元素进行操作,通常会使用____循环
结构。
答案:for
三、判断题
1. 循环结构中的break语句可以用来立即退出循环。
答案:正确
2. 在循环中,continue语句的作用是跳过当前循环的剩余部分,直接进入下一次循环判断。
答案:正确
四、简答题
1. 请简述循环结构中while和do-while的主要区别。
答案:while循环在每次迭代前都会检查条件是否满足,如果不满足则不执行循环体;而do-while循环至少执行一次循环体,然后在每次迭代后检查条件是否满足。
2. 描述for循环的基本结构。
答案:for循环的基本结构为for(初始化表达式;条件表达式;更新表达式){循环体},其中初始化表达式用于设置循环变量的初始值,条件表达式用于判断循环是否继续,更新表达式用于更新循环变量。
结束语:以上是循环能力测试题及答案,希望能够帮助大家更好地理解和掌握循环结构的相关知识。
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. 计算累加、累乘等需要重复计算的问题。