2018年河南师范大学教育院654计算机网络基础之C程序设计考研核心题库
● 摘要
一、选择题
1. 设有以下语句
执行后,c 的值为( )。
A.9
B.7
C.8
D.6
【答案】A 【解析】后得到8, 异或操作,两个操作数相同得0, 不同得1。a 的最右4位是0001,b
的最右4位是1000, 其佘尾全部是0。
2. 以下不属于C 语言位运算符的是( )。
A.! B. C.
D. 〜
【答案】A
【解析】c 语言常用的位运算符有:”按位求反,“<<”左移,“>>”右移,
按位异或,“”按位或。A 项“!”为逻辑运算符“非”。
3. 若有定义语句:
则以下语句中正确的是( )。 A. B. C. D.
【答案】A
【解析】声明了 a 是一个二维数组,p 是长度为3的
针,可以指向二维数组中的元素。B 项错误,
维数组的地址。
第 2 页,共 40 页 按位与
,数组。A 项正确,是int 类型指是二是int 类型指针,不能指向二维数组;C 项错误,是int 类型的指针,p 是int 类型指针的数组,一旦定义,不能再次赋值;D 项错误,
4. 读取二进制文件的函数调用形式为
( )。
A. —个内存块的首地址,代表读入数据存放的地址
B. —个整型变量,代表待读取的数据的字节数
C. 一个文件指针,指向待读取的文件
D. —个内存块的字节数
【答案】A 【解析】
数据的内存地址,
大小至少是
的个数,每个元素占size 个字节; 其中buffer 代表的是功能是从一个文件流中个字节;size :单个元素的大小,单位是字节;count :元素读数据,读取count 个元素,每个元素占size 个字节,如果调用成功返回count 。buffer :用于接收
stream :输入流。
5. 设a ,b ,C 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是( )。
【答案】D
【解析】D 项,
再给b 赋
值为1,再计算赋值运算符左边必须是一个变量,但数值2是常量,语法错误。
6. 以下关于函数的叙述中正确的是( )。
A. 函数调用必须传递实参
B. 函数必须要有形参
C. 函数必须要有返回值
D. 函数形参的类型与返回值的类型无关
【答案】D
【解析】函数参数有两种:形式参数和实际参数,前者函数定义时函数名后括号内是形参列表,每个形参由类型和名称两部分组成。在定义函数时,系统并不给形参分配存储单元,当然形参也没有具体的数值,所以称它为形参,也称虚参。形参在函数调用时,系统暂时给它分配存储单元,以便存储调用函数时传来的实参。一旦函数结束运行,系统马上释放相应的存储单元;后者函数调用时函数名后括号内是实参列表,实参可以是常量、变量或表达式。当函数返回到主调函数时,有时会有数据带给主调函数,也可以没有任何数据返回给主调函数,返 回的数据称为函数的返回值。函数形参的类型与返回值的类型无关,D 选项正确。函数可以没有形参,B 选项错误。函数可以没有返回值,C 选项错误。函数如果没有形参也就不必传递实参,A 选项错误。
第 3 页,共 40 页 具有最高优先级,b 先赋值9, 再根据赋值运算符号自右向左进行赋值,
7. 设有定义:
【答案】A 以下选项中,表达式值与其他三个不同的是( )。
【解析】赋值运算结合性为由右向左结合,成功实现赋值后以左值为返回值。逻辑表达式成立则返回1,不成立返回0。A 项,逻辑表达式
值给b , 再将b 赋给a , 不成立,则表达式值为0; B项,将C 赋成立,则表达式值为1; 表达式值为1; C项,逻辑表达式
D 项,逻辑表达式成立,则表达式值为1。A 项与其他项不同。
8. 以下不合法的数值常量是( )。
A.8.0E0.5
B.lei
C.011
D.Oxabcd
【答案】A
【解析】E 前E 后有数字,E 后数字为整数,A 项E 后面为小数,错误。
9. 设有两行定义语句:
int scanf;
float case;
则以下叙述正确的是( )。
A. 两行定义语句都不合法
B. 两行定义语句都合法
C. 第1行语句不合法
D. 第2行语句不合法
【答案】D
【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函 数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途 的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。
10.以下关于编译预处理的叙述中错误的是( )。
A. 预处理命令行必须位于源程序的开始
B. 源程序中凡是以#开始的控制行都是预处理命令行
C. 一行上只能有一条有效的预处理命令
D. 预处理命令是在程序正式编译之前被处理的
第 4 页,共 40 页