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

2017年东北林业大学程序设计基础(同等学力加试)考研复试核心题库

  摘要

一、选择题

1. 有以下程序

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

【解析】case 分支后面如果没有break , 那么就会顺序执行下面的case , 直到遇到break 跳出或者到switch 语句块结尾。所以第一次循环后s 的值为3, 打印输出。第二次S 的值为

为10, 打印输出。第三次没有匹配成功直接执行default 语句,s=s+4, 所以s 的值为14, 打印输出。

2. 表达式的值是( )。

【答案】B

【解析】

需要注意的是,两个整数相除仍然得到整数,

小数部分被省略,

3. 有以下程序(注:字符a 的ASCII 码值为97):

程序运行后的输出结果是( )。 A.abc B.789 C.7890 D.979800 【答案】B

【解析】a 、b 、c 的ASCII 值分别为97、98、99。程序中执行输出S 中的内容与10进行模运算后的值,s 是一个指针,首先指向字符a ,先执行97%10, 结果为7; 然后++s,指针指向下一个

字符b ,执行98%10, 结果为8, 直到s 所指为空,故最后输出的结果为789。

4. 设变量p 是指针变量,语句是给指针变量赋NULL 值,它等价于( )。

A. B. C. D.

【答案】C

【解析】p=NULL,NULL 的代码值为0,等价于

5. 有以下程序

程序的输出结果是( )。 A.19 B.13 C.11 D.15

【答案】A 【解析】以

是把p 指向

在for 循环中,通过指针p 依次访问

或p=0。

6. 若有定义doublea=22; inti=0,k=18; ,则不符合C 语言规定的赋值语句是( )。

A.a=a++,i++

B.i=(a+k)<=(i+k) C.i=a%ll D. 【答案】C

【解析】C 项错误,在C 语言的算术运算符中,取余运算符“%”的左右两侧的两个运算分量必须是整数。A 项,赋值运算符的优先级高于“,”运算法,先进行赋值;B 项,将“=”右边的逻辑表达式的计算结果赋给变量i ; D 项,首先对变量a 求逻辑非操作,然后将结果赋值给变量i 。

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

A.14.0 B.31.5 C.7.5

D. 程序有错无输出结果

【答案】D

【解析】宏定义有两种:无参数的宏定义,即#definePT3.5; 带参数的宏定义,不能用宏来计 算,宏只能做简单的代替而不能做计算,故程序会报错。

8. 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值( )。

在程序中下画线处应填入的是( )。 A. B. C. D. 【答案】C

A 项错误,【解析】划线处需要完成两个功能:①给x[i]元素赋值;②i 变量加一。仅能对x[0]B 项错误, ,D 项错误,,赋值,且会是程序陷入死循环;仅能对x[l]赋值,也会是程序陷入死循环;不能实现为x[0]赋值,而且还会导致出界。

二、设计题

9. 请编写一个函数fun , 它的功能是:将一个表示正整数的数字字符串转换为一个整数(不得调用C 语言 提供的将字符串转换为整数的函数)。例如,若输入字符串数值1234。函数fun 中给出的语句仅供参考。

注意:部分源程序存在文件干语句。

给定源程序:

则函数把它转换为整

中。

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