C习题集 极度优化精简版 联系客服

发布时间 : 星期一 文章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 main()

{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 main()

{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 页