2016年江南大学物联网工程学院程序设计基础(同等学力加试)考研复试题库
● 摘要
一、选择题
1. 以下叙述中正确的是( )。
A.
语句B.
语句C.
语句D. 语句符
答:A
【解析】A 项正确,表示定义了长度为8的int 型数组,它里面的每个元素都是0。当所赋初值少于所定义数组的元素个数时,将自动给后面的元素补以初值0。B 项错误,C 语言规定可以通过赋初值来定义数组的大小,这时数组说明符的一对方括号中可以不指定数组的大小;C 项错误,a 是char 类型的数组,里面的元素应该是字符而非字符串,应该用单引号括起来;D 项错误,数组变量一旦定义,其地址值不可改变,不能给数组名重新赋值。
2. 有以下程序:
程序的运行结果是( )。
答:A
【解析】结构体作为函数参数时是传值调用。本题中,函数传递的是实参结构体变量中的值。函数体内对形参结构体变量中任何成员的操作都不会影响对应实参中成员的值。因此f ( )没有任何实际作用。
第 2 页,共 34 页
是合法的
是不合法的,遗漏了数组的大小
是合法的,定义了一个包含两个字符的数组
是合法的,因为数组有三个字符空间的容量,可以保存两个字
3. C 语言程序中,运算对象必须是整型数的运算符是( )。
A.&& B./ C.% D.* 答:C 【解析】模运算中不能出现浮点数,运算对象只能是整数。
4. 有以下程序段:
入字母A 、B 、C , 则以下对输入形式的描述正确的是( )。
A. 字母A 、B 、C 之问可以用空格分隔 B. 字母A 、B 、C 之间不能有分隔符 C. 字母A 、B 、C 之间可以用回车符分隔 D. 字母A 、B 、C 之间可以用Tab 键分隔 答:B
【解析】在使用scanf 函数时要注意,在用
格式输入字符时,分隔符(空格符、制表符
(Tab 键)、回车符)和转义字符都将作为有效字符进行输入。题目中要求以字符形式输入三个数据,空格、回车符、Tab 键均会被视为有效字符赋给对应变量,所以字母A 、B 、C 之间不能有分隔符,故B 选项正确。
5. 有以下程序(其中k 的初值为八进制数):
程序运行后的输出结果是( )。 A.12 B.11 C.10 D.9 答:D
k 的初值是八进制数011, 转换为十进制数就是9, 在输出时自增运算符【解析】
缀出现的,因此是先输出9, 然后k 的值再自增1。
6. 有以下程序:
第 3 页,共 34 页
若要给分别输
是作为后
程序运行后的输出结果是( )。 A.8,16 B.16,32 C.8,32 D.16,16 答:C
【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA (FNB (a ))的替换过程为:FNA (2+2)替换为2+2X2+2,计算结果为8。FNB (FNA (b ))的替换过程为:FNB (4*4)替换为4X4+4X4=32。程序运行后的输出结果是8,32,故C 项正确。
7. 以下能正确表述算式
答:A
【解析】A 项正确。sin 是库函数,其参数中的角度要求用弧度制表示。C 语言中ji 不是已定B 项未替换71也没有将30度换算成弧度,义的常量,需要用户自定义或者直接使用3.14代替71。错误。C 项没有将30度换算成弧度,错误。D 项弧度换算错误,71对应于180°,应该除以180.0而不是360.0。
8. 若变量已正确定义并赋值,则错误的赋值语句是。
答:D
【解析】赋值号的左边必须是一个代表某个存储单元的变量名,赋值号的右边必须是C 语言 中合法的表达式。赋值运算的功能是先求出右边表达式的值,然后把此值赋给赋值号左边的变量。
9. 有以下程序:
第 4 页,共 34 页
的C 语言表达式是( )。