C语言第四份练习题(循环结构)
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语言循环结构练习题带答案.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___。
循环结构练习题
第4章循环结构(一)、是非题1. C语言中,do-while语句构成的循环只能用break语句退出。
A.对B.错2.在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。
A.对B.错3.从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略。
A.对B.错4.for、while和do while循环结构的循环体均为紧接其后的第一个语句(含复合语句)。
A.对B.错5.由i=-1;while(i<10) i+=2;i++;可知,此while循环的循环体执行次数为6次。
A.对B.错6.循环for( ; ; )的循环条件始终为真。
A.对B.错7.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也不执行。
A.对B.错8.break;语句执行时退出本层循环,continue;语句结束本次循环。
A.对B.错9.for循环、while循环和do while循环结构之间可以相互转化。
A.对B.错10.break;语句执行时退出到包含该break;语句的所有循环外。
A.对B.错11.二重循环for(i=0;i<5;i+=2) for(j=0;j<5;j++)的循环体的执行次数为15。
A.对B.错12.执行i=-1; while(i<10) i+=2;i++; 后,i的值为11。
A.对B.错13.int i=1;while(1) i++; 则在任何条件下,该循环语句都会执行无穷多次A.对B.错14.while和do…while的功能完全相同。
A.对B.错15.while后的表达式只能是逻辑或关系表达式。
A.对B.错16.语句while(E);中的表达式E等价于E!=0。
A.对B.错17.只能在循环体内和switch语句体内使用break语句。
A.对B.错18.程序段 int k=10; while(k=0)k=k-1; 中,while循环执行10次。
C语言循环结构测习题带答案
C语言循环结构测习题带答案Prepared on 21 November 2021第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);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__。
2021年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);上面程序的输出结果是()。
C语言第四份练习题(循环结构)
一、选择题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=b6. 下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。
#include<stdio.h>int main(){int m=0,n=0;char c;while(( )!='\n'){if(c>='a' && c<='z') n++;if(c>='A' && c<='Z') m++;}printf("%d\n",m<n? );return 0;}A.c= =getchar( ) B.getchar( ) C.c=getchar( ) D.scanf(“%c”,c)A.n:m B.m:n C.m:m D.n:n7. 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。
循环结构测试(带答案)
循环结构测试一、选择题(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 )。
c语言第4章_循环结构答案
4.4 节通过案例“求 1!+2!+3!+…+100!”,详细介绍嵌套循环的程序设计方法,教师在讲 授时,应详细嵌套循环的执行流程(过程),使学生能正确使用嵌套循环进行程序设计。
引导学生分析题目: 整数位数的统计过程需要一位位数,因此 这是一个循环过程,但是循环的次数是由 输入数据所确定,因此事先无法确定。 需要说明: 统计位数的方法; 循环体; 循环条件;
11
4.2.1 程序解析-统计一个整数的位数
int main(void)
Enter a number: 12534
{ int count, number; It contains 5 digits.
total = total + grade;
为什么循环外要先输入第一个数据? 循环体语句的先后关系;
num++;
Enter grades: 67 88 73 54 82 -1
scanf (“%lf”, &grade); Grade average is 72.80 }
最后为什么要加 if 语句加以判断?
能正确分析实际问题
while 语句 do-while 语句 for 语句
break 语句 continue 语句
能根据实际情况合理使用
典型问题的 算法框架
能根据实际情况熟练编写程序
图 4.1 知识能力结构图
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语言题库-循环结构
一、选择题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语言循环结构练习题-推荐下载
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) {
5.2 练习题 5
1. 单项选择题
(1)语句 while (!e);中的条件!e 等价于
A. e==0
(2)下面有关 for 循环的正确描述是
A. for 循环只能用于循环次数已经确定的情况
B. e!=1
B. for 循环是先执行循环体语句,后判定表达式
C. 在 for 循环中,不能用 break 语句跳出循环体
。
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术艺料0不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试2下卷2,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看度并22工且22作尽22下可22都能22可地护以缩1关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编试要5写、卷求重电保技要气护术设设装交备备置底4高调、动。中试电作管资高气,线料中课并敷3试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
C语言循环结构练习题
(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 的值。
!1!21!111n e ++++≈Λ (7)编写一个程序,求满足如下条件的最大的n :10003212222≤++++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。
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。
C语言复习题循环结构.docx
C语言复习题一循环结构_、选择1>关于break语句的正确说法是A。
A)switch-case中「】J根据需要使用或不使用break语句B)while循环中的break语句可结束木次循环,继续下一次循环C)do-while循环中不允许使用break语句D)for循坏屮必须使用break语句來结束循坏2、与以下程序段功能等价的赋值语句是(B)s=a;for(b=1 ;bv=c;b++) s=s+1;A)s=a+b; B) s=a+c; C) s=s+c; D) s=b+c;3、以下循环体的执行次数是(A )int main(){inti,j;for(i=0,j=1 ;iv=j+1 ;i+=2,j-)printf (“ %d\n”,i);return 0;}A) 1 B) 3 C) 2 D) 04、语句while (!e);中的条件!e等价于(A)A) e==0 B) e!=1 C) e!=0 D) ~e5、下面有关for循环的正确描述是(D)A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判定表达式C)在for循环中,不能用break语句跳出循环体D)for循环体语句中,可以包含多条语旬,但要用花括号括起來6、C语言中(D)A)不能使用do-while语句构成循环B)do-while语句构成的循环必须用break语句才能退出C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环7、C语言中while do-while循环的主要区别是(A)A)do-while的循环体至少无条件执彳亍一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句8、以下程序段(C)int x=-1;do{x=x*x;while (!x);A)是死循环C)循环执行一次B)循环执行二次D)冇语法错误二、填空1、C语言屮用于实现循环的三种语句是for, while, do・while。
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语言循环练习题
c语言循环练习题C语言循环练习题C语言是一门广泛应用于计算机科学领域的编程语言,掌握好循环结构是学习C语言的重要一步。
循环结构允许我们重复执行一段代码,这在处理大量数据或需要重复操作的情况下非常有用。
接下来,我们将通过一些C语言循环练习题来巩固对循环结构的理解和应用。
1. 打印九九乘法表九九乘法表是一个经典的练习题,可以通过嵌套循环来实现。
我们可以使用两个循环,一个用于控制行数,另一个用于控制列数。
在每个位置上,将行数和列数相乘即可得到结果。
2. 计算阶乘阶乘是一个常见的数学运算,在C语言中可以使用循环结构来实现。
我们可以通过一个循环,从1开始逐步累乘,直到达到所需的数值。
可以使用一个变量来保存累乘的结果。
3. 判断素数素数是只能被1和自身整除的大于1的自然数。
判断一个数是否为素数可以通过循环结构来实现。
我们可以从2开始,逐个尝试除以每个小于该数的自然数,如果存在能整除的数,则该数不是素数。
4. 斐波那契数列斐波那契数列是一个经典的数列,在该数列中,每个数都是前两个数的和。
可以通过循环结构来实现斐波那契数列的计算。
可以使用两个变量来保存前两个数的值,并通过循环不断更新这两个变量的值。
5. 求最大公约数求最大公约数是一个常见的数学问题,可以通过循环结构来实现。
可以使用辗转相除法来求解最大公约数,即通过不断取两个数的余数,将较大的数替换为余数,直到余数为0。
6. 猜数字游戏猜数字游戏是一个简单而有趣的游戏,可以通过循环结构来实现。
可以随机生成一个目标数字,并让用户通过输入猜测的数字来进行游戏。
通过循环判断用户的猜测是否正确,并根据猜测的结果给出相应的提示。
通过以上的练习题,我们可以巩固对C语言循环结构的理解和应用。
循环结构在编程中非常重要,它可以帮助我们处理大量的数据和重复的操作。
通过不断练习和实践,我们可以逐渐掌握循环结构的技巧,并能够灵活运用到实际的编程项目中。
总结C语言循环练习题是提高编程技能的有效途径之一。
c语言循环结构练习
2015-2016(2)循环结构练习题、单选题(共40题,共100分)1、以下正确得描述就是()(2分)A、continue语句得作用就是结束整个循环得执行B、只能在循环体内与switch语句体内使用break语句C、在循环体内使用break语句或continue语句得作用相同D、从多层循环嵌套中退岀时,只能使用goto语句标准答案:B考生答案:2、下面得关键字中,不能够从循环体中跳岀循环体外得就是()(2分)A、gotoB、breakC、returnD、continue标准答案:D 考生答案:3、以下叙述中错误得就是()(2分)A、语句标号就是由合法得标识符后面加一个冒号构成B、goto语句得作用就是把程序得执行转向语句标号所在得位置C、goto语句必须与语句标号在同一个函数内D、结构化程序设计主张使用goto语句,使用goto语句得程序可读性强标准答案:D 考生答案4、有以下程序段,while循环执行得次数就是()int k=0;while(k=1)k++; (2A、无限次C、一次也不执行标准答案:A 考生答案:5、运行以下程序得结果为有语法错D、执行,不能执行1次main(){int n um=0;while (n um<=2){n um++; prin tf("%d", num);}} (2 分)A、1234标准答案:B 考生答案:6、下述程序得输出结果就是B、123C、12#includevstdio、h>mai n(){ int Y=100;while(Y--);pri ntf("y=%d",Y);(2分)A、Y=0B、Y=1C、Y=随机值D、Y=-1标准答案:D考生答案:7、执行下面得程序后得输出结果为( )int x,y,z;x=20,y=40,z=15; while(y>x) x+=4,y-=4;z/=2; printf("%d,%d,%d",x,y,z); (2 分)A 、40,36,30B 、32,8,7 C、32,28,7 D 、32,28,7 、5 标准答案:C考生答案:8、以下程序段得输出结果就是()int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); (2 分)A 、3,2,0B 、3,2,-1C 、4,3,-1D 、5,-2,-5标准答案:B考生答案:9 、下述语句执行后,变量k 得值就是()int k=1; while(k++<10); (2 分)A 、10B 、11C、9 D 、此为无限循环,值不定标准答案:B考生答案:10、下面程序得运行结果就是( ) 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题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=b6. 下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。
#include<stdio.h>int main(){int m=0,n=0;char c;while(( )!='\n'){if(c>='a' && c<='z') n++;if(c>='A' && c<='Z') m++;}printf("%d\n",m<n? );return 0;}A.c= =getchar( ) B.getchar( ) C.c=getchar( ) D.scanf(“%c”,c)A.n:m B.m:n C.m:m D.n:n7. 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。
其中y变成A,z变成B。
请选择填空。
#include<stdio.h>int main(){char c;while((c=getchar())!='\n'){if(c>='a' && c<='z'){ ;if(c>'Z') ;}printf("%c",c);}return 0;}A.c+=2 B.c-=32 C.c=c+32+2 D.c=c-32+2A.c=‘B’B.c=‘A’C.c-=26 D.c=c+268. 下面程序的功能是在输入的一系列正整数中求出最大者,输入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;}9. 下面程序的运行结果是。
#include<stdio.h>int main(){int num=0;while(num<=2){num++;printf("%d",num);}return 0;}A.1 B.12 C.123 D.123410. 若运行以下程序是,从键盘输入2473<回车>,则下面程序的运行结果是。
#include<stdio.h>int main(){int c;while((c=getchar())!='\n')switch(c-'2'){case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;}return 0;}A.668977 B.668966 C.66778777 D.668876611. 以下程序的功能是计算一个整数的各位数字之和,请选择填空。
#include<stdio.h>int main(){int n,m=0;scanf("%d",&n);for( ; n!=0; ){m ;n/=10;}printf("%d\n",m);return 0;}A.+=n%10 B.=n%10 C.+=n D.=n/10 12. 以下能正确计算1×2×3×······×10的程序段是。
A.do{i=1;s=1;s=s*i;i++;}while(i<=10) B.do{i=1;s=0;s=s*i;i++;}while(i<=10)C.i=1;s=1;do{s=s*i;i++;}while(i<=10) D.i=1;s=0;do{s=s*i;i++;}while(i<=10)13. 以下程序段。
x=-1;do{ x=x*x;}while(!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误14. 以下描述中正确的是。
A.while、do-while、for循环中的循环体语句都至少被执行一次B.do-while循环中,while(表达式)后面的分号可以省略C.while循环体中,一定要有能使while后面表达式的值变为“假”的操作D.do-while循环中,根据情况可以省略while15.下面程序的功能是计算正整数2345的各位数字的平方和,请填空。
#include <stdio.h>int main( ){ int n=2345,sum=0;do{ sum=sum+ ;n= ;}while(n);printf(“sum=%d”,sum);return 0;}A.n%10 B.(n%10)*(n%10)C.n/10 D.(n/10)*(n/10)A.n/1000 B.n/100 C.n/10 D.n%1016. 假设等比数列的第一项a=1,公比q=2,下面程序的功能是满足前n项和小于100的最大n,请选择填空。
#include<stdio.h>int main(){int a=1,g=2,n=0,sum=0;do{ ;n++; a*=g;}while(sum<100);;printf("%d\n",n);return 0;}A.sum++ B.sum+=a C.sum=a+a D.a+=sumA.n=n-2 B.n=n C.n++ D.n-=117. 下面程序的运行结果是。
#include<stdio.h>int main(){ int y=10;do{y--;}while(--y);printf("%d\n",y--);return 0;}A.-1 B.1 C.8 D.018.下面有关for循环的正确描述是。
A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来19. 对for(表达式1;;表达式3)可理解为。
A.for(表达式1;0;表达式3) B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3) D.or(表达式1;表达式3;表达式3) 20. 若i为整型变量,则以下循环执行次数是。
for (i=2; i= =0; ) printf(“%d”,i--);A.无限次B.0次C.1次D.2次21. 以下不是无限循环的语句为。
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;22. 下面程序段的运行结果是。
for(x=3; x<6; x++) printf((x%2)? (“**%d”): (“##%d\n”), x);A.**3##4**5 B.##3**4##5C.##3**4##5D.**3##4**523. 下面程序的运行结果是。
#include<stdio.h>int main(){int i;for(i=1; i<=5; i++)switch(i%5){case 0: printf("*");break;case 1: printf("#");break;default: printf("\n");case 2: printf("&");}return 0;}A.#&&&* B.#&&&* C.#&&&*D.#&*24. 下面程序的功能是求算式xyz+yzz=532中的x,y,z的值(其中xyz和yzz分别表示一个三位数),请选择填空。
#include <stdio.h>int main( ){ int x,y,z,I,result=532;for(x=1;x<10;x++)for(y=1;y<10;y++)for( ; z<10; z++){ i=100*x+10*y+z+100*y+10*z+z;if ( )printf(“x=%d,y=%d,z=%d\n”,x,y,z);}return 0;}A.z=x B.z=1 C.z=0 D.z=yA.i/result==1 B.i=result C.i!=result D.i==result25. 以下正确的描述是。