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

2017年广西师范大学计算机科学与信息工程学院880数据结构及操作系统之C程序设计考研强化模拟题

  摘要

一、选择题

1. 若有定义语句:

以下叙述中错误的是( )。

A. 定义语句中的p 只能存放double 类型变量的地址 B. 定义语句中的*号是一个说明符 C. 定义语句中的*号是一个间址运算符

D. 定义语句中*p=&a把变量a 的地址作为初值赋给指针变量p 【答案】C

【解析】C 项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A 项正确, p 是double 类型的指针,只能存放double 类型的地址;B 项正确,定义指针变量时,星号是一个说明符,用来说明该变量是指针变量;D 项正确,用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。

2. 设有定义:

以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

【答案】C 【解析】

3. 若有定义

程序运行时输入: 345〈回车〉

能把值3输入给变量a 、4输入给变量b 、5输入给变量C 的语句是( )。 A )C )【答案】D

是求地址运算符,

表达式值为k 的值,其余为的值。

B )D )

d~输入带符号的十进制整型数,f~以带小数点的数学形式或指数形式输入浮点数【解析】(单精度数用f ,双精度数用If )。

4. 有以下程序段:

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

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

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

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

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

5. 有以下程序:

程序运行后的输出结果是( )。 A.5 B.7 C.12 D.14

【答案】A

【解析】在存储字符串常量时,

由系统在字符串的末尾自动加一个strcpy 函数将“China”复制给字符数组s ,标志。其在数组位置内存存储情况为

作为字符串的结束

strlen 。

若要给分别输

函数统计字符串长度时,遇到结束,s 数组长度为5。

6. 若有定义并已正确给变量赋值,则以下选项中与表达式(x-y )? (x++):(y++)中的条件表达式(x-y )等价的是( )。

A. (x-y==0) B. (x-y<0) C. (x-y>0)

D.

【答案】D

【解析】条件表达式:x=表达式1? 表达式2:表达式3的含义是:先求解表达式1,若其值为,则求解表达式2, 将表达式2的值赋给X ,若表达式1的值为0(假),则求解表达式非0(真)

3, 将表达式3的值赋给X 。在本题中与表达式(x —y )等价的是

7. 有以下程序:

程序的运行结果是( )。

【答案】A

【解析】结构体作为函数参数时是传值调用。本题中,函数传递的是实参结构体变量中的值。函数体内对形参结构体变量中任何成员的操作都不会影响对应实参中成员的值。因此f ( )没有任何实际作用。

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

A. 两个连续的双引号(“”)是合法的字符串常量 B. 两个连续的单引号(“)是合法的字符常量 C. 可以对字符串进行关系运算

D. 空字符串不占用内存,其内存空间大小是0 【答案】A

【解析】A 项正确,两个连续的双引号:"" 也是一个字符串常量,称为“空串”。B 项错误,两个连续的单引号表示空字符,空字符它不占内存,故其不能称之为字符常量,常量是要有地址C 项错误,C 语言中不能对字符串直接使用关系运算符进行运算,的;但是可以使用比较函数strcmp 进行比较;D 项错误,空串要占一个字节的存储空间来存放