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