C语言循环结构练习题

合集下载

(完整版)c语言第六章循环结构程序设计(习题册答案)

(完整版)c语言第六章循环结构程序设计(习题册答案)

第六章循环结构程序设计基础练习(A)一、选择题1、C语言中while和do-while循环的主要区别是(A)。

A) do-while的循环体至少无条件执行一次B) while的循环控制条件比do-while的循环控制条件严格C) C)do-while允许从外部转到循环体内D) do-while的循环体不能是复合语句2、以下描述中正确的是(C)。

A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作D)do-while循环中,根据情况可以省略while3、设有程序段int k=10;while(k) k=k-1;则下面描述中正确的是(A)。

A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次4、下列循环语句中有语法错误的是( D )。

A) while(x=y) 5;B) while(0) ;C) do 2;while(x==b);D) do x++ while(x==10);5、已知int i=1;执行语句while (i++<4) ;后,变量i的值为(C)。

A) 3 B) 4 C) 5 D) 66、语句while(!E);中的表达式!E等价于(A)。

A)E==0 B)E!=1 C)E!=0 D)E==17、下面程序段的运行结果是(A)。

a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--; }printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18、下面程序的运行结果是(C)。

#include <stdio.h>main(){int num=0;while(num<=2){num++;printf(“%d\n”,nu m);}}A)1 B)1 C)1 D)12 2 23 39、以下能正确计算1×2×3×…×10的程序段是(C)。

C语言程序设计习题集第4章 循环结构(答案)

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.500000 B)1.600000 C)2.000000 D)2.4000009、执行以下程序段时x=-1;do{ x=x*x; }while(! x);则下面描述正确的是(A )A) 循环体将执行一次B) 循环体将执行两次C) 循环体将执行无限次D) 系统将提示有语法错误10、有以下程序段其输出结果是(C )int x=3;do{ printf("%d",x-=2); }while (!(--x));A) 1 B) 3 0 C) 1 -2D) 死循环11、有如下程序main(){int x=23;do{printf(“%d”,x);x--;}while(!x);}该程序的执行结果是(B )A) 321 B) 23 C) 不输出任何内容D) 陷入死循环12、有以下程序段int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345 &&n<3);此处do—while循环的结束条件是( D)A) P的值不等于12345并且n的值小于3B) P的值等于12345并且n的值大于等于3C) P的值不等于12345或者n的值小于3D) P的值等于12345或者n的值大于等于313、以下不构成无限循环的语句或语句组是(A)A) n=0;do {++n;}while(n<0);B) n=0;while(1){n++;}C) n=10;while(n);{n--;}D) for(n=0,i=1; ;i++)n+=i;14、若i为整型变量,则以下循环执行的次数是(B)for(i=2;i= =0;) printf(“%d”,i--);A)无限次B)0次C)1次D)2次15、执行语句for(i=1;i++<4;)后,变量i的值是(C)A) 3 B) 4 C) 5 D) 不定16、有以下程序main(){int y=9 ;for( ; y>0 ; y--)if(y%3==0 ) printf("%d" , --y) ;}程序的运行结果是(C)A) 741 B)963 C)852 D)87542117、以下程序执行后sum的值是( C)A)15 B)14 C) 不确定D)0main(){ int i , sum;for(i=1;i<6;i++) sum+=i;printf(“%d\n”,sum);}18、有如下程序{ int i,sum=0;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是(C)A) 6 B) 3 C) 死循环D) 019、执行语句for(i=3;i>0;i--);i--;后,变量i的值是(C )A)0 B)10 C)-1 D)120、执行下面程序片段的结果是(A )。

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语言第5章练习题--循环结构程序设计

c语言第5章练习题--循环结构程序设计

难度(*)--考点:基本概念、判断循环次数1、C语言中下列叙述正确的是(D)A)不能使用do…while语句构成的循环B)do…while语句构成的循环,必须用break语句才能退出C)do…while语句构成的循环,当while语句中的表达式值为非零时结束循环D)do…while语句构成的循环,当while语句中的表达式值为零时结束循环2、对于下列程序片断,(A)int k=0;while(k=1) k++;则while循环的执行次数是A. 无限次B. 有语法错误,不能执行C. 一次也不执行D. 执行一次3、下面程序段(C)int k=2;while (k=0) {printf(“%d”,k);k--;}则下面描述中正确的是。

