C语言程序设计试题集及其答案_第1页
C语言程序设计试题集及其答案_第2页
C语言程序设计试题集及其答案_第3页
C语言程序设计试题集及其答案_第4页
C语言程序设计试题集及其答案_第5页
已阅读5页,还剩463页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 基础知识一.填空1.每个 C 程序都必须有且仅有一个_ 函数。2. C 语言程序开发到执行通常要经过 _、 链接 、加载和执行。6 个阶段即编辑、预处理、3. 软件是程序,以及_、使用和维护所需要的所有文档。4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处 理的_”。5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语 言和_两大类。6. C 语言是由_组成的。7. C 语言的函数可分为主函数 main、标准库函数和_。8. 一个函数是由两部分组成的,即:_和 函数体。9. 编译是将 C 语言所编写的源程序_成机器代码,也称为建 立目标代码程序的过程。10.

2、程序是由某种程序设计语言编制出来,体现了编程者的控制思 想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算 机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操 作系统;而为办公自动化( OA )、管理信息系统( MIS )、人工智能、电子商务、网络互联 等等应用而开发的软件程序,统称为_。11. 机器语言是以_形式表示的机器基本指令的集合,是计 算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。12. 与机器语言相比,使用汇编语言来编写程序可以用_来表示 指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。13.在

3、编译程序之前,凡以_开头的代码行都先由预处理程序预 处理。14. C 程序的执行均是由执行_开始。15.函数体即为包含在 内的部分。它分为 _ 和为完成 功能任务由若干个 C 语句组成的执行部分。16.C 语言程序中一条简单语句是以_字符作为结束符的。17.C 语言是结构化、_的程序设计语言。18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须 经过“_程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程 序方可执行。19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器 语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_ 没有低级语言高。

4、20.第一个系统体现结构化程序设计思想的教学工具语言是 _语言。解答:1. main()2. 编译3. 开发4. 指令序列5. 高级语言6. 函数7. 自定义函数8. 函数首部9. 翻译10. 应用软件11. 二进制代码12. 助记符13. #14. main 函数15. 声明部分16. ;(或分号)17. 模块化18. 翻译19. 执行速度20. PASCAL阅读程序写结果 解答:补充程序 解答:改错题解答:五.编程一解答:六.编程二解答:第二章 常量、变量和表达式一.填空1. 以 16 位计算机为例,若定义 long int a; 则变量 a 占_个字节 的内存空间。2. 以 16 位计算

5、机为例,若定义 double a; 则变量 a 占_ 的内存空间。个字节3. 以 16 位计算机为例,若定义 long double; 则变量 a 占 _ 个 字节的内存空间。4. 在_位机,int 型占 4 个字节。5. C 语言的数据类型有:基本数据类型、构造数据类型、枚举类型、_。、空类型6. 在 C 语言中,基本数据类型有:_。7. 整型常量 046 转换为十进制数等于_。8. 整型常量 054 转换为十进制数等于_。9. 整型常量 0 x125 转换为十进制数等于 _。10. 整型常量 0 x7C 转换为十进制数等于_。11. 整型常量 39 转换为八进制等于_。12. 实数 473

6、.468 写成规范化指数形式,则应为_。13. 实数 0.0453 写成规范化指数形式,则应为 _。14. 将 0 x123 转换为二进制等于_。15. 字符A表示成十六进制等于 _。16. 在 C 语言中,称代表常量的标识符为 _。17. 语言中是用编译预处理命令_来定义符号常量18. 在 C 语言中,以反斜杠符()开头,后跟字符的字符序列,称之为 _,主要用来表示控制及不可见的字符或者一些图形符号19. 语句 printf(106)执行的结果输出是 _。20. 语句 printf(“b”)执行的结果输出是_。21. 语句 printf(“b”)执行的结果输出是 _。22. 语句 print

