c语言循环章节练习题(部分答案)
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 55 6.运行下面程序#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语言各章节练习题(含答案)

一、C语言概述练习题选择1.一个C程序的执行是从。
本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序文件的第一个函数开始,到本程序main函数结束D) 本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成C) C程序的基本组成单位是函数在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误B) 在C程序中,main函数必须位于程序的最前面语言本身没有输入输出语句 D) C程序的每行中只能写一条语句4.一个C语言程序是由。
A)一个主程序和若干个子程序组成函数组成 C) 若干过程组成 D) 若干子程序组成二、数据类型、运算符与表达式选择. 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32) A) 4 B) 16 D) 522.下列四组选项中,均不是C语言关键字的选项是。
C) include case scanf D) while go pow3.下列四组选项中,均是不合法的用户标识符的选项是。
int C) float la0 _A D) -123 abc TEMP4.下列四组选项中,均是合法转义字符的选项是。
\”’‘\\’‘\n’ B)‘\’‘\017’‘\”’ C)‘\018’‘\f’‘xab’ D)‘\\0’‘\101’‘xlf’5.下面不正确的字符常量是。
“c”B) ‘\\’’C) ‘’D) ‘K’6.以下叙述不正确的是。
A) 在C程序中,逗号运算符的优先级最低 B) 在C程序中,MAX和max是两个不同的变量C) 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。
C语言各章节练习题(含答案)

C) include case scanf D) while go pow
3. 下列四组选项中,均是不合法的用户标识符的选项是 。
4. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 B 。
A) 1 B) 2 C) 3 D) 4
5. 以下程序的运行结果是 B 。
main()
{ int a,b,d=241;
2. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字符串,左补空格 D) 输出错误信息
a=d/100%9;
b=(-1)&&(-1);
printf(“%d,%d”,a,b);
} A) 6,1 B) 2,1 C) 6,0 D) 2,0
四、逻辑运算与判断选取控制
选择 1. 逻辑运算符两侧运算对象的数据类型 D 。
A) 只能是0和1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何类型的数据
2. 判断char型变量ch是否为大写字母的正确表达式是 C 。
11.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 。
A) float B) char C) int D) double
12.设以下变量均为int类型,则值不等于7的表达式是 。
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语言复习题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,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。
二级C语言5练习(循环含答案)

