A、 项正确,程序设计语言仅仅使用顺序、选择和循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
B、 项错误,
C、 语言程序必须要定义main()函数;C项错误,结构化程序设计是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,而不是说包含了三种基本结构就是结构化程序;
D、 项错误,程序中的语法错误在编译时能显现。答案选择A选项。第2章 C程序设计的初步知识
答案:A
解析:【解析】
A、 项正确,程序设计语言仅仅使用顺序、选择和循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
B、 项错误,
C、 语言程序必须要定义main()函数;C项错误,结构化程序设计是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,而不是说包含了三种基本结构就是结构化程序;
D、 项错误,程序中的语法错误在编译时能显现。答案选择A选项。第2章 C程序设计的初步知识
答案:A
解析:【解析】
A. 双向链表
B. 循环链表
C. 二叉链表
D. 循环队列
解析:【解析】线性结构要满足两个条件:①有且仅有一个根结点;②每个结点 多有一个前驱,也 多有一个后继。线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构,属于线性结构,只是存储结构不连续;循环队列是一个头结点和尾结点互为前驱结点和后继结点的特殊的队列,属于线性结构;二叉链表是二叉树的链式存储结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义,所以二叉链表是非线性结构。答案选择C选项。
A. 1,2
B. 0,2
C. 1,3
D. 2,3
解析:【解析】while(a++)是先判定a是否等于0,如果a等于0,跳出循环;否则进入循环;但是不管判定是否成功,判定结束后都要执行a++操作。第一次循环,a等于-2,满足条件,执行a++,++b,a变成-1,b变成1;第二次循环,a等于-1,满足条件,执行a++,++b,a变成0,b变成2;第三次循环,a等于0,不满足条件,执行a++,a变成1,b仍然是2。答案选择A选项。
A. ******
B. ****
C. **
D. *
解析:【解析】for语句在没有"{}"说明时仅仅是跟随其后的第一条语句,即另外一个for语句,第二个for循环有个";"结束,所以整个双重循环将被视为空语句。然后执行下一个顺序语句,即输出语句,只输出一个"*"。答案选择D选项。
A. 10,9
B. 11,10
C. 010,9
D. 9,10
解析:【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010,即十进制的8,y=10,++x先自加后取值,输出
A. 对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D. 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
解析:【解析】对于顺序查找,在最坏的情况下查找的是链表的最后一个元素,或者查找的元素不在表中,此时需要比较n次,A项正确。对分查找只适用于顺序存储的有序表,对于长度为n的有序线性表,最坏情况只需比较log2n次,BCD三项错误。答案选择A选项。
A. 需求分析
B. 软件测试
C. 软件设计
D. 系统维护
解析:【解析】软件生命周期各阶段的主要任务是:①问题定义;②可行性研究与计划制定;③需求分析;④软件设计;⑤软件实现;⑥软件测试;⑦运行维护。需求分析就是要对待开发软件提出的需求进行分析并给出详细定义,即确定软件系统要做什么。答案选择A选项。
A. 3,1,2,0,0,
B. 3,5,10,4,0,
C. 3,3,3,3,0,
D. 3,2,2,2,0,
解析:【解析】在对数组进行初始化时,如果在声明数组时给出了长度,但没有给所有的元素赋予初始值,那么C语言将自动对余下的元素赋初值0,则array={3,5,10,4,0}。按位与运算“&”,当参加运算的两个二进制数的对应位都为1,则该位的结果为1,否则为0。将数组元素与3按位与,即
A. 12
B. 11
C. 10
D. 9
解析:【解析】x=011表示按照八进制赋值,则十进制数为9,所以输出++x的结果为
A. 算法程序的长度
B. 执行算法所需要的基本运算次数
C. 执行算法所需要的所有运算次数
D. 执行算法所需要的时间
解析:【解析】算法的时间复杂度是指执行算法所需要的计算工作量,即算法所执行的基本运算次数来度量的。答案选择B选项。