7、f(102)执行的结果输出是 _。23. 若有 char ch1; ch1=a+4; 则语句 printf(%c,x) 的输出结果为 _。24. 字符串常量“Hello, everyone!”占据的内存空间为_ 节个字25. 字符串常量“Hello,Bob!”占据的内存空间为 _个字节26. 十进制整型常量由 09 个数据组成,但不能以_ 没有小数部分开始,27. 十六进制常量由 09 和_组成28. unsigned long 类型常量通常以_为后缀29. 实型常量通常有小数形式和_两种表达方式30. 语言中是用编译预处理命令_来包含其他源文件31. 为了表示字符串的结束,系统自动在字符串的

8、最后加一个_,但不被输出32. C 语言中,其值可被改变的量称为变量,它具有三个基本要素: 变量名、_和变量值33. C 语言规定,变量的标识符只能由字母、数字和下划线组成,且不能以_头。开34. 在 16 位机中,sizeof(“hellon”)等于 _。35. 在 16 位机中,printf(“hello” )等于 _。36. 字符变量在内存中占用_个字节的存储空间。37. 若有定义 int x=27, y=6; 则表达式 x/y 的值为_。38. 若有定义 int x=47, y=8; 则表达式 x%y 的值为_。39. 若 有 定 义 char ch1=A,ch2,ch3; 执 行 c

9、h2=ch1+; ch3=+ch1; printf(ch1=%c, ch2=%c,ch1,ch2); 则输出为 _。40. 若 有 定 义 char ch1=A,ch2,ch3; 执 行 ch2=ch1+; ch3=+ch1; printf(ch2=%c, ch3=%c,ch2,ch3); 则输出为_。41. 若有定义 int i=5, j, k; 执行 j=i-; k=-i; printf(i=%d, j=%dn, i, j); 则输出为_。42. 表达式 (int)(13.7+25.6)/4%5 的值是 _。43. 表达式 3.6-5/2+1.2+5%3 的值是_。44. 表达式 54%1

10、0/2+4.0*(8/5) 的值是 _。45. 若定义 int x; double b=5.45; 执行 x=b 后,则 x 的值为_。46. 若定义 int y; char c=A; 执行 y=c 后,则 y 的值为_。47. 若定义 int a=8; float b=2.5; 则 a/(int)(b)的值为_。48. 若 a=5,则执行 a*=7-3 语句后,a 的值是_。49. 若 int a=1,b=0,c=4,d=2; 则 表 达 式 (ab ? a:b)&(c-d) 的 值 为 _。50. 已知 a = 0 ,表达式 a = 1 ? b = 1 :b = 0; 执行后, b 的值是

11、 _。51. 若定义 int m=7,n=12; 则表达式 n%=m-m%5 的值是_。52. 若定义 int a=8; float b=4.5;执行 a*=a/=a-b 后,a 的值为 _。53. int a=2; !a+的值为_。54. int a=0; !a+&+a 的值为 _。55. int a=7;float b=4.5;则 printf(“%d”,a*=a/=a-b)的值为 _。56. int k=7;float a=2.5,b=4.7;则表达式 a+k%3*(int)(a+b)%2/4 的值为 _。57. #define Max(a,b) (a)-(b)&0 x80000000)

