C语言程序设计考试精选习题及答案解析

需积分: 9 2 下载量 145 浏览量 更新于2024-07-31 收藏 110KB DOC 举报
"C语言程序设计考试复习题" C语言是一种广泛应用的编程语言,以其简洁、高效和灵活性著称。在C语言程序设计中,了解基本概念、语法和编程技巧至关重要,尤其是在准备考试时。以下是对题目中涉及的知识点的详细说明: 1. C语言源程序的后缀:C语言源程序的文件扩展名通常是`.c`,表示这是一个未经编译的源代码文件。因此,正确答案是B).C。 2. 用户标识符:在C语言中,用户标识符(如变量名、函数名等)可以由字母、数字和下划线组成,且不能以数字开头。所以,合法的用户标识符包括B)Date、C)Hi、D)case和E)_2007y-m-dDr.TomBig1。A)and由于以字母'and'开头,而'and'是C语言的关键字,因此不能用作标识符。 3. 数值常量:C语言中,数值常量的规则如下: - 整型常量可以是十进制、八进制或十六进制。八进制以0开头,十六进制以0x或0X开头。因此,A)028是非法的,因为八进制中没有数字8。 - 小数常量可以是浮点数或双精度数,如B)12.C(这里可能是笔误,正确的写法应该是12.0C,但C不是合法的后缀)和D)0x8A(这是十六进制整数,不是小数常量)。 - 合法的小数常量包括C).177、D)0x8A(转换为十进制为138)、.5e-30(科学计数法表示的浮点数)、10,000(逗号是某些编程风格中的千位分隔符,但在C语言中无效)和-0xf(负十六进制整数)。 - E)中的234e1(缺少小数点)和abc(不是数值字符)是非法的。 4. 主函数:C语言规定,程序从`main`函数开始执行。因此,正确答案是C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束。 5. 指针与输入:在定义语句`inta,b,c,*p=&c;`中,`p`是一个指向整型变量`c`的指针。因此,正确选项是C)scanf("%d",p);,它将整数输入到`c`中。A)和B)都尝试将多个整数输入到单个变量中,是错误的。D)试图将指针的地址输入,也是错误的。 6. 数据类型大小:C语言中的`long`、`int`和`short`类型的字节数是编译器和操作系统相关的,不是固定的。正确答案是D)由C语言编译系统决定。 7. 赋值语句:合法的C语言赋值语句要求操作符两侧类型兼容。A)`x=y==5;`是逻辑运算符,不是赋值;B)`x=n%2.5;`中的`%`用于整数除法,不能用于浮点数;C)`x+n=i;`中的`+`不能用于赋值。只有D)`x=5=4+1;`是合法的,虽然表达式`5=4+1`的结果是1,这可能不是预期的结果。 8. `scanf`函数:在输入`555667777abc`后,`%2d`读取前两个数字,即55,因此`y`的值为55,浮点部分被忽略。所以,正确答案是B)566.0。 9. `do...while`循环:该循环先执行一次循环体,然后检查条件。由于`i`初始为0,第一次执行`i++`后,`i`变为1,循环结束。因此,输出是B)0,1。 10. 计算平方根:C语言标准库提供了`sqrt`函数,用于计算平方根。计算公式`sqrt(x^2)`需要确保`x`的值是非负的,因为`sqrt`函数不处理负数。选项A和B都可以正确计算`x>=0`的情况,但处理`x<0`时,B)的`else`分支覆盖了前面的`if`,导致不能正确计算。正确处理负数的程序段是A)的结构,即先判断`x>=0`再计算`sqrt(x)`,如果`x<0`则不会执行`sqrt`。 以上是对C语言程序设计考试复习题中涉及知识点的详细解释,这些知识点涵盖了C语言的基础语法、数据类型、输入输出、控制结构和函数调用等多个方面。掌握这些知识将有助于理解和编写有效的C语言程序。