一、选择题
1. 有以下程序
则以下函数调用语句错误的是( )。
A. B. C. D. 答:A 【解析】返回值是int ;
声明了一个函数指针,它可以指向一个函数,该函数的形参是两个int ,是把函数add 的地址赋给指针f ; 函数指针的调用有两种方式,
出现编译错误。
和
项
错误,已经表示调用函数add , 返回15,
2. 有以下程序:
程序运行后的输出结果是( )。
答:D
【解析
】制:
是十六进制数
,
需要输出十进制数,换算成十进
因此答案为D 选项。
3. 执行以下程序段后,w 的值为( )。
A.-1 B.NULL C.1 D.0 答:C 【解析】因为
都是非零整数,因此
又因为
知
也为
真,因此的值为1。
4. if 语句的基本形式是:if (表达式)语句,以下关于“表达式”值的叙述中正确的是( )。
A. 必须是逻辑值 B. 必须是整数值 C. 必须是正数
D. 可以是任意合法的数值 答:D
【解析】if 是C 语言的关键字,在其后一对圆括号中的表达式可以是c 语言中任意合法的表达式。
5. 有以下程序:
程序运行后的输出结果是( )。 A.12 B.4 C.1 D.0 答:B
【解析】先输出i ,由于i=4, 不满足条件,直接输出换行符。
6. 以下选项中叙述错误的是( )。
A.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
B. 在C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 C.C 程序函数中定义的自动变量,系统自动赋确定的初值 D.C 程序函数的形参不可以说明为static 型变量 答:A
【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单
元。即使退出函 数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。由于并不 释放这些存储单元,因此这些存 储单元中的值得以保留,因而可以继续使用存储单元中原来的值。
7. 以下叙述中正确的是( )。
A.C 程序中的注释只能出现在程序的开始位置和语句的后面 B.C 程序书写格式严格,要求一行内只能写一个语句 C.C 程序书写格式自由,一个语句可以写在多行上 D. 用C 语言编写的程序只能放在一个程序文件中 答:C
【解析】C 程序的注释可以出现在C 程序的任何位置,注释符号:序中,一行内可写多个语句,每条语句用分号
或
。(:程
结束。用C 语言编写的程序可以放在多个程序
文件中,用#indUde命令行实现文件包含功能。
8. 若有定义语句以下不能使用变量year 中的值增至2010的语句是( )。
答:D
【解析】A 项,p 所指内容执行增1操作;B 项,先取P 指针所指的内容,再执行后++运算;C 项,先取P 指针所指内容,再执行前++运算;D 项,实际上是p 指针执行++操作,而后取值。
9 若有定义语句
则下面对m 数组元素的引用中错误的是( )。.
A.
B.
C.
D. 答:C
【解析】数组的下标从零开始标记,数组m 中有5个元素,所以数组m 即
为
C 项,访问数组元素为
〜4, 可见会溢出,会引起错误。
10.以下叙述中正确的是( )。
A. 不同函数的形式参数不能使用相同名称的标识符 B. 用户自己定义的函数只能调用库函数
C. 实用的C 语言源程序总是由一个或多个函数组成 D. 在C 语言的函数内部,可以定义局部嵌套函数 答:C
,但是数组申请的空间是0