12、?(a):(b),int a=2,b=6printf(“%d n”,Max(a,b)的值为_。58. 在 32 位机中,int a=4,b=7; printf(“%0 x”,a-b)的值为:_。59. int x,y,z; x=y=2;z=3;y=x+-1;printf(“%d,%d”,x,y)的值为: _。60. int i=2,j; printf(“%d”,j=i1)的值为:_解答:1. 02. 43. 104. 325. 指针类型6. int、float、double、char7. 388. 449. 29310. 12411. 04712. 4.734680e+00213. 4.530

13、000e-00214. 10010001115. x41/41H16. 符号常量17. define18. 转义字符常量19. F20. b21. b22. B23. e24. 1625. 1126. 027. AF28. U29. 指数形式30. #include31. “0”32. 变量类型33. 数字34. 735. “hello”36. 137. 438. 739. ch1=C, ch2=A40. ch2=A, ch3=C41. i=3, j=542. 443. 4.80000044. 7.00000045. 546. 6547. 448. 2049. 150. 151. 252. 4

14、53. 054. 055. 456. 2.50000057. 258. fffffffd59. 3,160. 0阅读程序写结果 解答:补充程序 解答:改错题解答:五.编程一解答:六.编程二解答:第三章 顺序结构一.填空1. C 语言的语句可分为 5 类,它们是:控制语句、_、函 数语句、符合语句和空语句。2. 常用于字符输入的函数为:_ 。3. 常用于字符输出的函数为:_。4. 常用于字符串输入的函数为:_。5. 常用于字符串输出的函数为:_。6. 格式输入函数的一般形式为:_ 。7. 格式输出函数的一般形式为:_ 。8. printf 和 scanf 是 标 准 的 库 函 数 , 它 们

15、的 函 数 原 型 在 头 文 件 _中。9. 有 char ch , 则 从 键 盘 给 ch 赋 值 的 格 式 输 入 语 句 为 : _。10. 如果要输出字符串常量“ HelloWord!”,则格式输出语句为: _。11. 设有定义:long x=-123456L;,请写出能够正确输出变量 x 值的语 句_。12. 若有 int a,b; ,想通过 scanf(%d%d,&a,&b);输入语句给 a 赋于 1, 给 b 赋于 2,则从键盘输入数据的形式是_。13. 若有 int i,j; scanf(i=%d,j=%d;&i,&j); ,要求给 i 赋 10,给 j 赋 20,则应该

16、从键盘输入_。14. 已知 i、j、k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1、j 的值为 2、k的值为 3,请写出正确的输入语句_ 。15.有int m,n,p; scanf(m=%dn=%dp=%d,&m,&n,&p);printf(%d%d%dn,m,n,p); 若想从键盘上输入数据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则正确的输入是_。16.有int a; float b, c; scanf(%2d%3f%4f,&a,&b,&c);printf(na=%d, b=%f, c=%fn, a, b, c);,若运行时从键盘上输

17、入 9876543210,则程序的输出结果 是_。17. 有 int m=0256,n=256; 则 printf(%o %on,m,n); 的输出结果是 _ 。18. 有 int x=102,y=012; , 则 printf(“%2d,%2dn”,x,y); 的输出结果 是_ 。19. 有 定 义 和 语 句 : int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5);, 则printf(%d %d %3.1f %3.1fn,a,c,f,x);_ 。的 输 出 结 果 是20. 若有定义和语句:int m=0 xabc,n=0

18、xabc; m-=n; 则 printf(%on,m); 的输出结果是_。21. 若有 int m=32,n=032; ,则 printf(%d,%xn,m,n); 执行后输出结果 是_ 。22. 若 有 int a=1234; , 则 printf(%2dn,a); _。的 输 出 结 果 是23. 若 变 量 已 正 确 说 明 为 float 类 型 , 要 通 过 语 句 scanf(“%f %f %f ”,&a,&b,&c);给 a 赋于 10.0 , b 赋 予 22.0 , c 赋 予 33.0 , 不 正 确 的 输 入 形 式 是 _ 。A) 10 2233 B) 10.0,

19、22.0,33.0C) 10.0 22.0 33.0 D) 10 22 3324. 若有 int x=3,y=1; 则 printf(%d %dn,x+,y+2); 的输出结果是 _ 。25. 若有定义和语句:double d; float f; long l; int i; i=f=l=d=20/3; 则 printf(%d %ld %f %f n, i,l,f,d); 的 输 出 结 果 是 ( 小 数 点 后 只 写 一 位 ) _。26. 以下说法中正确的是 _。 A) #define 和 printf 都是 C 语句#define 是 C 语句,而 printf 不是printf 是

20、 C 语句,但#define 不是#define 和 printf 都不是 C 语句27. 若有 int k=17; ,则 printf(%d,%o,%x n,k,k,k); 的输出结果是 _ 。28. 以下叙述中正确的是_ 。输入项可以是一个实型常量,如:scanf(%f,3.5);只有格式控制 , 没有输入项 , 也能正确输入数据到内存 如:scakf(a=%d,b=%d);当输入数据时,必须指明变量地址,例如:scanf(%f,&f);, 例29.若 有 定 义 和 语 句 :int u=010,v=0 x10,w=10; 则printf(%d,%d,%dn,u,v,w); 输出结果是

