2017年财政部财政科学研究所程序设计基础复试实战预测五套卷
● 摘要
一、选择题
1. 有如下程序:
程序运行后的输出结果是( )。
【答案】D
【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执行过程为:调用函数
型1,然后返回1并输出,故D 选项正确。
2. 下列叙述中正确的是( )。
A. 可以用关系运算符比较字符串的大小 B. 空字符串不占用内存,其内存空间大小是0 C. 两个连续的单引号是合法的字符常量 D. 两个连续的双引号是合法的字符串常量 【答案】D
【解析】A 项错误,关系运算符不能比较字符串大小,可以用函数库中的字符串比较函数来比较字符串的大小;B 项错误,空字符串占用一个字节的内存;C 项错误,字符常量是用单引号把一个字符括起来;D 项正确,两个连续的双引号是一个字符串常量,称为空串。
3. 若有以下程序
第 2 页,共 25 页
,(double 类型)(int )强制转换将转换成int 类
则程序的输出结果是( )。
【答案】D 【解析】初始化时中的数据
:
指向同一块内存空间。
执行
内存空间的值也没有发生变化,函数f 返回后
4. 有以下程序:
程序运行后的输出结果是( )。 A.32 B.12 C.21 D.22
【答案】C
第 3 页,共 25 页
执行b=a,则b
在赋值过程中实现的是浅拷
贝函数f 中形参p 和b.name 指向同一块内存
的指向没有变化,指向的
中的值依然是Zhao 。
中的数据_
空间,在f 函数内部,p 又重新指向另外一块分配的内存空间,而
【解析】C 语言中函数参数传递有两种方式传值传递和传址传递,传址传递对应的变量在被调用函数中修改对应的参数的值,会影响调用函数中对应的变量的值,传值传递对应的变量在被调用函数中修改不会改变调用函 数中对应的变量的值。本题中采用的传值传递,fun 函数体内输出p 的值为2, 并没有影响到fun 函数外a 的值,a 的值在main 函数内依然为1。
5. 有以下程序:
程序运行后的输出结果是( )。
【答案】D
,在【解析】D 项正确,main 函数中,首先为结构变量a ,b 初始化,再调用函数f ( )f ( )函数中,使用结构体变量a 对指针b 指向的结构体进行赋值,使得指针b 指向的结构体成员依次赋值为结构体a 的成员,然后依次输出指针b 指向的结构体成员的值;由于f 函数形参b 为指针,所以指针b 指向的值被修改为a 的同时,main 函数中的实参b 的值也被修改成a 。
6. 以下叙述正确的是( )。
A.C 语言程序是由过程和函数组成的
B.C 语言函数可以嵌套调用,例如:fun (fun (x ) C.C 语言函数不可以单独编译
D.C 语言中除了main 函数,其他函数不可以作为单独文件形式存在 【答案】B
【解析】一个函数的返回值可以作为参数然后传给另一个函数,因此函数是可以嵌套调用的。A 项错误,C 语言程序只有函数构成,没有过程;C 项错误,编译系统的任务在于检查语法错误,只要符合语法规则的C 程序都可以通过编译,就算是单独的函数也可以;D 项错误,在C 语言中
第 4 页,共 25 页