一、选择题
1. 以下可以将任意一个两位整数n 的个位数与十位数对换的表达式为( )。
【答案】A
【解析】A 项得到十位数字,得到个位数字,将个位数乘以10加上十位数字
,
实现两位整数个位数与十位
是十位实现将任意一个两位整数个位数与十位数对换,A 项正确。B 项得到个位数字,数之和,B 项错误。C 项 为十位数字,不能实现题目中要求,C 项错误。D 项
数字,为原两位整数减去十位数字,不是个位数字,D 项错误。
2. 以下合法的转义字符是( )。 A. B. C. D.
【答案】D 【解析】表示1到2位十六进制所代表的字符,D 项正确。
3. 若有定义语句:
以下叙述中错误的是( )。
A. 定义语句中的p 只能存放double 类型变量的地址
B. 定义语句中的*号是一个说明符
C. 定义语句中的*号是一个间址运算符
D. 定义语句中*p=&a把变量a 的地址作为初值赋给指针变量p
【答案】C
【解析】C 项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A 项正确, p 是double 类型的指针,只能存放double 类型的地址;B 项正确,定义指针变量时,星号是一个说明符,用来说明该变量是指针变量;D 项正确,
用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。
是求地址运算符,
4. 以下关于宏的叙述错误的是( )。
A. 宏替换不具有计算功能
B. 宏是一种预处理指令
C. 宏名必须用大写字母构成
D. 宏替换不占用运行时间
【答案】C
【解析】宏名习惯采用大写字母,以便与一般变量区别,但是并没有规定一定要用大写字母,因此,答案为C 选项。
5. 有如下程序:
程序运行时,输入
A.1234
B.4321
C.4444
D.1111
【答案】B 则输出结果是( )。
【解析】在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的 执行过程为:在输入1234〈回车〉的情况下,调用
人1,
在这次调用中的局部变量
调用
调用条件成立→调用•
调用函数,读入3,
局部变量函数,读函数,读入2,
局部变量
函数,读入4,
局部变量函数,读入回车,if 条件不成立,返回执行每次调用函数中if 语句后的输出语句,即依次输出4321。故B 选项正确。
6. 以下叙述中正确的是( )。
A.C 程序中的注释只能出现在程序的开始位置和语句的后面
B.C 程序书写格式严格,要求一行内只能写一个语句
C.C 程序书写格式自由,一个语句可以写在多行上
D. 用C 语言编写的程序只能放在一个程序文件中
【答案】C
【解析】C 程序的注释可以出现在C 程序的任何位置,注释符号:“//”或“/*•••*/”。C 程序中,一行内可写多个语句,每条语句用分号“;”结束。用C 语言编写的程序可以放在多个程序文件中,用#indude命令行实现文件包含功能。
7. 有以下程序:
程序的运行结果是( )。
A.D
B.C
C.B
D.A
【答案】A
【解析】A 项正确,main ( )函数中,首先判断条件x>l,因为x=l不大于1,不满足条件,程序跳入else 语句判定z8. 关于“while (条件表达式)循环体”,以下叙述正确的是( )。
A. 循环体的执行次数总是比条件表达式的执行次数多一次
B. 条件表达式的执行次数总是比循环体的执行次数多一次
C. 条件表达式的执行次数与循环体的执行次数一样
D. 条件表达式的执行次数与循环体的执行次数无关
【答案】D
【解析】一般来说,while 循环是先判断条件,满足条件后执行循环体,执行完后接着判断条件,执行,直到最后一次判断条件后不成立,跳出循环,所以最后一次执行了条件表达式,但是没有执行循环体。
但是while 循环体中有break 时,条件表达式的执行次数与循环体的执行次数一样。比如:
应该说条件表达式的执行次数不会比循环体的执行次数多。