21、_。30.若有int a=1,b=4,c=2; float x=10.5, y=4.0, z;z=(a+b)/c+sqrt(double)y)*1.2/c+x; ,则 printf(%fn,z); 的输出结果是_ 。31. 若有 int a=2,c=5; ,则 printf(a=%d,b=%dn,a,c);的输出结果 是_ 。32. 有 char c; int n=100; float f=10; double x; x=f*=n/=(c=50); 则 printf(%d %fn,n,x); 的输出结果是_。33.有int i=0,j=0,k=0; scanf(%d%*d%d,&i,&j,&k

22、);printf(%d%d%dn,i,j,k); 若从键盘输入:10 20 30。输出结果是_。34. 若有 int a,b,c; a=25; b=025; c=0 x25;,则 printf(%d %d %dn,a,b,c); 的输出结果是_。35. 有以下语句段int n1=10,n2=20; printf(“_”,n1,n2);要求按以下格式输出 n1 和 n2 的值,每个输出行从第一列开始, 请填空。n1=10 n2=2036. 若 有 语 句 int i=-19,j=i%4; 则 printf(%dn,j); 的 输 出 结 果 是 _。37. 有 int a=0; a+=(a=8)

23、;_。则 printf(%dn,a); 的 输 出 结 果 是38. 有 int a=1, b=2; a=a+b; b=a-b; a=a-b; 则 printf(“%d,%dn”, a, b );的输出结果是_。39. 有 unsigned short a=65536; int b; ,则 printf(“%dn”,b=a);的输出 结果是_。40. 语句 printf(10289n);的数据结果为:_ 。解答:1. 表达式语句2. getchar( )3. putchar( )4. gets( )5. puts( )6. scanf(“格式控制字符串”,地址表列);7. printf(“格式

24、控制字符串”,输出表列);8. stdio.h9. scanf (“%c”,&ch);10. printf (“%s”,HelloWord!);或者:printf (“HelloWord!”);11. printf(“x=%1dn”,x);12. 1 2 或者 1213. i=10,j=2014. scanf(“%d,%d,%d”,&i,&j,&k);15. m=123n=456p=78916. a=98, b=765.000000, c=4321.00000017. 256 40018. 102,1019. 1 65 1.5 6.520. 021. 32,1a22. 123423. B24.

25、 3 325. 6 6 6.0 6.026. D27. 17,21,1128. C29. 8,16,1030. 13.70000031. a=%d,b=%d32. 2 20.00000033. 1030034. 25 21 3735. n1=%dnn2=%d36. -337. 1638. 2,139. 040. B89阅读程序写结果 解答:补充程序 解答:改错题解答:五.编程一解答:六.编程二解答:第四章 选择结构一.填空1. 在 if, while, case, do, else 等关键字中,用于选择结构的有().2. 已知 a = 1; 那么 if ( a = 2) printf(%d,

26、2); else printf(%d, 1); 的输 出结果是( ).3. 已知 char a = A; 那么 if ( a 65) printf(%s, bigger); else printf(%s, smaller); 的输出结果是( ).4. 表示“x y z”的 C 语言表达式是 ( ) 。5. 在 C 语言中,用于实现选择结构的语句有 ( ) 语句和 ( ) 语句。6. 判 断 两 个 浮 点 型 变 量 x 和 y 是 否 相 等 一 般 用 : if(b?a:cd?a:d 的 结 果 为 ( ) 。9. 表达式 98 & 8 & 31 & (98 - a)的值为( ) 。10.

27、 若 int a = 3; 则表达式(a 2)& ! (D 69) 的值为( )。解答:二.阅读程序写结果1. #include void main( )int x,y,t;x=7;y=9; if(xy)t=x;x=y;y=t;printf(%d,%dn , x,y );2.#include void main( )int x=1,a=2,b=3;switch(x)case 1: a-; break;case 2: b+; break;case 3: a+;b+;printf(na=%d,b=%dn,a,b);3.#include void main( )char ch1 = E;if(ch1

28、 = A)ch1+;elsech1+=32;printf(ch1 = %cn, ch1);4.#include void main( )int x,y,t;x=5;y=3;if(xy) t=x;x=y;y=t;printf(%d,%dn , x,y );5. #include int main()int a,b,c,m;printf(Enter three integers:);scanf(%d%d%d,&a,&b,&c);if(a=b)m=a;elsem=b;if(cm)m=c;printf(m=%dn,m);return 0; 输入:21 22 236. #include int main

