国家二级C语言公共基础知识要点及历年真题
全国计算机二级C语言公共基础知识+习题!
考试内容一、基本数据结构与算法1.算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)。
2.数据结构的定义;数据的逻辑结构与存储结构;数据结构的图形表示;线性结构与非线性结构的概念。
3.线性表的定义;线性表的顺序存储结构及其插入与删除运算。
4.栈和队列的定义;栈和队列的顺序存储结构及其基本运算。
5.线性单链表、双向链表与循环链表的结构及其基本运算。
6.树的基本概念;二叉树的定义及其存储结构;二叉树的前序、中序和后序遍历。
7.顺序查找与二分法查找算法;基本排序算法(交换类排序,选择类排序,插入类排序)。
二、程序设计基础1.程序设计方法与风格。
2.结构化程序设计。
3.面向对象的程序设计方法,对象,方法,属性及继承与多态性。
三、软件工程基础1.软件工程基本概念,软件生命周期概念,软件工具与软件开发环境。
2.结构化分析方法,数据流图,数据字典,软件需求规格说明书。
3.结构化设计方法,总体设计与详细设计。
4.软件测试的方法,白盒测试与黑盒测试,测试用例设计,软件测试的实施,单元测试、集成测试和系统测试。
5.程序的调试,静态调试与动态调试。
四、数据库设计基础1.数据库的基本概念:数据库,数据库管理系统,数据库系统。
2.数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。
3.关系代数运算,包括集合运算及选择、投影、连接运算,数据库规范化理论。
4.数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。
第一章数据结构与算法1.1 算法算法:是指解题方案的准确而完整的描述。
算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
计算机二级c语言试题及答案详解
计算机二级c语言试题及答案详解一、基础知识部分1. 下列关于C语言的描述中,错误的是:A) C语言是一种高级语言B) C语言是一种编译型语言C) C语言是一种面向对象语言D) C语言是一种结构化语言答案:C) C语言是一种面向对象语言解析:C语言是一种过程式语言,不是面向对象语言。
2. 下列关于C语言标识符的说法中,错误的是:A) 标识符由字母、数字和下划线组成B) 标识符可以以字母或下划线开头C) 标识符区分大小写D) 标识符不能与C语言的关键字相同答案:C) 标识符区分大小写解析:C语言标识符是不区分大小写的。
3. 以下哪项不是C语言关键字?A) ifB) whileC) varD) for答案:C) var解析:C语言中没有关键字var,正确的关键字是int。
4. 下列代码中,哪个选项是合法的C语言注释?A) /* This is a comment */B) // This is a commentC) # This is a commentD) <!-- This is a comment -->答案:A) /* This is a comment */解析:C语言的注释格式是/* ... */。
二、程序设计部分请写一段C语言程序,实现将两个数相加并输出结果的功能。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```解析:以上代码实现了从用户输入两个整数,然后将其相加并输出结果的功能。
三、综合应用部分下列代码中,输出的结果是多少?```c#include <stdio.h>int main() {int a = 5, b = 2;float result;result = a / b;printf("结果为:%f\n", result);return 0;}```答案:结果为2.000000解析:由于a和b都是整数类型,除法运算得到的结果也是整数类型。
全国计算机二级C语言公共基础知识题
20道公共基础知识题1.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图2.结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性3.为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强4.需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能5.算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序7.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序8.将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域9.有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交10.下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字11.程序流程图中带有箭头的线段表示的是A)图元关系B)数据流C)控制流D)调用关系12.下面不属于软件设计原则的是A)抽象B)模块化C)自底向上D)信息隐蔽13.下列选项中,不属于模块间耦合的是A)数据耦合B)标记耦合C)异构耦合D)公共耦合14.下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析15.算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数16.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是A)堆排序B)直接插入排序C)快速排序D)B)和C)17.栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是A)ABCED B)DCBEA C)DBCEA D)CDABE18.数据库设计包括两个方面的设计内容,它们是A)概念设计和逻辑设计B)模式设计和内模式设计C)内模式设计和物理设计D)结构特性设计和行为特性设计19.关系表中的每一横行称为一个A)元组B)字段C)属性D)码20.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为A)课号,成绩B)学号,成绩C)学号,课号D)学号,姓名,成绩答案:12345678910B D B D A D B B D D11121314151617181920C C CD C B B A A C。
二级C语言公共基础复习资料(精典)
二级公共基础知识总结第一章数据结构与算法1.1 算法算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。
算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
(4种)算法的控制结构算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法时间复杂度是指执行算法所需要的计算工作量。
算法空间复杂度是指执行这个算法所需要的内存空间。
1.2 数据结构的基本基本概念数据结构研究的三个方面:(1(2(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合。
数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构。
1.3 线性表及其顺序存储结构非空线性表的结构特征:(1)且只有一个根结点a1,它无前件;(2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。
结点个数nn=0线性表的顺序存储结构具有以下两个基本特点:(1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。
往年全国计算机二级c语言试题及答案
往年全国计算机二级c语言试题及答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的变量名?A. 123abcB. intC. _123abcD. 3d答案:C2. 若有以下代码:```cint a = 10, b = 20;printf("%d", a = b = 20);```则输出结果为:A. 10B. 20C. 30D. 40答案:B3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A4. 以下关于C语言中数组的描述,正确的是:A. 数组的大小在运行时可以改变B. 数组的大小在编译时确定C. 数组可以存储不同类型的数据D. 数组的索引从1开始答案:B5. 以下哪个运算符不能用于位运算?A. &B. |C. ^D. %答案:D6. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. goto答案:D8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A9. 以下哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. /* 这是注释D. //这是注释答案:A10. 在C语言中,以下哪个关键字用于声明函数?A. functionB. defC. voidD. int答案:C二、填空题(每题2分,共20分)1. 在C语言中,整型变量占用的字节数是______。
答案:42. 以下代码的输出结果是______。
```c#include <stdio.h>int main() {int i = 5;printf("%d", i++);return 0;}```答案:53. 以下代码的输出结果是______。
国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析)
国家二级(C语言)机试历年真题试卷汇编1(题后含答案及解析) 题型有:1. 选择题选择题1.下列叙述中正确的是( )。
【10年9月】A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.上述3种说法都不对正确答案:B解析:线性表的存储分为顺序存储和链式存储。
在顺序存储中,所有元素所占的存储空间是连续的,各数据元素在存储空间中是按逻辑顺序依次存放的。
所以每个元素只存储其值就可以了,而在链式存储的方式中,将存储空间的每一个存储结点分为两部分,一部分用于存储数据元素的值,称为数据域;另一部分用于存储下一个元素的存储序号,称为指针域。
所以线性表的链式存储方式比顺序存储方式的存储空间要大一些。
知识模块:公共基础知识2.下列叙述中正确的是( )。
【10年9月】A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.上述3种说法都不对正确答案:C解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。
栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。
知识模块:公共基础知识3.软件测试的目的是( )。
【10年9月】A.评估软件可靠性B.发现并改正程序中的错误C.改正程序中的错误D.发现程序中的错误正确答案:D解析:软件测试的目的是为了发现程序中的错误,而软件调试是为了更正程序中的错误。
知识模块:公共基础知识4.下面描述中,不属于软件危机表现的是( )。
【10年9月】A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高正确答案:A解析:软件危机主要表现在以下6个方面:①软件需求的增长得不到满足;②软件开发成本和进度无法控制;③软件质量难以保证;④软件不可维护或维护程序非常低;⑤软件的成本不断提高;⑥软件开发生产率的提高赶不上硬件的发展和应用需求的增长。
全国计算机等级考试二级C语言公共基础知识(附例题)
第1章数据结构与算法经过对部分考生的调查以及对近年真题的总结分析,笔试部分经常考查的是算法复杂度、数据结构的概念、栈、二叉树的遍历、二分法查找,读者应对此部分进行重点学习。
详细重点学习知识点:1.算法的概念、算法时间复杂度及空间复杂度的概念2.数据结构的定义、数据逻辑结构及物理结构的定义3.栈的定义及其运算、线性链表的存储方式4.树与二叉树的概念、二叉树的基本性质、完全二叉树的概念、二叉树的遍历5.二分查找法6.冒泡排序法1.1算法考点1 算法的基本概念考试链接:考点1在笔试考试中考核的几率为30%,主要是以填空题的形式出现,分值为2分,此考点为识记内容,读者还应该了解算法中对数据的基本运算。
计算机解题的过程实际上是在实施某种算法,这种算法称为计算机算法.1.算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。
2.算法的基本要素:(1)算法中对数据的运算和操作一个算法由两种基本要素组成:一是对数据对象的运算和操作;二是算法的控制结构。
在一般的计算机系统中,基本的运算和操作有以下4类:算术运算、逻辑运算、关系运算和数据传输。
(2)算法的控制结构:算法中各操作之间的执行顺序称为算法的控制结构.描述算法的工具通常有传统流程图、N—S结构化流程图、算法描述语言等。
一个算法一般都可以用顺序、选择、循环3种基本控制结构组合而成。
考点2 算法复杂度考试链接:考点2在笔试考试中,是一个经常考查的内容,在笔试考试中出现的几率为70%,主要是以选择的形式出现,分值为2分,此考点为重点识记内容,读者还应该识记算法时间复杂度及空间复杂度的概念。
1.算法的时间复杂度算法的时间复杂度是指执行算法所需要的计算工作量。
同一个算法用不同的语言实现,或者用不同的编译程序进行编译,或者在不同的计算机上运行,效率均不同。
这表明使用绝对的时间单位衡量算法的效率是不合适的。
撇开这些与计算机硬件、软件有关的因素,可以认为一个特定算法"运行工作量”的大小,只依赖于问题的规模(通常用整数n表示),它是问题规模的函数。
全国计算机等级考试二级c语言公共基础知识总结
全国计算机等级考试二级c语言公共基础知识总结第一章数据结构与算法1。
1 算法算法:是指解题方案的准确而完整的描述.算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计.算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。
特征包括:(1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义;(4)拥有足够的情报。
算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。
指令系统:一个计算机系统能执行的所有指令的集合。
基本运算包括:算术运算、逻辑运算、关系运算、数据传输。
算法的控制结构:顺序结构、选择结构、循环结构。
算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。
算法复杂度:算法时间复杂度和算法空间复杂度。
算法时间复杂度是指执行算法所需要的计算工作量.算法空间复杂度是指执行这个算法所需要的内存空间.1。
2 数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。
数据结构是指相互有关联的数据元素的集合.数据的逻辑结构包含:(1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。
数据的存储结构有顺序、链接、索引等。
线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。
非线性结构:不满足线性结构条件的数据结构.1.3 线性表及其顺序存储结构线性表是由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。
计算机二级C语言考试常考重点试题总汇 公共基础部分
计算机二级考试试题二级公共基础复习题(命中率95%)一、选择题(1) 下面叙述正确的是(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是 (D) 注:P55-58A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指(C)A. 执行算法程序所需要的时间B. 算法程序的长度C. 算法执行过程中所需要的基本运算次数D. 算法程序中的指令条数(12) 算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间(13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出A. 349B. 350C. 255D. 351(14) 结构化程序设计主要强调的是(B)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(D) 注:即第一个阶段A. 概要设计B. 详细设计C. 可行性分析D. 需求分析(16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
全国计算机等级考试二级C语言公共基础精选120题
全国计算机等级考试二级C语言公共基础精选120题一、选择题(1) 下面叙述正确的是______。
(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数指执行某个算法所需要的存储空间C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是______。
(C)A. 队列B. 线性表C. 二叉树非线性结构D. 栈(3) 在一棵二叉树上第5层的结点数最多是______。
(B)A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是______。
(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是______。
(D)A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是______。
(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是______。
(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是______。
(C)A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指______。
(完整word版)全国计算机二级考试C语言(最全复习资料)
二级公共基础知识作为必考内容出现,出题形式为选择题前10道,占考试总分的10%。
考试其它比重:1、C语言程序的结构占总分1%2、数据类型及其运算占总分4%3、选择结构程序设计占比分的3%4、循环结构占比分的5%5、数组的定义和引用占比分的5%6、函数占比分的5%7、编译预处理占比分1%8、指针占比分的5%9、结构体占比分的3%10、位运算占比分的2%11、文件操作占比分的2%考试方式上机考试,时长120分钟单选题40分(含公共基础10分),操作题60分(包括程序填空题、程序修改题、程序设计题)第一部分 C语言知识复习资料第一章 C语言基本知识(90分)【考点1】C程序用C语言编写的程序称为C语言源程序,源程序文件的后缀名为“.c”。
源程序经编译后生成后缀名为“.obj”的目标文件,再把目标文件与各种库函数连接起来,生成“.exe”可执行文件。
C语言有三种基本结构:顺序结构、选择结构、循环结构。
【考点2】main函数又称主函数,是C程序的入口.main后面跟一对小括号和一对花括号,花括号括起来的部分称为main函数的函数体.一个C程序从main函数开始执行,到main函数体执行完结束,而不论main函数在整个程序中的位置如何。
每一个程序有且仅有一个main函数,其他函数都是为main函数服务的。
【考点3】存储形式计算机在电脑中保存数据是采用二进制形式,由0或1构成的二进制称为位(bit),八个位构成一个字节(Byte),1个Byte=8个bit。
二进制、八进制、十六进制转化为十进制采用乘法,十进制转化为二进制、八进制、十六进制采用除法.数据的存放位置就是它的地址。
【考点4】注释是对程序的说明,可出现在程序中任意合适的地方,注释从“/*"开始到最近一个“*/”结束,其间任何内容都不会被计算机执行,注释不可以嵌套。
【考点5】书写格式每条语句的后面必须有一个分号,分号是语句的一部分。
一行内可写多条语句,一个语句可写在多行上。
计算机二级c语言往年试题及答案
计算机二级c语言往年试题及答案一、选择题1. 下列不属于C语言关键字的是:A) if B) else C) switch D) case答案: D2. 在C语言中,下列关于数组说法正确的是:A) 数组的下标可以为负数B) 数组的大小可以在运行时动态改变C) 数组下标的类型可以是浮点数D) 数组元素的类型可以不相同答案: D3. 下面哪个运算符的优先级最高?A) ! B) ++ C) + D) &&答案: B4. 以下哪个循环语句无法在其内部控制循环的流程?A) while B) do-while C) for D) if-else答案: D5. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int a = 5, b = 2;printf("%d", a++ - b);printf("%d", a);}```A) 2, 6 B) 3, 6 C) 3, 7 D) 2, 7答案: A二、填空题1. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int x = 3;while (x++ < 6)printf("%d ", x);return 0;}```答案: 4 5 62. 下列C代码,输出结果为何?```c#include <stdio.h>int main(){int i = 0;while (i < 3){printf("%d ", ++i);i++;}return 0;}```答案: 1 3三、编程题1. 编写一个C程序,实现输入一个正整数n,计算并输出n的阶乘。
```c#include <stdio.h>unsigned long long factorial(unsigned int n);int main(){unsigned int n;printf("请输入一个正整数:");scanf("%u", &n);printf("%d的阶乘为:%llu", n, factorial(n));return 0;}unsigned long long factorial(unsigned int n){if (n == 0 || n == 1)return 1;elsereturn n * factorial(n - 1);}```以上为编写的一个简单的阶乘计算程序。
全国计算机等级考试二级C语言公共基础精选120题
全国计算机等级考试二级C语言公共基础精选120题一、选择题(1) 下面叙述正确的是______。
(C)A. 算法的执行效率与数据的存储结构无关B. 算法的空间复杂度是指算法程序中指令(或语句)的条数C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止D. 以上三种描述都不对(2) 以下数据结构中不属于线性数据结构的是______。
(C)A. 队列B. 线性表C. 二叉树D. 栈(3) 在一棵二叉树上第5层的结点数最多是______。
(B)A. 8B. 16C. 32D. 15(4) 下面描述中,符合结构化程序设计风格的是______。
(A)A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B. 模块只有一个入口,可以有多个出口C. 注重提高程序的执行效率D. 不使用goto语句(5) 下面概念中,不属于面向对象方法的是______。
(D)A. 对象B. 继承C. 类D. 过程调用(6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是______。
(B)A. 可行性分析B. 需求分析C. 详细设计D. 程序编码(7) 在软件开发中,下面任务不属于设计阶段的是______。
(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型(8) 数据库系统的核心是______。
(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库(9) 下列叙述中正确的是______。
(C)A. 数据库是一个独立的系统,不需要操作系统的支持B. 数据库设计是指设计数据库管理系统C. 数据库技术的根本目标是要解决数据共享的问题D. 数据库系统中,数据的物理结构必须与逻辑结构一致(10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是______。
(A)A. 内模式B. 外模式C. 概念模式D. 逻辑模式(11) 算法的时间复杂度是指______。
二级C语言笔试考点相关真题(答案解析版)
二级C语言笔试考点相关真题(答案解析版)第1章c语言概述1.1c语言基础知识1.【2021年9月选择题第11题】以下描述中错误的就是________。
a)c语言撰写的函数源程序,其文件名后缀可以就是.cb)c语言撰写的函数都可以做为一个单一制的源程序文件。
c)c语言撰写的每个函数都可以展开单一制的编程并继续执行d)一个c语言程序就可以存有一个主函数参考答案:c【解析】c语言编写的每个函数可以被独立编译,但是除主函数外不能独立执行。
2.【2021年3月选择题第11题】计算机高级语言程序的运转方法存有编程继续执行和表述继续执行两种,以下描述中恰当的就是a)c语言程序仅可以编译执行b)c语言程序仅可以解释执行c)c语言程序既可以编程继续执行又可以表述继续执行d)以上观点都不对参考答案:a【解析】解释程序是将源程序(如basic)作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。
编译程序是把高级语言(如fortran、cobol、pascal、c等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得到计算结果。
3.【2021年3月选择题第12题】以下描述中错误的就是a)c语言的可执行程序就是由一系列机器指令形成的b)用c语言撰写的源程序无法轻易在计算机上运转c)通过编译得到的二进制目标程序需要连接才可以运行d)在没加装c语言内置研发环境的机器上无法运转c源程序分解成的.exe文件参考答案:d【解析】c语言的可执行程序是由一系列机器指令组成的,用c语言编写的源程序必须经过编译生成二进制目标代码,再经过连接才能运行,并且可以脱离c语言集成开发环境。
故答案为d)。
1.2常量、变量和数据类型4.【2021年9月选择题第13题】以下选项中关于c语言常量的叙述错误的是。
a)所谓常量,是指在程序运行过程中,其值不能被改变的量b)常量分为整型常量、实型常量、字符常量和字符串常量c)常量可分为数值型常量和非数值型常量d)经常被使用的变量可以定义成常量参考答案:d【解析】常量就是其值不容变化的量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1算法1.1 算法的基本概念1.算法的概念(必记):算法是指解题方案的准确而完整的描述。
分析:要用计算机实现某一任务时,先应设计出一整套解决问题的指导方案,然后具体实现。
整套的指导方案称之为算法,而具体的实现称之为程序。
并且在设计指导方案时,可不用过多考虑到实现程序的具体细节(即可以一点点的理想化),但在程序实现时,必须受到具体环境的约束(现实不同于理想)。
结论:算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。
2.算法的基本特征(必记):a.可行性:由于算法总是在某个特定的计算工具上实现并执行的,因而受到计算工具的限制,所以在设计算法时,要考虑到设计的算法是否是可性的。
b.确定性:算法中的每一个步骤都必须是有明确定义的,不允许有模棱两可的解释,也不允许有多义性。
c.有穷性:算法必须能在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。
d.拥有足够的情报:算法有相应的初始数据。
3.算法的基本要素:一个算法通常由两个基本要素所组成:一是对数据对象的运算和操作,二是算法的控制结构。
基本运算和操作分为四类:a. 算术运算: (加、减、乘、除等运算)b. 逻辑运算: (与、或、非等运算)c. 关系运算: (大于、小于、等于、不等于等运算)d. 数据传输: (赋值、输入、输出等操作)算法的控制结构:算法中各操作之间的执行顺序称之为算法的控制结构。
一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
注意:一个计算机系统能执行的所有指令的集合,称为该计算机系统的指令系统。
4.算法设计基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。
1.2 算法的复杂度 (必记)算法的复杂度主要包括时间复杂度和空间复杂度。
1.算法的时间复杂度:是指执行算法所需要的计算工作量,是由算法所执行的基本运算次数来度量。
可用平均性态和最坏情况两种分析方法。
其中平均性态分析是指用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量;而最坏情况分析是指在所有特定输入下的基本运算次数据的最大次数。
2.算法的空间复杂度:一个算法的空间复杂度,是指执行这个算法所需要的内存空间。
包含有三部分所组成:算法程序所占的空间+输入的初始数据所占的存储空间+算法执行过程中所需要的额外空间。
历届的考题:1、算法具有五个特性,以下选项中不属于算法特性的是(______) [2005.4]A)有穷性B)简洁性C)可行性D)确定性2、问题处理方案的正确而完整的描述称为______。
[2005.4]3、下列叙述中正确的是________。
[2006.9]A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小第1页,共26 页4、算法复杂度主要包括时间复杂度和[_____]复杂度。
[2006.9]1.2 数据结构与算法数据结构作为计算机的一门学科,主要研究以下三个方面的问题:a .数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;b .在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;c .对各种数据结构进行的运算。
注意:讨论以上问题主要目的是为了提高数据处理的效率。
提高效率包括两个方面:一是提高数据处理的速 度,二是节省在数据处理过程中所占用的计算机存储空间。
2.1 什么是数据结构简单地说,数据结构是指相互有关联的数据元素的集合。
而数据元素之间的关联通常是指其前后件关系(即 先后顺序关系),如春、夏、秋、冬之间的先后顺序关系。
因此,一个数据结构应包含以下两方面的信息:a.表示数据元素的信息; b.表示各数据元素之间的前后件关系。
1.数据的逻辑结构所谓数据的逻辑结构,是指反映数据元素之间逻辑关系的数据结构。
注意:这种逻辑关系仅指元素之间的固有的一个先后顺序关系,而与它们在计算机中的存储顺序无关。
2.数据的存储结构数据的存储结构的概念:数据的逻辑结构在计算机存储空间中的存放形式 (也称数据的物理结构)。
注意:a 、数据元素在计算机中存储空间中的位置关系可以与它们的逻辑关系相同,也可以不相同。
b 、数据的存储结构有顺序、链接、索引等。
c 、数据元素采用不同的存储结构,其数据处理的效率是不同的。
2.2 数据结构的图形表示在数据结构中,没有前件的结点成为根结点( (也称为 叶子结点,如上图中的冬与儿子和女儿)。
注意:在进行处理时, 一个数据结构中的元素结点可能是在动态变化的。
这种变化可能是元素结点的个数发生变化,也可以是元素结点的先后顺序发生变化。
2.3 线性结构与非线性结构空的数据结构是:一个数据元素都没有的数据结构。
根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分为二大类:线性结构和非线性结构。
一个非空的数据结构满足下列两个条件,则为线性结构,线性结构又称为线性表。
a. 有且只有一个根结点; b.每一个结点最多有一个前件,也最多有一个后件。
在上图中,左边的是线性结构,而右边的是非线性结构。
注意:线性结构与非线性结构都可以是空的数据结构。
一个空的数据结构究竟属于线性结构还是属于非线性 结构, 要根据具体情况来确定。
如果对该数据结构的运算是按线性结构的规则来处理的, 则属于线性结构;否则属于非线性结构。
历届的考题:1、数据的存储结构是指(_____)[2005.4]A)存储在外存中的数据C)数据在计算机中的顺序存储方式B)数据所占的存储空间量D)数据的逻辑结构中计算机中的表示第2页,共26 页B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率1.3 线性表及其顺序存储结构3.1 线性表的基本概念非空线性表的结构特征如下:a.有且只有一个根结点,它无前件;b.有且只有一个终端结点,它无后 他所有结点有且只有一个前件,也有且只有一个后件。
线性表中结点的个数 n 称为线性表的长度。
当 n=0 时,称为空表。
3.2 线性表的顺序存储结构线性表的顺序存储结构具有以下两个基本特点: a.线性表中所有元素所占的存储空间是连续的;b.线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
注意: 在线性表的顺序存储结构中, 其前后件两个元素在存储空间中是紧邻的, 且前件元素一定在后件元素 的前面。
在线性表的顺序存储结构中,如第一个元素的地址为ADR(a1),每个元素占用的存储空间大小为k 个字节, 则线性表中第 i 个元素的存储地址为:ADR(a1)+(i-1)*k3.3 顺序表的插入运算1003 1004冬秋冬在线性表的顺序存储结构中,当插入元素时,插入点后的元素都要向后移动一位,以让出一个存储空间。
在平均情况下,要在线性表中插入一个新元素,需要移动表中一半的元素。
因此,在线性表顺序存储的情况 下,要插入一个新元素,其效率是很低的。
3.4 顺序表的删除运算在线性表的顺序存储结构中,当删除元素时,删除点后的元素都要向前移动一位,以保证元素都是相邻存储的。
在平均情况下, 要在线性表中删除一个元素, 需要移动表中一半的元素。
因此, 在线性表顺序存储的情况下,要删除一个元素,其效率是很低的。
1.4 栈和队列4.1 栈及其基本运算 1.什么是栈栈是一种特殊的线性表。
栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允表示栈底。
第3页,共26 页2.栈的顺序存储及其运算栈的基本运算有三种:.入栈运算、退栈运算和.读栈顶元素。
4.2 队列及其基本运算1.什么是队列队列是允许在一端进行插入、而在另一端进行删除的特殊的线性表。
允许插入的一端称为队尾,允许删除的一端称为排头(或队头)。
队列又称为"先进先出"(FIFO)或"后进后出"(LILO)的线性表,它体现了"先来先服务"的原则。
往队列的队尾插入一个元素称为入队运算,从队列的排头删除一个元素称为退队运算。
2.循环队列及其运算所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。
队列空和队列满的条件如下:队列空的条件为 s=0 ;队列满的条件为 s=1 且front=rear.循环队列主要有两种基本运算:入队运算和退队运算。
a.入队运算:在循环队列的队尾加入一个新元素,首先将队尾指针进一(即rear=rear+1),并当rear=m+1 时置rear=1;然后将新元素插入到队尾指针指向的位置。
注意:当循环队列非空(s=1)且队尾指针等于排头指针时,说明循环队列已满,不能进行入队运算,这种情况称为"上溢"。
( 即b. 退队运算:指在循环队列的排头位置退出一个元素并赋给指定的变量。
首先将排头指针进一front=front+1),并当front=m+1 时置front=1;然后将排头指针指向的元素赋给指定的变量。
注意:当循环队列为空(s=0)时,不能进行退队运算,这种情况称为"下溢" 。
历届的考题:1、下列关于栈的描述中错误的是(_______)[2005.4]A)栈是先进后出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针2、按照"后进先出"原则组织数据的数据结构是(______)[2006.4]A)队列B)栈C)双向链表D)二叉树3、列关于栈的描述正确的是(______)[2005.9]A)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素4、数据结构分为逻辑结构和存储结构,循环队列属于____结构。
[2005.9]5、按“先进后出”原则组织数据的数据结构是_____。
[2006.9]1.5线性链表5.1 线性链表的基本概念1.链式存储在顺序存储方式中所有的数据元素在内存中是相邻存放的,从而造成了在插入与删除数据元素时,需要大量移动相应的数据元素。
为了解决这种问题,可以将每个数据元素存储在内存中不相邻的不同位置,并利用上一个数据元素在存有数据的同时,也存放下一个数据元素所在的位置地址(称为一个存储单元,即结点),以便查找。
这就是链式存储方式。
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放地址,称为指针域。
其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。
注意:ahead 头结点开始结点a1 a2 …终端结点a n∧逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。