2015-2016年建瓯市技工学校C语言期末考试题目及答案详解

版权申诉
0 下载量 99 浏览量 更新于2024-09-02 收藏 67KB DOC 举报
本文档是一份C语言期末考试题目及答案,涵盖了C语言的基础概念和语法测试。以下是部分试题及解析: 1. **选择题:程序的基本单位** - C语言源程序的根本单位是**B函数**。因为C语言采用函数作为基本的模块化结构,每个独立的功能通常封装在一个或多个函数中。 2. **输出结果分析:** - 程序`main()`中的`printf`语句会输出变量`b`的当前值,由于`b=b/a`会导致溢出错误,且`a`为7,`b`为5,最终结果可能是不确定值,选项D正确。 3. **表达式计算:** - 表达式`(a=5,b=2,a>b?a++:b++,a+b)`首先将`a`设为5,然后`b`设为2,因为`a > b`不成立,执行`b++`,此时`b`为3,最后`a+b`的值是8。 4. **赋值语句理解:** - `a=125.534`设置`a`为浮点数125.534。 - `(int)125.521%4`将125.521向下取整为125,再对4取余,结果为3,所以`a`变为125。 - `a=5<<2`左移操作符`<<`,`5`向左移动两位,相当于`20`,因此`a`为20。 所以正确答案是C。 5. **循环控制:** - `while(k=0)`条件始终为假,因为`k`初始化为10,所以**循环体一次也不执行**,选项C正确。 6. **循环与输出:** - `prt()`函数打印`'*'`字符,`main()`中的外层循环控制`prt()`的调用次数,共三次,所以输出结果是`****`,选项A。 7. **函数嵌套:** - 在C语言中,**函数的定义是可以嵌套的**,但是函数调用却不可以嵌套过多,否则可能导致栈溢出,选项B正确。 8. **函数调用参数计数:** - 函数调用语句`func((e1,e2),(e3,e4,e5))`中有两对括号,每对括号代表一个参数,因此总共是**2**个实参,选项A。 9. **宏定义与运算:** - 宏定义`#define ADD(x)x*x`,`d=ADD(a+b)*c`等价于`d=(a+b)*(a+b)*c`,即`d=10*10*7`,所以结果是700,选项D。 10. **数据结构内存分配:** - 结构体`struct worker`中`no`占4字节,`name`占20字节,`sex`占1字节,`union`占用最小的成员(假设为`int day`,占4字节),总字节数为`4+20+1+4=29`,所以分配29字节,选项A。 11. **枚举常量值:** - 题目未给出枚举类型和具体的枚举常量定义,无法确定值为5的枚举常量,需要更多信息才能判断。 以上知识点涵盖了C语言的关键部分,包括程序的基本结构、运算、函数、控制结构、宏定义、数据结构以及基础的内存管理和枚举常量。通过解答这些题目,学生可以复习并检验自己对C语言的理解程度。