2018年北京市培养单位高能物理研究所864程序设计[专硕]之C程序设计考研基础五套测试题
● 摘要
一、选择题
1. 下面选项中关于位运算的叙述正确的是( )。
A. 位运算符都需要两个操作数
B. 位运算的对象只能是整型或字符型数据
C. 左移运算的结果总是原操作数据2倍
D. 右移fe 算时,尚位总是补0
【答案】B
【解析】B 项正确,C 语言中,位运算的对象只能是整型或字符型数据,不能是其他类型的数据。A 项错误,位运算符中取反操作符只需要一个操作符;C 项错误,左移时,若左端移出的部分不包含有效二进制数1, 则每左移一位,相当于移位对象乘以2, 如果端移出的部分包含有效二进制数1,结论不成立;D 项错误,右移运算时,对于无符号整数和正整数,高位补0; 对于负整数,高位补1。
2. 有以下程序:
程序的运行结果是( )。
【答案】C
【解析】在funO 函数中,
出
。 表示X 取值为a 的小数部分,因此,输入a 为输
A. 未经赋值的全局变量值不确定
B. 未经赋值的auto 变量值不确定
C. 未经赋值的register 变量值不确定
D. 未经赋值的静态局部变量值为0
【答案】A
【解析】C 语言中,系统将未经赋初值的全局变量默认为0, 答案为A 选项。
4. 标准库函数的功能是( )。
A. 从文件f 中读取长度不超过n-1的字符串存入指针S 所指的内存
B. 从文件f 中读取长度为n 的字符串存入指针s 所指的内存
C. 从文件f 中读取n 个字符串存入指针s 所指的内存
D. 从文件f 中读取n-1个字符串存入指针s 所指的内存
【答案】A
【解析】fgets 函数功能是从f 所指文件中读入
端自动加一个结束标志个字符放入s 为起始地址的空间内,并在尾个字同时将读/写位置指针向前移动字符串长度个字节。在读出
符之前,如遇到了换行符或EOF , 则读出结束,A 项正确。B 项中“读取长度为n ”错误。C 项与D 项中“读取个字符串”错误,读取的是n-1个字符。
5. 以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是( )。 A. B. C. D.
【答案】A
【解析】将字符指针变量初始化为一个字符串有两种方式,一种通过赋值运算使一个字符指针指向一个字符串常量:
并且初始化为一个字符串的首地址:
个变量,所以不能给一个数组名赋值,
如A 选项正确。另一种是定义一个字符指针变量,字符指针变量与字符数组都可以用来实错误,B 选项错误;(2. 字符型的指现字符串的存储和运算,但二者是有区别的:(1. 数组名是一个地址常量,而字符指针变量是一针变量的值是可以改变的;(3. 字符指针变量和字符数组在内存中的 存储情形不同,数组指的是按照数组长度分配的若干存储空间,而指针只是一个存储字符串首地址的存储空间,所以相同类型指针可以相互赋值,而数组不能直接用“=”赋值,C 选项错误。数组不可以直接赋值字符 串
.
合法,故D 选项错误。
不合法,只有在数组初始化时可以直接赋值,
如合法,并且定义数组时必须指定数组长度,不
A.C 程序在运行过程中所有的计算都以二进制方式进行
B.C 程序在运行过程中所有的计算都以十进制方式进行
C. 所有的C 程序都需要在连接无误后才能运行
D.C 程序中整型变量只能存放整数,实型变量只能存放浮点数
【答案】B
【解析】在C 程序运行过程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。
7. 设有以下语句
执行后,c 的值为( )。
A.9
B.7
C.8
D.6
【答案】A 【解析】后得到8, 异或操作,两个操作数相同得0, 不同得1。a 的最右4位是0001,b
的最右4位是1000, 其佘尾全部是0。
8. 下列叙述中正确的是( )。
A. 每个C 程序文件中都必须要有一个main 函数
B. 在C 程序中main 函数的位置是固定的
C.C 程序中所有函数之间都可以相互调用
D. 在C 程序的函数中不能定义另一个函数
【答案】D
【解析】D 项正确,C 语言语法规定,在函数中不能定义其他函数。A 项错误,C 程序必须要有一个main 函数,但并不是每个文件中都要有;B 项错误,main 函数的位置没有特殊要求;C 项错误,从其他函数中不能调用main 函数。
9. 设有以下定义:
则以下叙述正确的是( )。
A. 数组s1的长度小于s2的长度
B. 数组s1和s2的长度相同
C. 数组s1的长度大于s2的长度
相关内容
相关标签