一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.ABE
B.BDI
C.BCF
D.BCD
答:B 【解析】函数是向屏幕上输出一个字符,是计算码值。第一次循环,a 等于0, 则f (a )等于1,b 等于1,输出B 第二次循环,a 等于1,则f (a )等于2, b 等于3, 输出D 第三次循环,a 等于2, 则f (a )等于5, b等于7, 输出I 。
2. 有以下程序:
程序运行后的输出结果是( )。
A.10,64
B.10,10
C.64,10
D.64,64
答:A
【解析】C 语言中带参数的宏可以理解为用参数直接替代定义式中的变量,而不经过任何修改。所以
,
3. 有定义语句
A. B. C. D.
答:C 以下选项中与此语句等价的是( )。
【解析】定义指针数组的格式为
4. 有以下程序:
因为[]的优先级高于因此等价于而D
中定义的是数组指针变量,指针p 指向含有四个整型元素的数组。
程序运行后的输出结果是( )。
A.3,7
B.3,5
C.1,5
D.1,3
答:C
【解析】程序执行过程:指针p 指向数组第一个元素;*(p++)先取p ,输出p 指向的元素1,之后p 加1,指向数组第二个元素;*(++P),指针p 加1指向数组第三个元素,之后输出所指元素5。
5. 以下选项中能表示合法常量的是( )。
答:D
【解析】A 项错误,表达错误;B 项错误,E 后面应为整数,不能是小数;C 项错误;字符斜杠的表示方法 为
为正确。 因为第一个\表示是转义字符;D 项正确,表示空字符串,第一个字符
6. 在C 语言程序中,下列说法中正确的是( )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和调用均不可以嵌套
D. 函数的定义和调用均可以嵌套
答:B
【解析】C 语言规定,不能在函数的内部定义函数,但函数的调用可以嵌套。
7. 以下选项中可用作C 程序合法实数的是( )。
A..leO
B.3.0e0.2
C.E9
D.9.12E
答:A
【解析】浮点型常量分十进制小数形式和指数形式。指数形式要求字母e (或者E )前后必须有数字,且e 后面的指数必须为整数。BCD 三项错误。
8. 若有以下定义和语句:
则输出结果是( )。
A.5 5
B.10 5
C.10 7
D.5 8
答:A
【解析】strlen 函数是测试字符串长度的函数,求字符串的实际字符个数,不包括字符
内,
在字符义字符
,
之后的所有字符均不计入长度中。所以的含义是一个字符
【程序有错,应为而以】 所以s2
所指向的内容实际上是
在所以开头的字符序列是转
9. 以下关于函数的叙述中正确的是( )。
A. 函数调用必须传递实参
B. 函数必须要有形参
C. 函数必须要有返回值
D. 函数形参的类型与返回值的类型无关
答:D
【解析】函数参数有两种:形式参数和实际参数,前者函数定义时函数名后括号内是形参列表,每个形参由类型和名称两部分组成。在定义函数时,系统并不给形参分配存储单元,当然形参也没有具体的数值,所以称它为形参,也称虚参。形参在函数调用时,系统暂时给它分配存储单元,以便存储调用函数时传来的实参。一旦函数结束运行,系统马上释放相应的存储单元;后者函数调用时函数名后括号内是实参列表,实参可以是常量、变量或表达式。当函数返回到主调