当前位置:问答库>考研试题

2017年北京师范大学数学科学学院805数据结构(C语言版)之C程序设计考研冲刺密押题

  摘要

一、选择题

1. 若有定义:inta ,b :

通过语句

能把整数3赋给变量a , 5赋给变量b 的输入数据是( )。 A.3, 5 B.3;5 C.35 D.35

【答案】B

scanf 函数中如果使用通配符, 【解析】则在输入数据时也必须使用相同的通配符与它相匹配。

2. 有以下程序:

程序运行后的输出结果是( ) A.1,2,1,2 B.1,2,2,1 C.2,1,2,1 D.2,1,1,2 【答案】B

【解析】本题首先让指针变量p 和q 分别指向m 和n 的地址空间,然后将p 赋值给r ,让r 指向m ,q 赋值给p ,让p 指向n ,再将r 赋值给q ,让q 指向m ,因此最后p 指向n ,q 指向m 。

3. 有以下程序:

程序运行后的输出结果是( )。 A.-1 B.0 C.1 D.7

【答案】A 【解析】

运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当

直到while 判断为0

以后缀形式出现时,贝U 先取值,再进行加一或减一操作。程序中执行

时才跳出循环,执行下条语句,即a 为0时再执行后输出,最终输出的结果为-1。

4. 以下能正确表述算式的C 语言表达式是( )。

【答案】A

【解析】A 项正确。sin 是库函数,其参数中的角度要求用弧度制表示。C 语言中义的常量,需要用户自定义或者直接使用是

代替

B 项未替换

误。C 项没有将30度换算成弧度,错误。D 项弧度换算错误,对应于

5. 有以下程序:

程序运行后的输出结果是( )。 A.TrueB •TrueFalse C.False

D.TrueFalseTrue 【答案】B 【解析】

此处是赋值语句“=”,注意赋值操作符与相等操作符“==”的区别,因

此答案为B 选项。

6. 下面选项中关于位运算的叙述正确的是( )。

A. 位运算符都需要两个操作数

不是已定

而不

也没有将30度换算成弧度,错

应该除以

B. 位运算的对象只能是整型或字符型数据 C. 左移运算的结果总是原操作数据2倍 D. 右移fe 算时,尚位总是补0 【答案】B

【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。

7. 若有说明和语句:

A. B. C. 的地址

D. 不确定的值 【答案】A

【解析】定义字符数组并为其初始化,str 数组前5个元素为Hello ,

第六个元素自动赋值为

定义指针使等于字符串首地址,

8. 程序运行后的输出结果是( )。

A.14.0 B.31.5 C.7.5

D. 程序有错无输出结果

【答案】D

【解析】宏定义有两种:无参数的宏定义,即#definePT3.5; 带参数的宏定义,不能用宏来计算,宏只能做简单的代替而不能做计算,故程序会报错。

9. 下列叙述中正确的是( )。

A. 每个C 程序文件中都必须要有一个main 函数 B. 在C 程序中main 函数的位置是固定的 C.C 程序中所有函数之间都可以相互调用 D. 在C 程序的函数中不能定义另一个函数 【答案】D

【解析】D 项正确,C 语言语法规定,在函数中不能定义其他函数。A 项错误,C 程序必须要有一个main 函数,但并不是每个文件中都要有;B 项错误,main 函数的位置没有特殊要求;C 项错误,从其他函数中不能调用main 函数。

则此时中的值为( )。

指向字符串第六个元素。