29、()char ch1=a,ch2=B,ch3=E;if(ch1ch2)if(ch2ch3) ch3+;else-ch3;printf(ch3=%cn,ch3);return 0;7. #include int main()float x,y;scanf(%f,&x);switch(int)x/10) case 0: y=1.0; printf(y=%fn,y);break;case 1: y=2*x+1; printf(y=%fn,y);break;case 2: y=3*x*x+2; printf(y=%fn,y);break;default:printf(No definition.n);

30、return 0; 输入:15.38. #include int main()char ch1=A,ch2=B;switch(ch1)case A:switch(ch2) case B: printf(Good!n);break;case A: printf(Better!n);break;case B: printf(Best!n); break;return 0;9.#include void main()float score;score = 100;if (score60) printf(En);elseswitch( ( int ) score / 10 ) case 10:case

31、 9: printf(An);case 8: printf(Bn);case 7: printf(Cn); break;case 6: printf(Dn); break;default: printf(Errorn);10. #include void main()int i=0,a=2;if(i=0)printf(“*”);elseprintf(“$”);printf(“*”);11.#includevoid main()int m=10,n=0,p=4,q=20;if (m)if (n)q=15-m;elseq=25+m;else if (p)q=q+p;printf(“q=%dn”,q

32、)12. #includevoid main()int a=1,b=0; switch(a)case 1: switch (b)case 0: printf(*0*); break;case 1:printf(*1*);break;case 2: printf(*2*);break;13.#includeint main( )int a=2,b=7,c=5;switch (a0)case 1: switch (b0)case 1: printf(); break ;case 2: printf(!); break ;case 0: switch (c=5)case 1: printf(*) ;

33、 break ;default : printf(#) ; break ;default : printf(&);printf(n);return 0;14. #includeint main()int a=0,b=1,c=0,d=20; if(a) d=d-10; else if (!b)if(!c) d=15; else d=25; printf(d=%dn,d); return 0; 15. #includeint main() int a=1; switch(a)case 0: printf(*0*);break;case 1:printf(*1*);break;case 2:prin

34、tf(*2*);break;return 0; 16. #include int main() int x, y;scanf(%d,&x);y = x12 ? x + 10 : x - 12; printf(%dn, y); return 0; 输入:1217. #include int main()float x, y;char op;double r;scanf(%c%f%f,&op,&x,&y); switch(op) case +: r = x + y; break;case -: r = x - y; break;case *: r = x * y; break;case /: r

35、= x / y; break; printf(%.1f, r);return 0; 输入:3.518. #include stdio.hvoid main( )int a=7; if(a9 | a10) a=a/3; else a=a%3; printf(a=%d, a);19. #includevoid main()int a=20; switch(a%3) case 0: printf(0);case 1: printf(1);case 2: printf(2);default: printf(3);printf(4);20. #include void main()int a=2,b=5

36、,c=8,t;if ( a b ) t = a; a = b; b = t; if ( b c ) t = b; b = c; c = t; if ( a b ) t = a; a = b; b = t; printf( %d,%dn, a+, -c );解答:1. 运行结果: 9,72. a=1,b=33. ch1= F4. 3,55. m=216. ch3=D7. y=31.6000008. Good!Best!9. A10. *11. q=3512. *0*2*13. *&14. d=2015. *1*16. 017. 0.618. a=219. 23420. 8,1三.补充程序1. 根

37、据输入字符的 ASCII 码来判别字符的类别。由 ASCII 码表可知 ASCII 值小于 32 的为控制字符。 在“0”和“9”之间的为数字,在“A”和“Z”之间为大写字 母, 在“a”和“z”之间为小写字母,其余则为其它字符。#includestdio.h#includestring.hint main()char c;printf(input a character: );_ if(c=a&cb)_ _ elsemax=b;min=a;_ max=c;if(minc)_ printf(max=%dnmin=%d,max,min);return 0; 4. #includestdio.hi

38、nt main()int a;printf(input integer number: );scanf(%d,&a);_ case 1:printf(Mondayn);break;_ printf(Tuesdayn); break;case 3:printf(Wednesdayn);break;case4:printf(Thursdayn);_case 5:printf(Fridayn);break;case 6:printf(Saturdayn);break;case 7:printf(Sundayn);break;_ printf(errorn);return 0; 5. 判断 ab、aB

39、n);_ printf(ABn);_ printf(A Bn);return 0; 6. 根据以下函数关系,对输入的每个 x 值,计算出相应的 y 值。#includestdio.hint main ( )int x,c,m;float y;scanf(“%d&x);”,_c=-1;c=_;elseswitch (c)case 1 : y=0 ; break ;case 0 : y=x ; break ;case 1 : y=10 ; break ;case 2 :case 3 : y=-0.5*x+20_;default : y=-2 ;if (c!=2) printf (“y=%f”,y)

