2017年广东工业大学计算机学院831数据结构与C语言[专业硕士]之C程序设计考研题库
● 摘要
一、选择题
1. 文件不存在或是被锁定! 【答案】
2. 有以下程序:
程序的运行结果是( )。
A. B. C. D. 【答案】A
,【解析】函数facl 中嵌套函数fac2, fac2为递归函数。程序执行过程为:调用函数facl (3),输出输出3>0 成立,调用函数fac2 (2),输出用fac2 (0)
用结束。程序的运行结果是:
3. 若有以下定义和语句:
故A 项正确。
,输出成立,调用fac2 (1)
成立,调
,再返回fac2 (2), 再返回facl (3),函数调不成立,返回fac2 (1)
则值为6的表达式是(提示:
【答案】D
的优先级高于
( )。
【解析】定义指向结构体变量的指针P ,并将结构体数组首地址赋给加一指向数组第二个元素,其成员ri=6, D 项正确员5。
4. 以下选项中合法的标识符是
A.1_1 B.1-1 C._11 D.1_ _ 【答案】C 式为5, 之后再自加一
指向结构体数组第一个元素,其成员n=5,由于
指针自
指向结构体数组第一个元素,其成
是后缀,先取值,所以表达
为结构体数组第一个元素,其成员n=5, 先取值,表达式为
【解析】C 语言中标识符的命名规则是:标识符由字母、数字和下画线组成,并且第一个字符必须是字母或下画线。C 语言的标识符是区分大小写字母的。
5. 有以下程序:
程序的运行结果是( )。 A.21,18 B.81,81 C.21,21 D.18,18
【答案】A
,替换过程是,用宏调用提供的实参字符串,【解析】带参数的宏的调用格式:宏名(实参表)S 直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。(k+j+2•被置换成k+j+2*k+j+2,计算时先计算2*k,结果为21; S (j+k+2.被置换成j+k+2*j+k+2,计算时先计算2*j,结果为18。程序的运行结果是21,18,故A 选项正确。
6. 关于C 语言中数的表示,以下叙述中正确的是( )。
A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差 B. 只要在允许范围内整型和实型都能精确表示
C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差 D. 只有八进制表示的数才不会有误差 【答案】A
【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实
数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以表示任意一个整数。
7. 有以下程序:
$
程序的运行结果是( )。 A.7, 6, 5 B.5, 5, 5 C.7, 5, 5 D.5, 6, 5
【答案】B
【解析】条件表达式的优先级高于赋值表达式,
中先执行
给j ,再进行
8. 有以下程序:
为否,则执行
和
运算,当以前缀形式出现时,则
将
先赋
先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,
再进行加一或减一操作。
此时b 为5, 赋给i ,i 为5;
故最后输出的是5,5,5。
程序运行后的输出结果是( )。 A.b »B ,b ,A B.b ,B ,B ,A C.a ,B ,B ,a D.a ,B ,a ,B 【答案】A
【解析】fun ( )函数中的两个局部变量(:和山c 是一个字符指针变量,在程序中取出指针所指内存单元的值进行修改,对其进行的修改影响调用函数中对应的变量的值;而d 是一
相关内容
相关标签