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

2017年天津大学算法基础与面向对象程序设计复试实战预测五套卷

  摘要

一、选择题

1. 若有以下程序

则程序的输出结果是( )。

A.5, 1, 2, -1

B.2, 1, 2, -1

C.2, 2, 2, 4

D.1, 2, 3, 4

【答案】A 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;苻号两侧都为假时,结果为假,否则返回真。

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

输出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 。

2. 有以下程序:

程序的输出结果是( )。

A.22

B.18

C.20

D.16

【答案】D

【解析】语

退出循环。

3. 有以下函数:

程序运行时从第一行开始输入

A.

B.this is a C. D.

【答案】C 则输出结果是( )。

相当

于程序执行过程为

【解析】scanf 语句接收字符串时遇到空格就认为字符串的结束,所以a 数组中为this , b数组中为is ,但是 gets 函数遇到回车才认为结束,所以c 数组为

4. 有以下程序:

程序运行后的输出结果是( )。

A.13.700000

B.14.000000

C.15.400000

D.14.900000

【答案】A

sqrt 为平方根计算函数,【解析】

5. 若有以下程序

格式输出后为13.700000。

则程序的输出结果是( )。

A.17,37

B.49,2401

C.17,289

D.49,289

【答案】A

【解析】S (k+j)展开后是5+2*5+2=17,T (k+j)展开后是5+2*5+2*5+2*5+2=37。

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

A.C 程序总是以main ( )作为程序执行的起始行

B.main ( )函数若不带参数,其后面的一对圆括号可省略

C. 函数体内的定义语句和可执行语句允许任意穿插出现

D.C 语言中的语句之间必须用分号作为分隔符

【答案】A

【解析】main ( )函数后面的括号告诉编译器这是一个函数,不可以省略,排除B 选项;在复合语句中,不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除C 选项;C 语言中的某些语句可以不用分号,例如if 语句,宏定义,故D 选项错误;答案为A 选项。

7. 设有定义:

【答案】A 以下选项中,表达式值与其他三个不同的是( )。

【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A 项,逻辑表达式

值给b , 再将b 赋给a , 不成立,则表达式值为0; B项,将C 赋成立,则表达式值为1; 表达式值为1; C项,逻辑表达式

D 项,逻辑表达式成立,则表达式值为1。A 项与其他项不同。

8. 以下选项中,合法的数值型常量是( )。

A.3.2

B.'X'

C.099

D.OxEH