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

2017年南京师范大学教育科学学院630C语言与WEB技术考研仿真模拟题

  摘要

一、选择题

1. 设有如下程序段:

以下叙述正确的是( )。 A. 只有a ,b ,c 的定义是合法的 B.a , b ,c ,d 的定义都是合法的 C. 只有a , b 的定义是合法的 D. 只有c 的定义是合法的 【答案】C

【解析】在对数组进行初始化时,如果对数组的全部元素赋以初值,定义时可以不指定数组长度,如果被定义数组的长度与初值个数不同,则数组长度不能省略;如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值。定义整型数组a ,长度为8, 并且其每个元素赋初值0, a 定义是合法的。定义整型数组b , 没有指定长度,但为1个元素赋值0,所以自动指定数组长度为1,b 定义是合法的。定义字符型数组c ,长度为2, 应对其元素赋值字符型常量,而“A ”与“B ”均为字符串,c 定义不合法。定义字符d ,赋初值字符串“AB ”,这是不合法的定义,若要定义数组,必须要

下标运算符。可知,ab 定义合法,cd 定义不合法,C 项正确。

当执行程序时,按下列方式输入数据(从第1列开始,,

字符)

则输出结果是( )。 A.12 3 B.12

第 2 页,共 41 页

2. 有以下程序

代表回车,注意,回车也是一个

C.1234 D.12 34 【答案】A

d=3 【解析】回车和换行也是字符,会被scanf 函数取字符时取到。所以,a=l, b=2,

3. 设有定义:

以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )。

【答案】C

【解析】C 项,用

格式符输入字符串时,空格和回车符都作为输入数据的分隔符而不能被

格式读入单个字符,空格、

,直到读入一个换行符为止;B 读入。A 项,gets 函数用来从终端键盘读入字符串(包括空格符)项,getchar ( )函数从终端 读入一个字符作为函数值;D 项,回车符和Tab 键都将作为字符读入。

4. 有以下程序:

程序运行后的输出结果是( )。 A.0 B.10 C.30 D.64

【答案】D

【解析】静态局部变量只在定义它的函数内有效,程序仅分配一次内存,函数返回后,该变量不会消失,下 一次依据上一次的结果值。此题中第一次循环时,调用fim 函数后x 的值为2, s的值为2; 第二次循环时,调用 fun 函数后x 的值为4,s 的值为8; 第三次循环时,调用fun 函数后x 的值为8,s 的值为64。

5. 有以下程序:

第 3 页,共 41 页

程序运行后的输出结果是( )。 A.197 B.143 C.33 D.28

【答案】B

【解析】根据宏定义的规定,题中果为143。

6. 有以下程序

执行程序时,给变量x 输入10, 程序的输出结果是( )。 A.55 B.54 C.65 D.45

【答案】A

【解析】一个直接或间接地调用自身的算法称为递归算法。在一个递归算法中,至少要包含一个初始值和一个递归关系。本题的fun ( )函数在n 等于1时返回1,而在其余情况下返回

所以本题的递归算法可以这样来表示:

第 4 页,共 41 页

分别代入k 、j 的值后求出的结