次入栈的“”。直到表达式检查结束,第1次入栈的“”仍没有取出,因此,表达式中的括号并不匹配。本例是栈的重要应用之例。编译程序中常用栈来检查语句或程序中的括号是否匹配。在日常生活中,当人们进入一个复杂的大院时,需要多次进门,多次出门。每次出门,总是退出最近进门的院。在同一位置堆积货物时,总是先取最近刚放上的货。所以,栈的应用也是比较常见的。可以用
f这种日常生活中的例子来形象地理解栈的操作。参考答案33A34C试题35~36分析堆排序是一种基于35的排序方法,36不是堆。35A.计数B.插入C.选择D.归并36A.15,28,25,56,68,63,30B.15,28,25,30,68,63,56C.68,28,63,25,15,56,30D.68,56,39,63,28,25,15试题35~36分析堆排序是一种改进的选择排序方法。对于
个元素的关键字序列k1,k2,…,k
,当且仅当满足下列关系时称其为堆:
若将此序列对应的一维数组即以一维数组作为序列的存储结构看成是一个完全二叉树,则堆的含义表明,完全二叉树中所有非终端结点的值均不大于或不小于其左、右孩子结点的值。对于题目中给出的四个序列分别构造完全二叉树,如下图所示。其中,d中的结点56,即不满足堆的定义。参考答案35C36D
试题37~38若循环体执行的次数为m,则在dowhile型循环中,循环条件的执行次数为37,在whiledo型循环中,判断循环条件的次数为38。37A.m1B.mC.m1D.2m38A.mlB.mC.m1D.2m试题37~38分析Whiledo型循环的含义如下图a所示。在这种循环中,是先判断循环条件再决定是否执行循环体,循环条件菱形框的运算总是比循环体多一次。因此,若循环体的执行次数为m,则循环条件的执行次数为m1。
Dowhile型循环的含义如上图b所示。在这种循环中,先执行循环体再判断循环条件以决定是否进行下一次的循环,循环条件菱形框的运算和循环体执行的次数相同。参考答案37B38C试题39
f程序语言的语句从功能上大体可分为39两大类。39A.声明语句和可执行语句B.简单语句和复杂语句C.顺序语句和判定语句D.程序语句和注释语句试题39分析程序中注释的作用是为了方便人对代码的理解和维护而引入的,它对程序的功能没有影响。在结构化程序中,程序的基本逻辑结构可分为顺序、选择和重复三种,程序语言提供相应的语句及语句的组织方式表达这三种结构。声明语句对程序需要进行处理的数据进行声明。可执行语句用于表达对数据的运算处理。因此,从功能上程序语言的语句大r