2017年江西财经大学软件与通信工程学院841C语言程序设计(软件)考研题库
● 摘要
一、选择题
1. 以下选项中能表示合法常量的是( )。
【答案】D
【解析】A 项错误,表达错误;B 项错误,E 后面应为整数,不能是小数;C 项错误;字符斜杠的表示方法 为为
正确。
2. 有以下程序:
程序运行后的输出结果是( )。 A.2, 1 B.6, 1 C.6,0 D.2, 0 【答案】A
【解析】程序前面表达式等同于a=2; 优先级低于得b=l。
3. 若有以下程序
第 2 页,共 36 页
因为第一个\表示是转义字符;D 项正确,表示空字符串,第一个字符
程序执行过程为:c=241, c/100=2, 2%9=2, 得
为真,
非0值为真,0值为假,即(-1)为真,逻辑与表达式
则程序的输出结果是( )。 A.17,37 B.49,2401 C.17,289 D.49,289 【答案】A
【解析】S (k+j)展开后是5+2*5+2=17,T (k+j)展开后是5+2*5+2*5+2*5+2=37。
4. 以下关于逻辑运算符两侧运算对象的叙述中正确的是( )。
A. 可以是任意合法的表达式 B. 只能是整数0或非0整数 C. 可以是结构体类型的数据 D. 只能是整数0或1 【答案】A
【解析】C 语言的逻辑运算符比较特别,它的操作数没有明确的数据类型,可以是任意合法的表达式。
5. 有以下程序
:
程序的运行情况是( )。 A. 形成无限循环 B. 输出6 C. 输出5 D. 输出4 【答案】A
【解析】本题执行过程为:i=l,k=0, i<6成立,执行for 循环:退出switch ,
成立,执行for 循环:
,匹配easel ,k=l, break
匹配case2,k=2,执行continue ,由于其只用于
循环结构,退出switch , 且不执行此次for 循环以后的语句,i=2不变,i<6成立,执行下一次for 循环,以后的循环情况完全一致,i=2不会改变,形成无限循环。故A 项正确。
6. 以下表达式的值与X 无关、其值恒为真的是( )。
A. B. C. D. 【答案】A
【解析】逻辑与只有在
符号两边操作均为真时,逻辑表达式为真;逻辑或当且只当
符号两边操作至少有一个为真时,逻辑表达式为真。项B 、C 、D 中,使得表达式恒为真,都跟x
第 3 页,共 36 页
的取值有关,B 、C 、D 项错误;A 项,根据优先级,为0或1,均小于5, 故恒真。
7. 以下选项中可用作c 语言中合法用户标识符的是( )。
A._123 B.void C.-abc D.2a
【答案】A
【解析】合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字B 项中void 符必须为字母或下划线,其中,关键字在程序中都代表着固定的含义,不能另作他用。是关键字,不合法。C 项和D 项没有以字母或下划线开头,不合法。
8. 若有定义语句则表达式值的类型是( )。
A.char B.int C.double D.float 【答案】c
【解析】在多目运算符相关联的运算数中,如果类型不一致,系统将自动进行类型转换,使两边的类型达到一直后,再进行运算,转换的规则是由“低到高”。
是字符型,a 是整型,b
是double 型。字符型数据占1个字节,整型占2个字节,double 型占8个字节,故三者相加后为double 型,即选择答案C 。
9. 以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是( )。
A. B. C. D. 【答案】A
【解析】将字符指针变量初始化为一个字符串有两种方式,一种通过赋值运算使一个字符指针指向一个字符串常量:
并且初始化为一个字符串的首地址:变量,所以不能给一个数组名赋值,
如
A 选项正确。另一种是定义一个字符指针变量,
字符指针变量与字符数组都可以用来实错误,B 选项错误;(2. 字符型的指针变
现字符串的存储和运算,但二者是有区别的:(1. 数组名是一个地址常量,而字符指针变量是一个量的值是可以改变的;(3. 字符指针变量和字符数组在内存中的 存储情形不同,数组指的是按照数组长度分配的若干存储空间,而指针只是一个存储字符串首地址的存储空间,所以相同类型指针可以相互赋值,而数组不能直接用“=”赋值,C 选项错误。数组不可以直接赋值字符 串
.
合法,故D 选项错误。
第 4 页,共 36 页
不合法,只有在数组初始化时可以直接赋值,
如
合法,并且定义数组时必须指定数组长度,
不