(1)有以下程序段int n,t=1,s=0;scanf("%d",&n);do{ s=s+t; t=t-2; }while (t!=n); t==n t=-1,-3,-5为使此程序段不陷入死循环,从键盘输入的数据应该是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; (n-1)!C) f=1; D) f=1;for(i=n;i>1;i++) f*=i; 死循环for(i=n;i>=2;i--) f*=i;(3)以下程序的功能是计算:s=1+12+123+1234+12345。
请填空。
main(){ int t=0,s=0,i;; i=1 t=1 i=2 t=12 i=3 t=123 t=i+10*ts=s+t; }printf("s=%d\n",s);}4) 要求通过while循环不断读入字符,当读入字母N时结束循环。
若变量已正确定义,以下正确的程序段是ch=getchar()!='N' ch=('a'!='N')ch=1 while( 1 )(ch=getchar()) != 'N' ch=getchar() ch='a' 'a'!='N' while(1)A)while((ch=getchar())!='N') printf("%c",ch); B)while(ch=getchar()!='N')printf("%c",ch);C)while(ch=getchar()=='N') printf{"%c",ch); D)while((ch=getchar())=='N')printf("%c",ch);5) 以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。
(完整版)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 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。
c语言循环试题及答案

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环章节练习题一、选择题1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是_______.A. while循环执行10次。
B.循环是无限循环。
C.循环体语句一次也不执行。
D.循环体语句执行一次。
2.设有以下程序段:int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);则________。
A. 运行程序段后输出0。
B. 运行程序段后输出1。
C.程序段中的控制表达式是非法的。
D.程序段执行无限次。
3.下面程序段的运行结果是________。
x=y=0;while(x<15) {y++;x+=++y;}printf(“%d,%d”,y,x);A.20,7 B. 6,12C. 20,8D. 8,203.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n 中的较大者,请选择填空。
#incldue <stdio.h>main(){ int m=0,n=0;char c;while( (___1____)!=’\n’){ if(c>=’A’&&’Z’) m++;if(c>=’a’&&’z’) n++;}printf(“%d\n”,m<n?___2____);}1)A.c=getchar() B.getchar()C.c=getcharD.scanf(“%c”,c);2)A. n:m B. m:n C. m:m D. n:n4.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
#include <stdio.h> main(){ int a,max=0;scanf(“%d”,&a);while(_______){ if(max<a) max=a;scanf(“%d”,&a);}printf(“%d”,max); }A.a==0B.aC.!a=1D. !a5.下面程序的运行结果是______。
#include <stdio.h>main(){ int num=0;while(num<=2){ num++;printf(“%d\n”,num);}}A.1B.1C.1D.12 2 23 346.若运行以下程序时,从键盘输入2473↙,则下面程序的运行结果是_______。
#include <stdio.h>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);defauit: putchar(c+2); break;}printf(“\n”);}A.668977B.668966C.66778777D.66887667.C语言中while 和do—while循环的主要区别是_______。
A.do—while的循环体至少无条件执行一次B.while的循环控制条件比do—while的循环控制条件严格。
C. do—while允许从外部转到循环体内。
D. do—while的循环体不能是复合语句。
8.以下程序段________。
x=-1;do{ x=x*x;while(!x);A.是死循环。
B.循环执行二次。
C.循环执行一次。
C.有语法错误。
9.以下描述中正确的是_________。
A.由于do—while循环中的循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B. do—while循环由do开始,用while 结束,在while (表达式)后面不能写分号。
C.在do—while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。
D. do—while循环中,根据情况可以省略while 。
10.若有如下程序:int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));则上面程序段_________。
A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环11.等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大数n,请选择填空。
#include <stdio.h>main(){int a=1,q=2,n,sum;n=sum=0;do{ ______1______;while(num<100);_____2____;printf(“%d\n”,n);}1)A.sum++ B.sum+=a C.sum*=a D.a+=sum2)A.n=n-2 B.n=n C.n++ D.n-=113.下面有关for循环的正确描述是_____。
A.for循环只能用于循环次数已近确定的情况。
B.for循环是先执行循环体语句,后判断表达式。
C.在for循环中,不能用break语句跳出循环体。
D.for循环的循环体语句中,可以包含多条语句,但必须用花括号阔起来。
14.对于for(表达式1;;表达式3)可理解为:A. for(表达式1;0 ;表达式3)B. for(表达式1;1 ;表达式3)C. for(表达式1;表达式1 ;表达式3)D. for(表达式1;表达式3 ;表达式3)15.若i为整型变量,则以下循环执行的次数是:for(i=2;i==0 ;)printf(“%d”,i--);A> 无限次B> 0次 C> 1次 D> 2次16.下面程序段的运行结果为__________。
for(y=1;y<10;) y=((x=3*y,x+1),x-1)printf(“x=%d,y=%d”,x,y);A.x=27,y=27B. x=12,y=13C. x=15,y=14D. x=y=2717.下面程序段的运行结果是_______。
for(x=3;x<6;x++)printf(“(x%2)?(“* * %d”)(“# # %d\n”),x”);A.* * 3B.# # 3C. # # 3D. * * 3 # # 4 # # 4 * * 4 * * 4 # # 5 * * 5* * 5 # # 518.下列程序段不是死循环的是________。
A.int i=100;B.for(; ;); D.int s=36; while(1)C.int k=0; while(s); { i=i%100+1; do{k++;} --s;if(i>100)break;} while(k>=0);19.下面程序的功能是计算1至50中是7的倍数的数值之和。
请选择填空。
#include <stdio.h> A. (int)(i/7)==i/7main() B. (int)i/7==i/7{ int i,sum=0; C. i%7=0for(i=1;i<=50;i++) D. i%7==0if(________)sum+=i;printf(“%d”,sum);}20.下面程序的运行结果为_______。
#include <stdio.h>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(“&”);}}A.#&&&*B.#&C.#D.#&& & 空格&* & *&*21.下面程序的运行结果为________。
#include <stdio.h>main(){ int i,b,k=0; A.3,-1for(i=1;i<=5;i++) B.8,-1{ b=i%2; C.3,0while(b--﹥=0) k++; D.8,-2}printf(“%d,%d”,k,b);}21.下面程序段________。
for(t=1;t<=100;t++) A.当x<0时整个循环结束{ scanf(“%d”,&x); B.print函数永远也不执行if(x<0) continue; C.x>=0时什么也不输出printf(“%3d”,t);}D.最多允许输出100个非负整数22.下面程序段_______。
x=3;do{ y=x--;if(!y){printf(“x”);continue;}printf(“#”);}while(1<=x<=2);A.将输出##B.将输出##*C.是死循环D.含有不合法的表达式23.下面程序的运行结果是_______。
#include <stdio.h>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);}A.7B.8C.9D.1024.下面程序的功能是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
请填空。
int n=0,c;c=getchar();while(_____________){ if(____________)n++;c=getchar();}25.有1025个西瓜,第一天卖了一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?填空。
#include <stdio.h>main(){ int day=0,x1=1024,x2;while(______){x2=________;x1=x2;day++;} printf(“day=%d\n”,day);}26.下面程序段执行后,k的值是______。
k=1;n=263do{ k*=n%10;n/=10;} while(n);27.鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只。
请填空。
for(x=1;x<=29;x++){ y=30-x;if(____________)printf(“%d,%d\n”,x,y);} 28.下面程序的功能是求出用数字0至9可以组成多少个没有重复的三位偶数。
填空。
main(){ int i,j,k,n=0;for(i=1;i<=9;i++)for(k=0;k<=8;______)if(k!=i)for(j=0;j<=9;j++)if(_________)n++;printf(“n=%d\n”,n);}29.下面程序是打印100以内个位数是6且能被3整除的数。