一、选择题
1. 以下选项中不合法的标识符是( )。
答:C
【解析】标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。语法规则为:①标识符由字母、数字或下画线组成;②第一个字符必须是字母或下画线;③标识符最多由274个字符组成;④在标识符中严格区 分大小写字母;⑤关键字不能作为自定义的标识符在程序中使用。
2. 设变量均己正确定义并且赋值,以下与其他三组输出结构不同的一组语句是( )。
答:D
【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。++X表示先将X 值加1后再用,X++表示先使用X 值,用后再加1,所以本题中ABC 选项都会输出x+1的值。
3. 有以下程序:
程序运行的结果是( )。
A.1,2,3,4,5,6, 7,8, 9,0,
B.2, 1, 4, 3, 6, 5, 8, 1, 0, 9,
C.0,9, 8,7,6,5,4, 3,2,1,
D.0,1,2,3,4,5,6,7,8,9
答:A
【解析】在C 语言中,函数参数的传递默认是“传值”的,即形参和实参是两个没有关系的变量,函数fun 虽然看似交换了参数值,但是只交换了形参的值,结果不会传递给实参。因此,数组C 没有变化,按原样输出。
4. 有以下程序
程序的运行结果是( )
A.CDEF
B.ABEF
C.ABCD
D.CDAB
答:A
【解析】调用funl 函数将全局变量a 和b 赋值为‘C’和‘D’,然后输出全局变量a 和b ,最后调用fun2 输出局部变量a 和b 的值‘E’和‘F’。
5. 以下能正确进行字符串赋值的语句组是( )。
A. B. C. D.
答:A
【解析】一个字符串包括字符部分和字符串结束标志。将字符指针变量初始化为一个字符串有两种方式,① 通过赋值运算使一个字符指针指向一个字符串常量:
一个字符指针变量,并且初始化为一个字符串的首地址:②定义A 项正确。B 项定义一
个字符数组并为其赋初值,因为没有字符串结束标志,所以字符数组不是一个字符串,B 项错误。C 项定义字符数组,长度为3, 用字符串“abc”初始化,但是字符串的结束标志由于数组长度不够并未放入数组,所以数组不是一个完整的字符串,C 项错误。D 项正确 定义了数组,长度为4, 但
是不能用这样的形式为数组赋值,需要按照元素赋值,D 项错误。
6 设有定义inta=0, b=l;, 以下表达式中,,
会产生“短路”现象致使变量b 的值不变的是( )。.:
A.
B.
C.
D.
答:D
【解析】++放在变量前面时,表示将变量+1, 再参与其他操作,D 项,
值是0直接判定与运算结果为0, 忽视b++的值,因此b 值不发生改变。
7. 有如下程序:
程序运行后的输出结果是( )。
A.3,1,2,0, 0,
B.3,5, 10, 4,0,
C.3,3,3,3,0,
D.3,2,2, 2,0,
答:A
【解析】在对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值0, 则airay={3, 5, 10, 4, 0}。按位与运算,当参加运算的两个二迸制数的对应位都为1, 则该位的
For 结果为1,否则为0。将数组元素与3=11B按位与,即时,由于a
循环输出与运算结果:3,1,2,0,0,故A 选项正确
8. 以下程序的功能是:通过调用calc 函数,把所求得的两数之和值放入变量add 中,并在主函数中输出。