一、选择题
1. 有如下程序:
程序运行后的输出结果是( )。
答:D
【解析】程序执行过程为:
定义结构体变量
将
ABC , 故D 项正确。
2. 有以下程序
第 2 页,共 33 页 调用strcpy
函数为结构体成员赋值
最后输出结果为赋值给
程序运行后的输出结果是( )。
A.1, 2
B.2, 4
C.1, 4
D.2, 3
答:A
【解析】当把结构体变量中的数据作为一个整体传送给相应的形参时,传递的是实参结构体变量中的值,系统将为结构体类型形参开辟相应的存储单元,并将实参中各成员的值一一对应赋给形参中的成员,函数中形参结构体变量的改变不会影响到实参结构体变量。所以,函数f 不会改变a 中的数据。
3. 有以下程序:
程序运行后的输出结果是( )。
A.12
B.13
C.15
D.11
答:A
【解析】直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。
将
用替换,
将
替换,再将F (5)用2.84+5替换,最后替换结果为运行结果为:12。
4. fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。在下画线处应该填写的是( )。
A.
B.
C.
D.
第 3 页,共 33 页
答:D
【解析】数组名本身就是地址,所以不需要用符号。C 选项不能对所有元素赋值而是反复给一个数值赋值且是死循环。
5. 有以下程序
程序的运行结果是( )。
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 。
6. 有以下程序:
程序的运行结果是( )。
A.-1,0
第 4 页,共 33 页