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

2018年山西大学计算机与信息技术院859软件工程专业基础之C程序设计考研强化五套模拟题

  摘要

一、选择题

1. 有以下程序:

程序运行后的输出结果是( )。 A.1 B.123 C.23 D.3

【答案】A 【解析】和

是转义字符,表示空字符,故

成立,输出1;

是字符常量和0不等,

,不执行if 后面的语句,所以最后输出只有1,故答案为A 选项。 都是字符常量,因为

2. 以下关于指针的叙述正确是( )。

A. 所有类型的指针变量所占内存的大小是一样的

B. 指针变量所占内存的大小与其类型有关,char 型指针变量只占1个字节,double 型指针变量占8个字节

C. 指针变量可直接指向任何类型的变量,而不会出现编译或运行错误

D. 指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误

【答案】A

【解析】专门用来存放变量地址的变量称为“指针变量”,所有地址值所占字节都是一样的,故指针变量所占内存大小一样,A 选项正确,B 选项错误。由于一个变量的地址(指针)还隐含有这个变量的类型信息,所以不能随意把一个地址存放到任何一个指针变量中去,只能把具有相同类型的变量的地址,存放到这个指针变量中, 结构体变量与某个成员类型不同,不能用同样的指针指向它们,C 、D 选项错误。

3. 有如下定义:

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

【答案】A

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

4. 有以下程序

程序运行后的输出结果是( )。 A.99 B.68 C.60 D.108 【答案】C

【解析】定义了二维数组a ,p 是指针,它指向长度为4的int 数组,初始化时,p

执行

当于函数的作用是计算数组a 中前两列的和,结果是60。

5. 以下不是合法C 语言转义字符的是( )。

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

【解析】C 语言中,

表示响铃,

表示退格,

表示回车不换行,故答案为A 选项。

6. 若想给已定义为int 型的变量a 、b 、c 、d 赋整数1,以下选项中错误的语句是( )。

【答案】A

【解析】赋值是将一个常量的值赋给一个变量,A 项中,变量c 初始值未定义,相当于一个未知数给变量d 赋值,不满足赋值为1的条件。

7. 以下选项中正确的语句组是( )。

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

【解析】字符串常量在赋值过程中给出的是这个字符串在内存中所在的一串连续存储单元的首地址。在初始 化字符串时,若选择给指针赋值字符串的方式应

三项错误,在给数组赋值

的时候应该为:

8. 若有定义:

或是

则以下不能正确表示该数组元素的表达式是( )。 A. B. C. D. 【答案】A 【

a

A 项,C 语言中规

定,方括号的优先级高于相当于是

的地址,表示数组元素

C 项,

是元素

项,是元素的地址,

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

B 项,是不能表示数组元素。

的地址,

D

的地址,表示数组元素的地址,表示数组元素

A. 在算法设计时,可以把复杂任务分解成一些简单的子任务 B. 在C 语言程序设计中,所有函数必须保存在一个源文件中 C. 只要包含了三种基本结构的算法就是结构化程序 D. 结构化程序必须包含所有的三种基本结构,缺一不可 【答案】A