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

2017年江西农业大学农学院341农业知识综合三之C程序设计考研冲刺密押题

  摘要

一、选择题

1. 有以下程序:

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

A.9, 7, 4, 7

B.8, 6,9,6

C.8, 6, 3, 6

D.10,8, 5,8

【答案】A

【解析】由于name 是一个长度为9的一维数组,故在内存中占用9字节长度,而其中字符串 只有7个字符,函数返回的是该字符串的长度,不包含结束符,str 是一个

函数时,指针变量,占用4字节长度,但是由于name 首地址赋给了 str 指针变量,在调用

返回的是指针对应地址单元的字符串的长度7,A 项正确。

2. 若有以下程序

则程序的输出结果是( )。

A.4,3,4

B.4,3,3

C.6,3,6

D.6,6,6

【答案】B

【解析】函数sp (p )调用前,p 指向k ; 调用后,指针p 被复制到a ,a 也指向

存单元,k 和*p仍然是3。

3. 若有定义:inta=0,b=0, c=0, d=0; ,有C 语言表达式

行顺序的叙述正确是( )。

A. 先执行a++, 表达式a++的值为0,短路,得a++,执行它

B. 先执行a++,表达式a++的值为0; 再执行b++,表达式b++的值为0,由此可确定

值为0,因此执行d++

C. 先执行a++,表达式a++的值为1; 再执行b++,表达式b++的值为1, 由此可确定

值为1, 因此执行C++

D. 先执行b++,表达式b++的值为1; 再执行a++,表达式a++的值为1,由此可确定

值为1,因此执行C++

【答案】A

【解析】表达式1? 表达式2:表达式3, 若表达式1为真,则执行表达式2, 否则执行表达式3。逻辑与运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式>中,左操作数a++的值为0, 已经可以确定整个逻辑表达式的结果为0, 因此右操作数b++不再求解,直接执行表达式3, 即d++, A 项正确。

4. 有以下程序:

程序的运行结果是( )。

A.D

B.C

C.B

D.A

【答案】A

【解析】A 项正确,main ( )函数中,首先判断条件x>l,因为x=l不大于1,不满足

语句使得a 指向变量b (但是p 仍然指向k ); 在sp 函数内部输出4,sp 函数没有改变指针p 指向的内以下关于其执

条件,程序跳入else 语句判定z

5. 若要求从键盘读入含有空格字符的字符串,应使用函数( )。

A.gets ( )

B.getc ( )

C.getchar ( )

D.scanf ( )

【答案】A

,直到读入一个换行符为【解析】A 项,gets 函数用来从终端键盘读入字符串(包括空格符)

止。B 项错误,C 语言标准库中没有getc 函数;C 项,getchar 函数是从键盘读入单个字符,空格、回车符都将作为字符读入;D 项,scanf 函数用格式符输入字符串时,空格和回车符都作为输入数据的分隔符而不能被读入。

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

【答案】A

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

7 设有如下定义.

【答案】A

则以下错误引用结构体成员n 的是( )。

【解析】可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:①结构体变量名. 成员名;②指针变量名->成员名;③(*指针变量名). 成员名。题目中a 为数组名是地址常量,不是指针变量,A 项引用错误。a[0]为变量名,B 项引用正确。p 为指针,且正确的指向结构体变量,C 项引用正确。D 项符合第三种引用方式,引用正确。

8. 有以下程序: