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

合集下载

C循环结构程序设计试题以及参考答案

C循环结构程序设计试题以及参考答案

C循环结构程序设计试题以及参考答案C循环结构程序设计试题以及参考答案实验内容:1.编程:输出200以内所有能被7整除的数。

#includemain(){int i;for(i=1;i<200;i++)if(i%7==0)printf("%4d",i);}2. 编程:求出1 ~ 1000之间能被13整除的最⼤的那个数。

#includemain(){int i,max=0;for(i=1;i<1000;i++)if(i%13==0){i>=max;max=i;}printf("max=%d",max);}3.编程:找出若⼲个⾮零数中的最⼩值m以及它们的平均值a。

要求:若⼲个数由键盘输⼊,每次输⼊⼀个赋给变量x,x为零时,结束输⼊。

#includemain(){int n,i,b,min,s=0;float a;printf("输⼊的数据的个数n=");scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&b);if(i==1)min=b;if(min>b)min=b;s=s+b;}a=s*1.0/n;printf("min=%d\n a=%f",min,a); }4. 编程:求两个正整数m、n之间所有奇数之和x与偶数之和y。

要求:(1)m、n的值由键盘输⼊。

(2)输⼊时,允许⽤户随意先输⼊⼤的或⼩的整数。

#include main(){int m,n,i,x1=0,x2=0;printf("input m,n(mscanf("%d,%d",&m,&n);for(i=m;i<=n;i++){if (i%2==1)x1+=i;elsex2+=i;}printf("x1=%d,x2=%d\n",x1,x2);}5. 编程:计算π的近似值,π的计算公式为:要求:(1)n值由键盘输⼊。

循环结构程序设计课后习题及答案

循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别是、、。

2、for语句括号内的3个表达式的作用分别是、、。

3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环。

4、在循环结构中,break语句的作用是;continue语句的作用是。

5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次。

6、下面程序段的执行次数:int a=0;while(a=0){ printf("good\n");a--;}7、下面程序段的执行次数:int a=0;while(a==0){ printf("good\n");a--;}8、下面程序段的执行次数:int a=1;while(a=1){ printf("good\n");a++;}9、下面程序段的执行次数:int a=1;while(a==1){ printf("good\n");a++;}10、下列程序段的运行结果是。

for(i=5;i>=0;i--)printf(“%d “,i);11、下列程序段的运行结果是。

for(n=1;n<20;n=n+3)printf(“%d “,n);12、下列程序段的运行结果是。

for( ch='a' ;ch<='e' ;ch++)printf(“%d“,ch-97);13、下列程序段的运行结果是。

for(i=1,j=5 ; i<j ; i++,j--)printf(“i=%d j=%d\n“,i,j);14、下列程序段的运行结果是。

for(n=1 ; n*n<20 ; n++)printf(“%d \n“,n+n);二、选择题1、下列程序段中,死循环的是()A、for (i=1; ;)B、i=32767;{ if(++i%2==0) continue; doif(++i%3==0) break; { if(i<0) break;} }while(++i);C、i=1;D、for(i=1; ; )while(i--); if(++i<10) break;2、下列程序段中,不是死循环的是()A、int i=10;B、for( ; 1;)while(1){ i=i%100+1;if(i>100) break;}C、int a=0;D、int x=21;do while(x){ ++a; --x;}while(a>=0);三、阅读程序,写出程序运行结果。

C语言程序设计实例教程第2版习题答案作者李红第5章循环结构程序设计.doc