40、;_ printf(“error!”);return 0; ;7.找出 x,y,z 三个数中的最小数,并判断该数是否等于 b。 #includestdio.hint main()int x=4,y=5,z=8 ,b;int u,v;scanf(%d,&b);u = xy ?_ ;v = u=0&c=9)printf(This is a digitn);_ printf(This is a capital lettern);_ printf(This is a small lettern);_ printf(This is an other charactern);return 0; 10. 找

41、出 a,b,c 三个数中的最大数,并判断该数是否等于 x。 #includestdio.hint main()int a=8,b=4,c=12,x ;int u,v;scanf(“%d”,&x);= ab ? _;= u=0&c=A&c=Z)else2. char c;break;-:printf(%fn,a/b);3. max=a;min=b;if(maxb)else if(ab)else6. if(x0)c=x/10;break;else7. x:y;u:z;(v=b)else8. break;case -:r=x*y;case /:9. if(c=A&c=a&c=z)else10. b:

42、ac:u(v=x)else四.改错题解答:五.编程一1. 求分段函数的值, 输入 x 值,输出结果。2. 从键盘上输入一个数 x,计算并输出下列分段函数 y 的值。 3. 某运输公司运费计算时根据运输距离打折计算,折扣的计算方法如 下:(其中,discount 表示折扣,S 表示运输距离)。编写一完整程序,输入运输距离,统计运费并输出。每公里的运费通过符号常量定义为 2 .5。4. 编程输入一元二次方程的三个系数,求解一元二次方程的实根,无 实根时不用求虚根,给出相应提示信息即可。5. 给定三条边,判断其是否能构成三角形,若能构成,判断其是等腰 三角形、等边三角形、直角三角形还是普通三角形。6

43、. 从键盘输入一个三角形的三条边,判断是否能组成三角形,若能组 成三角形,则输出它的面积。7. 从键盘输入一个百分制的学生成绩,输出其对应的分数等级,其中 90100 为 A,8089为 B,7079 为 C,6069 为 D,60 以下为 E。8. 编写一个程序,从键盘输入三个整数给 a,b,c,然后交换它们中 的数,把 a 中原来的值给 b,把 b 中原来的值给 c,把 c 中原来的值给 a。9. 输入一个字符,判断其是否为英文字母,若是英文字母,则将其大 小写进行转换,若不是英文字母,则不变。10. 给定三个整数型 x,y,z,输出三个数中的最大值和最小值。解答:1. #include

