一、选择题
1. 以下叙述正确的是( )。
A.C 语言程序是由过程和函数组成的 B.C 语言函数可以嵌套调用,例如:C.C 语言函数不可以单独编译
D.C 语言中除了 main 函数,其他函数不可以作为单独文件形式存在 答:B
【解析】一个函数的返回值可以作为参数然后传给另一个函数,因此函数是可以嵌套调用的。A 项错误,C 语言程序只有函数构成,没有过程;C 项错误,编译系统的任务在于检查语法错误,只要符合语法规则的C 程序都可以通过编译,就算是单独的函数也可以;D 项错误,在C 语言中除main ( )函数以外的其他函数可以和main ( ) 函数在同一个C 文件中,也可以单独处于其他的C 文件,只要在使用到这些函数的main ( )函数的C 文件中用预
编译指令
包含进来即可。
2. 以下程序段中,与语句:
答:A
【解析】三元运算符表达式的形式为:表达式果果
那么就执行
前面的语句
且
时,
表达式
表达式3, 当表达式1的值为真时,
的关系:①如否则
②如
结果为表达式2的值;当表达式1的值为假时,结果为表达式3的值。首先判断
判断b 、c 的关系,如果否则
综上所述:当
与A 项语句功能相同。 功能相同的是( )。
3. 以下叙述中正确的是( )。
A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句 B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环
C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句
D. 只要适当地修改代码,就可以将do-while 与while 相互转换 答:D
【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。
4. 若有定义inta=l,b=2,c=3;,则执行表达式II (a=b+c)(++b)后a 、b 、c 的值依次为( )。
A.1、2、3 B.5、3、2 C.5、2、3 D.5、3、3 答:C
【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。
5. 在以下程序:
程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3 答:A
【解析】值没有改变。
6. 有以下程序
>不满足跳出,if (a==0)不满足,跳出循环,并没有往下执行,因此b
执行后的输出结果是( )。 A.32 B.24 C.5 D.40 答:A 【解析】
是先判定i%5是否等于0, 然后不管判定结果如何,执行
是先执行++i,然后判定i%8是否等于0。上述for 循环可以写成:
7. 以下关于C 语言的叙述中正确的是( )。
A.C 语言中的注释不可以夹在变量名或关键字的中间 B.C 语言中的变量可以在使用之前的任何位置进行定义
C. 在C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D.C 语言的数值常量中夹带空格不影响常量值的正确表示 答:B
【解析】A 项错误,C 语言中,程序中的注释可以出现在程序中任何合适的地方,为了方便程序理解,一般不建议写在变量名或关键字的中间;C 项错误,在C 语言的算术运算符中,取余运算符
的两个运算分量必须是整数,但对于其他运算符,如
来说,两侧的运算符
类型也可以不一样,例如左侧为一个字符类型,右侧为一个整数类型,系统在执行程序时会自动将字符类型转换为
D 项错误,C 语言的 数值表示时各个数位必须紧靠在一起,值进行运算;
否则编译系统只会识别紧靠运算符的一部分数值,另一部分数值会发生语法错误。
8. 若有定义语句:则的值是( )。
A.7 B.8 C.9 D.10 答:A
C 语言规定以字符【解析】
与
strlen 函数返回的是字符串的长度,
作为字符串结束的标识符。
等效,所以字符串长度是7。