C语言程序设计实例教程第2版习题答案作者李红第5章循环结构程序设计.doc
5.5
5.5.1
1.练习目的
1.进一步练习循环结构程序设计
2.进一步练习循坏恢套结构程序设计
3.进一步提髙综合编程和调试程序的能力
2.练习内容
1.打印输出所有的水仙花数(所谓水仙花数,是指一个三位数,其各位数字立方和等于 该数木身)。
#include "stdio.h"
main()
{
int m,x,y,z;
5.运行以卜•程序后的输出结果为(8,17)o
#include "stdio.h"
main()
{ int m=0,n=0,j;
for (j=0;j<25;j++)
讦((j%2)&&(j%3))m++;
else n++;
printf( “%d,%d", m,n); getch(); }
6.以下程序运行后的输出结果是(20)。
#include "stdio.h"
main()
{
int i,j;
for(i=100;i<=200;i++)
{
for(j=2;j<i;j++)
{
if (i%j==0)
break;
}
if(i"j)
printf(,,%d\n"/i);
}
getch();}
5.试编程,找出「99之间的全部同构数。同构数是这样一组数:它出现在平方数的右。 例如:5是25右边的数,25是625右边的数,5和25都是同构数。
}
getch();}
3.求整数1〜100的累加值,但要求跳过所有个位为3的数。

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语言第六章循环结构程序设计(习题册答案)

(完整版)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语言程序设计:循环结构程序设计单元测试与答案

C语言程序设计:循环结构程序设计单元测试与答案

一、单选题1、下面程序的运行结果是 ( )。

#include <stdio.h>int main( ){int i=5;while(i>0);printf("%d",i--);return 0;}A.5B.死循环C.0D.-1正确答案:B2、关于下面程序段,正确的是()。

int k=10;while(!k)k--;A.循环体执行1次B.循环体执行10次C.循环体一次也不执行D.死循环正确答案:C3、下面程序的运行结果是( )。

#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1 -2B.死循环C.10D.1正确答案:A4、下面程序的运行结果是( )。

#include <stdio.h>int main( ){int i=10;while(i-->0);printf("%d ",i);return 0;}A.10B.0C.10987654321D.-1正确答案:D5、已定义int j; 下面程序段的输出结果是()。

for(j=7;j<10;j++)printf("%d",j);A.91011B.8910C.789D.无结果正确答案:C6、下面程序的输出结果是()。

#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.死循环B.28C.0D.32正确答案:D二、判断题1、while循环语句至少无条件执行一次循环体。

正确答案:×2、for循环语句只能用于循环次数已经确定的情况。

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语言三大循环结构的练习题.docx

C语言三大循环结构的练习题.docx

一、选择:1、以下程序的运行结果是()。

(南师大04)main(){int a=5,b=4,c=6,d;printf(n %d\n n ,d=a>b?(a>c?a: c): (b));}A. 5B.4C. 6D.不确定2、以下程序的运行结果是()。

(南师大04)main(){int a=4,b=5,c=0,d;d=!a&&!b||!c;printf(n%d\n n,d);}A. 1B.OC.非0 的数D.—13、如下程序的运行结果是()。

(南师大04)void main(){int x=l,a=0,b=0;switch(x){case 0:b++;case l:a++;case 2:a++;b++;}printf(n a=%d,b=%d\n n ,a,b); }A. a=2,b=lB. a=l,b=lC. a=l,b=0D.a=2,b=24、对于如下程序段,何时执行后的结果为tme?()(南师大04)if(i=0)printf(n true n);elseprintf(M false u);A.总是B. 绝不会C.当i为0时D.当i不为0时5、下列程序段执行后,变量x的值是()。

(南师大04)for(x=2;x< 10;x+=3);A. 2B. 9C・10 D. 116、设inta=0,b=5;执行表达式++a||++b, a+b后,a, b和表达式的值分别是()o (南师大05)如果II前面为真,则直接跳到下一个表达式A、1, 5, 7B、1, 6, 7C、1, 5, 6D 、0, 5, 77、使用C语言描述关系表达式a<=x<b,正确描述是()o(南师大05)A、a<=x<bB、x>=a&x<bC、x>=a&&x<bD、a<=x&&<b8、设i, j均为int类型的变量,则以下程序段中执行完成后, 打印出的”OK"数是多少?(南师大08)for (i=5;i>0;—i){for(j=0;j<4;j++){ printf(,,%s n;,OK n);}08)char str[30]=n nanjing Normal University!n ;str[7]=、0:printf(M %d'\strlen(str));(a) 6 (b)7 (c)8 (d) 26 11、设x, y, z, t 均为int 型变量,则执行以下语句后,t 的 值是什么?(南师大08)x=y=z=l;t= x || y && z ;(a)不定值 (b)2 (c) 1(d)01, (x>0)12.下列能够正确实现函数y 二X 0, (x=0) o 的程序段有 __________________ o (南师大09)-1, (x<0)10、若有以下说明和语句, 则输出结果是哪一项? (南师大13.若有“inti ;二下列与“for(i=0;ivlO;i++)printf(“%(T,i )r 的输出结果相同的循环语句是 _________ 。

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

第 5 章循环结构程序
设计
练习题
1.单项选择题
( 1)语句 while (!e);中的条件!e等价于A。

A. e==0
B. e!=1
C. e!=0
D. ~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___。

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

#include <>
main()
{
int num=0;
while (num<=2)
{
num++;
cout<<num<<endl;
}
}
A. 1
B. 1
C. 1
D. 1
2 2 2
3 3
4 2.填空题
( 1)以下程序的运行结果是__S=7__。

#include <>
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;
}
}
cout<<s;
}
( 2)以下程序的运行结果是i=8。

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

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

#include <>
main()
{
int i,j,k;
for (i=1;i<=6;i++)
{
for (j=1;j<=20-2*i;j++)
cout<<" ";
for (k=1;k<=i;k++)
cout<<i;
cout<<endl;
}
}
输出结果:
1
22
333
4444
55555
666666
( 5)以下程序的运行结果是____。

#include <>
main()
{
int i,j,k;
for (i=1;i<=6;i++)
{
for (j=1;j<=20-3*i;j++)
cout<<" ";
for (k=1;k<=i;k++)
cout<<k;
for (k=i-1;k>0;k--)
cout<<k;
cout<<endl;
}
}
输出结果:
1
121
12321
1234321
1
( 6)以下程序的运行结果是____。

#include <>
main()
{
int i,j,k;
for (i=1;i<=4;i++)
{
for (j=1;j<=20-3*i;j++)
cout<<" ";
for (k=1;k<=2*i-1;k++)
cout<<"*";
cout<<endl;
}
for (i=3;i>0;i--)
{
for (j=1;j<=20-3*i;j++)
cout<<" ";
for (k=1;k<=2*i-1;k++)
cout<<"*";
cout<<endl;
}
}
输出结果:
*
***
*****
*******
*****
***
*。

相关文档
最新文档