2018年北京信息科技大学计算机院814数据结构和C语言程序设计[专硕]之C程序设计考研核心题库
● 摘要
一、选择题
1. 以下不能用于实型数据的运算符是( )。
【答案】A 【解析】符号两边必须是整数,因此答案为A 项。
2. 有以下程序:
程序运行后的结果是。
A.0
B.1
C.2
D.3
【答案】A
【解析】运算符“/”
3 设有如下定义.
【答案】A
【解析】可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:①结构体变量名. 成员名;②指针变量名->成员名;③(*指针变量名). 成员名。题目中a 为数组名是地址常量,不是指针变量,A 项引用错误。a[0]为变量名,B 项引用正确。p 为指针,且正确的指向结构体变量,C 项引用正确。D 项符合第三种引用方式,引用正确。
第 2 页,共 59 页 的优先级高
于
则以下错误引用结构体成员n 的是( )。
4. 有以下程序:
程序运行后的输出结果是( )。
A.9, 7, 4, 7
B.8, 6,9,6
C.8, 6, 3, 6
D.10,8, 5,8
【答案】A
【解析】由于name 是一个长度为9的一维数组,故在内存中占用9字节长度,而其中字符串 只有7个字符,函数返回的是该字符串的长度,不包含结束符,str 是一个
函数时,指针变量,占用4字节长度,但是由于name 首地址赋给了 str 指针变量,在调用
返回的是指针对应地址单元的字符串的长度7,A 项正确。
5. 已知a=5,b=6,c=7,d=8,m=2,n=2,执fx
A.1
B.0
C.2
D.-1
【答案】C
【解析】优先级低于逻辑与表达式。后n 的值为( )。 规则为:对expl 求值,
若为0, 则表达式为0, 则不计算exP2; 若expl 非0, 则求exP2值,作为表达式值。本题计算过程为:先判断a>b为假,m=0, 整个逻辑表达式为假,不计算右表达式,n=2。
6. 有如下程序:
程序运行后的输出结果是( )。
A.3,1,2,0, 0,
B.3,5, 10, 4,0,
第 3 页,共 59 页
C.3,3,3,3,0,
D.3,2,2, 2,0,
【答案】A
【解析】在对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值0, 则airay={3, 5, 10, 4, 0}。按位与运算,当参加运算的两个二迸制数的对应位都为1, 则该位的
For 结果为1,否则为0。将数组元素与3=11B按位与,即
循环输出与运算结果:3,1,2,0,0,故A 选项正确
7. 以下不能正确表示代数式
【答案】D 【解析】与/优先级相同,所以采用左结合的方式。D 项若改为:则为正确。
8. 若有定义语句:inta=12; ,则执行语句:a+=a- =a*a; 后,a 的值是( )。
A.-264
B.552
C.144
D.264
【答案】A
【解析】赋值运算结合性为自右向左,a+=a-a*a相当于a=a-a*a,a=a+a; 自右向左计算过程为a=a-a*a=_132,a=a+a=-264。
9. 若要求从键盘读入含有空格字符的字符串,应使用函数( )。
A.gets ( )
B.getc ( )
C.getchar ( )
D.scanf ( )
【答案】A
【解析】A 项,gets 函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。B 项错误,C 语言标准库中没有getc 函数;C 项,getchar 函数是从键盘读入单个字符,空格、回车符都将作为字符读入;D 项,scanf 函数用
为输入数据的分隔符而不能被读入。
第 4 页,共 59 页 的C 语言表达是( )。
格式符输入字符串时,空格和回车符都作