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. 有以下程序:
相关内容
相关标签