A )while 循环执行10 次B )循环是无限循环C )循环题语句一次也不执行D )循环体语句执行一次4、当执行以下程序段时(A)x=-1;do { x=x*x;} while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误5、若i为整型变量,则以下循环执行次数是(B):for( i = 2; i ==0;) printf(“%d”, i);A) 无限次B) 0次c) 1次D) 2次6、对for(表达式1; ; 表达式3)可理解为(B)A) for(表达式1; 0 ; 表达式3)B) for(表达式1; 1 ; 表达式3)C) for(表达式1;表达式1; 表达式3)D) for(表达式1;表达式3; 表达式3)7、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。

(A)main ( ){ int m=0,n=0;char c;while (( ) ! '\n'){if (c>='A' && c<='Z') m++;if (c>='a' && c<='z') n++;}}A)c=getchar( ) B)getchar( ) C)c==getchar( ) D)scanf(“%c”,&c)8、下面for 循环语句。

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

循环结构练习题

循环结构练习题

第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语言循环结构测习题带答案

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

C语言全国试题(五-循环结构程序设计)

C语言全国试题(五-循环结构程序设计)

填空题(全国二级C 2008C2-8)
若有定义:int k;,以下程 序段的输出结果是__#_#_2_#_#_4__。
for (k=2; k<6; k++,k++ ) printf (“##%d”,k);
选择题(全国二级C 2007Q1-22)
C 有以下程序,程序的运行结果是 。
#include <stdio.h>
{ int i;
for ( i=1 ; i<=40; i++)
{ if (i++%5==0)
if (++i%8==0)printf("%d ",i); }
printf("\n"); }
A) 5
B) 24
C) 32
D) 40
选择题(全国二级C 2005Q1-27)
设变量已正确定义,则以下能正确
计算f=n!的程序段是 D 。
有以下程序段,且变量已正确定义和赋值
for ( s=1.0,k=1;k<=n; k++ ) s=s+1.0/(k*(k+1));
printf(“s=%f\n\n”,s); 请填空,使下面程序段的功能与之完全相同
s=1.0; k=1; while ( ___k_<_=_n__ ) { s=s+1.0/(k*(k+1)); __k_+_+__ ; } printf(“s=%f\n\n”,s);
以下程序的功能是计算: s=1+12+123+1234+12345。请填空。 main( ) { int t=0, s=0, i; for(i=1; i<=5; i++)

C语言第四份练习题(循环结构)

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. 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。

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语言 循环结构习题

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语言题库-循环结构

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语言循环结构练习题

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语言循环结构练习题

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的循环控制条件严格第5章循环结构程序设计35C. 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)与以下程序段等价的是____。

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

第5章循环结构程序设计35A. 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、计算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语言中,以下哪个循环结构不是基于条件的循环?A. for循环B. while循环C. do-while循环D. goto语句(答案)二、以下哪个选项不是for循环的控制表达式?A. 初始化表达式B. 循环条件表达式C. 循环体D. 迭代表达式(答案:C是循环体,不是控制表达式)三、在C语言的while循环中,循环条件通常是一个什么类型的表达式?A. 赋值表达式B. 关系表达式或逻辑表达式(答案)C. 算术表达式D. 逗号表达式四、以下哪个选项描述的do-while循环的特点是不正确的?A. 循环体至少执行一次B. 循环条件在循环体之后判断C. 循环条件为真时,循环继续执行D. 循环条件通常是一个赋值表达式(答案)五、在C语言中,如何跳出当前所在的循环体?A. 使用continue语句B. 使用break语句(答案)C. 使用return语句D. 使用goto语句六、以下哪个选项不是使用循环结构时需要注意的问题?A. 循环条件的设置B. 循环体的设计C. 循环变量的初始化(答案:虽然重要,但相比其他选项更偏向于编程习惯)D. 避免无限循环的发生七、在嵌套循环中,如何跳出最外层的循环?A. 使用多次break语句B. 在最外层循环中使用goto语句配合标签跳出(答案)C. 使用continue语句D. 无法直接跳出,需要重新设计循环结构八、以下哪个选项描述的for循环的语法结构是不正确的?A. for(初始化表达式; 循环条件表达式; 迭代表达式) 循环体;B. for(循环条件表达式; 初始化表达式; 迭代表达式) 循环体;(答案)C. for(;;) 循环体; // 相当于一个无限循环D. for(初始化表达式; ; 迭代表达式) { 如果条件满足则执行循环体; } // 需要内部判断条件九、在C语言中,continue语句的作用是?A. 跳出当前循环体,继续执行下一轮循环(答案,但描述略有歧义,实际上是结束当前迭代,进入下一次迭代条件判断)B. 跳出当前函数C. 跳出所有循环D. 结束整个程序十、以下哪个选项不是循环结构在程序设计中的应用场景?A. 重复执行相同的操作直到满足某个条件B. 遍历数组或集合中的每个元素C. 实现递归算法(答案)D. 计算累加、累乘等需要重复计算的问题。

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

