A. 2,3,1
B. 2,3,2
C. 2,3,3
D. 2,2,1
解析:【解析】考查逗号表达式。注意区分,z=x++是先将x的值赋给z,在令x自增;z=++x是先将x自增,再将自增后的值赋给z;而无论是++x还是x++,都会完成x自增的运算。对于表达式“z=x++,y++,++y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(z=x++),(y++),(++y);”。然后从左向右先计算表达式z=x++,后缀自增运算先进行其他运算,再执行自增运算,所以z的值为1,x的值为2,再计算逗号表达式第二个表达式y++,此时y的值为1,y++的值为2, 后计算第三个表达式++y,y的值为3。答案选择A选项。
A. 程序的效率第一,清晰第二
B. 程序的可读性好
C. 程序中要有必要的注释
D. 输入数据前要有提示信息
解析:【解析】“清晰第一,效率第二”是当今主导的程序设计风格。对程序的要求不仅是能够运行正常,还要便于调试和维护,所以程序要具有良好的可读性,语句结构应该简单直接,这有利于程序的开发与维护。答案选择A选项。
A. 可随机访问
B. 需要连续的存储空间
C. 不便于插入和删除
D. 逻辑相邻的数据物理位置上不相邻
解析:【解析】在计算机中用一组地址连续的存储单元依次存储线性表的各个数据元素称为顺序存储,其中逻辑上相邻的元素在物理位置上也相邻。顺序存储结构中可以随机访问元素,但插入和删除需要移动大量数据,耗费资源。答案选择D选项。
A. 算法在执行过程中所需要的计算机存储空间
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的临时工作单元数
解析:【解析】算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。包括算法程序所占空间,输入的初始数据所占空间和执行过程中所需要的额外空间。答案选择A选项。
A. 定义函数
B. 定义常量和外部变量
C. 三种基本结构语句
D. 丰富的数据类型
解析:【解析】
A. 使用三种基本结构就可以实现任何复杂算法
B. 只要程序包含了三种基本结构中的任意一种,就是结构化程序
C. 程序语法错误要在运行时才能发现
D. C语言程序不需要包含main()函数
解析:【解析】结构化程序主要由循环结构、选择结构、顺序结构三种基本控制结构组成,它们组成的算法结构可以解决任何复杂的问题,A项正确。结构化程序设计是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,而不是说包含了三种基本结构就是结构化程序,B项错误。程序语法错误是在编译过程中发现的,一般来说编译器只能检查语法和最简单的语义错误,而不检查程序的逻辑错误,C项错误。
A. 在链表中,如果每个结点有两个指针域,则该链表一定是非线性结构
B. 在链表中,如果有两个结点的同一个指针域的值相等,则该链表
C. 在链表中,如果每个结点有两个指针域,则该链表不一定是线性结构
D. 在链表中,如果有两个结点的同一个指针域的值相等,则该链表
解析:【解析】非空的线性结构是一个满足:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件,A项错误,双向链表中结点的两个指针域分别指向其前后结点,它是线性结构。答案选择A选项。
A. if((a>b) && (b>c)) k=1;else k=0;
B. if((a>b)ǁ(b>c)) k=1;else k=0;
C. if(a<=b) k=0;else if(b<=c) k=1;
D. if(a>b) k=1;else if(b>c) k=1;else k=0;
解析:【解析】的值为真时,结果为表达式2的值;当表达式1的值为假时,结果为表达式3的值。首先判断a、b的关系:①如果a>b,执行语句(b>c?
A. 判断m是否能被5或者7整除
B. 判断m是否能被5和7整除
C. 判断m被5或者7整除是否余1
D. 判断m被5和7整除是否都余1
解析:【解析】
A. 二叉链表
B. 循环链表
C. 双向链表
D. 带链的栈
解析:【解析】根结点;②每一个结点最多有一个前件,也最多有一个后件。不是线性结构的就是非线性结构。二叉链表是二叉树的存储结构,每个结点都可以有两个后继结点,是非线性结构。BCD三项均满足线性结构的要求。答案选择A选项。