一、选择题
1. 以下叙述中错误的是( )。
A.C 语言编写的函数源程序,其文件名后缀可以是.C B.C 语言编写的函数都可以作为一个独立的源程序文件 C.C 语言编写的每个函数都可以进行独立的编译并执行 D. —个C 语言程序只能有一个主函数 【答案】C
【解析】C 源程序经过C 编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文,然后由称为“连接程序”(Link )的软件,把此.OBJ 文件与C 语言提供的各种库函数连接件)
起来生成一个后缀为.EXE 的可执行文件。只有含有main 函数的经过编译链接才能执行。
2. 以下程序:
程序运行后的结果是( )。 A.1 3 7 B.7 3 1 C.7 3 D.3 7
【答案】D
【解析】函数fun 是递归函数,递归终止条件是x 小于等于4, 当大于等于4是递归调用第一次循环
调用
跳出if 循环,执行输出x=3, 然后回到第一次循环,执
行if 循环的语句,输出x=7。
3. 以下选项中,能用作用户标识符的是( )。
【答案】C
【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。C 语言定义标识符应遵循以下六种规则:①标识符由字母、数字或下划线组成;②第一个字符必须是字母或下划线;③标识符最多由274个字 符组成;④在标识符中严格区分大小写字母;⑥关键字不能作为自定义的标识符在程序中使用。
4. 下列定义变量的语句中错误的是( )。
【答案】B 【解析】符号,不能出现在标识符中。
5. 有以下程序:
程序运行后的输出结果是( )。
【答案】D
【解析】声明结构类型S 中有一个字符数组name , 在input , 为input 中成员name
初始化给name ,
由于
后,调用
函数
函数的形参为结构体指针,因此
函数中,定义了一个结构变量
执行功能是把
赋值
函数改变形参指针data 指向的
name 值的同时,也改变了实参input 的成员name 值;而形参value 为整型变量,是num 的一个副本,修改了nnm 的副本,对num 本身不产生影响,所以输出为#,3。
6. 有以下计算公式:
若程序前面已在命令行中包含math , h 文件,不能够计算上述公式的程序段是( )。
【答案】A
【解析】sqrt 函数是math.h 文件中用来计算平方根的苦函数。A 项错误,当x 小于零时,A 项会出现运行时错误。B 项使用if-else 语句实现功能;C 项使用两条if 语句实现;D 项使用三目运算符实现,结果等价于BC 两项。
7. 有如下程序:
程序运行后的输出结果是( )。 A.STRENG B.STRIEG C.STREN D.STREN0 【答案】C
【解析】printf 函数按照格式符说明输出对应的数据。给定地址开始依次输出字符,直到遇到时
控制符用于输出字符串,输出时从
初始化
调用printf 输出字符串
结束。给字符变量赋值0,相当于赋值
改动数组第4个和第6个元素之后字符串变为'
为STREN , 故C 项正确。
8. 设有定义:intx=ll,y=12,z=0; ,以下表达式值不等于12的是( )。
A. (z ,x ,y ) B. (z=x,y ) C.z=(x ,y ) D.z=(x==y) 【答案】D