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

2016年吉林师范大学计算机学院9067计算机程序设计之C程序设计复试笔试最后押题五套卷

  摘要

一、选择题

1. 有以下程序

程序运行后的输出结果是( )。 A.-12 B.9 C.0 D.3 答:A

【解析】C 语言中,表达式从右向左计算。

2. 有以下程序

执行后的输出结果是( )。 A.1 B.2 C.4

D. 死循环 答:A

while 【解析】(--k )是先执行k 减1,然后判定k 是否等于0; 输出1; 接下来继续执行-k ,k 变成0, 不满足条件,循环结束。

3. 以下选项中有语法错误的是 。

A. B. C.

第 2 页,共 34 页

可以写成而

等价于

等价于a=a+a=(-6)+(-6)=-12。

是先执行k-=3,

k 的初始值是5, --k 后k 变成4, 进入循环体内部,然后输出k 的值。首先执行k-=3, 得到k 等于1,

D. 答:D

【解析】考查指针数组的概念,选项D 中str 为二维字符数组,不能直接把一个字符串赋值到二维数组的某一行中。

4. 有以下程序:

程序运行后的输出结果是( )。 A.10, 64 B.10, 10 C.64, 10 D.64, 64 答:A

【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修

改。所以

所以有无括号的运

算结果是不同的。

5. C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是 ( )。

A. 预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义 B. 用户标识符可以由字母和数字任意顺序组成 C. 在标识符中大写字母和小写字母被认为是相同的字符 D. 关键字可用作用户标识符,但失去原有含义 答:A

【解析】C 语言允许把预定义标识符重新定义另作他用,但这将失去预先定义的原意。B 项,标识符的第一个字符必须为字母或下划线;C 项,标识符中,大写字母和小写字母被认为是两个不同的字符;D 项,关键字不能另作他用。

6. 若有定义:inta=0,b=0,c=0,d=0; ,以下关于C 语言表达式:顺序的叙述正确的是( )。

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

B. 先执行++a, 表达式++a的值为1, 由此可确定

第 3 页,共 34 页

执行值

|值为1, 因此执行++c

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

D. 先执行++a, ++b,++c,++d,使得a , b , c ,d 的值都为1, 由此可确定此执行++C

答:B

_'

值为1,因

【解析】++a表示先将变量a+1, 再执行其他操作,逻辑或运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式

中,左操作数++a的值为1,已经可以确定整个逻辑表达式的结果为1,因此右操作数++b不再求解,直接执行表达式2, 即++C,B 项正确。

7. 有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数):

程序运行后的输出结果是( )。 A.al2xyz B.12yz C.a2yz D.bc2yz 答:C

【解析】先执行strepy ,将

中的2复制到a[l]中的b 及之后的存储空间中,即此时数组a

所指的y 及之后的z 与a 中的连接,即为

再执行strcat 连接函数,将中值为

8. 有以下定义:

则以下选项中正确的表达式是( )。

答:C

【解析】C 项正确,其赋值。

第 4 页,共 34 页

是把得到的浮点数强制转换成整型。A 项错误,

运算符;D 项错误,

结果是

浮点数,不能参与模运算;B 项错误,C 语言中没有是右值,不能给