教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

c语言复习题及参考答案(3)

来源:网络收集 时间:2026-08-23
导读: } } A、1 B、1 C、1 D、 1 2 2 2 3 3 4 9、以下程序段 ________。 x=-1; do{x=x*x; } while(!x); A、是死循环 B、循环执行二次 C、循环执行一次 D、 有语法错误 10、有如下程序段,则程序段_ _____。 int x=3; do{p

} }

A、1 B、1 C、1 D、 1 2 2 2 3 3

4

9、以下程序段 ________。

x=-1; do{x=x*x; } while(!x);

A、是死循环 B、循环执行二次 C、循环执行一次 D、 有语法错误 10、有如下程序段,则程序段_ _____。

int x=3;

do{printf(\

A、输出的是 1 B、输出的是 1 和 -2 C、输出的是 3 和 0 D、是死循环 11、下面程序的运行结果是 _ ___。 #include

void main( ) { int y=10;

do{y--;} while(--y); printf(\; }

A、-1 B、0 C、1 D、8

12、若i 为整型变量,则以下循环执行次数是 _____。

for(i=2;i==0;) printf(\

A、无限次 B、0 次 C、1 次 D、2 次 13、执行语句 for(i=1;i++<4; ); 后变量 i 的值是______。

A、3 B、4 C、5 D、 不定 14、以下正确的描述是 _______.

A、continue 语句的作用是结束整个循环的执行 B、只能在循环体内和 switch 语句体内使用 break 语句

C、在循环体内使用 break 语句或 continue 语句的作用相同 D、从多层循环嵌套中退出时,只能使用 goto 语句 15、有以下程序,程序运行后的输出结果是______。 void main() { char b,c; int i; b='a'; c='A'; for(i=0;i<6;i++) { if(i%2) putchar(i+b); else putchar(i+c); }

printf(\ }

- 11 -

A、ABCDEF B、AbCdEf C、aBcDeF D、abcdef 二、程序填空题:

1、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。

void main( ) { float x,amax,amin; scanf(―%f‖,&x); amax=x;amin=x; while( ) { if(x>amax) amax=x; if( ) amin=x; scanf(―%f‖,&x); }

printf(―\\namax=%f\\namin=%f\\n‖,amax,amin); }

2、下列程序打印如下形式的图形。

* * * * * * * * * *

void main( )

{ for(int i=1;i<=4;i++)

{ for(int j=1; ;j++) printf( ); printf( ); } }

3、下列程序求100之内的自然数中偶数之和。

#include void main( ) { int i=1,s; ; while (i<100)

{if (i%2==0) ; ; }

printf(―s=%d\\n‖,s ); }

4、下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。

- 12 -

#include<stdio.h> void main() { int i, j;

for(i=1; ; i++)

if ( )

printf(\;

}

5、下列程序打印如下形式的图形

* * * * * * * * * *

void main( )

{ for(int i=1;i<=4;i++)

{ for(int j=1; ;j++) printf( ); printf( ); } }

6、 下面程序段是从键盘输入的字符中统计数字字符的个数, 用换行符结束循环。 int n=0,c; c=getchar( ); while( ) {

if( ) n++; c=getchar(); }

7、下面程序的功能是用 \辗转相除法\求两个正整数的最大公约数。 #include void main( ) {int r,m,n;

scanf(\ if(m

while(r){m=n;n=r;r= _ ;} printf(\ } 三、程序改错题

1、以下程序是输入一个整数,分别将其逆向输出。如-321的逆向是-123

- 13 -

源程序(有错误的程序) #include void main( ) { int n;

scanf(―%d‖, n);

int m,y; y=0; if(n<0) m=n; else m=-n; while (m==0) { y=y*10+m/10; m=m; }

if(n>=0) y= –y;

printf(―%d的逆向是%d\\n‖,n,y); }

( )改为:( ) ( )改为:( ) ( )改为:( ) ( )改为:( ) ( )改为:( )

2、输入正整数的个数n,再输入n个正整数,判断它们是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

#include #include void main( ) { int i,j,k,m,n;

printf(―输入正整数的个数n:‖); scanf(―%d‖,&n);

printf(―输入%d个正整数\\n‖,n); for(j=0;jn)

printf(―%d是一个素数!\\n‖,m); else

printf(―%d不是一个素数!\\n‖,m);

- 14 -

} }

( )改为:( ) ( )改为:( ) ( )改为:( ) 四、编程题

1、编程:输入一批非零整数,先输出其中的偶数和及奇数和,然后输出偶数和与奇数和的差。

如:输入一批整数,以零结束:10 11 20 33 0

偶数和为:30 奇数和为:44

偶数和与奇数和的差为:-14

2、编程,输入1个正实数eps,计算并输出下式的值,直到最后一项的绝对值小于eps。

s?1?11111?????...59131721

如:Input eps:0.00001

S = 0.866978

3、编程,输入1个实数x,计算并输出下式的值,直到最后一项小于10-5。在math.h中定义的标准函数pow(x,y),可以求x的y次方。

x2x4x6s?1????...2!4!6!

如:X=2

S=3.762195

4、编程,输入一个整数,求它的各位数字之和及位数。例如123的各位数字之和是6,位数是3。

如:输入一个整数:-12345

-12345有5位数,各位数字之和是15

5、打印出所有的―水仙花数‖,所谓―水仙花数‖是指一个三位数,其各位数字立方和等于该数本身。如153是一个水仙花数,因为153=13+53+33。

6、编程,输出101-115之间不能被3整除的数,每行输出5个。要求使用continue语句。

如:

101 103 104 106 107 109 110 112 113 115

…… 此处隐藏:1130字,全部文档内容请下载后查看。喜欢就下载吧 ……
c语言复习题及参考答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/404309.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)