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

2018年北京印刷院信息工程院828信息与通信工程综合基础之C程序设计考研强化五套模拟题

  摘要

一、选择题

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 项正确。

2. 在一个C 源程序文件中所定义的全局变量,其作用域为( )。

A. 所在文件的全部范围

B. 所在程序的全部范围

C. 所在函数的全部范围

D. 由具体定义位置和extern 说明来决定范围

【答案】D

【解析】全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始,到整个源文件结束止。

3. 以下选项中,值为1的表达式是( )。

【答案】C

【解析】Ascn 码表,

4. 以下程序段中的变量已定义为int 类型,则

程序段的输出结果是( )。

A.6

B.4

C.5

D.7

【答案】D

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其 他运算,然后再使变量的值增(或减)1

先自加后取值,输出9,

5. 有以下程序:

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

A.1,6,3,1,3

B.1, 6, 3, 2, 3

C.1, 6, 3, 6, 3

D.1, 7, 3, 2, 3

【答案】B

【解析】程序执行过程为:输出i=l,之后i 自増,得i=2; 赋值选c 。 先取值输出10, 再自减故D 选项正确。 执行语句得i=6;

输出i=6,j=3; 花括号内的i 与花括号外i 作用域不同,属于不同的变量。之后再输出i=2,j=3。B 项正确

6. 设有chars[5],c ;, 则调用函数scanf 能正确给s 和c 读入数据的是( )。 A. B. C. D.

【答案】D 【解析】中放的是字符串,故输入的类型应该是c 中放的是字符,故输入的是要正确读入数据必须要正确指向S 和C 的地址。

7. 有以下函数:

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

A.3

B.50

C.2

D.96

【答案】D

【解析】执行语句时,首先是a 左移两位,其等效于将a 乘以4, 得到48, 然后将48左移一位,相当于乘以2, 所以结果为c=96。

8. 有以下程序:

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