C++循环习题
- 格式:docx
- 大小:12.81 KB
- 文档页数:2
循环习题集锦一.选择题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语句构成的循环不能用其他语句构成的循环来代替。
一、单选题1、有以下程序段:int k=2;while (k=0) { printf("%d",k) ; k-- ; }则下面描述中正确的是()。
A.循环体语句一次也不执行B.while循环执行10次C.循环是无限循环D.循环体语句执行一次正确答案:A2、下面程序段执行后的输出结果是()。
int a=1,b=2,c=3,t;while (a<b<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);A.2,1,0B.2,1,1C.1,2,0D.1,2,1正确答案:D3、下面程序段执行后的输出结果是()。
#include <stdio.h>int main(){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d",x,y,z);return 0;}A.4,3,-1B.5,-2,-5C.3,2,0D. 3,2,-1正确答案:D4、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择()填入到【】中。
#include <stdio.h>int main(){ int m=0,n=0; char c;while ((【】)!='\n') {if (c>='A' && c<='Z') m++ ;if (c>='a' && c<='z') n++ ;}return 0;}A.scanf("%c",&c)B.c==getchar()C.getchar()D.c=getchar()正确答案:D5、语句while (!E){......}; 中的表达式!E等价于()。
循环练习题第一次作业: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;cout<<s;则()A. 运行程序段后输出0B. 运行程序段后输出1C. 程序段中的控制表达式是非法的D. 程序段执行无限次3、下面程序段的运行结果是()int x=0,y=0;while(x<15) y++,x+=++y;cout<<y<<x;A、20,7B、6,12C、20,8 D 8,204、下面程序段的运行结果是()int n=0;while (n++<=2); cout<<n;A,2 B、3 C、4 D 有语法错误5、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。
当输入一对相等的数时结束循环,请选择填空。
void main(){ int a,b,t;cin>>a>>b;while( ){if(a>b) {t=a;a=b;b=t;}cout<<a<<b;}cout<<a<<b;}A、!a=bB、a!=bC、a==bD、a=b6、下面程序的运行结果是()void main( ){int num=0;while(num<=2){num++; cout<<num<<endl;}}A.1B.1<CR>2C.1<CR>2<CR>3D.1<CR>2<CR>3<CR>47、C++语言中while和do-while循环的主要区别是()A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do–while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句8、以下程序段()x=-1;do{x=x*x;}1while(!x);A.是死循环B.循环执行二次C.循环执行一次D.有语法错误9、以下描述中正确的是()A.由于do -while循环中循环语句中只能是一条可执行语句,所以循环体内不能使用复合语句。
循环习题集锦一.选择题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. 请编写一个程序,利用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等不同类型的循环语句,希望能对您的学习有所帮助!。
循环2一、单项选择题1.以下程序的输出结果是______。
#include<stdio.h>void main(){int num=0;while(num<=2){num++;printf("%d",num);}}A.2B.1C.123D.12参考标准答案:C2.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。
#include<stdio.h>void main(){int x;scanf("%d",&x);if(x>5)printf("%d",x);else printf("%d\n",x--);}A.7和5B.6和3C.7和4D.6和4参考标准答案:D3.以下描述中正确的是______。
A.由于do-while循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B.do-while循环由do开始,用while结束,因此在while(表达式)后无需加分号。
C.在do-while循环体中,一定要有能使while后面表达式的值变为“假”的操作。
D.do-while循环中,根据情况可以省略while。
参考标准答案:C4.下面程序段的输出结果是______。
int i=10;while(i>7){i--;printf("%d",i);}A.1098B.987C.10987D.8910参考标准答案:B5.若i为整型变量,则以下循环执行的次数是______。
for(i=2;i==0;)printf("%d",i--);A.无限次B.0次C.1次D.2次参考标准答案:B6.执行下面程序段后,i值是______。
int i=0;do{++i;if(i%2!=0);}while(i<=100);A.101B.100C.99D.98参考标准答案:A7.若变量都已正确说明,则以下程序段输出为______。
循环习题集锦一.选择题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)mai n(){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)mai n(){ 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;else k--;}k+=11;a+=k;}printf( “%d %d\n”,k,a);}则输出的结果是( C)A 21 32B 21 33C 11 12D 10 11 7.以下叙述正确的是:( D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C. 用do---while 语句构成的循环,在while后的表达式为非零时结束循环。
D. 用do---while 语句构成的循环,在while后的表达式为零时结束循环。
题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环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个。
循环习题集锦一.选择题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. 打印出1到100之间所有的偶数。
c#includeint main{int i;for(i = 2; i <= 100; i += 2) {printf("%d ", i);}return 0;}2. 计算1到100之间所有整数的和。
c#includeint main{int i, sum = 0;for(i = 1; i <= 100; i++) {sum += i;}printf("Sum = %d", sum);return 0;}3. 判断一个数是否为素数。
c#includeint num, i, isPrime = 1;printf("Enter a number: ");scanf("%d", &num);for(i = 2; i <= num/2; i++) {if(num % i == 0) {isPrime = 0;break;}}if(isPrime) {printf("%d is a prime number.", num);} else {printf("%d is not a prime number.", num); }return 0;}4. 打印出以下图案:***************c#includeint main{for(i = 1; i <= 5; i++) {for(j = 1; j <= i; j++) {printf("*");}printf("\n");}return 0;}5. 生成Fibonacci数列的前n个数。
c#includeint main{int n, i;long long int first = 0, second = 1, next; printf("Enter the number of terms: "); scanf("%d", &n);printf("Fibonacci Series: ");for(i = 0; i < n; i++) {printf("%lld ", first);next = first + second;first = second;second = next;}return 0;}这些习题涵盖了循环的不同应用场景,包括打印、求和、判断和生成数列等。
/*1. 编程计算a+aa+aaa+…+aa..a(n个a)的值,a的取值范围为0—9,n的取值范围为0—5。
n和a的值都由键盘输入,均为整数。
*/
/* 2. 某学校有思维同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。
四个人的回答分别是:
A说:不是我
B说:是C
C说:是D
D说:C胡说。
已知三人说的是真话,一个人说的是假话,现在编程求出做好事的到底是谁?*/
/*3. 编程设计一个小游戏,猜数字(1~100)。
先由计算机“想”一个数,然后用户来猜,如果猜错了,计算机给出提示:告诉用户所猜的数字是太大还是太小,最多可以猜10次。
如果在10次以内猜对了,输出总共猜了多少次。
如果猜了10次仍未猜中的话,则停止本次猜数,然后继续下一个猜数。
每次运行程序可以反复猜多个数,直到用户想停止时才结束。
(选做)*/
// Seed the random-number generator with the current time so that // the numbers will be different every time we run.
srand ((unsigned)time(NULL));
do
{
magic=rand()%100+1; //generate a random number;。