C语言基础复习:选择题集锦

需积分: 9 1 下载量 6 浏览量 更新于2024-08-29 收藏 37KB DOC 举报
"C语言第一第二章复习题包含了关于C语言基础知识的选择题,涵盖了程序的基本单位、数据类型、常量、运算符、表达式及其计算规则、变量定义与赋值等方面的知识。" 在C语言中,程序的基本单位是函数,而不是程序行、语句或字符,因此选项C是正确答案。TURBOC中,`int`类型的变量通常占用2个字节,所以选项B是正确答案。在C语言中,正确的整形常量应不包含小数点或指数形式,因此选项B `-20` 是正确的。实形常量即浮点数,可以包含小数点和指数形式,选项B `3.1415` 和D `.871` 是正确的,而选项A `0` 虽然是正确的整数常量,但不符合题目要求的实形常量;选项C `1,000` 中的逗号不是合法的分隔符,因此不正确。 用户标识符是程序员自定义的变量、函数等名称,不能以数字开头,也不能包含非法字符如空格、标点符号。因此,选项A `abc.c` 不合法,因为它包含了非法字符`.`;选项C `Main` 是合法的,因为虽然它可能与某些编译器保留的关键字冲突,但在标准C中,它本身不是一个关键字;选项D `PRINTF` 也是合法的,尽管它与预定义的宏`printf`相似,但作为标识符是允许的。而选项B `file` 是合法的,因为`file`不是C语言的关键字。 在C语言中,只有 `%=` 运算符要求操作数必须是整型,因为它是取模运算,所以选项A是正确答案。表达式 `(pict)` 的正确表示方法需要考虑运算符的优先级,选项B、C、D都是正确的,而选项A的括号使用会导致错误的结果。 在表达式 `1/a*b*c` 中,如果`a`、`b`、`c`都是整数,那么1除以它们的乘积会先进行乘法运算,结果是整数,导致错误的结果。因此,正确表示代数式 `(pic)` 的表达式是 `1/(a*b*c)`,即选项B。表达式 `x=1,y=x+3/2` 的值取决于浮点数和整数除法的处理方式,如果`x`和`y`是`double`类型,结果将是2.0,因为3/2在C语言中默认按整数除法计算,结果是1,然后加到`x`上。 变量定义方面,合法的定义包括 `int_abc=2-.1e-2;` 和 `short do=15;`,因为下划线可以用于标识符,且浮点数可以被赋值给整数变量(会进行截断)。不合法的定义包括 `float3_four=3.4;`,因为数字前不能有类型名,以及 `doublea=1+4e2.0;`,因为浮点数常量的指数部分必须是整数。 表达式 `(k++*1/3)` 的值是0,因为整数除法后,`k++`的值会在最后增加,但不会影响之前的操作。符合C语言语法的表达式是 `a=7+b+c,a++;`,因为逗号运算符允许连续的表达式。实型常量的正确形式是 `0.5E-3`,即选项C。最后,正确的赋值语句是 `x1=26;`,其他选项或包含非法字符,或没有正确使用赋值运算符。 以上就是C语言第一第二章复习题中涉及的重要知识点,涵盖了基本的语法元素和运算规则,是学习C语言的基础。