发布时间 : 星期一 文章C习题集 极度优化精简版更新完毕开始阅读33b1042314791711cc7917dd
C语言习题集
第四章 循环结构程序设计
4.1 选择题
1.设有程序段 int k=10;
while (k=0) k= k—1; 则下面描述中正确的是() A) while循环执行10次 C)循环体语句一次也不执行
B)循环是无限循环 D)循环体语句执行一次
2.下面程序的功能是计算:至50中是7的倍数的数值之和,请选择填空。 #include
{int i,sum= 0; for(i=1;i<=50;i++) if( () ) sum+=i; printf(\ }
A) (int)(i/7)==i/7 C) i%7= 0
B) (int)i/7==i/7 D) i%7==0
3.下面程序段的运行结果是
a=1;b= 2;c=2; while(a
printf(\A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1 4.下面程序的功能是计算 1至10之间的奇数之和及偶数之和。请选择填空 #include
{int a,b,c,i; a=c=0;
for(i=0;i<=10;i+=2) { a+=i;
() ; c+=b; }
第 13 页 共 13 页
C语言习题集
printf(\偶数之和=%d\\n\ printf(\奇数之和=%d\\n\}
A)b=i-- B) b=i+1 C)b=i++
5.下面程序段:
for (t=1; t<=100;t++) {
scanf(\
if(x<0) continue; printf(\}
A) 当x<0时整个循环结束 B) x>=0时什么也不输出 C) printf函数永远也不执行
D)最多允许输出100个非负整数 6.下面程序的运行结果是:
#include \ main() {int i;
for(i=1;i<=5;i++) {if (i%2) printf(\else continue; printf(\}
printf(\A) *#*#$ B) #*#*#*$ C) *#*#$
7.设有程序段 int k=10;
while(k=5) k=k-1; 则下面描述正确的是 A)while循环执行10次 B)是死循环 C)循环语句一次也不执行 D)循环体语句执行一次
8.以下程序运行后的输出结果是________。 main() {int x=15;
while(x>10&&x<50) {x++;
if(x/3){x++;break;} else continue; }
第 14 页 共 14 页
D)b=i-1
D)#*#*$
C语言习题集
printf(\}
4.2 程序设计题
1.求1~1000内所有能被3整除的整数,所有数右对齐,每行输出10个数,每屏输出20行。 int i=3,x=30; for(;i<1000;i+=3) { printf(\ if(i==x) { printf(\ x+=30; } if(i==600) getchar(); }
2.从键盘上接受10个数,求和。要求: (1)、先提示“请输入第1个数:” ,输入第一个数后再提示“请输入第2个数”,依次类推; (2)、输入完十个数后,输出十个数求和的结果。 int i=1,x,sum=0; for(;i<11;++i) { printf(\请输入第%d个数:\ scanf(\ sum+=x; } printf(\和是%d\
3.求n! ,n的值从键盘输入. int n,i=1,res=1; scanf(\ for(;i<=n;++i) res*=i; printf(\
4.从键盘上输入一个正整数(VC下少于10位,winTC下小于32767),求其各数位之和. int n,sum=0; scanf(\ while(n) {
第 15 页 共 15 页
C语言习题集
sum+=n; n/=10; } printf(\
5.从键盘输入10个数,找出其中最大的数。分别用while和for语句实现。
int i=1,max,num; scanf(\ for(;i<10;++i) { scanf(\ if(max 6.输出2~100(不含100)之间的全部同构数。所谓同构数是指:如果某数与其右起若干位的平方数相等,则称该数为同构数。 int i=2,x; for(;i<100;++i) { x=i; if(i==x*x) printf(\ } 7.编写输出以下图形的程序(要求行数从键盘输入)。 1 12 123 1234 12345 123456 …… int n,i,j; scanf(\ for(i=1;i<=n;++i) { for(j=1;j<=i;++j) printf(\ printf(\ } 第 16 页 共 16 页