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

2017年北京理工大学生物医学工程C++语言程序设计(上机)复试仿真模拟三套题

  摘要

目录

2017年北京理工大学生物医学工程C++语言程序设计(上机)复试仿真模拟三套题(一) ... 2 2017年北京理工大学生物医学工程C++语言程序设计(上机)复试仿真模拟三套题(二) ... 7 2017年北京理工大学生物医学工程C++语言程序设计(上机)复试仿真模拟三套题(三) . 13

一、选择题

1. 有以下程序:

己知字母A 的ASCII 码值为65, 程序运行后的输出结果是( )。 A.E , 68 B.D , 69 C.E , D D. 输出无定值 【答案】A

【解析】C 语言中,字符型可以作为整型用,可以出现在任何需要整型的表达式中。该题中c2, 然后将cl 按字母格式输出,c2按整型格式输出。 的main 函数将字符A 经过运算分别赋值给cl 、

2. 有以下程序:

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

【答案】D

【解析】D 项正确,main 函数中,首先为结构变量a ,b 初始化,再调用函数f ( ),在f ( )函数中,使用结构体变量a 对指针b 指向的结构体进行赋值,使得指针b 指向的结构体成员依次赋值为结构体a 的成员,然后依次输出指针b 指向的结构体成员的值;由于f 函数 形参b 为指针,所以指针b 指向的值被修改为a 的同时,main 函数中的实参b 的值也被修改成a 。

3. 有以下程序:

程序的运行结果是( )。 A.-1,0 B.0,0 C.-1,-1 D.1,1

【答案】A

【解析】本题执行过程为:先取a 值为1,执行循环,a=0,执行b--,b=0,再取a 值为0,判断条件不成立,退出循环,再执行a--得到a=-1,最后输出a=-l,b=0。故A 项正确。

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

A. 在程序中凡是以“#”开始的语句行都是预处理命令行 B. 预处理命令行的最后不能以分号表示结束 C.#defineMAX是合法的宏定义命令行

D.C 程序对预处理命令行的处理是在程序执行的过程中进行的 【答案】D

【解析】在C 语言中,以“#”开头的行都称为“编译预处理命令行”,其中的末尾不得用“;”结束,区别语句的定义和说明语句。C 项,中的宏定义为不带参数的宏命令行,宏名之后可以有替换文本,也可以没有。编译预处理是在编译程序对C 源程序进行编译前执行的。

5. 若在程序中变量均已定义成int 类型,且已赋大于1的值,则下列选项中能正确表示代数式的表达式是( )。

【答案】A

【解析】abc 均大于1,所以表达式B 项错误。C 项表示表达 式

小于1,需要用浮点类型表示。若要计算表达式值,

结果

需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,

错误。D 项,算数运算法结合性自左向右,先计算

为0, 之后的计算无论是否转换数据类型结果均为0, D项错误。

6. 阅读以下程序:

该程序在编译时产生错误,其出错原因是( )。 A. 定义语句出错,case 是关键字,不能用作用户自定义标识符 B. 定义语句出错,printF 不能用作用户自定义标识符 C. 定义语句无错,scanf 不能作为输入函数使用 D. 定义语句无错,printf 不能输出case 的值 【答案】A

【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符, 故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。

7. 阅读以下程序:

该程序在编译时产生错误,其出错原因是( )。 A. 定义语句出错,case 是关键字,不能用作用户自定义标识符 B. 定义语句出错,printF 不能用作用户自定义标识符 C. 定义语句无错,scanf 不能作为输入函数使用 D. 定义语句无错,printf 不能输出case 的值 【答案】A

【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符, 故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。