C语言期末考试选择题及解析

版权申诉
0 下载量 155 浏览量 更新于2024-08-20 收藏 24KB DOC 举报
"c语言期末考试题及其答案.doc" 这些题目涵盖了C语言的基础知识,包括程序结构、数据类型、运算符、控制结构、函数、数组、结构体与联合体以及预处理指令等核心概念。 1. C语言源程序的基本单位是(B函数)。在C语言中,函数是最基本的代码组织单元,程序由一个或多个函数组成。 2. 下列程序的输出结果是(C0)。由于除数b初始为5,a=7,所以b=b/a的结果为0,printf打印出0。 3. 假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是(C9)。这个表达式涉及条件运算符和自增运算符,计算顺序是先计算a>b,然后根据结果执行相应的操作,最后计算a+b。 4. 设a为int型变量,执行下列赋值语句后,a的取值分别是(C125,31,20)。首先a=125.534将浮点数转换为整数125,接着a=(int)125.521%4计算余数为1,最后a=5<<2进行左移运算,相当于乘以2的2次方,结果为20。 5. 设有如下程序段,下面描述中正确的是(C循环体语句一次也不执行)。while(k=0)是一个无限循环,因为k始终被赋值为0,循环条件始终为真,但由于k=0是赋值操作,不是比较,所以实际上循环体从未执行。 6. 以下程序的输出结果为(B************)。这个程序定义了一个函数prt(),在main()函数中连续调用三次,每次打印三个星号并换行,所以总共打印9个星号。 7. 在C语言程序中,以下说法正确的是(B函数的定义不可以嵌套,但函数的调用可以嵌套)。C语言中函数定义不能嵌套,但可以在一个函数内部调用其他函数。 8. 以下函数调用语句中含有(A2)个实参。逗号运算符在函数调用中起到分隔实参的作用,所以这里有两组实参(e1, e2)和(e3, e4, e5),合共2个。 9. 以下程序的输出结果为(Dd=700)。预处理指令#define ADD(x) x*x将ADD替换为其参数的平方,所以d=ADD(a+b)*c等于(4+6)*7*7=700。 10. 已知职工记录描述如下,在TurboC中,系统为变量w分配(A29)字节的空间。结构体worker包含一个int(4字节),一个长度为20的字符数组(20字节),一个char(1字节)和一个联合体(4字节),联合体虽然实际只用到一个int,但在内存中会分配最大成员的大小,即4字节。因此总空间为4 + 20 + 1 + 4 = 29字节。 11. 设有以下定义,值为5的枚举常量是(thu)。枚举常量从0开始自动赋值,mon被显式赋值为4,所以tue是5,wed是6,thu是7,fri是8,sat是9。