2018年武汉大学测绘遥感信息工程国家重点实验室968C语言程序设计[专硕]之C程序设计考研核心题库
● 摘要
一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。
A.
B.
C.
D.
【答案】A
【解析】本题执行过程为:i=l, 1%2=1,if 条件成立,输出*与#; i=2, 2%2=0, if 条件不成立,
i=3,3%2=1,执行continue 结束本次循环,执行下一次循环;输出*与#; i=4, 4%2=0,执行continue ,
开始下一次循环;i=5,5%2=1,输出*与#; i=6退出循环。最后输出$,A 项正确。
2. 关于C 语言中数的表示,以下叙述中正确的是( )。
A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差
B. 只要在允许范围内整型和实型都能精确表示
C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差
D. 只有八进制表示的数才不会有误差
【答案】A
【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以 表示任意一个整数。
3. 若有定义语句:
以下叙述中错误的是( )。
A. 定义语句中的p 只能存放double 类型变量的地址
B. 定义语句中的*号是一个说明符
C. 定义语句中的*号是一个间址运算符
D. 定义语句中*p=&a把变量a 的地址作为初值赋给指针变量p
【答案】C
【解析】C 项错误,只有取指针变量的值时,星号*才是间址运算符,引用指针指向的存储单元。A 项正确, p 是double 类型的指针,只能存放double 类型的地址;B 项正确,定义指针变量时,星号是一个说明符,用来说明该变量是指针变量;D 项正确,
用来求出double 变量a 的地址赋给指针变量p ,而使p 指向a 。
4. 有以下程序:
程序运行后的输出结果是( )。
A.1256
B.5634
C.5612
D.3456
【答案】B
【解析】第一次funl 传递参数5, 6,输出5, 6, 第二次调用fun2,fun2的作用是将全局变量a 变为3, b 变为4, 故输出3, 4。
5. 有以下程序
}
是求地址运算符,
程序的输出结果是( )。
A.8
B.5
C.7
D.6
【答案】D
【解析】C 语言中的标识符区分大小写,pad 只实现了一次自增操作,结果输出6。
6. 以下叙述中错误的是( )。
A.C 语言编写的函数源程序,其文件名后缀可以是.C
B.C 语言编写的函数都可以作为一个独立的源程序文件
C.C 语言编写的每个函数都可以进行独立的编译并执行
D. —个C 语言程序只能有一个主函数
【答案】C
【解析】C 源程序经过C 编译程序编译之后生成一个后缀为.OBJ 的二进制文件(称为目标文件),然后由称为“连接程序”(Link )的软件,把此.OBJ 文件与C 语言提供的各种库函数连接起来生成一个后缀为.EXE 的可执行文件。只有含有main 函数的经过编译链接才能执行。
7. 有以下程序:
程序的运行结果是( )。
【答案】A
【解析】程序执行过程为:调用f 函数,将结构体a 与b 的地址作为参数传入函数,函数中指针a 指向结构体a ,指针b 指向结构体b ,将指针a 指向的结构体a 赋给指针b 指向的结构体b ,结构体b 内容被修改。输出b