2018年北京联合大学软件工程803软件基础之C程序设计考研核心题库
● 摘要
一、选择题
1. 有以下程序:
程序运行时,
从键盘输入A.
B.
C. D. 【答案】A
输出结果是( )。
【解析】首先定义了一个指针p 指向数组的首地址,在while 语句中,执行功能是如果当前指针指向地址单
元内字符不等于空字符
则输出#
和指针对应地址元素的值在
码加2后
变换的字符常量,A 项正确。
2. 以下选项中,合法的数值型常量是( )。
A.3.1415 B. “A ” C.092 D.OxDH 【答案】A
【解析】数值型常量包括整型常量和实型常量。整型常量有三种:①十进制常量,用0〜9表示,不能以0开头;②八进制常量,用0〜7表示,必须用0开头;③十六进制常量,用0~9和A~F(a~f)表示,必须以Ox 或OX 开头。实型常量:用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。3.1415为实型常量,A 项正确。“A ”为长度为1
的字符串常量,B 项错误。092按照格式来说是八进制整型常量,但是八进制不会出现9, C 项错误。OxDH 按照格式说是十六进制整型常量,但是不应该出现H , D 项错误。
3. 有以下程序
程序运行后的输出结果是( )。 A.2,3,1 B.2,3,2 C.2,3,3 D.2,2,1 【答案】A
【解析】对于表达式“z=x++,y++,++y; ”,赋值运算符的优先级高于逗号运算符的优先级,可改成“(z=x++),(y++),(++y)”。然后从左向右先计算表达式z=x++,因为x++先使用后自増,所以z 的值为1,x 的值为2。再计算逗号表达式第二个表达式y++,此时y 的值为1,y++的值为2。最后计算第三个表达式++y,y 的值为3。
4. 以下叙述中正确的是( )。
A. 只要是用户定义的标识符,都有一个有效的作用域
B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域 C. 只有在函数内部定义的变量才是局部变量 D. 局部变量不能被说明为static 【答案】A
【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以被C 编译和 连接程序所识别。在C 语言中,由用户命名的标识符都有一个有效的作用域。B 项错误,局部变量的作用域是所 在的函数体(或复合语句);C 项错误,在函数内部或复合语句内部定义的变量,称为局部变量;D 项错误,在 函数体(或复合语句)内部用static 来说明一个变量时,变量为静态局部变量。
5. 对于if (表达式)语句,以下叙述正确的是( )。
A. “表达式”的值可以是任意合法的数值 B. 在“表达式”中不能出现变量 C. 在“表达式”中不能出现常量
D. “表达式”的值必须是逻辑值 【答案】A
【解析】单分支选择语句if 语句格式如下:if (表达式)语句体。“表达式”可以是任意合法的C 语言表达式,包括关系表达式和逻辑表达式等,也可以是任意的数值类型(包括整型、实型、字符型等),A 项正确。“表达式”中可以出现变量或者常量,也不一定必须是逻辑值,B 、C 、D 项错误。
6. 函数rewind (fp )的作用是( )。
A. 函数rewind (fp )的作用是使文件读写指针指向文件开始位置 B. 使文件位置指针指向文件的末尾 C. 使文件位置指针移至前一个字符的位置 D. 使文件位置指针移至下一个字符的位置 【答案】A
【解析】rewind ( )函数作用是使文件读写指针指向文件开始位置。
7. 有以下程序:
程序运行后的输出结果是( )。 A.12 B.11 C.10 D.9
【答案】C
【解析】x=011表示按照八进制赋值,则十进制数为9,所以输出++x的结果为10。
8. 有如下程序:
程序运行后的输出结果是( )。 A.8 B.9 C.7 D.10