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

2017年广东工业大学机电工程学院803C语言程序设计考研强化模拟题

  摘要

一、选择题

1. 下列定义变量的语句中错误的是( )。

A.doubleint_;

C.charFor ; D.int_int;

【答案】B

【解析】符号,不能出现在标识符中。

2. 有以下程序:

程序的运行结果是( )。 A.1, 0, 1, 0 B.1, 1, 0, 1 C.1, 0, 0, 1 D.1, 1, 1, 0 【答案】A

【解析】本题程序执行过程为:

求解逻辑表达式

先求解++a,a=l,则整个表达式

为真,不计算++b,然后求解++c,不计算++d,最后得到a=l,b=0, c=l,d=0,故A 项正确。

3. 若有定义语句其后执行语句则z 的值为( )。

【答案】B

【解析】根据优先级先计算由于z

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

4. 有以下程序:

第 2 页,共 42 页

即由于是整型,故的值为1,接着计算

程序运行后的输出结果是( )。 A.k=6a=ll B.k=3a=14 C.k=4a=12 D.k=5a=15 【答案】C

【解析】第一次循环,k=l,s[l]=2, 执行

=2+2=4; 第三次循环

执行

5. 设有定义:

intk=0;

以下选项的四个表达式中与其他三个表达式的值不相同的是( )。 A.++k B.k+=l C.k++ D.k+1

【答案】C

【解析】k++表达式值为k 的值,其余为k+1的值。

6. 若有以下程序

则程序的输出结果是( )。 A.5, 1, 2, -1 B.2, 1, 2, -1 C.2, 2, 2, 4 D.1, 2, 3, 4

【答案】A 【解析】

和II 是逻辑运算符,

符号两侧都为真时,结果为真,否则返回假;苻号两

侧都为假时,结果为假,否则返回真。

第 3 页,共 42 页

. 第二次循环,执行

执行

第四次循环

=7+5=12,故最终输出k=4, a=12。

题目没有答案,原题可能是

输出a ,b ,c ,d

第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。

7. 有以下程序:

程序运行后的输出结果是( )。 A.11, 19, 19 B.12, 20, 20 C.11, 20, 20 D.12, 19, 20 【答案】C 【解析】

将数组a 的首地址赋给指针p 。

地址,

待输出变量为

表示p 后i 个地址

的元素,

待输出变量为

后输出为11,20,20。

8. 设有以下函数:

则下面对函数指针的定义和赋值均是正确的是( )。 A. B. C. D. 【答案】D

【解析】函数指针的一般定义形式为:数据类型(*指针变量名)( )。定义函数指针时,对应的类型名以及 返回值类型都要和对应函数的参数列表以及返回值类型一致。在给函数指针赋值时,可以直接将函数名赋值给对 应的函数指针,也可以将函数名取地址后在赋值给对应的函数指针。ABC 三项中函数指针的定义均是错误的, 参数列表和fun 函数的参数列表不一致。

9. 若有以下程序

第 4 页,共 42 页

取这个地址内的元素,待输出变量为