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 页
取这个地址内的元素,待输出变量为
相关内容
相关标签