一、选择题
1. 以下不能正确表示代数式
答:D
【解析】与/优先级相同,所以采用左结合的方式。D 项若改为:
2. 对于一个正常运行的C 程序,以下叙述中正确的是( )。
A. 程序的执行总是从程序的第一个函数开始,在main 函数结束 B. 程序的执行总是从main 函数开始
C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束 D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 答:B
【解析】一个正常运行的C 程序总是从main 函数开始执行,最后返回到main 函数结束。
3. 表达式的值是( )。
A.9 B.-9 C.18 D.0 答:D
【解析
J
计算顺序为
首先
即
最后
,
即则为正确。
的C 语言表达是( )。
4. fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。在下画线处应该填写的是( )。
A.
B. C. D. 答:D
【解析】数组名本身就是地址,所以不需要用符号。C 选项不能对所有元素赋值而是反复给一个数值赋值且是死循环。
5 .
有如
下程序
:
程序运行后的输出结果是( )。
A.2.0 B.1.7 C.2 D.1 答:D
【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执,行过程为:调用函数sub (3.8,2.1. , 3.8—2.1=1.7(double 类型)(int )强制转换将1.7转换成int 类型1, 然后返回1并输出,故D 选项正确。
6. 有以下程序:
程序运行后的输出结果是( )。 A.AAAA B.CC
C.BBBCC D.BBBB 答:D
【解析】程序中声明一个3行4列的字符型数组。要求输出故ch[l]为第二行的BBBB 。
7. 有以下程序:
由于数组下标默认从0开始,
程序运行后的输出结果是( )。 A.= B.XXX C.=XX D.X= 答:A
【解析】主函数首先为结构体定义两个变量
分别使用字符串拷贝函数strcpy ( )
因此输出为
项正确。
为si 和s2的成员name 赋值,
再将
中的成员信息赋值给
8. 有以下程序:
则以下叙述正确的是( )。 A. 在main 函数中声明了 findmax 函数 B. 在main 函数中定义了 findmax 函数 C. 在main 函数中两次调用了 findmax 函数 D. 在main 函数内、外重复定义了 findmax 函数 答:A
【解析】程序编译是从上到下进行的,所以如果函数定义放在主函数之后,那么在函数调用时必须提前声明函数,可以在主函数之前声明函数,也可以在主函数中函数调用之前声明函数。题目中函数findmax 定义放在了函数之后,所以主函数中声明了 findma 函数
。
为函数声明
,
为函数调用
,
为函数定义。A 选项正确。B 选项是在main 函数外定义的findmax
函数,错误。在main 函数中,出现了一次findmax 函数的声明和一次findmax 函数的调用,不是两次调用,C 选项错误。D 选项在main 函数内不是定义findmax 函数而是声明findmax 函数。