C语言循环例题

合集下载

C语言循环习题

C语言循环习题

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;A 9B 10C 11D 122.下面程序的循环次数是:#include<>void main(){int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}printf(“k=%d\n”,k);}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是()#include<>void main(){int s,k;for(s=1,k=2;k<5;k++)s=s+k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:#include<>void main(){int i;for(i=0;i<= ;)printf(“i=%d\n”,i=i+2);} (显示的是:2,4,6,8,10,12, (20)A 9B 10C 18D 205.运行下面程序:#include<>void main(){int i=10,j=0;do{j=j+i; /*第一:10,第二:19第三:27第四:34第五:40*/i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include <>main(){int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)/*当循环开始的时候时,k=0,此时和10取3余的结果就等于0,就跳出了for循环开始下面的循环*/ break;elsek--;}k=k+11;a=a+k;printf(“k=%d \n a=%d\n”,k,a);}则输出的结果是()A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:A. do---while语句构成的循环不能用其他语句构成的循环来代替。

c语言循环章节练习题(部分答案)

c语言循环章节练习题(部分答案)

循环章节练习题一、选择题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.下面程序的运行结果是______。

C语言循环例题

C语言循环例题

1.//输出a和b之间的所有素数, 10个素数为一行输出#include<stdio.h>#include<stdlib.h>#include<math.h>int panDuanSuShu(int x) //判断x是否是素数{int i,m,flag; //flag为1表示是素数,flag为0表示不是素数 m=(int)sqrt(x);if(x==2){ flag=1;}else{for(i=2;i<=m;i++){if(x%i==0){flag=0;break;}}if(i>m){ flag=1; }}return flag;}int shuChuSuShu(int a,int b){int i,k=0;//i是循环变量,k表示已经输出了k个素数for(i=a;i<=b;i++){if(panDuanSuShu(i)==1){printf("%6d",i);k++;if(k%10==0){ printf("\n");}}}printf("\n");return k;}int main(){int a,b,t;while(a<2||b<2){printf("重新输入n和m:");scanf("%d%d",&a,&b);}if(a>b){ t=a;a=b;b=t; }printf("%d和%d之间共有%d个素数",a,b,shuChuSuShu(a,b));printf("\n\n");return 0;}2.//用户输入2个数,输出这2个数之间所有的超素数//超素数(质数)的概念:7193是素数,719是素数,71是素数,7是素数,则7193是素数#include<stdio.h>#include<stdlib.h>#include<math.h>int isPrime(int n)//判断某数是否是素数{int i,f,m=(int)sqrt(n);if(n==1) f=0;else{for(i=2;i<=m;i++){if(n%i==0)break;}if(i>m) f=1;else f=0;}return f;}int supperPrime(int n)//判断某数是否是超素数{int t=n;while(t>0){if(isPrime(t)==1)t=t/10;elsebreak;}}void printSupperPrime(int a,int b)//输出a到b之间所有的超素数{int i,m=0;for(i=a;i<=b;i++){if(supperPrime(i)){ printf("%8d",i);m++;if(m%5==0)printf("\n");}}printf("\n");}int main(){int a,b,t;printf("input a,b:");scanf("%d%d",&a,&b);while(a<2 || b<2){printf("input a,b:");scanf("%d%d",&a,&b);}if(a>b) {t=a;a=b;b=t;}printSupperPrime(a,b);printf("\n");//system("pause");return 0;}3.//满足a*a+b*b==c*c的a,b,c三个数,称为勾股数//编程输出100以内的所有勾股数#include<stdio.h>#include<stdlib.h>int gouGuShu(){int x=0;for(int a=1;a<=100;a++)for(int b=a;b<=100;b++)for(int c=b;c<=100;c++)if(x%4==0)printf("\n");printf("%4d%4d%4d ",a,b,c);x++;}return x;}int main(){printf("\n\n 100以内的勾股数共有:%d个。

c语言循环语句例题

c语言循环语句例题

c语言循环语句例题以下是一些关于C语言循环语句的例题:1. 请编写一个程序,利用for循环计算1到10的累加和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;}printf("1到10的累加和为:%d\n", sum);return 0;}```2. 请编写一个程序,利用while循环求出用户输入的正整数的阶乘。

```c#include <stdio.h>int main() {int n, fact = 1;printf("请输入一个正整数:");scanf("%d", &n);int i = 1;while (i <= n) {fact *= i;i++;}printf("%d的阶乘为:%d\n", n, fact);return 0;}```3. 请编写一个程序,利用do-while循环输出1到10之间的所有偶数。

