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

2017年北京理工大学数字表演C语言程序设计(上机)复试仿真模拟三套题

  摘要

一、选择题

1. 以下程序段中,

与语句

A. B. C. D.

【答案】A

功能相同的是。

【解析】条件表达式的形式:表达式表达式2:表达式3, 当表达式1的值为非零时,求出表达式2的值作为结果;当表达式1的值为零时,求出表达式3的值作为结果。首先判断a 、b 的关系,如果a>b,那么就执行第一个后面的语句,判断b 、c 的关系,如果b>c, k=l, 否则k=0; 如果a<=b,则k=0。所以当a>b且b>c时,k=l,否则k=0。

2. 关于C 语言中数的表示,以下叙述中正确的是( )。

A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差 B. 只要在允许范围内整型和实型都能精确表示

C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差 D. 只有八进制表示的数才不会有误差 【答案】A

【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以表示任意一个整数。

3. 有以下程序:

程序运行时,从键盘输入A. B. C. D. 【答案】A

输出结果是( )。

【解析】首先定义了一个指针p 指向数组的首地址,在while 语句中,执行功能是如果当前指针指向地址单 元内字符不等于空字符变换的字符常量,A 项正确。

4. 有以下程序:

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

【解析】其中p=p+l; 只改变指针p 的地址,与p 的内容无关,所以m 值没有改变,而是改变该指针所指地址中的内容,所以n 变为3,m 不变。

5. 以下函数不能用于向文件写入数据的是( )。

A.ftell B.fwrite C.fputc D.fprintf 【答案】A

【解析】函数ftell ( )用于得到文件位置指针当前位置相对于文件首的偏移字节数。在随机方式存取文件时,由于文件位置频繁地前后移动,程序不容易确定文件的当前位置。调用函A 项不能写入数据,BCD 三项都可以向文件中写入。 数ftell 就能非常容易地确定文件的当前位置。

6. 有以下定义:

inta ; longh ;

double x,y ;

则输出#和指针对应地址元素的值在码加2后

则以下选项中正确的表达式是( )。

【答案】C

【解析】C 项正确,(int )(x-y )是把x-y 得到的浮点数强制转换成整型。A 项错误,a*y结果是浮点数,不能参与模运算;B 项错误,C 语言中没有<>运算符;D 项错误,x+y是右值,不能给其赋值。

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

给a 赋值1、

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

A. B. C. D.1, 2, 3

【答案】A

【解析】使用该语句时,要求除格式控制符以外的字符都要原样输入,“,”为非格式符,要原样输入。A 项中没有输入非格式符“,”,是不正确的。

8. 若有定义和语句以下选项中的输入数据,不能把值3赋给变量a 、5赋给变量b 的是( )。

A.3,5, B.3, 5, 4 C.35 D.3, 5

【答案】C

【解析】输入数据时,必须在数据后面紧跟一个逗号,以便于格式控制中的逗号一一匹配,否则就不能正确读入数据。

二、设计题

9. 函数fun 的功能是:将8所指字符串中除了下标为奇数、同时ASCII 值也为奇数的字符之外,其余的所 有字符都删除,串中剩余字符所形成的一个新串放在t 所指的数组中。。

例如,若s 所指字符串中的内容为但所在元素

的下标为偶数,因此必须删除;而字符1的ASCII 码值为奇数,所在数组中的下标也为奇数,因此不应当删除, 其他依此类推。最后t 所指的数组中的内容应是文件

中。

注意:部分源程序存在

其中字符A 的ASCII 码值虽为奇数,

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入编写的若干语