C语言笔试题目解析:保留字、枚举、循环与指针

5星 · 超过95%的资源 需积分: 9 257 下载量 106 浏览量 更新于2024-07-30 16 收藏 472KB DOC 举报
"虹软笔试题包含了C语言相关的知识点,如保留字、枚举类型、while循环、字符和字符串的字节数、指针、编译程序的功能、位运算、switch语句、算术表达式的求值以及循环结构的死锁判断等。" 在这些题目中,我们可以看到以下几个关键的C语言知识点: 1. **C语言保留字**:D选项"unsigned"是C语言的保留字,用于定义无符号整型变量。其他选项如"fopen"、"include"和"get"虽然在C程序中常见,但它们不是C语言的保留字。 2. **枚举类型enum**:题目中定义了一个枚举类型`enum color`,其中`white`的值为4,因为它是从`yellow`开始按顺序计数的,`yellow`被赋值为2,之后的`blue`、`white`、`black`依次加1。因此,当`r`被赋值为`white`时,`printf("%d", r)`会输出4。 3. **while语句**:选项B错误,while循环并不保证循环体至少执行一次,如果一开始的条件就不满足,循环体可能一次都不会执行。 4. **字符和字符串的存储**:在C语言中,单个字符'a'占用1字节,而双引号包围的字符串"a"(即字符串常量)占用2字节,因为它还包括一个表示字符串结束的空字符`\0`。 5. **指针和取地址运算符**:`&`运算符用于取变量的地址,例如`p=&a`表示将变量`a`的地址赋值给指针`p`。 6. **编译程序的功能**:编译程序的作用是将高级语言程序(如C语言)转换为目标程序,供计算机执行。 7. **位运算**:执行`k=5|3;`后,`k`的值为7,因为`|`是按位或运算符,5的二进制形式是101,3的二进制形式是011,进行按位或运算后得到111,即十进制的7。 8. **switch语句**:该程序段会先执行`case 1`的情况,由于没有`break`,会继续执行`case 2`,最后输出`**0**2**`。 9. **算术表达式的求值**:表达式`x++*5/10`在x为3时,先计算`x++`,此时x变为4,然后是`4*5/10`,根据整数除法规则,结果为1。 10. **循环结构**:选项A的循环不会形成死循环,因为`while(1)`创建了一个无限循环,但内部的`if`语句检查`i`是否大于100,当`i`大于100时,`break`语句会跳出循环。 以上就是对这些笔试题目的详细解析,涵盖了C语言的基础知识,包括语法、数据类型、流程控制和运算符等方面。理解和掌握这些知识点对于C语言的学习至关重要。