第5章循环结构程序设计
5.1 基本知识点
✍while语句的使用格式和注意事项
✍do-while语句的使用格式和注意事项
✍for语句的使用格式和注意事项
✍break和continue语句在循环语句中的应用
✍循环结构的嵌套
✍使用goto语句实现循环结构
✍穷举法程序设计方法
✍迭代程序设计方法
5.2 练习题5
1. 单项选择题
(1)语句while (!e);中的条件!e等价于。

A. e==0
B. e!=1
C. e!=0
D. ~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)
B. while (c)
{ if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a)
{ if (b) c; } { if (b) break; c; } (8)以下程序的输出结果是____。

#include <stdio.h>
main()
{
int i;
for (i=4;i<=10;i++)
{
if (i%3==0) continue;
printf("%d",i);
}
}
A. 45
B. 457810
C. 69
D. 678910
(9)以下程序的输出结果是____。

#include <stdio.h>
main()
{
int num=0;
while (num<=2)
{
num++;
printf("%d\n",num);
}
}
A. 1
B. 1
C. 1
D. 1
2 2 2
3 3
4
2. 填空题
(1)以下程序的运行结果是____。

#include <stdio.h>
main()
{
int s=0,k;
for (k=7;k>=0;k--)
{
switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break; }
}
printf("s=%d\n",s);
}
(2)以下程序的运行结果是。

#include <stdio.h>
main()
{
int i=1,s=3;
do
{
s+=i++;
if (s%7==0)
continue;
else
++i;
} while (s<15);
printf("%d\n",i);
}
(3)以下程序的运行结果是____。

#include <stdio.h>
main()
{
int i,j;
for (i=4;i>=1;i--)
{
printf("*");
for (j=1;j<=4-i;j++)
printf("*");
printf("\n");
}
}
(4)以下程序的运行结果是____。

#include <stdio.h>
main()
{
int i,j,k;
for (i=1;i<=6;i++)
{
for (j=1;j<=20-2*i;j++) printf(" ");
for (k=1;k<=i;k++)
printf("%4d",i);
printf("\n");
}
}
(5)以下程序的运行结果是____。

#include <stdio.h>
main()
{
int i,j,k;
for (i=1;i<=6;i++)
{
for (j=1;j<=20-3*i;j++) printf(" ");
for (k=1;k<=i;k++)
printf("%3d",k);
for (k=i-1;k>0;k--)
printf("%3d",k);
printf("\n");
}
}
(6)以下程序的运行结果是____。

#include <stdio.h>
main()
{
int i,j,k;
for (i=1;i<=4;i++)
{
for (j=1;j<=20-3*i;j++) printf(" ");
for (k=1;k<=2*i-1;k++) printf("%3s","*"); printf("\n");
}
for (i=3;i>0;i--)
{
for (j=1;j<=20-3*i;j++) printf(" ");
for (k=1;k<=2*i-1;k++) printf("%3s","*"); printf("\n");
}
}
3. 编程题
(1)编写一个程序,求100
199********-++-+- 之值。

(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)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。

编写一个程序,采用迭代法问某人共摘了多少只桃子。

相关文档
最新文档