当前位置:问答库>考研试题

2017年上海市培养单位上海生命科学研究院864程序设计之C程序设计考研题库

  摘要

一、选择题

1. 以下叙述中正确的是( )。

A. 在C 语言程序中,main 函数必须放在其他函数的最前面 B. 每个后缀为.C 的C 语言源程序都可以单独进行编译 C. 在C 语言程序中,只有main 函数才可以单独进行编译 D. 每个后缀为.C 的C 语言源程序都应该包含一个main 函数 【答案】B

main 是主函数的起始行,【解析】每一个可执行的C 程序都必须有一个且只能有一个主函数。后缀名为.C 的C 语言源程序都可以单独进行编译。

2. 以下选项中,不能对主函数中变量i 和j 的值进行交换的程序是( )。

}

}

}

【答案】A

【解析】选项A ,定义了一个临时指针,实现两个指针地址的交换,而传入了参数是二个指针的副本,即a 、b 地址的副本,故交换了副本地址,对a 、b 无影响,故选择A 选项。B 选项调用函数传人的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型变量,能实现i 与j 值交换。C 选项调用函数传入的是i 与j 地址,函数体内交换是地址内元素,临时变量为整型指针,且已正确开辟内存,能实现i 与j 值交换。D 选项与B 选项相同,能实现i 与j 值交换。

3. 有如下程序:

程序运行后的输出结果是( )。

【答案】D

【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执行过程为:调用函数

型1,然后返回1并输出,故D 选项正确。

,(double 类型)(int )强制转换将转换成int 类

4. 有以下程序:

程序运行后的输出结果是( )。 A.48 B.34 C.35 D.45

【答案】A

【解析】函数fun 中定义了一个静态局部变量num ,在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。第一次调用fun 时,故最终【程序有错,两个for 中的均为

5. 表达式3.6-5/2+1.2+5%2的值是( )。

A.4.8 B.3.8 C.3.3 D.4.3

【答案】B 数部分被省略,5/2=2。

6. 以下关于return 语句的叙述中正确的是( )。

A. —个自定义函数中必须有一条return 语句

B. —个自定义函数中可以根据不同情况设置多条return 语句 C. 定义成viod 类型的函数中可以有带返回值的return 语句 D. 没有return 语句的自定义函数在执行结束时不能返回到调用处 【答案】B

【解析】A 项错误,当函数的返回值为void 类型时,函数中可以不含有return 语句;C 项错误,定义成void 类型的函数不可以有带返回值的return 语句,但可以有不带返回值的return 语句;D 项错误,无论函数是否带有 return 语句,当函数执行完后都会返回到调用处。

7 设fp 为指向某二进制文件的指针 ,,.且已读到此文件末尾则函数的返回值为( )。

A. 非0值

C.0

此处考查的是静

态变量,即第一次调用完之后的数值并不会被释放,因此第二次调用时num 仍保持上次的值4,

【解析】3.6--5/2+1.2+5%2=3.6-2+1.2+l=3.8;需要注意的是,两个整数相除仍然得到整数,小