2018年北京市培养单位遗传与发育生物学研究所864程序设计之C程序设计考研强化五套模拟题
● 摘要
一、选择题
1. 有以下程序:
程序运行后输出的结果是( )。
【答案】A
【解析】C 语言中可以将多条语句放在同一行,用
右结合。首 先执行C ,使得C
的值也为5。然后执行下句逗号表达式中的
执行使得B 的值为4, 最后打印输出。
2. 有以下程序:
程序运行后的输出结果是。
A.32
B.16
C.1
D.0
【答案】C
【解析】本题中,将a 赋值为8, 那么a 的二进制表示为“00001000”,将a 向右移动3位,
隔开。赋值运算和逗号运算都是从左到即将A 的值5赋给变量即得A 的值为5, 然后执行把B 的值0赋给A ,此时A 的值为0, 然后
变为了“00000001”,十进制数为1。
3. 若有定义语句:
【答案】A 且则错误的赋值是( )。
【解析】二维数组名是指向指针的指针,所以a 和q 都为指向指针的指针,而p 为指向int 类型的指针,p 和a 不同类型,故A 项
用返回整数的地址,然后复赋值P 。
4. 有以下程序:
t
程序运行后的输出结果是( )。
A.0
B.1
C.2
D.3
【答案】C 【解析】和运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以
结果为后缀形式出现时,则先取值,再进行加一或减一操作。a 初始定义为1,b 为0, 先执行赋值语句错误。其余选项可以正确赋值,其中D 项是0, 即if 判断为假,执行
然后输出b 的值。即b 为2。
5. 若已有定义语句:inta ,b ,c ; ,且变量已正确赋初值,则以下选项中正确的赋值表达式是( )。
A.a=(b=c)+8;
B. (a=b)=c=9;
C.a=(b==c)=‘A ’;
D.a+b=c+l;
【答案】A
【解析】A 项正确,将c 赋值给b 后又加上8,然后再赋值给a ; B 、D 项错误,赋值运算符左边必须是一个变量;C 项错误,(b==c)是个表达式,语法错误。
6. 有以下程序;
程序运行后的输出结果是( )。
A.8
B.9
C.5
D.6
【答案】A
【解析】带参数的宏的调用格式:宏名(实参表),替换过程是,用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。MUN 被置换成(2+1+1)X2+1/2;程序的运行结果是6,故D 选项正确。
7. 标准库函数的功能是( )。
A. 从文件f 中读取长度不超过n-1的字符串存入指针S 所指的内存
B. 从文件f 中读取长度为n 的字符串存入指针s 所指的内存
C. 从文件f 中读取n 个字符串存入指针s 所指的内存
D. 从文件f 中读取n-1个字符串存入指针s 所指的内存
【答案】A
【解析】fgets 函数功能是从f 所指文件中读入
端自动加一个结束标志
D 项中“读取
8 若有定义语句.
A. 1 B. C. D.
【答案】B 个字符放入s 为起始地址的空间内,并在尾个字同时将读/写位置指针向前移动字符串长度个字节。在读出符之前,如遇到了换行符或EOF , 则读出结束,A 项正确。B 项中“读取长度为n ”错误。C 项与个字符串”错误,读取的是n-1个字符。 ,则错误引用x 数组元素的是( )。
【解析】对一维数组元素可以采用多种方式。直接引用,数组名[下标],数组的大小为n 时,下标的取值范围为0〜(n_l)。B 项错误,数组x 的下标为0〜4,
C 项,通过指针访问
D 项,通过数组名访问 溢出。A 项,
通过指针访问