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

2018年北京印刷院信息工程院827电子与通信工程综合基础[专硕]之C程序设计考研仿真模拟五套题

  摘要

一、选择题

1. 以下叙述中正确的是( )。

A. 语句

B. 对于字符串常量D. 在语句【答案】B

【解析】B 项正确,C 编译程序将自动在字符串常量最后添加串的存储单元,因此数组str 的长度大于字符串的长度。

2. 下面关于位运算符的叙述,正确的是( )。

A.&表示“按位与”的运算 B.#表示“按位异或”的运算 C. 表示“按位或”的运算 D. 〜表示“按位异或”的运算 【答案】A

【解析】C 语言提供的六种位运算符,如下表所示,

AC 两项错误,可以直接用

字符串常量给一维字符数组赋初值,习惯上均省略花括号;D 项错误,’\0’会占用一个不属于字符

系统已自动在最后加入了

并不等价 字符,表示串结尾

C. 对于一维字符数组,不能使用字符串常量来赋初值

中,数组str 的大小等于字符串的长度

3. 以下能正确定义字符串的语句是( )。

A. B. C. D. 【答案】A

【解析】字符串末尾一定要有结束标记,双引号括起来的字符串系统会默认添加结束标记。A 项正确,定义 了空字符串str 。B 项错误,str 是char 类型变量,不能用字符串为其赋值;C 项错误,字符串应该用双引号括起 来;D 项错误,如果一个字符数组用来作为字符串使用,一定要人为加入字符串中

4. 若有定义语句:则执行语句:

A.-264 B.552 C.144 D.264

【答案】A

但是str 缺少结束符。

后,a 的值是( )。

【解析】赋值运算结合性为自右向左

5. 有以下程序段:

A. 字母A 、B 、C 之问可以用空格分隔 B. 字母A 、B 、C 之间不能有分隔符 C. 字母A 、B 、C 之间可以用回车符分隔 D. 字母A 、B 、C 之间可以用Tab 键分隔 【答案】B

【解析】在使用scanf 函数时要注意,在用

相当于

自右向左计算过程为

若要给分别输

入字母A 、B 、C , 则以下对输入形式的描述正确的是( )。

格式输入字符时,分隔符(空格符、制表符

(Tab 键)、回车符)和转义字符都将作为有效字符进行输入。题目中要求以字符形式输入三个数据,空格、回车符、Tab 键均会被视为有效字符赋给对应变量,所以字母A 、B 、C 之间不能有分隔符,故B 选项正确。

6. 有以下程序:

程序运行后输出的结果是( )。 A.12, -3, 0, 0 B.-3, -1, 1, 3

C.0, 1, 2, 3

D.-3,-3,-3,-3 【答案】B

【解析】在函数参数传递时,一维数组和二维数组都是以指针的形式。函数fun 的作用是通过二维数组a 来 给数组b 赋值,元素(从倒数0个开始)。所以,

7. 有如下定义:

以下对内嵌结构体成员的引用形式错误的是( )。

【答案】A

【解析】使用结构体指针对结构体成员进行访问时,形式为结构指针名->结构成员名,或者(*结构指针名). 结构成员名,题目中ps 为结构体指针,A 项错误。

8. 有以下程序:

程序运行后的输出结果是( )。 A.1, 2 B.3, 4 C.5, 6

D.123, 456

【答案】C

表示a 上对角线元素,表示a 中第i 行倒数第i 个