44、stdio.h#include math.hvoid main()float x,y;printf(input xn);scanf(%f,&x);if(x0) y=1; else if(x20|x1&x10) printf(无定义n);return;if(x0) y=-x;else if(x=10&x=20) y=x*x*x;printf(x=%5.1fy=%8.3fn,x,y);3. #include stdio.h#include math.h#define price 2.5void main()float discount,cost,s;printf(input distancen);

45、scanf(%f,&s);if(s250) discount=0; else if(s800) discount=0.02; else if(s0) x1=(-b+sqrt(disc)/(2*a); /*求出两 个不相等的实根*/x2=(-b-sqrt(disc)/(2*a);printf(x1=%7.2f,x2=%7.2fn, x1, x2);elseprintf(无实根n);5. #include stdio.hvoid main()float a,b,c;printf(输入三条边:n);scanf(%f%f%f,&a,&b,&c);if(a+bc&a+cb&b+ca) if(a=b&b=

46、c)printf(等边三角形n);else if(a=b|b=c|c=a)printf(等腰三角形n);else if(a*a=b*b+c*c|b*b=a*a+c*c|c*c=b*b+a*a) printf(直角三角形n);elseprintf(不能构成三角形 n);6. #include stdio.h#include math.hvoid main()float a, b, c, s, area;printf(输入三条边:n);scanf(%f%f%f,&a,&b,&c);if(a+bc&a+cb&b+ca) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-

47、c);printf(area=%7.2fn,area);elseprintf(不能构成三角形 n);7. #include void main()int score;char d;printf(Input scoren);scanf(%d,&score);if (score100|score0) printf(data error!n);return;switch(score/10) case 10: case 9:d=A;break; case 8:d=B;break;case 7:d=C;break;case 6:d=D;break;default : d=E;break;printf(s

48、core=%3ddengji=%cn,score,d);8. #include void main()int a,b,c,t;printf(Input a,b,cn);scanf(%d%d%d,&a,&b,&c);t=a;=b;=c;=t;printf(a=%d;b=%d;c=%d;n,a,b,c);9. #include void main()char c1,c2; printf(Input a letter: );c1=getchar();if(c1=a&c1=A&c1=Z)c2=c1+a-A;elsec2=c1; printf(原字符:%c 转换后为:%cn,c1,c2); 10.#in

49、clude void main()int a,b,c,max,min;printf(Input a,b,cn);scanf(%d%d%d,&a,&b,&c);max=a;min=a;if(bmax) max=b;else if(bmax) max=c;else if(cmin) min=c;printf(a=%d;b=%d;c=%d;n,a,b,c);printf(max=%d;min=%dn,max,min);六.编程二 解答:第五章 循环结构一.填空1. C 语言中提供了三种循环控制语句,它们是: ( ) 、 do-while 语句、( ) 。2. break 语句在 C 程序中只能出现在

50、两种场合:一是用于( )语 句中,二是用于 ()语句中。3. 以下程序段中的语句 printf(“*”)要执行 5 次,请在空白处填入合适的数 。for( i=1;i=( );i=i+2 ) printf(“*”);4. 定义 int k=10 ;执行语句 while(k20) k += 1 ; 后, k 的值为 ( )。5.在 循 环 控 制 结 构 中break语 句 的 作 用 是( ) 。6. 在 循 环 控 制 结 构 中( ) 。continue 语 句 的 作 用 是 :7. 若已知 int a55; 并在运行过程中 a 数组已经赋值;要打印次对角 线元素,在空白处填入合适的值/

51、表达式;for (i = 0; i=0; j-)printf(%5d, aij);8. 执行完语句 sum = 0; for (i = 0; i 10; i+) if (i % 5 = = 0) sum += i; sum = ( ) 。9. 在使用 while 语句中需要注意,为了防止“死循环”的发生,在循 环体中一定要有()语句。10. do-while 语句中,判断循环条件在( ),执行循环体在 ( ) 。 (填“先”“后”)解答:二.阅读程序写结果1. #include void main()int number , digit;number = 1234; while ( numbe

