C语言笔试精华:全局变量与嵌入式问题解析

需积分: 16 8 下载量 42 浏览量 更新于2024-07-30 1 收藏 258KB PDF 举报
本资源是一份关于C语言的笔试题目集锦,涵盖了嵌入式编程方向的经典考题,适合准备参加IT公司笔试的考生复习。文档中详细解答了以下几个关键知识点: 1. 局部变量和全局变量重名:局部变量可以与全局变量同名,但在函数内部优先使用局部变量,除非有明确的extern声明或在头文件中引用全局变量。编译器在函数内允许多次定义同名局部变量,作用域仅限于定义它的范围。 2. 引用全局变量:可以通过头文件包含全局变量声明或使用extern关键字。前者在编译期间检查语法错误,后者在编译阶段可能不会报错,但在链接阶段会发现错误。 3. 全局变量的存储:若全局变量定义在可被多个C文件包含的头文件中,应使用static关键字来限制其作用域,使其仅在包含该头文件的文件内可见。 4. 语句结构分析:展示了不规范的for循环结构,即for(;1;),这是一种死循环,不易阅读,不推荐使用。同时,do...while和while...do的区别在于执行顺序,do...while至少执行一次,然后进行条件判断。 5. C语言输出示例:给出了一段代码,通过递增运算符演示了变量a的不同赋值和输出,结果为b=10, c=12, d=120。 6. static函数与普通函数的差异:static函数仅在当前源文件中可见,用于实现私有功能,而普通函数可以在其他源文件中被调用。函数定义的位置也有所不同,static函数需在当前文件内声明和定义。 7. 静态全局变量与普通全局变量:静态全局变量存储方式与普通全局变量相同,但作用域不同。静态全局变量仅在定义它的源文件范围内有效,非静态全局变量在整个程序中可见。 这些知识点深入理解了有助于提高C语言编程技巧,尤其在面试或者实际项目开发中处理变量作用域和命名规则时,能够更加熟练地应用。