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

2017年湖南农业大学食品科技学院341农业知识综合三[专业硕士]之C程序设计考研题库

  摘要

一、选择题

1. 若a 是数值类型,则逻辑表达式

A.1

B.0

C.2

D. 不知道a 的值,不能确定

【答案】A

【解析】C 语言没有专门提供逻辑类型,0作为逻辑数据代表假,非0的数作为逻辑数据代表真。C 语言同时规定,逻辑数据真为1,逻辑数据假为0。根据题意可知逻辑表达式的值为恒为“真”。

2. 有以下程序:

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

A.6 1

B.7 0

C.6 3

D.7 1

【答案】B 【解析】这时分配的内存就是7个字节,包括结束字符

第一个遇到结束字符

求的是字符串的个数,为0。

3. 有以下程序:

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

第 2 页,共 33 页 的值是( )。 无论之后如为空

,何赋值,都不会改变,sizeof 是计算字符串所占存储空间的大小,因

此结束赋值,这时

A.12

B.11

C.10

D.9

【答案】C

【解析】x=011表示按照八进制赋值,则十进制数为9,所以输出++x的结果为10。

4. 有以下程序:

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

A.2,6

B.0,0

C.2,4

D.1,2

【答案】B

【解析】程序执行过程为:定义数组调用函数fun ,将数组地址传人函数,指针pi 指向a ,s 指向b ,定义指针t 并使其指向开辟的两个整型内存,为第一个内存赋值为数组a 第一个元素的2倍,即2,然后指针pi 指向a 数组第二个元素,为第二个内存赋值为数组a 第二个元素的2倍,即4,最后使指针s 指向动态开辟的两个内存的首地址。整个过程中数组b 没有发生变化,依次输出b 中元素为0,0,故B 项正确。

5. 有以下结构体说明、变量定义和赋值语句

则以下scanf 函数调用语句有错误的是( )。

第 3 页,共 33 页

【答案】A

【解析】A 项错误

正确,确作符优先级高于是取是取s[0]中的age 成员,scanf 函数中需要传入变量的地址。B 项等价于C 项正确是取成员;D 项正

中的name 成员,name 是char 类型数组,自身就是首元素地址。

则z 的值为。 6. 若有定义语句intx=12,y=8,z ;,其后执行语句

A.1.9

B.1

C.2

D.2.4

【答案】B

由于z 定义为整型,故最终结果为1。

7. 若有定义语句:

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

A. 定义语句中的p 只能存放double 类型变量的地址

B. 定义语句中的*号是一个说明符

C. 定义语句中的*号是一个间址运算符 【解析】根据优先级先计算x/y, 即12/8,由于是整型,故x/y的值为1,接着计算0.9+1=1.9,

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

【答案】C

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

用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。

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

A. 两个连续的双引号(“”)是合法的字符串常量

B. 两个连续的单引号(“)是合法的字符常量

C. 可以对字符串进行关系运算

D. 空字符串不占用内存,其内存空间大小是0

【答案】A

【解析】A 项正确,两个连续的双引号:"" 也是一个字符串常量,称为“空串”。B 项错误,

第 4 页,共 33 页

是求地址运算符,