C++等级考试第一套题遇到的问题

本文介绍了C++等级考试中的一些常见问题,包括程序流程图的控制流、算法的有穷性、排序算法的比较次数、栈的特性、数据库设计阶段的逻辑设计、选课系统的表关系、C++中的常量与指针操作、运算符重载、内联函数、对象的初始化与构造函数的调用等知识点,帮助考生理解和掌握考试重点。

1.程序流程图中带有箭头的线段表示的是( C )。

A)  图元关系

B)  数据流

C)  控制流

D)  调用关系

 

解析:程序流程图描述 的是控制流的情况,有向线段表示控制流从一个处理走到下一个处理.

          图元关系:图元指的是绘图界面的实体,包括点、线、面等(entity)

          数据流:出现于数据流程图,主要用于详细设计。

          调用关系:

 

 

5.算法的有穷性是指(A  )。

A)  算法程序的运行时间是有限的

B)  算法程序所处理的数据量是有限的

C)  算法程序的长度是有限的

D)  算法只能被有限的用户使用

 

有穷性是时间的有限

 

6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( D )。

A)  快速排序

B)  冒泡排序

C)  直接插入排序

D)  堆排序

快速排序:快速排序是对冒泡排序的一种改进.基本思想是:通过一趟排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后在按此方法进行快速排序,整个排序过程可以递归进行,一次达到真个数据变成有序序列.

冒泡排序:相邻的两个数字比较,然后交换位置

直接插入排序:

每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。

第一趟比较前两个数,然后把第二个数按大小插入到有序表中; 第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表中;依次进行下去,进行了(n-1)趟扫描以后就完成了整个排序过程.我的理解就是每次拿出一个数字来放到新的表中.

堆排法:利用堆积树这种数据结构所设计的一种 排序算法,利用数组的特点快速定位指定索引的元素.

 

7.下列关于栈的叙述正确的是( B )。

A)  栈按"先进先出"组织数据

B)  栈按"先进后出"组织数据

C)  只能在栈底插入数据

D)  不能删除数据

 

栈:只允许在表的一端插入和删除的线性表,允许插入和删除的一端成为栈顶,栈是后进先出的线性表

堆:动态存储区即堆区。

 

8.在数据库设计中,将E-R图转换成关系数据模型的过程属于( C )。

A)  需求分析阶段

B)  概念设计阶段

C)  逻辑设计阶段

D)  物理设计阶段

 

需求分析阶段:这一阶段是面向客户的,在这一阶段确定做什么,达到什么效果!是对客户的业务环境进行分析,确定在业务环境下系统要做什么。

概念设计阶段:软件开发的具体功能的确定,由粗到精,由模糊到清晰,抽象到具体的过程。

逻辑设计阶段:将概念模型转换为具体的数据库系统支持的数据模型。将ER图向关系模式转化。

 

10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( C )。

A)  课号,成绩

B)  学号,成绩

C)  学号,课号

D)  学号,姓名,成绩

 

学号是学生表的主键,课号是课程表的主键,选课表的关键字就应该是与前两个表直接联系且唯一定义的学号和课号!

 

11.下列语句中,错误的是(B)。

A)  const int buffer=256;

B)  const int temp;

C)  const double *point;

D)  const double *rt=new double(5.5);

const限定变量 不允许被改变,temp是全局变量,作用域为文件域,所以是一定会被改变的,所以const修饰是错误的。

*point中的“*point”是指针变量

12.有如下程序:

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值