```c#include <stdio.h>int main() {int i = 1;do {if (i % 2 == 0) {printf("%d ", i);}i++;} while (i <= 10);printf("\n");return 0;}```4. 请编写一个程序,利用嵌套循环输出如下图案:```***************``````c#include <stdio.h>int main() {int rows = 5;for (int i = 1; i <= rows; i++) {for (int j = 1; j <= i; j++) {printf("*");}printf("\n");}return 0;}```这些例题涵盖了for、while、do-while等不同类型的循环语句,希望能对您的学习有所帮助!。

C 循环结构23道题[含答案解析]

C  循环结构23道题[含答案解析]

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环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语言循环结构练习题带答案.doc

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___。

C语言循环例题

C语言循环例题

1、// 输出 a 与 b 之间的所有素数, 10 个素数为一行输出#include<stdio 、h>#include<stdlib 、h>#include<math 、h>int panDuanSuShu(int x) // 判断x 就是否就是素数{int i,m,flag; //flag 为 1 表示就是素数,flag 为0 表示不就是素数m=(int)sqrt(x);if(x==2){ flag=1;}else{for(i=2;i<=m;i++){if(x%i==0){flag=0; break;}}if(i>m){ flag=1; }}return flag;}int shuChuSuShu(int a,int b){int i,k=0;//i 就是循环变量,k 表示已经输出了k 个素数for(i=a;i<=b;i++){if(panDuanSuShu(i)==1){ printf("%6d",i); k++; if(k%10==0) { printf("\n");}}}printf("\n");return k;}int main(){int a,b,t;printf(" 输入 a 与b, 以便求 a 与 b 之间的所有素数\n"); scanf("%d%d",&a,&b);while(a<2||b<2){printf(" 重新输入n 与m:"); scanf("%d%d",&a,&b);}if(a>b){ t=a;a=b;b=t; }printf("%d 与%d之间共有%d个素数",a,b,shuChuSuShu(a,b));printf("\n\n");return 0;}2、// 用户输入2个数, 输出这2个数之间所有的超素数// 超素数(质数)的概念:7193 就是素数,719就是素数,71 就是素数,7 就是素数,则7193就是素数#include<stdio 、h>#include<stdlib 、h>#include<math 、h>int isPrime(int n)// 判断某数就是否就是素数{int i,f,m=(int)sqrt(n);if(n==1) f=0;else{ for(i=2;i<=m;i++) {if(n%i==0)break;}if(i>mf=1;else f=0;}return f;}int supperPrime(int n)// 判断某数就是否就是超素数{int t=n;while(t>0){if(isPrime(t)==1) t=t/10;else break;}if(t==0) return 1;else return 0;}void printSupperPrime(int a,int b)//输出a到b之间所有的超素数{int i,m=0; for(i=a;i<=b;i++){ if(supperPrime(i)) { printf("%8d",i);m++; if(m%5==0) printf("\n");}} printf("\n");}int main(){int a,b,t; printf("input a,b:"); scanf("%d%d",&a,&b);while(a<2 || b<2){ printf("input a,b:"); scanf("%d%d",&a,&b);}if(a>b) {t=a;a=b;b=t;} printSupperPrime(a,b);printf("\n");//system("pause");return 0;}3、// 满足a*a+b*b==c*c 的a,b,c 三个数, 称为勾股数// 编程输出100 以内的所有勾股数#include<stdio 、h> #include<stdlib 、h> int gouGuShu(){int x=0;for(int a=1;a<=100;a++) for(int b=a;b<=100;b++)for(int c=b;c<=100;c++) if(a*a+b*b==c*c) {if(x%4==0) printf("\n");printf("%4d%4d%4d ",a,b,c); x++;}int main(){printf("\n\n 100 以内的勾股数共有 :%d 个。

C语言循环结构练习题带答案

C语言循环结构练习题带答案

第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___。

C语言循环设计经典20题

C语言循环设计经典20题

一、求100至200间的全部素数。

二、人口增长预测。

据2005年末统计,我国人口为130756万人,如果人口的年增长率为1%,请计算到哪一年中国总人口超过15亿。

三、输入两个正整数a和b,求其最大公约数和最小公倍数。

四、鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?五、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

六、求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。

例如:2+22+222+2222+22222(n=5),n由键盘输入。

七、求1!+2!+3!+4!+5!+ (20)八、打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。

十、猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘多少桃子。

十一、打印以下图案** * ** * * * ** * * * * * ** * * * ** * **十二、输入一个班全体学生的成绩,把不及格的学生成绩输出,并求及格学生的平均成绩。

十三、译密码。

为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。

编程将输入的字母变成其后的第4个字母。

十四、用公式计算л的近似值,直到最后一项的绝对值小于1E-6为止。

