第5章 循环结构程序设计-答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序运行后的输出结果是(C)。
A)1,1B)2,2C)3,3D)4,4
15.以下程序中,printf语句的执行次数是( B )。
main()
{
int i,j;
for (i=1; i<=5;i++)
for (j=1;j<=10;j++)
printf("%d \n",i+j);
}
A、15B、50C、死循环D、0
{
for(j=2,j<=i-1;j++)
if(i%j==0) break;//利用求余运算符%,只要满足i%j==0)就退出循环
if(j==i)/i是否素数的判定条件
printf("%d\n",i);
}
}
4.编程序输出9*9乘法口诀表。
程序如下:
#include <stdio.h>
void main()
二、程序设计
1用while语句求1+2+3+…+99+100的和。
程序如下:
#include <stdio.h>
voidmain()
{
int i=1,s=0;//循环首部,循环初始条件
while(i<=100)//循环首部,包含循环条件
{
s=s+i;/*循环体,复合语句*/
i++;//改变循环控制变量
程序如下:
#include <stdio.h>
void main()
{
int iNum=0,iLet=0;
char ch;
printf("input a string:\n");
while((ch=getchar())!='\n')
{
if(ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’) iLet++;
B) for(k=10; ;k--);
C) for(y=0,x=1;x>++y;x=k++) k=x;
D) while(1) {x++;}
6.以下程序的输出结果是(B)。
#include <stdio.h>
main( )
{ int i=1;
do
{ printf("%d",i);
i++;i++;}
while (i<=5);
#include <stdio.h>
voidmain()
{
int i=0,j=100,s=0;//循环初值
while(i<=j)//循环条件为关系表达式
s=s+(i++)+(j--);//循环体
printf("sum=%d\n",s-50);//为什么要减50?
}
2.从键盘输入一行字符,分别统计其中字母、数字的个数。
}
A) 025 B) 135 C) 024 D) 05
7.下面的C语言代码段的输出结果是(A)。
int j;
for(j=1; j<10; j++)
printf("%d ",j);
A.1 2 3 4 5 6 7 8 9B. 2 4 6 8
C. 1 3 5 7 9D. 1 2 4
8.定义如下变量:
int n=20;
}
printf("sum=%d\n",s);
}
也可以将程序改为:
#include <stdio.h>
voidmain()
{
int i=100,s=0;//循环初值
while(i--)//数值表达式i非0则循环
s=s+i;//循环体,实现累加
printf("sum=%d\n",s);
}
也可以将程序改为:
void main()
{ int a, b;
for(a=1,b=1;a<=100;a++)
{ if(b>=10) break;
if(b%3==1)
{ b+=3; continue; }
}
printf("%d\n",a);
}
A) 1B) 3C) 4D) 5
13.定义如下变量:
int n=6;
则下列循环的输出结果是(D)。
while(n>3)
{n=n+2;
printf("%d",n);}
A)8B)810C)81012D)以上都不对
14.有以下程序
#include<stdio.h>
voidmain()
{intk=4,n=1;
for(;n<k;)
{n++;
if(n%3!=0)continue;
k--;}
printf("%d,%d\n",k,n);}
void main()
{ int n=0;
char c;
while((c=getchar())!=‘2')
n++, printf("0%c",c); printf("%d",n);
}
A) 0109083 B)01982 C) 01933D) 3
12.以下程序的输出结果是(C)。
#include<stdio.h>
{
inti,j,k;
for(i=1;i<=9;i++)
{
for(j=1;j<=i;j++)
printf(“%d*%d=%2d |”,j,i,i*j);
putchar('\n');
}
}
5.用公式求π的近似值,直到最后一项的绝对值小于10-6为止。
程序如下:
#include <stdio.h>
#include <math.h>
B、do-while语句构成的循环只能用break语句退出
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环
D、用do-while语句构成的循环,在while后的表达式为零时结束循环
5.以下程序段中不会出现死循环的是(C)。
A) int x=0;
do{x++;}while(x=1);
A)54321B)4321C)0D)-1
10.分析如下程序段:
int i,j;
for(i=1;i<=5;i++);
for(j=i;j<=7;j++) printf("#");
输出‘#'号的个数是(C)。
A)0B) 1C)2D) 5
11.当程序运行时从键盘输入1982,则以下程序的输出结果是(A)。
#include<stdio.h>
则下列循环的输出结果是( B )。
while(n>17)
{n--;
printf("%d\n",n);
}
A.20 B.19 C.20 D.19
1918 19 18
18 17 18 17
17 16
9.执行下面的C程序段后,输出结果是(D)。
int a=5;
while(a--);
printf("%d",a);
printf("%d\n",sum);
}
A、15 B、14 C、不确定D、0
3.有如下程序
main()
{
int x=13;
do
{
printf("%d",x--);
}
while(!x);
}
该程序的执行结果是(B)。
A、12B、13 C、不输出任何内容D、陷入死循环
4.以下叙述正确的是(D)。
A、do-while语句构成的循环不能用其它语句构成的循环来代替
一、选择题
1.以下循环体的执行次数是( A )。
main()
{
int i,j;
for (i=0; i<=2;i++)
printf("%d \n",i);
}
A、3 B、2 C、1 D、0
2.以下程序执行后sum的值是(C)。
main()
{
int i,sum;
for(i=1;i<6;i++) sum+=i;
main()
{
int s;
floatn,t,pi=0;
for(n=1.0,t=1,s=1;fabs(t)>1e-6;n+=2,s=-s,t=s/n)//逗号表达式的应用
pi=pi+t;
pi=pi*4;
printf("pi=%.6f\n",pi);
}
if(ch>=0x30&&ch<=0x39) iNum++;
}
printf(“numbers=%d,Letters=%d”,iNum,iLet);
}
3.输出1-1000之间的所有素数。
程序如下:
#include "stdio.h"
voidmain()
{
inti,;
for(i=1,i<=100;i++)
相关文档
最新文档