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

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语言程序设计第五次作业——循环结构(1)

C语⾔程序设计第五次作业——循环结构(1)(⼀)改错题输出华⽒摄⽒温度转换表:输⼊两个整数lower和upper,输出⼀张华⽒摄⽒温度转换表,华⽒温度的取值范围是{lower,upper},每次增加2℉。
计算公式如下:c = 5×(f-32)/9其中,c表⽰摄⽒温度,f表⽰华⽒温度。
输⼊输出样例1: Enter lower:32 Enter upper:35 fahr celsius 32 0.0 34 1.1输⼊输出样例2: Enter lower:40 Enter upper:30 fahr celsius源程序(有错误的程序)#include <stdio.h>int main(void){int fahr , lower, upper; /* fahr表⽰华⽒度 */double celsius; /* celsius表⽰摄⽒度 */printf("Enter lower:");scanf("%d",&lower);printf("Enter upper:");scanf("%d",&upper);printf("fahr celsius\n"); /* 显⽰表头 *//* 温度转换 */for (fahr = lower , fahr <= upper, fahr ++) ;celsius = 5 /9 * (fahr - 32.0);printf("%3.0f %6.1f\n", fahr, celsius);return 0;}对源程序进⾏编译,结果如下:错误信息1:错误原因:for语句后⾯加了分号。
改正⽅法:将分号去掉。
错误信息2:错误原因:for语句下没有加“{}“改正⽅法:在for语句下加上“{}”错误信息3:错误原因:发现for语句内语句⽤逗号隔开了。
c语言循环结构上机习题

1、计算n的阶乘(n!),n的取值在1~10之间。
分别使用while、do…while和for 语句实现。
(三个程序)给循环变量赋初值循环条件循环体循环变量的增值2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。
3、假设函数f(x)=3x2+2x+1,试利用for循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。
4、有分数序列2/1,3/2,5/3,8/5,13/8,21/13…求这个数列的前20项和。
(分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子)5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。
要求每一行显示5个数,并且统计一共有多少个整数能被n整除。
6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while( ①){ if(x>amax) amax=x;if( ②) amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,a min);}7、使用循环语句输出以下图形8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。
8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。
分析:这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:100=x*5+y*3+z/3100=x+y+z这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z 的取值范围:1) x的取值范围为1~202) y的取值范围为1~333) z的取值范围为3~99,步长为3对于这个问题我们可以用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。
(完整版)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语言单元复习题 第06部份 循环

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语言程序设计习题集第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语言循环的选择题

c语言循环的选择题在C语言中,循环结构是编程中常用的一种控制结构,用于重复执行一段代码。
以下是一些关于C语言循环结构的选择题,旨在检测对循环语句的理解和运用能力。
每个问题都附有详细的解析,以帮助理解概念。
1. 下列哪个关键字用于在C语言中创建循环?•A. repeat•B. loop•C. while•D. for解析:•正确答案是C。
在C语言中,while和for关键字用于创建循环结构。
2. 下列哪个循环结构的执行次数在执行前就确定了?•A. while•B. for•C. do-while•D. 以上都有可能解析:•正确答案是B。
for循环结构的执行次数在循环开始前就确定了。
3. 在for循环中,分号(;)的作用是什么?•A. 表示循环体•B. 分隔初始化语句、条件表达式和增量表达式•C. 结束循环•D. 以上都不对解析:•正确答案是B。
在for循环中,分号用于分隔初始化语句、条件表达式和增量表达式。
4. 下列哪个循环结构至少会执行一次循环体?•A. while•B. for•C. do-while•D. 以上都有可能解析:•正确答案是C。
do-while循环结构至少会执行一次循环体,因为它的条件判断是在循环体执行之后进行的。
5. 在while循环中,什么情况下循环体会被执行?•A. 当条件表达式为真•B. 当条件表达式为假•C. 当条件表达式为0•D. 当条件表达式为非零解析:•正确答案是A。
while循环中,只有当条件表达式为真时,循环体才会被执行。
6. 下列代码片段的输出是什么?#include <stdio.h>int main(){int i =0;while(i <5){printf("%d ",i);i++;}return0;}•A. 0 1 2 3 4•B. 1 2 3 4 5•C. 0 1 2 3•D. 1 2 3 4解析:•正确答案是A。
C语言全国试题(五-循环结构程序设计)

