一、选择题
1 若有定义语句.
A. 1
B.
C.
D.
答:B ,
则错误引用x 数组元素的是( )。
【解析】对一维数组元素可以采用多种方式。直接引用,数组名[下标],数组的大小为n 时,
B 项错误,下标的取值范围为0〜(n_l)。数组x 的下标为0〜4, A 项,溢出。通过指针访问C
D 项,通过数组名访问 项,通过指针访问
2. C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述中正确的是 ( )。
A. 预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义
B. 用户标识符可以由字母和数字任意顺序组成
C. 在标识符中大写字母和小写字母被认为是相同的字符
D. 关键字可用作用户标识符,但失去原有含义
答:A
【解析】C 语言允许把预定义标识符重新定义另作他用,但这将失去预先定义的原意。B 项,标识符的第一个字符必须为字母或下划线;C 项,标识符中,大写字母和小写字母被认为是两个不同的字符;D 项,关键字不能另作他用。
3. 阅读以下程序:
该程序在编译时产生错误,其出错原因是( )。
A. 定义语句出错,case 是关键字,不能用作用户自定义标识符
B. 定义语句出错,printF 不能用作用户自定义标识符
C. 定义语句无错,scanf 不能作为输入函数使用
D. 定义语句无错,printf 不能输出case 的值
答:A
【解析】在C 语言中,关键字又称保留字,它是系统预先定义的,具有特定含义的标识符,
故不允许用户重新定义。case 为C 语言中的关键字,因此用户不能再定义标识符为case 的变量。
4. 以下程序段中的变量已定义为int 类型,则
程序段的输出结果是( )。
A.6
B.4
C.5
D.7
答:D
【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其 他运算,然后再使变量的值增(或减)1
。
先自加后取值,输出9, 先取值输出10, 再自减故D 选项正确。
5. 对于一个正常运行的C 程序,以下叙述中正确的是( )。
A. 程序的执行总是从程序的第一个函数开始,在main 函数结束
B. 程序的执行总是从main 函数开始
C. 程序的执行总是从main 函数开始,在程序的最后一个函数中结束
D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
答:B
【解析】一个正常运行的C 程序总是从main 函数开始执行,最后返回到main 函数结束。
6. 以下选项中表示一个合法的常量是(说明:符号表示空格)( )。
答:B
【解析】十六进制数用数字0和字母x (或大写字母X )开头。
法的常量。
7. 若有定义
是指十六进制数,是合
程序运行时输入:
345〈回车〉
能把值3输入给变量a 、4输入给变量b 、5输入给变量C 的语句是( )。
A )
C )
答:D
d~输入带符号的十进制整型数,f~以带小数点的数学形式或指数形式输入浮点数【解析】(单
精度数用f ,双精度数用If )。
8. 以下叙述中正确的是( )。
A. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度
B. 如果p 是指针变量,则*p表示变量p 的地址值
C. 如果p 是指针变量,则&p是不合法的表达式
D. 如果p 是指针变量,则*p+1和*(p+1)的效果是一样的
答:A
,而是【解析】A 项正确,在对指针进行加、减运算时,数字“1”不再代表十进制整数“1”
指1个存储单元长度。B 项错误,
9. 有如下程序:
程序运行时,输入
A.1234
B.4321
C.4444
D.1111
答:B 则输出结果是( )。 表示p 的值;C 项错误,表示变量p 的地址;D 项错误
,是先取p 的值,然后执行+1操作,是先对指针移动1个存储空间,然后取值。 B )D )
【解析】在调用一个函数的过程中又出现直接或间接的调用该函数本身,称为函数的递归调用。本题程序的 执行过程为:在输入1234〈回车〉的情况下,调用
函数,读