2018年江西农业大学农院341农业知识综合三[专硕]之C程序设计考研基础五套测试题
● 摘要
一、选择题
1. 有以下程序:
程序运行后的结果是。
A.0
B.1
C.2
D.3
【答案】A
【解析】运算符“/”
2. 若变量均已正确定义并赋值,以下合法的c 语言赋值语句是( )。
【答案】A
【解析】A 项正确,返回0或者1, 然后赋值给x 。B 项错误,浮点数不能参与模运算;C 项错误, 是右值,不能给它赋值;D 项错误,5是常量,不能被赋值。
3. 有以下程序
:的优先级高
于
程序的运行结果是( )。
A.6
B.5
C.4
D.3
【答案】B
【解析】条件运算符语法形式为:
第 2 页,共 42 页 执行规则为:计算表达式expl 的
值,测试其是否为0; 如果expl 的值非0, 则对exp2求值,并把这个值作为条件表达式的
结果输出,不计算exp3; 如果expl 的值为0,则对exp3求值,并把这个值作为条件表达式的结果输出,不计算exP2。函数ml 实现返回传入两个参数中的最小值。函数m2实现返回传入两个参数中的最大值。函数fun 实现返回传入两个参数之和。程序执行过程为:调用ml (2, 3)返回2, 调用m2(3, 1)返回3, 调用fun (2,3)返回5,输出结果5,故B 项正确。
4. 设变量x 为long int型并已正确赋值,以下表达式中能将x 的百位上的数字提取出来的是( )。
【答案】D
【解析】x / 100结果的个位数上的数字是原来x 的百位数上的数字,则要得到这个数字只需要再即可。
5. 以下涉及字符串数组、字符指针的程序段,不会产生编译错误的是( )。 A. B. C. D.
【答案】A
【解析】将字符指针变量初始化为一个字符串有两种方式,一种通过赋值运算使一个字符指针指向一个字符串常量:
并且初始化为一个字符串的首地址:
个变量,所以不能给一个数组名赋值,
如A 选项正确。另一种是定义一个字符指针变量,字符指针变量与字符数组都可以用来实错误,B 选项错误;(2. 字符型的指现字符串的存储和运算,但二者是有区别的:(1. 数组名是一个地址常量,而字符指针变量是一针变量的值是可以改变的;(3. 字符指针变量和字符数组在内存中的 存储情形不同,数组指的是按照数组长度分配的若干存储空间,而指针只是一个存储字符串首地址的存储空间,所以相同类型指针可以相互赋值,而数组不能直接用“=”赋值,C 选项错误。数组不可以直接赋值字符 串
.
合法,故D 选项错误。
6. 表达式:
A.0
B.3
C.4
D.5
【答案】B 不合法,只有在数组初始化时可以直接赋值,
如合法,并且定义数组时必须指定数组长度,不的值是( )。
第 3 页,共 42 页
【解析】运算符强制类 的优先级高于故先进行除法和求余运算,再进行减法运算。
转换成double 类型,再转换成int 类型转换表达式的形式为:(类型名)(表达式)。
型,结果为4, 减号后面的结果为1,故结果为3。
7. 若有定义语句:inta=12; ,则执行语句:a+=a- =a*a; 后,a 的值是( )。
A.-264
B.552
C.144
D.264
【答案】A
【解析】赋值运算结合性为自右向左,a+=a-a*a相当于a=a-a*a,a=a+a; 自右向左计算过程为a=a-a*a=_132,a=a+a=-264。
8. 有以下程序:
程序运行后的输出结果是( )。
A.-1
B.0
C.1
D.7
【答案】A
【解析】“++”和“一”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,贝晚取值,再进行加一或减一操作。程序中执行
才跳出循环,执行下条语句,即a 为0时再执行
9. 以下叙述错误的是( )。
A. 未经赋值的全局变量值不确定
B. 未经赋值的auto 变量值不确定
C. 未经赋值的register 变量值不确定
D. 未经赋值的静态局部变量值为0
【答案】A
【解析】C 语言中,系统将未经赋初值的全局变量默认为0, 答案为A 选项。
10.对于一个正常运行的C 程序,以下叙述中正确的是( )。
A. 程序的执行总是从程序的第一个函数开始,在main 函数结束
第 4 页,共 42 页 直到while 判断为0时后输出,最终输出的结果为-1。