十五、三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。

有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z 结婚。

这人听后知道他们在开玩笑,全是假话。

请编程找出谁将和谁结婚。

十六、九九乘法表的设计制作。

十七、有一对兔子,出生后第3个月起每个月都生一对兔子。

C语言循环练习

C语言循环练习

C语⾔循环练习C语⾔循环语句练习⼀、选择题1、C语⾔中不包含以下哪种循环( ad )。

A. do..while..loopB. do..whileC. forD. do..repeat..until2、以下说法错误的是( cd )。

A. do..while循环可以使⽤while循环替代B. while循环可以使⽤for循环替代C. do..while循环不可以使⽤while循环替代D. for循环不可以使⽤while循环替代3、给定如下代码:j=10;for(i=0,++j;iA.10 B.12C.死循环 D.114、给定如下代码:i=0,j=10;while(iA.10 B.12C.死循环 D.115、关于break和continue说法正确的是:( b )A. break和continue只能⽤于循环中。

B.break和continue可以使⽤在循环以及switch..case中C.break和continue可以使⽤在循环嵌套时,continue总可以跳出整个嵌套循环。

D.break和continue在嵌套循环中只能结束或跳出⾃⼰所在层次的循环。

6、关于for(初始化语句;条件表达式;改变语句)中各个语句说法错误的是( d )A. 初始化语句可以省略B.条件表达式可以省略C.改变语句可以省略D.任意⼀个都不能省略⼆、编程题1、编写⼀个C程序,打印以下图形。

***************int line;for (line = 5; line > 0; line--) {for (int i = 1; i <= line; i++) {printf("* ");}printf("\n");}2、编写⼀个C程序,打印以下图形。

*************************{ for (int i =4;i>=0;i--){for(int j=5;j>i;j--){printf(" ");}for (int m=0;m<2*i+1;m++){printf("*");}printf("\n");}return 0 ;3、编写⼀个C程序,任意输⼊10个数字,使⽤循环进⾏输⼊,最后输出正数之和以及负数之和。

(完整版)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 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语言循环试题及答案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);}```。

c语言for循环题目经典题

c语言for循环题目经典题

c语言for循环题目经典题下面是搜集的关于C语言for循环的经典例题。

一、求水仙花数问题水仙花数:水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。

//水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。

//例:153=1*1*1+5*5*5+3*3*3#include <stdio.h>int main(){int i,a,b,c;for(i=100;i<=999;i++) //保证范围为三位数{a = i%10; //取变量的个位数b = i/10%10; //取变量的十位数c = i/100; //取变量的百位数if ((a*a*a+b*b*b+c*c*c) == i) printf("%d\n",i);}return 0;}二、求规定范围内的完数问题完数:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身//完数定义:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身//例:6为完数,6的真因子为1,2,3 6=1+2+3#include <stdio.h>int main(){int n,i,j,sum;printf("请输入计算完数终止数:\n");scanf("%d",&n);for (i=1;i<=n;i++){sum=0; //一定要保证每次sum的值都要进行刷新(在循环体内)for (j=1;j<i;j++) //保证小于i,不可等于(完数定义){if (i%j==0) sum+=j;}if (sum==i) printf("%d\n",i);}return 0;}三、求规定范围内质数问题质数:一个大于1的整数只能被1和自己整除//质数:一个大于1的整数只能被1和自己整除#include <stdio.h>int main(){int i,j,k,n;printf("请输入终止范围:");scanf("%d",&n);for (i=2;i<=n;i++){k=1; //借助k的值对是否为质数进行判断,需保证每次k都能刷新for (j=2;j<i;j++) //最小质数是2{if (i%j==0){k=0; //在这期间只要有一个其他数可对该数进行整除,就代表该数不是质数break;}}if (k==1) printf("%d\n",i);}}四、计算阶乘之和正整数的阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1。

c语言循环试题及答案

c语言循环试题及答案

c语言循环试题及答案C语言是一种广泛应用于计算机编程领域的编程语言。

在学习C语言的过程中,掌握循环语句是非常重要的,因为循环可以使程序重复执行特定的代码块。

下面将介绍几道C语言循环试题及其详细答案,希望对你的学习有所帮助。

试题一:编写一个程序,要求用户输入一个整数n,计算并输出1到n之间的所有自然数的和。

答案一:```c#include <stdio.h>int main() {int n, i, sum = 0;printf("请输入一个整数n: ");scanf("%d", &n);for (i = 1; i <= n; i++) {sum += i;}printf("1到%d之间的所有自然数的和为:%d\n", n, sum);return 0;}```试题二:编写一个程序,要求用户输入一个正整数n,计算并输出n的阶乘。

答案二:```c#include <stdio.h>int main() {int n, i;unsigned long long factorial = 1;printf("请输入一个正整数n: ");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial *= i;}printf("%d的阶乘为:%llu\n", n, factorial);return 0;}```试题三:编写一个程序,要求用户输入一个整数n,判断并输出n是否为素数(质数)。

答案三:```c#include <stdio.h>int main() {int n, i, isPrime = 1;printf("请输入一个整数n: ");scanf("%d", &n);for (i = 2; i <= n / 2; i++) {if (n % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {printf("%d是素数。

(完整版)C语言循环结构练习题集带答案解析

(完整版)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语言循环结构上机习题

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,amin);}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语言for循环例题

c语言for循环例题

c语言for循环例题C语言for循环例题介绍C语言中的for循环是一种非常常用的循环语句,通过在循环体内重复执行指定次数的操作,可以实现各种功能。

本文将介绍几个常见的C语言for循环例题,帮助读者更好地理解for循环的用法。

例题1:计算1到10的和我们首先看一个简单的例题,要求计算1到10的和。

代码如下:#include <>int main() {int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;}printf("1到10的和为:%d\n", sum);return 0;}运行结果为:1到10的和为:55上述代码中,使用for循环从1到10遍历每个数,并将其累加到变量sum中,最后输出sum的值。

例题2:输出乘法表下面我们来看一个稍微复杂一点的例题,要求输出一个乘法表。

代码如下:#include <>int main() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {printf("%d * %d = %d\t", j, i, j * i);}printf("\n");}return 0;}运行结果为:1 * 1 = 11 *2 = 2 2 * 2 = 41 * 3 = 32 *3 = 6 3 * 3 = 91 * 4 = 42 * 4 = 83 *4 = 12 4 * 4 = 161 * 5 = 52 * 5 = 103 * 5 = 154 *5 = 20 5 * 5 = 251 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 *6 =30 6 * 6 = 361 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 *7 = 42 7 * 7 = 491 * 8 = 82 * 8 = 163 * 8 = 24 4 * 8 = 325 * 8 = 406 * 8 = 487 *8 = 56 8 * 8 = 641 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 *9 = 72 9 * 9 = 81上述代码中,使用嵌套的for循环分别遍历每一行和每一列,计算并输出每个乘法表达式的结果。

c语言循环语句和循环控制例题解析

c语言循环语句和循环控制例题解析

一、循环控制(一)、break语句break语句通常用在循环语句和开关语句中。

当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。

break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。

当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。

即满足条件时便跳出循环。

例如:int main(int argc, char *argv[]){int sn=0,i;for(i=1;i<=100;i++){if(i==51) break; /*如果i等于51,则跳出循环*/sn+=i; /*1+2+……+50*/}printf(%d\n,sn);}可以看出,最终的结果是1+2+……+50。

因为在i等于51的时候,就跳出循环了。

自己写写怎样在while和do--while循环中增加break语句。

注意:1. break语句对if-else的条件语句不起作用。

2. 在多层循环中,一个break语句只向外跳一层。

例如:int main(int argc, char *argv[]){int i,j;printf(i j\n);for(i=0;i<2;i++)for(j=0;j<3;j++){if(j==2) break;printf(%d %d\n,i,j);}}输出结果为:i j0 00 11 01 1当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。

(二)、continue语句continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。

continue语句只用在for、while、do-while等循环体中, 常与if条件语句一起使用,用来加速循环。

c语言循环语句和循环控制例题解析

c语言循环语句和循环控制例题解析

一、循环控制(一)、break语句break语句通常用在循环语句和开关语句中。

当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。

break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。

当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。

即满足条件时便跳出循环。

例如:int main(int argc, char *argv[]){int sn=0,i;for(i=1;i<=100;i++){if(i==51) break; /*如果i等于51,则跳出循环*/sn+=i; /*1+2+……+50*/}printf(%d\n,sn);}可以看出,最终的结果是1+2+……+50。

因为在i等于51的时候,就跳出循环了。

自己写写怎样在while和do--while循环中增加break语句。

注意:1. break语句对if-else的条件语句不起作用。

2. 在多层循环中,一个break语句只向外跳一层。

例如:int main(int argc, char *argv[]){int i,j;printf(i j\n);for(i=0;i<2;i++)for(j=0;j<3;j++){if(j==2) break;printf(%d %d\n,i,j);}}输出结果为:i j0 00 11 01 1当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。

(二)、continue语句continue语句的作用是跳过循环本中剩余的语句而强行执行下一次循环。

continue语句只用在for、while、do-while等循环体中, 常与if条件语句一起使用,用来加速循环。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档