C语言程序设计答案(黄保和编)第5章

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

一、选择题

1.设有程序段”int k=10;while(k=0)k=k-1;”,则下面叙述正确的是D 循环体语句一次也不执行

2.设有程序段”int x=0,s=0;while(!x!=0)s+=++x;printf(“%d”,s);”则A 运行程序段后输出1

3.若有语句”int x=3;do{printf(“%d\n”,x-=2);}while(!(--x));”,则该程序段C 输出的是1和-2

4.下面循环语句中,错误的是D int a=1,b=2;do b--while(b= =0);

5.已知”int i=5;”,下列do…while循环语句的循环次数为C 5

do{printf(“%d\n”,i--);}while(i!=0);

6.循环语句”for(int i=0,j=10;i=j=10;i++,j--)”的循环次数是D 无限

7.循环语句”while(int i=0;)i--;”的循环次数是A 0

8.下述有关break语句的描述中,不正确的是C break语句用于if语句的内嵌语句内,它结束该if语句

9.下面关于循环语句的描述中,错误的是B 循环体内必须同时出现break语句和continue语句

10.以下不是死循环的是D for(;(c=getchar()!=’\n’);)printf(“%c”,c);

11.执行语句”for(i=0;i++<3;);”后,变量i的值为C 4

12.语句”for(x=0,y=0;y!=1&&x<4;x++);”是C 循环4次

13.与语句”while(!x);”等价的语句是A while(x= =0);

14.执行下列程序段后a的值为B 2

int a=1,b=10;

do{

b-=a;a++;

}while(b--<0)

二、编程题

1.读入用户输入的6个整数并显示其平均值。

#include

main()

{

float sum=0;

int tmp;

int i;

for(i=0;i<6;i++)

{

printf("输入第%d个数:",i+1);

scanf("%d",&tmp);

sum=sum+tmp;

}

printf("平均值是:%f",sum/6);

}

2.先读入一个正整数n,然后计算并显示前n个偶数的和。

#include

main()

{

int sum=0,n,i;

printf("输入一个正整数:");

scanf("%d",&n);

for(i=1;i<=n;i++)

sum+=2*i;

printf("前n个偶数和为:%d\n",sum);

}

3.显示10~150之间所有能被4或5整除的整数

#include

main()

{

int i;

for(i=10;i<=150;i++)

if(i%4==0||i%5==0)

printf("%d\t",i);

}

4.显示Fibonacci数列的前30项(每行5输出项)

#include

main()

{

int a,b,c,i;

a=1;b=1;

for(i=1;i<=30;i++)

{

c=a+b;

printf("%d\t",a);

a=b;

b=c;

if(i%5==0)

putchar('\n');

}

}

5.显示Fibonacci数列中值小于15000的所有数据项(每行5输出项)#include

main()

{

int a,b,c,i;

a=1;b=1;

for(i=1;a<15000;i++)

{

c=a+b;

printf("%d\t",a);

a=b;

b=c;

if(i%5==0)

putchar('\n');

}

}

6.输出100~200之间所有能被3和7整除的数

#include

main()

{

int i;

for(i=100;i<=200;i++)

if(i%3==0&&i%7==0)

printf("%d\t",i);

}

7.输入两个整数,分别输出他们的最大公约数和最小公倍数

#include

main()

{

int a,b,max,min,i;

printf("输入两个整数:");

scanf("%d%d",&a,&b);

max=a?b:a>b;

min=a?b:a

for(i=min;i>=1;i--)

{

if(a%i==0&&b%i==0)

{

printf("最大公约数是:%d\n",i);

break;

}

}

for(i=max;;i++)

{

if(i%a==0&&i%b==0)

{

printf("最小公倍数是:%d\n",i);

break;

}

}

}

8.求一个二位整数AB(其中AB分别为两位整数的十位和个位),使AB-BA=45成立。#include

main()

{

int i,j;

for(i=10;i<=99;i++)

相关文档
最新文档