广技师C语言复习题4.练习(循环结构)(有答案)
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语言基础》(循环)部分复习备考练习题13C语言的for语句中的表达式可以部分或全部省略,但两个( )不可省略。
但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。
A) < B) ++ C) ; D) ,14下面有关for循环的正确描述是( )。
A) for循环只能用于循环次数已经确定的情况B) for循环是先执行循环体语句,后判定表达式C) 在for循环中,不能用break语句跳出循环体D) for循环体语句中,可以包含多条语句,但要用花括号括起来15以下程序段( )。
x=-1;do{ x=x*x;}while(!x)A) 是死循环 B) 循环执行2次 C) 循环执行一次 D) 有语法错误16如下的数组中,数组array占用的内存空间是( )个字节。
char array[]={'c','h','i','n','a'};A. 1B. 5C. 6D. 不确定17设有程序段int k=10;while(k=0) k=k-1;则下面描述正确的是( )。
A) while 循环执行10次B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次18下列程序段的运行结果是( )int n=0;while(n++<3);printf("%d",n)A. 2B. 3C. 4D. 以上都不对19设有程序段t=0;while(printf("*"));{ t++;if (t<3) break;}下面描述正确的是( )。
A) 其中循环控制表达式与0等价B) 其中循环控制表达式与'0'等价C) 其中循环控制表达式是不合法的D) 以上说法都不对20下面程序的运行结果是( )。
#include <stdio.h>main(){ int y=10;do { y--;} while(--y);printf("%d\n",y--);}A) -1 B) 1 C) 8 D) 021以下程序段的输出结果是( ).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. 8 22以下不是无限循环的语句为( )。
C 循环结构23道题[含答案解析]
![C 循环结构23道题[含答案解析]](https://img.taocdn.com/s3/m/682b712acc7931b765ce1588.png)
题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环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语句跳出循环体。
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语句跳出循环体。
循环结构练习题

第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次。
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编写一个程序;求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年20100匹马驮100担货;大马一匹驮3担;中马一匹驮2担;小马两匹驮1担..试编写程序计算大、中、小马的数目..东师大;06年21求1~100之间数的每位数的乘积大于每位数的和的数..东师大;07年22一个正整数与3的和是5的倍数;与3的差是6的倍数;编写一个程序求符合条件的最小数..东师大;08年23 已知平方根迭代公式;设初值x=a/2..编写程序输入a值计算其平方根..迭代的结束条件是x n+1-xn<10-15;结果要求输出15位有效位数24.有一口深度为h米的水井;井底有一只青蛙;它每天白天能够沿井壁向上爬m米;夜里则顺井壁向下滑n米;若青蛙从某个早晨开始向外爬;试编写一个函数:对于任意指定的h;m;n值均为自然数;计算青蛙多少天能够爬出井口并简要说明程序实现的基本思想..南师大09P141 16质数数的反序输出。
C语言程序设计(循环)习题与答案
一、单选题1、关于下面程序段,正确的是()。
int k=10;while(!k)k--;A.循环体一次也不执行B.死循环C.循环体执行1次D.循环体执行10次正确答案:A2、下面程序的运行结果是( )。
#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1B.死循环C.1 -2D.10正确答案:C3、已定义int j; 下面程序段的输出结果是()。
for(j=7;j<10;j++)printf("%d",j);A.无结果B.8910C.789D.91011正确答案:C4、下面程序的输出结果是()。
#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.0B.死循环C.32D.28正确答案:C5、下面程序的输出结果是()。
#include <stdio.h>int main( ){int j,s;for(j=1;j<=7;j++)s=s+j;printf("%d",s);}A.死循环B.0C.不确定D.28正确答案:C6、已定义int j,s; 则下面程序段的输出结果是()。
int j,s;for(j=1,s=0;j<=5;j++)s*=j;printf("%d",s);A.0B.无结果C.120D.死循环正确答案:A7、从循环体内某一层跳出,继续执行循环外的语句是( )。
A.if语句B.break语句C.空语句D.continue语句正确答案:B8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。
c语言循环练习题
c语言循环练习题C语言循环练习题C语言是一门广泛应用于计算机科学领域的编程语言,掌握好循环结构是学习C语言的重要一步。
循环结构允许我们重复执行一段代码,这在处理大量数据或需要重复操作的情况下非常有用。
接下来,我们将通过一些C语言循环练习题来巩固对循环结构的理解和应用。
1. 打印九九乘法表九九乘法表是一个经典的练习题,可以通过嵌套循环来实现。
我们可以使用两个循环,一个用于控制行数,另一个用于控制列数。
在每个位置上,将行数和列数相乘即可得到结果。
2. 计算阶乘阶乘是一个常见的数学运算,在C语言中可以使用循环结构来实现。
我们可以通过一个循环,从1开始逐步累乘,直到达到所需的数值。
可以使用一个变量来保存累乘的结果。
3. 判断素数素数是只能被1和自身整除的大于1的自然数。
判断一个数是否为素数可以通过循环结构来实现。
我们可以从2开始,逐个尝试除以每个小于该数的自然数,如果存在能整除的数,则该数不是素数。
4. 斐波那契数列斐波那契数列是一个经典的数列,在该数列中,每个数都是前两个数的和。
可以通过循环结构来实现斐波那契数列的计算。
可以使用两个变量来保存前两个数的值,并通过循环不断更新这两个变量的值。
5. 求最大公约数求最大公约数是一个常见的数学问题,可以通过循环结构来实现。
可以使用辗转相除法来求解最大公约数,即通过不断取两个数的余数,将较大的数替换为余数,直到余数为0。
6. 猜数字游戏猜数字游戏是一个简单而有趣的游戏,可以通过循环结构来实现。
可以随机生成一个目标数字,并让用户通过输入猜测的数字来进行游戏。
通过循环判断用户的猜测是否正确,并根据猜测的结果给出相应的提示。
通过以上的练习题,我们可以巩固对C语言循环结构的理解和应用。
循环结构在编程中非常重要,它可以帮助我们处理大量的数据和重复的操作。
通过不断练习和实践,我们可以逐渐掌握循环结构的技巧,并能够灵活运用到实际的编程项目中。
总结C语言循环练习题是提高编程技能的有效途径之一。
- 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,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. 下面程序的运行结果是。
#include<stdio.h>int main(){int num=0;while(num<=2){num++;printf("%d",num);}return 0;}A.1 B.12 C.123 D.123411. 以下程序的功能是计算一个整数的各位数字之和,请选择填空。
#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 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%10 17. 下面程序的运行结果是。
#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.0 18.下面有关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;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==result 25. 以下正确的描述是。
A.continue语句的作用是结束整个循环的执行B.只能在循环体内和switch语句体内使用break语句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句26. 在下面的程序中,。
#include<stdio.h>int main(){int t,x;for(t=1;t<=100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);}return 0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数28. 下面程序的运行结果是。
#include <stdio.h>int main( ){ int a,b;for( a=1, b=1; a<=100; a++){ if(b>=20) break;if(b%3= =1) {b+=3;continue;}b - =5;}printf(“%d\n”,a);return 0;}A.7 B.8 C.9 D.10答案:1. C2. A3. B4. D5. B6. C A7. D C8.B9. C 10. A 11. A 12. C 13. C 14. C 15. B C 16. B D 17. D 18. D 19. B 20. B 21. A 22. D 23. B 24. C D 25. B26. D 27. C 28. B二、填空题1. 下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
请填空。
int n=0, c;c=getchar( );while( ){ if( ) n++;c=getchar( )}3. 当运行以下程序时,从键盘键入right?<回车>,则下面程序的运行结果是。
#include<stdio.h>int main(){char c;while((c=getchar( ))!='?') putchar(++c);putchar('\n');return 0;}4. 下面程序的运行结果是。
#include<stdio.h>int main(){int a=2,s=0,n=1,count=1;while(count<=7) {n=n*a;s=s+n;++count;}printf("s=%d\n",s);return 0;}6. 下面程序段中循环体的执行次数是。
a=10; b=0;do { b+=2; a-=2+b;}while(a>=0);7. 下面程序段的运行结果是。
x=2;do { printf(“*”); x--; } while(!x= =0);8. 下面的程序的功能是用do-while语句求1—1000之间满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印5个数,请填空。
#include <stdio.h>int main( ){ int i=1,j=0;do{ if{ printf(“%4d”,i);j++;if printf(“\n”);}i=i+1;} while(i<1000);return 0;}9. 当运行以下程序时,从键盘输入“1 2 3 4 5 -1<回车>”,则下面程序的运行结果是。
#include<stdio.h>int main(){ int k=0,n;do{scanf("%d",&n);k+=n;}while(n!=-1);printf("k=%d n=%d\n",k,n);return 0;}10. 下面程序的运行结果是。
#include<stdio.h>{int i=0,x=0,y=0;do{++i;if(i%2!=0) {x=x+i;i++;}y=y+i++;}while(i<=7);printf("x=%d,y=%d\n",x,y);return 0;}12. 鸡、兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,x 代表有多少只鸡,y代表有多少只兔子,请填空完成程序。