2016年中山大学信息科学与技术学院S3505001电子工程基础综合)之C程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 若有定义语句
答:B
【解析】根据优先级先计算由于z
定义为整型,故最终结果为1。
2. 以下能正确输出字符a 的语句是( )。
答:A
【解析】“格式控制串”用来指定每个输出项的输出格式,对应字符串,对应字符,对应整型。,单引号里面的内容为字符’a ’,A 选项正确。B 、C 、D 选项双引号里面的内容为字符串“a ”语句本身就有问题。
3. 以下叙述中错误的是( )。
A. 当在程序的开头包含头文件stdio. h时,可以给指针变量赋NULL B. 函数可以返回地址值
C. 改变函数形参的值,不会改变对应实参的值 D. 可以给指针变量赋一个整数作为地址值 答:D
【解析】不能将一个整数直接赋给指针变量作为地址,D 项错误。标准库文件stdiah 定义了 NULL 是一个 类型为void*,值等于0的对象。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。
4. 设有以下函数:
则下面对函数指针的定义和赋值均是正确的是( )。
A. B. C.
第 2 页,共 34 页
其后执行语句则z 的值为( )。
即由于是整型,故的值为1,接着计算
D. 答:D
【解析】函数指针的一般定义形式为:数据类型(*指针变量名)( )。定义函数指针时,对应的类型名以及 返回值类型都要和对应函数的参数列表以及返回值类型一致。在给函数指针赋值时,可以直接将函数名赋值给对 应的函数指针,也可以将函数名取地址后在赋值给对应的函数指针。ABC 三项中函数指针的定义均是错误的, 参数列表和fun 函数的参数列表不一致。
5. 以下语句的输出结果是( )。
A.5 B.8 C.14
D. 输出项不合法,无正常输出 答:A
【解析】由一对双引号括起来的一串字符为字符串。字符常量是用一对单引号括起来的单个字符,还有一些 特殊字符常量,即以为八进制或十六进制数字。
6. 有以下函数:
函数的功能是( )。 A. 查找x 和y 所指字符串中是否有
B.x 、y 所指字符串最前面连续相同的字符个数 C. 将y 所指字符串赋值给x 所指存储空间 D. 统计x 和y 所指字符串中相同的字符个数 答:B
【解析】由程序可知,定义语句中的x 和y 是用户标识符,在每个变量前的是一个说明符,循环执行只有在x 和y 所指字符串中最前面连续相同,并统计其个数,一旦不满足,则终止循环而返回相同个数II 。
7. 以下关于C 语言数据类型使用的叙述中错误的是( )。
A. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型 B. 若要保存带有多位小数的数据,可使用双精度类型
C. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D. 整数类型表示的自然数是准确无误差的
第 3 页,共 34 页
开头的转义字符。后可以为某些单个字符也可以
共5个字符,A 项正确。
答:A
【解析】A 项错误,C 语言中没有逻辑类型,在C++中才引入的;B 项正确,float 类型称为单精度类型,double 类型称为双精度类型,一般系统中,为float 类型的变量分配4个字节的存储单元,为double 类型的变量分配8个字节的存储单元。C 项正确,struct 结构体,可以用来描述包含多种基本类型的复杂对象。
8. 有以下程序:
程序的运行结果是( )。
答:A
【解析】结构体作为函数参数时是传值调用。本题中,函数传递的是实参结构体变量中的值。函数体内对形参结构体变量中任何成员的操作都不会影响对应实参中成员的值。因此f ( )没有任何实际作用。
9. 以下选项中,合法的数值型常量是( )。
A.3.2 B.'X' C.099 D.OxEH 答:A
【解析】A 项正确,3.2是合法的实型常量;B 项错误,‘X ’为字符型常量不是数值型常量;C 项错误,以0开头,表示八进制,但八进制的每位小于8; D 项错误,Ox 和H 冲突都是表示十六进制。
第 4 页,共 34 页