C语言复习题集与解答:关键考点解析

1 下载量 127 浏览量 更新于2024-06-28 1 收藏 151KB DOC 举报
本文档是一份C语言复习题集,包含了十道题目及其答案,旨在帮助学习者巩固和回顾C语言的基础知识。以下是对这些知识点的详细解析: 1. **常量类型与变量** - 题目1考察了不同数据类型的适用性。在C语言中,将整数值327存入变量a,根据选项,char类型无法存储整数327,因为它的范围较小(通常为-128~127)。 2. **无符号整型溢出** - 题目2中,无符号整型变量x被赋值为最大值65535。在无符号情况下,printf会打印x的实际值,即65535,而不是-1,因为无符号整数没有负值概念。 3. **逻辑运算符** - 题目3涉及逻辑运算符,k=(n=b>a)||(m=a<b),这里先判断n是否大于b(为假),再判断m是否小于a(为真),因此k为1,m为0,输出结果是C)1,0。 4. **自增运算符** - 题目4展示了变量递增的顺序问题。在表达式`pad=sum++,pAd++,++pAd;`中,pad最终会取到sum(5)的初始值,因为递增操作按照从左到右的顺序进行。 5. **逻辑运算符优先级** - 题目5测试了逻辑与运算符的优先级。表达式`!a&&!b||!c`在逻辑上等价于`(!a) && (!b) || (!c)`,由于a和b均为假(0),整个表达式简化为`0 || !c`,输出非0的数,即1。 6. **do-while循环** - 题目6中,x初始值为-1,do-while循环条件`!x`在第一次循环时就为真,执行一次循环后x变为0,第二次循环不再执行,因此A)正确。 7. **全局变量存储类型** - 题目7指出,全局变量的存储类型可以是extern(外部链接)或static(静态),它们在程序执行期间始终保持存在。 8. **默认存储类型** - 题目8提到,未显式指定存储类别的全局变量,默认为extern,表示在所有函数外都可见。 9. **数组和指针** - 题目9展示了对数组和指针的处理。选项C`a=(x=1,x++,x+2)`正确地同时初始化了a,并对x进行了递增操作。 10. **函数调用** - 题目10中,选项D错误,因为`printf("%d",p)`试图打印指针p的地址,而非它指向的变量a的值。 11. **结构体和数组** - 结尾部分提到了一个包含两个成员的结构体数组,`um`。输出结果取决于对结构体中成员的访问方式,但具体结果没有给出。 这份文档对于C语言的学习者来说是非常有价值的复习资料,提供了实战的题目和答案,有助于理解和掌握C语言的关键概念和语法。