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

2017年大连海洋大学649C语言程序设计原理复试仿真模拟三套题

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。 A.10 B.20 C.14 D.16

【答案】C 【解析】

2. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.1 C.2 D.3

【答案】C

【解析】“++”和“一”运算,当以前缀形式出现时,贝U 先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0,先执行--a ,结果为0,即if 判断为假,执行b+=2; ,然后输出b 的值。即b 为2。

3. 以下程序段中,与语句:功能相同的是( )。

第 2 页,共 16 页

系统默认为指针指向数组中第

执行的是将数组

个元素,因此,在for 循环中

累加后赋值给n , 最后输出,值为14。

【答案】A

【解析】三元运算符表达式的形式为:表达式果果

那么就执行

前面的语句

时,

表达式

表达式3, 当表达式1的值为真时,

的关系:①如否则

②如

结果为表达式2的值;当表达式1的值为假时,结果为表达式3的值。首先判断

判断b 、c 的关系,如果否则

综上所述:当

与A 项语句功能相同。

4. 有以下程序:

程序运行后的输出结果是( )。 A.6 B.7 C.11 D.12

【答案】A 【解析

是字符数组,初始化时未赋初始值的自动赋

函数求字符串长度,统计

长度时以结束,即统计到长度为6时结束,strlen 函数返回值为6。

5. 若变量已正确定义为int 型,要通过语句

给a 赋

值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。

【答案】B

【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。

第 3 页,共 16 页

6. 下面选项中关于位运算的叙述正确的是( )。

A. 位运算符都需要两个操作数

B. 位运算的对象只能是整型或字符型数据 C. 左移运算的结果总是原操作数据2倍 D. 右移fe 算时,尚位总是补0 【答案】B

【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。

7. 有以下程序:

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

【解析】题目首先定义结构体st 的同时定义结构体数组data ,可

结构体指针p 指向数组的首地址,指向

的第二个元素data[l],

然后输出

8. 以下叙述中正确的是( )。

即输出

则指向数组

所以分别为10和2。

A. 只要是用户定义的标识符,都有一个有效的作用域

B. 只有全局变量才有自己的作用域,函数中的局部变量没有作用域 C. 只有在函数内部定义的变量才是局部变量 D. 局部变量不能被说明为static 【答案】A

【解析】A 项正确,标识符的“作用域”是指程序中的某一部分中,标识符是有定义的,可以

第 4 页,共 16 页