C语言程序设计的试题及答案
大家在考程序员时,C语言程序设计大家有了解吗?下面生活日记网小编为大家分享了C语言程序设计的试题及答案,供大家参考。
第一章 基础知识
一、填空
1. 每个 C 程序都必须有且仅有一个________ 函数。
2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、________、 链接 、加载 和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定: “计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类 。
6. C 语言是由________组成的。
7. C 语言的函数可分为主函数 main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和 函数体。
9. 编译是将 C 语言所编写的源程序________成机器代码, 也称为建立目标代码程序的过程。
10. 程序是由某种程序设计语言编制出来, 体现了编程者的控制思想和对计算机执行操 作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作 ,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动 化(OA) 、管理信息系统(MIS) 、人工智能、电子商务、网络互联等等应用而开发的软件程 序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合, 是计算机系统唯一不需要翻 译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作 对 象,也可以用标号和符号来代替地址、常量和变量。
13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C 程序的执行均是由执行_________开始。 15. 函数体即为包含在{ }内的部分。它分为________和为完成功能任务由若干个 C 语句 组成的执行部分。
16. C 语言程序中一条简单语句是以________字符作为结束符的。
17. C 语言是结构化、________的程序设计语言。
18. 由于计算机硬件不能直接识别高级语言中的语句, 因此, 必须经过 “_______程序” , 将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。
19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。 所 以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。
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 位计算机为例,若定义 double a; 则变量 a 占______ 个字节的内存空间。
3. 以 16 位计算机为例,若定义 long double; 则变量 a 占 ______ 个字节的内存空间。 4. 在______ 位机,int 型占 4 个字节。 、空类型
5. C 语言的数据类型有:基本数据类型、构造数据类型、枚举类型、______ 。
6. 在 C 语言中,基本数据类型有:______ 7. 整型常量 046 转换为十进制数等于______ 8. 整型常量 054 转换为十进制数等于______ 。 。
。
9. 整型常量 0x125 转换为十进制数等于 ______。 10. 整型常量 0x7C 转换为十进制数等于 11. 整型常量 39 转换为八进制等于 ______。 ______。 ______。
12. 实数 473.468 写成规范化指数形式,则应为
13. 实数 0.0453 写成规范化指数形式,则应为 ______。
14. 将 0x123 转换为二进制等于
______。
15. 字符’A’表示成十六进制等于 ______。 16. 在 C 语言中,称代表常量的标识符为 ______。 17. C语言中是用编译预处理命令______ 来定义符号常量 ,
18. 在 C 语言中,以反斜杠符()开头,后跟字符的字符序列,称之为 ______ 主 要用来表示控制及不可见的字符或者一些图形符号 19. 语句 printf("106")执行的结果输出是 ______。 20. 语句 printf(“b”)执行的结果输出是______。 21. 语句 printf(“\b”)执行的结果输出是 ______。 22. 语句 printf("102")执行的结果输出是 ______。 23. 若有 char ch1; ch1='a' 4; 则语句 printf("%c",x)的输出结果为 ______。 24. 字符串常量“Hello, everyone! ”占据的内存空间为______ 25. 字符串常量“Hello,Bob!”占据的内存空间为 ______ 26. 十进制整型常量由 0~9 个数据组成,但不能以______ 27. 十六进制常量由 0~9 和______ 28. unsigned long 类型常量通常以______ 29. 实型常量通常有小数形式和______ 30. C语言中是用编译预处理命令______ 组成 为后缀 两种表达方式 来包含其他源文件 个字节 个字节 开始,没有小数部分
31. 为了表示字符串的结束,系统自动在字符串的最后加一个______,但不被输出
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; 执行 ch2=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/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; 则表达式(a>b ? a:b)&&(c-d)的值为______。 50. 已知 a = 0 ,表达式 a = 1?b = 1:b = 0; 执行后,b 的值是 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))&0x80000000)?(a):(b),int a=2,b=6;printf(“%dn”,M ax(a,b))的值为 ______。 58. 在 32 位机中,int a=4,b=7; printf(“%0x”,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=i<1)的值为:______ 解答: 1. 0 2. 4 3. 10 4. 32 5. 指针类型 6. int、float、double、char 7. 38 8. 44 9. 293 10. 124 11. 047 12. 4.734680e 002 13. 4.530000e-002 14. 100100011
15. x41/41H 16. 符号常量 17. #define 18. 转义字符常量 19. F 20. b 21. b 22. B 23. e 24. 16 25. 11 26. 0 27. A~F 28. U 29. 指数形式 30. #include 31. “