2017年中国地质大学(武汉)信息工程学院873程序设计基础[专业学位]之C程序设计考研题库
● 摘要
一、选择题
1. 有以下程序
程序的运行结果是( )。
A.a=2.b=l
B.a_2,b-2
C.a=l, b=l
D.a=l, b=0
【答案】A
【解析】当执行swicth 语句时,首先计算紧跟其后一对括号中的表达式的值,然后在switch 语句体内寻找与该值吻合的case 标号。如果有与该值相等的标号,则执行该标号后开始的各语句,包括在其后的所有case 和default 中的语句,直到switch 语句体结束;每当执行到break 语句时,立即跳出switch 语句体。switch 语句通常总是和break 语句联合使用,使得switch 语句真正起到分支的作用。x=l,首先进入外层分支1,接下来y=0,再进入内层分支0,执行a++,此时a=l,接下来遇到break ,跳出内层switch ; 由于外层分支中没有break 语句,会继续执行外层分支2,执行a++, b++,此时a=2, b=l; 然后遇到break 语句,跳出外层switch 。
2. 以下不合法的数值常量是( )。
A.8.0E0.5
B.lei
C.011
D.Oxabcd
【答案】A
【解析】E 前E 后有数字,E 后数字为整数,A 项E 后面为小数,错误。
3. 若有定义语句:inta=12; ,则执行语句:a+=a- =a*a; 后,a 的值是( )。
A.-264
B.552
C.144
D.264
【答案】A
【解析】赋值运算结合性为自右向左,a+=a-a*a相当于a=a-a*a,a=a+a; 自右向左计算过程为a=a-a*a=_132,a=a+a=-264。
4. 以下选项中非法的C 语言字符常量是( )。 A. B. C. D.
【答案】A
【解析】A 项,表示字符串,应该用双引号括起来。B 项,转义符表示后退一格;C 项,表示八进制数;D 项,表示两位的十六进制数。
5. 以下选项中,合法的数值型常量是( )。
A.3.1415
B. “A ”
C.092
D.OxDH
【答案】A
【解析】数值型常量包括整型常量和实型常量。整型常量有三种:①十进制常量,用0〜9表示,不能以0开头;②八进制常量,用0〜7表示,必须用0开头;③十六进制常量,用0~9和A~F(a~f)表示,必须以Ox 或OX 开头。实型常量:用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。3.1415为实型常量,A 项正确。“A ”为长度为1的字符串常量,B 项错误。092按照格式来说是八进制整型常量,但是八进制不会出现9, C 项错误。OxDH 按照格式说是十六进制整型常量,但是不应该出现H , D 项错误。
6. 下列关系表达式中,结果为“假”的是( )。
A. (3+4)>6 B. C. D.
【答案】B
【解析】A 项,先执行:
为假;C 项,先执行结果为真;B 项,先执行为真,即为1,1>2结果结果为真,即1,再逻辑或3, 结果为真;D 项,先执行3<4结果为真,
即为1,再执行1==1,结果为真。
7. 有以下程序:
程序的运行结果是( )。
A.aa
B.ma
C.am
D.mm
【答案】A
;,函数的作用是在内存的动态存储区分配一个【解析】malloc 函数的原型为:malloc (size )
长度为size 的连续空间。程序执行过程为:定义两个字符类型指针p1和p2,动态开辟10个字符类型的内存单元,并且使指针p1与P2均指向这10个内存单元的第一个单元。调用strcpy 函数,将字符串“malloc ”赋值给这10个内存单元的前7个单元,存储情况为:malloc\0,此时p1指向10个内存单元的第一个单元。再次调用strcpy 函数,这10个内存单元的第2个单元到第7个单元元素重新赋值给P2指向的内存单元以及以后的5个单元,存储情况为:alloc\0\0,此时p1和p2均指向10个内存单元的第一个单元。输出两个指针指向单元的数据值,结果为:aa ,故A 选项正确。
8. 有以下程序:
程序的运行结果是( )。
A.5
B.2
C.6
D.3