填空题(全国二级C 2008C2-8)
若有定义:int k;,以下程 序段的输出结果是__#_#_2_#_#_4__。
for (k=2; k<6; k++,k++ ) printf (“##%d”,k);
选择题(全国二级C 2007Q1-22)
C 有以下程序,程序的运行结果是 。
#include <stdio.h>
{ int i;
for ( i=1 ; i<=40; i++)
{ if (i++%5==0)
if (++i%8==0)printf("%d ",i); }
printf("\n"); }
A) 5
B) 24
C) 32
D) 40
选择题(全国二级C 2005Q1-27)
设变量已正确定义,则以下能正确
计算f=n!的程序段是 D 。
有以下程序段,且变量已正确定义和赋值
for ( s=1.0,k=1;k<=n; k++ ) s=s+1.0/(k*(k+1));
printf(“s=%f\n\n”,s); 请填空,使下面程序段的功能与之完全相同
s=1.0; k=1; while ( ___k_<_=_n__ ) { s=s+1.0/(k*(k+1)); __k_+_+__ ; } printf(“s=%f\n\n”,s);
以下程序的功能是计算: s=1+12+123+1234+12345。请填空。 main( ) { int t=0, s=0, i; for(i=1; i<=5; i++)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题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 语句中的条件为()时,结束该循环。
A: TUREB: 1C: 0D: 非09.对于for(表达式1;;表达式3)可理解为A: for(表达式1;0;表达式3)B: for(表达式1;1;表达式3)C: for(表达式1;表达式1;表达式3)D: for(表达式1;表达式3;表达式3)10.以下不是死循环的语句为()A: for(y=1,x=1;x>=++y;x++)B: for(;;x++)C: while(1){x++;}D: for(i=10;;i--)11.以下不构成无限循环的语句或者与语句组是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+=1;12.下列循环语句中有语法错误的是A: while(x=y) 5;B: while(0) ;C: do 2;while(x==b);D: do x++ while(x==10);13.在C 语言中,设已定义k 为int 整型变量,则有下面while 循环执行( ) 次。
k=10;while(k==0) k=k-1;A: 10B: 无限C: 0D: 114.有如下程序main( ){ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是A: 987B: 876C: 8765D: 987615.以下程序的输出结果是( )。
main( ){ int n=4;while(n--)printf("%d ",--n);}A: 2 0B: 3 1C: 3 2 1D: 2 1 016.以下程序的输出结果是()。
main(){ int num= 0;while(num<=2){ num++; printf(“%d\n”,num);}}A: 1234B: 123C: 12D: 117.定义如下变量: int n=10; 则下列循环的输出结果是while(n>7){ n--;printf("%d\n",n);}A: 10987B: 9876C: 1098D: 98718.以下程序的输出结果是()main(){ int num=0;while(num<=2){ num++;printf(“%d,”,num);}}A: 1,B: 1,2,C: 1,2,3,D: 1,2,3,4,19.请读程序:#include<stdio.h>main(){ int mun=0;while(num<=2){ num++; printf("%d\n",num);} }上面程序的输出结果是A: 12B: 123C: 1234D: 120.下面程序片段,退出while 循环时,s 的值是_____。
int i=0,s=1;while(i<3) s+=(++i);A: 7B: 6C: 5D: 421.下面程序片段,退出while 循环时,s 的值是____。
int i=0,s=1;while(i<3) s+=(i++);A: 6B: 5C: 4D: 322.以下程序的输出结果是()main(){ int x=0,y=0;while(x<15) y++,x+=++y;printf(“%d,%d”,y,x);}A: 20,7B: 6,12C: 20,8D: 8,2023.以下程序的输出结果是()main(){ int n=0;while(n++<=2);printf(“%d”,n);}A: 2B: 3C: 4D: 有语法错误24.以下程序的输出结果是()main(){ int n=10;while(n>7){ n--;printf(“%d,”,n);} }A: 10,9,8,B: 9,8,7,C: 10,9,8,7,D: 9,8,7,6,25.在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为#include<stdio,h>main(){ char ch;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: ABCdefB: abcDEFC: abcD: DEF26.有以下程序:#includemain(){int y=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是()。
A.y=0B.y=-1C.y=lD.while构成无限循环27.以下程序的输出结果是()main(){ int a=1,b=2,c=2,t;while(a<b<c) { t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);}A: 1,2,0B: 2,1,0C: 1,2,1D: 2,1,128.有以下程序段#includemain(){while(getchar()!=’\n’);}以下叙述中正确的是( )。
A.此while语句将无限循环B.getchar()不可以出现在while语句的条件表达式中C.当执行此while语句时,只有按回车键程序才能继续执行D.当执行此while语句时,按任意键程序就能继续执行29.有以下程序:#includemain(){int a=1,b=2;while(a<6){b+=a;a4+=2;b%=l0;)printf("%d,%d\n",a,b);}程序运行后的输出结果是()。
A.5,11B.7,1C.7,11D.6,130.有以下程序:#include,main(){int S;scanf("%d",&s);while(s>O){switch(s){case l:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 3 4 5 0<回车>,由输出结果是( )。
A.6566456B.66656C.66666D.666665631.下面的程序main(){ int x=3;do {printf("%d\n",x-=2);}while(!(--x));}A: 输出的是1B: 输出的是1 和-2C: 输出的是3 和0D: 是死循环32.以下程序段是()x=-1;do{ x=x*x;} while(!x);A: 死循环B: 循环执行两次C: 循环执行一次D: 有语法错误33.有以下程序段int x=3do{ printf(“%d”,x-=2); }while (!(--x));其输出结果是A: 1B: 3 0C: 1 -2D: 死循环34.有以下程序段int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是()。
A: 任意正奇数B: 任意负偶数C: 任意正偶数D: 任意负奇数35.下面的程序main(){ int x=3;do {printf("%d\n",x-=2);}while(!(--x));}A: 输出的是1B: 输出的是1 和-2C: 输出的是3 和0D: 是死循环36.有如下程序main( ){ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是A: 321B: 23C: 不输出任何内容D: 陷入死循环37.有以下程序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: 038.假定a 和b 为int 型变量,则执行以下语句后b 的值为a=1; b=10;do{ b-=a; a++; }while (b--<0) ;A: 9B: -2C: -1D: 839.执行以下程序后,输出的结果是。