一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.3 B.6 C.8 D.12
【答案】B
【解析】本题是选用函数作为另一个函数的参数,所以应该先做其中嵌套的函数,
即
根据题意可知函数fun ( )是求平均值的函数,所以
要注意:因为函数的返回值是int 型,int 型做除法运算时保留整数,所以为5。
即为计算
2. C 语言源程序名的后缀是( )
A.C B.exe C.obj D.cp
【答案】A 【解析】C 语言源程序名的后缀为.C
3. 有以下程序:
程序运行后的输出结果是( )。 A.-1
第 2 页,共 34 页
的值为5, 这里
保留整数
保留整数为6。
所以结果为
B.0 C.1 D.7
【答案】A 【解析】
和
运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当
直到while 判断为0
后输出,最终输出的结果为-1。
以后缀形式出现时,贝U 先取值,再进行加一或减一操作。程序中执行时才跳出循环,执行下条语句,即a 为0时再执行
4. 若有以下程序
则程序的输出结果是( )。
【答案】A
【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员,函数中形参结构体变量的改变不会影响到实参结构体变量。所以,在函数f 中对a , b 的操作不会影响main 函数中a , b 的值。 5 若有定义语句 .则下面对m 数组元素的引用中错误的是( )。
A. B. C. D. 【答案】C
【解析】数组的下标从零开始标记,数组m 中有5个元素,所以数组m 即
为
C 项,访问数组元素为
〜4, 可见
会溢出,会引起错误。
第 3 页,共 34 页
,但是数组申请的空间是0
6. 设有定义( ) 。
A. B. C. D.
【答案】C
A 项,【解析】
_以下能给数组x 下标为6的元素读入数据的正确语句是
元素类型为double , 所以输入
B 项,,有误:虽然x+6为指针,但*(x+6)
并非地址;D 项,使用p[6]表7K 的不是地址,方式不正确。
7. 以下C 语言用户标示符中,不合法的是( )。
A._1 B.AaBc C.a_b D.a--b
【答案】D
【解析】C 语言中的标识符只能由字母、数字和下画线构成,且第一个字符必须是字母或下画线,同时不能与C 语言中的关键字相同。D 项还有非法字符“-”。
8. 以下不能将键盘输入的字符串:This is a string〈回车〉读入到str 中的程序段是( )。
A. B. C. D.
【答案】A
【解析】在使用scanf 函数时,在输入数据时,遇到空格,或按“回车”键或按“跳格”(Tab )键时该数据 认为结束。A 项中输入This 后有一个空格,认为数据输入结束,以后的数据不能再读入到str 中,故选择A 项。 B 项用getchar 读人字符,键盘输入的所有字符均被认为是有效字符读入,用while 循环控制读入,当读入字符为 回车时结束读入,字符串被正确的读入到str 中。C 项用gets 函数读入字符串,它读入键盘输入的所有字符,遇到回车自动结束读入,所以也能正确读入字符串到str 中。D 项用do...while 和指针循环控制字符输入,依次判断输入字符是否为回车符,若不是回车符则放人字符数组中,直到读入回车符,结束循环,数组str 中正确存放人指定的字符串。
9. 下面是有关C 语言字符数组的描述,其中错误的是( )。
A. 不可以用赋值语句给字符数组名赋字符串 B. 可以用输入语句把字符串整体输入给字符数组 C. 字符数组中的内容不一定是字符串 D. 字符数组只能存放字符串 【答案】D
第 4 页,共 34 页