2017年宁波大学计算机软件基础(C程序设计+数据结构)之C程序设计考研复试核心题库
● 摘要
一、选择题
1. 以下叙述中错误的是( )
A. 书写风格良好的程序执行效率高 B. 书写风格良好的程序易读性好 C.C 程序可以在一行上写多条语句 D.C 程序允许将一条语句分写在多行上 【答案】A
【解析】书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,但书写风格会深刻地影响软件的质量和可维护性,良好的程序设计 C 语言程序书写规范中,风格可以使程序结构清晰合理。良好的书写习惯中一般一行写一条语句, 这样方便阅读,但是将一行写多条语句或者将 一条语句分写在多行上是符合C 程序编写规则的。
2. 有如下程序:
程序运行后的输出结果是( )。 A.2, B.2, 3, C.3, D.1,
【答案】A
【解析】在输出函数中,调用了
函数。
函数作用是定义一个静态变量
对
变量init 进行叠加形参data 的值,并将结果作为函数的返回值。在main ( )函数中,实参i=l传递给sum ( )函数的形参data ,因此输出为2。
3. 以下叙述中正确的是( )。
A. 在C 语言程序中,main 函数必须放在其他函数的最前面 B. 每个后缀为.C 的C 语言源程序都可以单独进行编译 C. 在C 语言程序中,只有main 函数才可以单独进行编译 D. 每个后缀为.C 的C 语言源程序都应该包含一个main 函数 【答案】B
main 是主函数的起始行,【解析】每一个可执行的C 程序都必须有一个且只能有一个主函数。后缀名为.C 的C 语言源程序都可以单独进行编译。
4. 以下叙述中错误的是( )。
A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B.C 程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件 C. 用C 语言编写的程序称为源程序,它以D.C 语言源程序经编译后生成后缀为【答案】A
【解析】A 项错误,注释语句不会被翻译成二进制的机器指令。C 源程序经过C 编译程序编,然后由“连接程序”(Link )的软件,译之后生成后缀 为.OBJ 的二进制文件(称为目标文件)
把OBJ 文件与各种库函数连接 起来生成一个后缀为.EXE 的可执行文件。
5. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 ( )。
A.C 语言程序仅可以编译执行 B.C 语言程序仅可以解释执行
C.C 语言程序既可以编译执行,又可以解释执行 D. 以上说法都不对 【答案】A
【解析】编译型语言编写的程序在执行之前,需要一个专门的编译过程把程序编译成机器语言的文件,比 如.exe 文件,再次运行时便不需要重新翻译,直接使用编译的结果便可以了,因为翻译只做了一次,运行时不需 要翻译,所以编译型语言的程序执行效率高。解释则不同,解释型语言的程序不需要编译,在运行程序的时候才 翻译,解释型语言每执行一次便需要翻译一次,效率低。C 语言程序属于编译执行类型。
6. 若有以下定义和语句:
则输出结果是( )。 A.5 5 B.10 5 C.10 7
代码形式存放在一个文本文件中
的目标程序
D.5 8 【答案】A
【解析】strlen 函数是测试字符串长度的函数,求字符串的实际字符个数,不包括字符内,
在字符义字符
,
7. 有以下函数
以下关于aaa 函数功能叙述正确的是( )。 A. 求字符串S 的长度 B. 比较两个串的大小 C. 将串s 复制到串t D. 求字符串8所占字节数 【答案】A
【解析】aaa ( )函数中,首先定义了一个字符指针t 指向形参s ,然后通过一个while 循环让指针t 不断递 增,直到t 指向字符串结束标志处。当t 指向结束标志处时,由于后缀++运算符的原因,它还会被再递增1,此 时t 指向字符串结束符语句让它回到结束标志处。最后返回束符,故返回值为字符串的长度值。
8. 有以下程序:
程序运行后的输出结果是( )。 A.3,5 B.7,7 C.5,7
在所以
之后的所有字符均不计入长度中。所以的含义是一个字符【程序有错,
应为
而以】
开头的字符序列是转
所以s2
所指向的内容实际上是
后面一个单元,所以接下来的
因为s 还是指向字符串第1个字符处,而t 指向字符串结