2017年北京市培养单位工程科学学院864程序设计考研仿真模拟题
● 摘要
一、选择题
1. 设x 、y 、z 均为实型变量,代数式
A.x/y+z
B.x%y%z
C.x/y/z
D.x*z/y
【答案】C
【解析】X 、/的结合顺序是从左到右,所以x 先除以y , 再除以z 。
2. 下列条件语句中,输出结果与其他语句不同的是( )。 A. B. C. D.
【答案】D
【解析】A 项,如果a 的值为1,即输出X ,否则输出y ; B 项,如果a 的值为0, 则输出y ,否则输出x ; C 项,如果a 不等于0, 贝!J 输出x , 否则输出y ; D 项,如果a 的值为0, 则输出X ,否则输出答案y 。因此D 项与其他三个选项不同。
3. 有以下程序:
程序运行后的输出结果是( )。
A.-1
B.0
C.1
D.7
【答案】A
【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,贝晚取值,再进行加一或减一操作。程序中执行
才跳出循环,执行下条语句,即a 为0时再执行
4. 若有以下程序
第 2 页,共 43 页 在C 语言中的正确写法是( )。 直到while 判断为0时后输出,最终输出的结果为-1。
则程序的输出结果是( )。
A.4,3,4
B.4,3,3
C.6,3,6
D.6,6,6
【答案】B
【解析】函数sp (p )调用前,p 指向k ; 调用后,指针p 被复制到a ,a 也指向
存单元,k 和*p仍然是3。
5. 以下不是合法C 语言转义字符的是( )。 A. B. C. D.
【答案】A
【解析】C 语言中,
6. 有以下程序:
程序运行后的输出结果是( )。
A.3,5,5,3
B.3,5,3,5
C.5,3,3,5
D.5,3,5,3
【答案】B
第 3 页,共 43 页
语句使得a 指向变量b (但是p 仍然指向k ); 在sp 函数内部输出4,sp 函数没有改变指针p 指向的内表示响铃,表示退格,表示回车不换行,故答案为A 选项。
【解析】在C 语言中,函数参数的传递是“传值”的,即形参和实参是两个没有关系的变量,本题函数的形参虽然为指针变量,但是函数内部交换的是地址值,并没有交换主函数中变量x 与y 的值。函数内对地址值的交换不会传递给实参,因此,交换函数并没有交换p 、q 所指向的值。
7. 以下叙述中正确的是( )。
A. 在复合语句中不能定义变量
B. 对于变量而言,“定义”和“说明”这两个词实际上是同一个意思
C. 全局变量的存储类别可以是静态类
D. 函数的形式参数不属于局部变量
【答案】C
【解析】C 项正确,对于全局变量可使用extern 和static 两种说明符。A 项错误,在复合语句中定义的变量 是局部变量;B 项错误,“定义”(definition )是指给变量分配确定的存储单元,“说明”(dedaratkm )只是说 明变量的性质,而并不分配存储空间;D 项错误,函数的形式参数只能在函数内部被识别,属于局部变量。
8. 以下叙述中错误的是( )。
A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL
B. 函数可以返回地址值
C. 改变函数形参的值,不会改变对应实参的值
D. 可以给指针变量赋一个整数作为地址值
【答案】D
【解析】不能将一个整数直接赋给指针变量作为地址,D 项错误。标准库文件stdiah 定义了 NULL 是一个 类型为void*,值等于0的对象。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。
9. 有以下函数:
函数的功能是( )。
A. 查找x 和y 所指字符串中是否有
B.x 、y 所指字符串最前面连续相同的字符个数
C. 将y 所指字符串赋值给x 所指存储空间
D. 统计x 和y 所指字符串中相同的字符个数
【答案】B
【解析】由程序可知,定义语句中的x 和y 是用户标识符,在每个变量前的是一个说明符,
第 4 页,共 43 页
相关内容
相关标签