52、r != 0 ) digit = number%10 ;printf( %d , digit ) ;number = number / 10 ;2. #include #define N 5void main( )int i;for(i=1;iN;i+)printf(%dn,i*i);3. #includevoid main( )int i,s,x;s=0; x=15; for(i=1;i=5;i+)if (x%i=0) s= s + i; printf(i=%d,s=%dn,i,s);4. #include void main()int counter=1; while(counter =

53、5) printf(%d n, counter );counter+;5. #includeint main()int i,sum,m,a;sum=0; m=5; for(i=0;im)sum+=a;printf(sum=%dn,sum);return 0; 输入:2 10 8 36. #includeint main()int i,j,k;for(i=1;i=4;i+)for (j=1;j5-i;j+)printf( );for(k=1;k=i;k+)printf(*);printf(n);return 0; 7. #include int main()int i,j;i=1; while(

54、i5) for(j=1;j2*i+1;j+)printf(%c,#);printf(n);i+;return 0; 8. #include int main()int i=10,m=0,n=0; doif(i%2!=0)elsem=m+i;n=n+i;i-;while(i=0);printf(m=%d,n=%dn,m,n); return 0; 9. #include void main()int sum=0,n;scanf(%d,&n);while(n=5) sum+=n;n+;printf(sum=%d,sum);输入:110. #include void main()int i, j;f

55、or(i=2;i=0;i-)for(j=1;j=i;j+)printf(*);for(j=0;j=2-i;j+)printf(!);printf(n);11. #include void main()int a,b;for(a=1,b=1;a20) break;if(b%4=1)b=b+4;b=b-5; continue;printf(a=%dn,a);12. #include void main( )char k;int i;for(i=1;i3;i+)scanf(%c,&k);switch(k)case 0: printf(anothern);case 1: printf(numbern)

56、;输入:0113. #include int main()int i, s = 0; for(i = 1; i 10) break;printf(i=%d, s=%dn, i, s);return 0; 14. #include void main()char ch;while(ch=getchar()!=n)if (ch=A&ch=a&ch=z)ch=ch-32; printf(%c,ch);输入:ABCdef15. #include int main ()int a, b;for (a = 1, b = 1 ; a = 9) break;if (b % 3 = 1) b += 3 ;con

57、tinue ;b -= 5; printf(%d,%dn, a, b);return 0; 16. #includeint main ()int i = 0,j = 0; while (i 10) i+;while (j+ 10) ;printf(i=%d,j=%dn,i,j);return 0; 17. #include stdio.hvoid main( )int i,j,t;for(i=1,j=10;i 4 );19. #include stdio.hvoid main()int i=7,j;while ( i 2) j = i%2; printf( %d,j ); i-;printf(

58、 %d,i );20. #include void main()int i,j,t=0; for(i=3;i0;i-)for(j=0;j4;j+)t+=j;printf(t=%d,t);解答:1. 43212. 149163. i=6,s=94. 155. sum=186. *7. #8. m=25,n=309. sum=1510. *!*!11. a=612. anothernumbernumber13. i=3, s=1414. abcDEF15. 4,1016. i=10,j=1117. 8,1218. 01010119. 10101220. t=18三.补充程序1. 输出 100 以内

59、能被 3 整除的数#includestdio.hint main()_;for(_;n=100;_)if (n%3!=0) _printf(%d ,n);return 0; 2. 输出 100 以内的素数。素数是只能被 1 和本身整除的数。为减少 循环次数,只需对数 n 用 2 去除来判断该数是否素数。#includestdio.h_int main()int n,i,k;for(n=2;n=100; _)k=sqrt(n);for(i=2;ik) printf(t%2d,n);return 0; 3. 输出 200 以内能被 5 整除的数 #includestdio.hint main()_

60、for(_;n=200;_)if (n%5!=0) _printf(%d ,n);return 0; 4. 求输入的十个整数中正数的个数及其平均值#include int main()int i,num=0,a;float sum=0;_;_)scanf(%d,&a);for(i=0;if(a=0) _;_;printf(%d plus integers sum: %6.0fn,num,sum); printf(Mean value:%6.2fn,sum/num);return 0; 5. 求输入的十个整数中负数的个数及其平均值 #include int main()int i,num,a;f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论