2017年吉林大学地球科学学院654C语言考研冲刺密押题
● 摘要
一、选择题
1. 以下选项中关于程序模块化的叙述错误的是( )
A. 把程序分成若干相对独立的模块,可便于编码和调试
B. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块 C. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序 【答案】C
【解析】把一个大程序分解成若干相对独立的子程序,大大提高了程序编制的效率。软件编制人员在进行程序设计时,首先应当集中考虑主程序中的算法,写出主程序后再动手逐步完成子程序的调用。对于这些子程序也 可用调试主程序的同样方法逐步完成其下一层,就是自顶向下、逐步细化、模块化的程序设计方法。
2. 下列叙述中错误的是( )。
A.C 程序可以由一个或多个函数组成 B.C 程序可以由多个程序文件组成 C. 一个C 语言程序只能实现一种算法
D. —个C 函数可以单独作为一个C 程序文件存在 【答案】C
【解析】一个C 语言程序可以实现任意多种算法,并没有数量限制
3. 设有两行定义语句:
int scanf; float case;
则以下叙述正确的是( )。
A. 两行定义语句都不合法 B. 两行定义语句都合法 C. 第1行语句不合法 D. 第2行语句不合法 【答案】D
【解析】预定义标识符是系统已经有过定义的标识符,用户可以重新定义,可以作为变量名。scanf 为库函 数名,属于预定义标识符,可以被用户重定义,第一行语句合法。C 语言关键字是被保留的,不能用作其他用途 的一些标识符,它们在程序中都代表着固定的含义,用户不可重新定义。case 是选择结构switch 语句中的关键字,不可被用户重定义,第二行语句不合法。
4. 有以下程序:
程序运行后的输出结果是( )。 A.we
B.How are you! C.ay D.we!
【答案】A
【解析】for 语句循环体执行功能是,每次当给
赋值完成后,j 值加1,因此
的
和
5. C 语言编译程序的功能是( )。
A. 执行一个C 语言编写的源程序 B. 把C 源程序翻译成
码
C. 把C 源程序翻译成机器代码
D. 把C 源程序与系统提供的库函数组合成一个二进制执行文件 【答案】C
【解析】变异程序可以把用户按C 寓言规定的语法写出的语句翻译成二进制的机器指令,每条C 语句经过编译最终都将转换成二进制的机器指令。
6. 有以下程序:
元素为时,自动将
上一个单元内容赋值
分别赋值给
程序的运行结果是( )。
A.2,4,6,8,10,9,7,5, 3,1, B.10,8, 6, 4,2,1, 3,5,7,9, C.1,2,3,4, 5,6,7, 8,9,10, D.1,3,5,7,9,10,8,6, 4, 2, 【答案】A
【解析】程序的执行过程为:调用函数fun ,将数组c 地址与n 数值传入函数,此函数实现,将数组偶数位置元素从中间向前依次放入数组前半段,数组奇数位置元素从中间向后依次放入数组后半段,调用结果为
7. 以下叙述正确的是( )。
A.C 程序总是以main ( )作为程序执行的起始行 B.main ( )函数若不带参数,其后面的一对圆括号可省略 C. 函数体内的定义语句和可执行语句允许任意穿插出现 D.C 语言中的语句之间必须用分号作为分隔符 【答案】A
【解析】main ( )函数后面的括号告诉编译器这是一个函数,不可以省略,排除B 选项;在复合语句中, 不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除C 选项;C 语言中的某 些语句可以不用分号,例如if 语句,宏定义,故D 选项错误;答案为A 选项。
8. 有如下程序:
程序运行后的输出结果是( )。 A.12 B.14 C.20
之后依次输出。