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

2018年福建师范大学教育院620计算机基础之C程序设计考研仿真模拟五套题

  摘要

一、选择题

1. 下面选项中关于位运算的叙述正确的是( )。

A. 位运算符都需要两个操作数

B. 位运算的对象只能是整型或字符型数据

C. 左移运算的结果总是原操作数据2倍

D. 右移fe 算时,尚位总是补0

【答案】B

【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。

2. 以下不构成无限循环的语句或者语句组是。 A.

B.n=0:

C.n=10:

D.

【答案】A

【解析】A 项,为do-while 循环语句,首先执行do 后面的语句得n=l,while 条件表达式为假,退出循环;B 项,while 条件表达式的值始终为1,条件为真,构成无限循环;C 项,while (n ); 语句循环体为空,n 的值在循环中一直保持不变,构成无限循环;D 项,i=l,for 语句中条件判断语句为空,永远为真,构成无限循环。

3. 有以下函数:

该函数的功能是( )。

A. 计算字符串的长度

B. 计算字符串所占字节数

C. 将字符串逆序存放

D. 实现字符串的复制

【答案】D

while 循环语句中,【解析】实现功能是把q 指针指向地址单元的值赋给P 指针指向的地址中,

且每次完成赋值后,移动指针,进行下一次赋值,直到q 指针指向字符串结束符时,退出while 循环,功能为把q 指向的字符串复制到p 指向的地址中。

4. 有如下程序:

若要从键盘读入姓名给结构体变量zhangsan 的name 成员,输入项错误的是( )。

【答案】A

【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名成员名;③(*指针变量名). 成员名。程序定义了一个结构体变量zhangsan , —个结构体指针ptr , 并且使指针指向变量zhangsan 。A 项zhangsan 为结构体变量名,不能用一〉引用其成员,A

项错误。均是正确的引用结构体变量成员的方式。

5. 若有定义inta=l,b=2,c=3;II ,则执行表达式(a=b+c)(++b)后a 、b 、c 的值依次为( )。

A.1、2、3

B.5、3、2

C.5、2、3

D.5、3、3

【答案】C

【解析】根据优先级规则,晒边都是括号,则从左至右执行括号中的表达式,将b+c的值赋值给a ,即a 为5, 不为0, 则II 右边的括号不需要再执行。

6. 若在程序中变量均已定义成int 类型,且已赋大于1的值,则下列选项中能正确表示代数式的表达式是( )。

【答案】A

【解析】abc 均大于1,所以表达式

B 项错误。C 项表示表达 式小于1,需要用浮点类型表示。若要计算表达式值,结果需要使其自动转化成浮点类型,A 项正确。B 项变量与常量均为整型,不会自动转换为浮点类型,错误。D 项,算数运算法结合性自左向右,先计算

为0, 之后的计算无论是否转换数据类型结果均为0, D项错误。

7. C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是 ( )。

A. 预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义

B. 用户标识符可以由字母和数字任意顺序组成

C. 在标识符中大写字母和小写字母被认为是相同的字符

D. 关键字可用作用户标识符,但失去原有含义

【答案】A

【解析】C 语言允许把预定义标识符重新定义另作他用,但这将失去预先定义的原意。B 项,标识符的第一个字符必须为字母或下划线;C 项,标识符中,大写字母和小写字母被认为是两个不同的字符;D 项,关键字不能另作他用。

8. 有以下程序

执行后的输出结果是( )。

A.32

B.24

C.5

D.40

【答案】A

【解析】自增运算符“++”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加1,但是它们的表达式的值不一样,前缀形式表达式的值为运算分量加1之后的值,而后缀形式表达式的值为运算分量加1之前的值。题目中使用了一个for 循环,循环变量i 从1递增到40。在循环体中有两条嵌套的if 语句,首先判断i++%5==0,即判断i++的值(i 加1之前的值)是否能被5整除(判断后i 被加1),然后再判断++i的值(i 加1之后的值)是否能

,被8整除(判断后i 被加1)若两个条件都满足了,就输出i 的值,只有i=30时,满足i++%5==0,

此时i=31,++i%8==0成立,此时i=32。