C语言

3月计算机二级《C语言》冲刺提分试题

时间:2024-10-18 04:52:53 C语言 我要投稿
  • 相关推荐

2017年3月计算机二级《C语言》冲刺提分试题

  距离3月份计算机二级考试还有一个多月的时间,不知道同学们都准备得怎么样呢?以下是百分网小编搜索整理的一份2017年3月计算机二级《C语言》冲刺提分试题,供参考练习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!

2017年3月计算机二级《C语言》冲刺提分试题

  一、选择题

  1). 以下叙述中错误的是( )

  A.预处理命令行的最后不能以分号表示结束

  B.C程序对预处理命令行的处理是在程序执行的过程中进行的

  C.#define MAX 是合法的宏定义命令行

  D.在程序中凡是以″#″开始的语句行都是预处理命令行

  正确答案:B

  答案解析:预处理命令行是以″#″开始的语句,预处理命令行的最后不能以分号表示结束,预处理命令行。其中宏定义的字符替换的定义格式为:# define 标识符 字符串,预处理命令行是在系统对源程序进行编译之前进行处理的,不是在程序执行的过程中。

  2). 按照″后进先出″原则组织数据的数据结构是( )

  A.队列

  B.栈

  C.双向链表

  D.二叉树

  正确答案:B

  答案解析:栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后插入的元素,也是最先被删除的元素;栈底元素总是最先插入的元素,也是最后才能被删除的元素。即栈是按照″后进先出″(Last In First Out,简称LIFO)或″先进后出″(First In Last Out,简称FILO)的原则组织数据的。因此,栈也称为″后进先出表″或″先进后出″表。

  3). 以下程序段完全正确的是( )

  A.int k, *p=&k; scanf(″%d″, p);

  B.int *p; scanf(″%d″, p);

  C.int *p; scanf(″%d″, &p);

  D.int k, *p; *p=&k; scanf(″%d″, p);

  正确答案:A

  答案解析:选项B没有对指针进行初始化,无效指针。选项C错在没有对指针进行初始化,无效指针,并且在scanf(″%d″,&p)中无需再进行取地址操作。选项D,语句*p=&k;的左端*p是指针所指内存空间的值,&k是地址,应为p=&k。

  4). 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )

  A.一对一

  B.一对多

  C.多对一

  D.多对多

  正确答案:B

  答案解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。

  5). 软件设计中划分模块的一个准则是( )

  A.低内聚低耦合

  B.高内聚低耦合

  C.低内聚高耦合

  D.高内聚高耦合

  正确答案:B

  答案解析:耦合性与内聚性是模块独立性的两个定性标准。一般一个较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

  6). 当把4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。

  A.k%2

  B.k%2==1

  C.(k%2) !=0

  D.!k%2==1

  正确答案:A

  答案解析:整数k对2求余数的两个结果只能是0和1,所以选项A表示k除以2的余数,其结果是0或1。在选项B、C和D中包括算术求余运算符″%″,关系等于运算符 ″==″和关系不等于运算符″!=″以及逻辑非运算符″!″。而逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑″非″)、算术运算符、关系运算符、&&(逻辑″与″)、||(逻辑″或″)、赋值运算符。选项B含义是判断表达式k%2的结果是否等于1、选项C的含义是判断表达式k%2的结果是否不等于0,选项D含义是判断表达式!k%2的结果是否等于1,所以选项B、C和D的含义相同。

  二、程序填空题

  下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[o]中,接着把a_所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

  例如,若a所指数组中的数据最初排列为:9、1…4 2 3、6、5、8、7;则按规则移动后,数据排列为:1、9.2、8:3、7、4、6、5。形参13.中存放a所指数组中数据的个数。‘

  规定fum函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。请在程序的下划线处填人正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。不得增行或删行,也不得更改程序的结构!

  三、程序修改题

  下列给定程序中函数fun的功能是。用递归算法计算斐波拉契数列中第n项的值。从第l项起,斐波拉契数列为:1、1、2、3、5、8、l3、21、……

  例如,若给n输入7,则该项的斐波拉契数值为l3。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODll.C中,不得增行或删行,也不得更改程序的结构。

  四、程序设计题

  某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

  例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。注意:部分源程序在文件PROGl.C中。

  请勿改动主函数main和其他函数中的任何内容,仅在函数fIm的花括号中填入你编写的若干语句。


参考答案与解析

  二、程序填空题

  【参考答案】(1)a[i](2)a[j](3)a[j]

  【考点分析】

  本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,财不执行下面的语句。

  【解题思路】

  填空1:for循环语句循环体中将数组元素a[i]赋值给变量max和变量rain。

  填空2:通过一次for循环,找到数组中的最大值,if语句的条件表达式是mu

  填空3:同理,此处if语句的`条件表达式是min>a[j]。

  【解题宝典】

  求最大值或者最小值的题目,一般都是假设一个元素最大或最小,然后通过if条件语句将该元素和其他元素进行比较操作来完成。

  三、程序修改题

  【参考答案】

  去掉分号

  (2Case l:caBe

  2:return l;

  【考点分析】

  本题考查:switch语句,其一般形式为switch(表达式)

  cage常量表达式l:语句l;case常量表达式2:语句2;

  cm常量表达式n:语句n;default:语句n+1;

  其中switch(表达式)后不应该带有“;”,同时case语句常量后应该是“:”。

  【解题思路】

  C语言中,switch语句之后不能有分号,并且case语句常量后应用的是冒号。

  四、程序设计题

  【参考答案】

  void fun(STREC*a)

  inti:

  a一>ave=0.0:

  fbr(i=0;iave=a—>ave+·一>s[i];/*求各门成绩的总和}/

  a->ave/=N;/}求平均分*/}

  【考点分析】

  本题考查:结构体类型成员运算,指向结构体类型的指针变量作函数参数。

  【解题思路】

  本题考查自定义形参的相关知识点,程序流程是这样的:在如n()函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参STREC·a,此时,引用成员的方式可以使用指向运算符,即a一>ave和a—>s[i],当然也可用(*a),ave和(*a).S[i]。

【3月计算机二级《C语言》冲刺提分试题】相关文章:

全国计算机二级C语言考试临考提分试题(2017年)09-29

2024计算机二级C语言备考提分题01-02

2017计算机二级C语言提分训练题10-14

计算机二级《C语言》考试冲刺试题及答案202410-30

2017计算机二级C语言提分训练题及答案09-14

2017年3月计算机二级C语言考试题及答案07-25

9月计算机考试二级C语言模拟试题11-01

2016年全国计算机二级《C语言》冲刺试题06-12

2024年3月计算机二级《C语言》自测试题02-29

2016年9月计算机二级C语言基础试题及答案08-17