2016年武汉科技大学汽车与交通工程学院C语言程序设计复试笔试仿真模拟题
● 摘要
一、选择题
1. 有如下程序:
若要从键盘读入姓名给结构体变量zhangsan 的name 成员,输入项错误的是( )。
答:A
【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名成员名;③(*指针变量名). 成员名。程序定义了一个结构体变量zhangsan , —个结构体指针ptr , 并且使指针指向变量zhangsan 。A 项zhangsan 为结构体变量名,不能用一〉引用其成员,A
项错误。
2. 以下叙述中正确的是( )。 均是正确的引用结构体变量成员的方式。
A. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度
B. 如果p 是指针变量,则*p表示变量p 的地址值
C. 如果p 是指针变量,则&p是不合法的表达式
D. 如果p 是指针变量,则*p+1和*(p+1)的效果是一样的
答:A
,而是【解析】A 项正确,在对指针进行加、减运算时,数字“1”不再代表十进制整数“1”
指1个存储单元长度。B 项错误,表示p 的值;C 项错误,表示变量p 的地址;D 项错误
,
是先取p 的值,然后执行+1操作,
3. 以下叙述中正确的是( )。
A. 数组说明符的一对方括号中只能使用整型常量,而不能使用表达式
B. —条语句只能定义一个数组
C. 每个数组包含一组具有同一类型的变量,这些变量在内存中占有连续的存储单元
D. 在引用数组元素时,下标表达式可以使用浮点数
答:C
第 2 页,共 35 页 是先对指针移动1个存储空间,然后取值。
【解析】C 项正确,数组内部的变量都是同一类型,在内存中是连续存储的。A 项错误,方括号中应当是整型常量表达式,可以使用表达式,只要计算结果是整型常量即可;B 项错误,可以使用逗号隔开,来定义多个数组;D 项错误,引用数组时,下标必须是自然数,还应保证下标不越界。
4. 下列形式中不合法的常量是( )。
A.2.E8
B.-.28
C.-028
D.2e_8
答:C
【解析】-028表示的是八进制的整型常量,但八进制的数字只能用0〜7表示。AD 两项为指数形式的实数表示,在e 或E 的前面必须要有数字,且£或£后面的指数必须为整数;B 项,为整数常量。
5. 在C 语言程序中,下列说法中正确的是( )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和调用均不可以嵌套
D. 函数的定义和调用均可以嵌套
答:B
【解析】C 语言规定,不能在函数的内部定义函数,但函数的调用可以嵌套。
6. 有以下程序:
程序:
程序的运行结果是( )。
A.6
B.5
C.4
D.3
答:A
第 3 页,共 35 页
【解析】程序执行过程为:定义字符串指针p 并为其初始化为“01234”,调用函数fun (p ), 将指针传入函 数。while 循环找到字符串的束符地址,然后使这个指针指向结束符下一个单元,结束循环。返回字符串首地址 与结束符下一个地址之差,也即是字符串长度加1。输出地址差为6, 故A 选项正确。
7. 在以下程序:
程序运行后的输出结果是( )。
A.0
B.1
C.2
D.3
答:A
【解析】>不满足跳出,if (a==0)不满足,跳出循环,并没有往下执行,因此b 值没有改变。
8. 有以下程序段:入字母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 选项正确。
9. 有以下程序:
第 4 页,共 35 页
若要给分别输