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

2016年新疆师范大学0852工程硕士程序设计基础复试笔试仿真模拟题

  摘要

一、选择题

1. 有以下程序:

程序运行的结果是( )。 A.3 3 1 B.4 1 C.2 D.1 答:D

【解析】else 子句总是与最前面最近的不带else 的if 相结合,与书写格式无关,所以本题中的else 语句与第 二个if 语句配对,且if 和else 都在第一个if 的控制范围内。首先判断立,直接退出第一个if 语句,执行输出结果为1。

2. 有以下程序

程序运行后的输出结果是( ) A.6,4,3,2, B.6,2,1,1, C.1,1,2,6, D.2,3,4,6, 答:A

不成

的值是x 加之前的值,所以

【解析】第一个嵌套的for 循环功能将对角线上的数据从大到小排序,其他数据不变,排序 值为6,输出第一行为6 4 3 2。 完成后,

3. 有以下程序:

程序运行后的输出结果是( )。 A.INT :14 B.INT :13 C.INT :12 D.INT :20 答:D

【解析】0x13是十六进制数,需要输出十进制数,换算成十进制:INT=x+l=20,因此答案为D 选项。

4. 以下选项中,能用作用户标识符的( )。

A.void B.8_8 C._0_

D.unsigned 答:c

【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。语法规则为:①标识符由字母、数字或下画线组成;②第一个字符必须是字母或下画线;③标识符最多由274个字符组成;④在标识符中严格区分大小写字母;⑤关键字不能作为自定义的标识符在程序中使用。

5. 若有定义语句intkl=10, k2=20; ,执行表达式为( )。

A.0和1 B.0和20 C.10和1 D.10和20 答:B

【解析】在C 语言中,没有专门的“逻辑值”,而是用非0表示“真”,用0表示“假”。根据优先级,先计算括号内的。括号内先比较和比较的结果为假,值为0, 再赋值给

可得

的大小,由于

,故左边括号中的与

的值为0,由于0与任何值相与结果都是0, 故右边

输出

后,kl 和k2的值分别

一个括号不需运算,即的值不变,仍为20。

6. 以下叙述错误的是( )。

A. 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法

B. 同一程序各模块可由不同人员同时进行编写调试,可提高编写程序的效率 C. 模块化的程序设计是采用自顶向下、逐步细化的原则 D. 程序的每个模块都可通过三种基本结构实现 答:A

【解析】结构化程序设计把一个复杂问题的求解过程分阶段进行,需要保证自顶向下、逐步细化、模块化设计、结构化编码。进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,然后完成 各个模块的编写调试后再集中编译,模块化的程序设计采用自顶向下、逐步细化的原则,A 选项叙述错误,C 选 项叙述正确。各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B 选项叙述正确。结构化程序 主要由3种基本控制结构组成,顺序结构、选择结构、循环结构,这三种基本结构可以解决任何复杂的问题,D 选项叙述正确。故选择A 选项。

7. 以下不能用于实型数据的运算符是( )。

A.% B./ C.* D.+ 答:A

【解析】“%”符号两边必须是整数,因此答案为A 项。

8. 设变量已正确定义并赋值,以下正确的表达式是( )。

A.x=y*5=x+z B.int (15.8%5) C.x=y+z+5,++y D.x=25%5.0 答:C

【解析】赋值运算左边必须是单一变量名。A 项错误,“y*5=x+z”部分是非法赋值。BD 两项错误,求余运算中的操作对象只能是整型。C 项,为逗号表达式。

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

A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句 B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环

C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语