02244 计算机软件基础(一)(实践)复习资料
计算机软件基础(一)复习资料
计算机软件基础复习参考题一、基本概念题√1、算法的描述方法很多,常用的有:自然语言、类语言、流程图、N-S结构图等。
2起止框处理框输入输出框判断框流程指示线3、程序设计的关键在于设计出一个好的算法。
4、程序中/*……*/表示注释,其位置可以放在程序的任何地方。
5、算法和程序的主要区别是什么?答:1、算法是有穷的,而程序是无穷的。
2、算法是不可执行的,程序是可以执行的。
3、算法和程序的描述方法不一样。
程序是用计算机语言目来描述的。
6、计算机的解题基本过程。
答:提出问题---构造模型---选择方法---编写程序----上机调试、运行-----分析结果7、用C语言编写的程序,计算机是直接执行的这样的程序称为源程序。
8、源程序必须翻译成机器语言,这一工作由“编译系统”来完成。
9、扩展名代表的文件。
C ------源文件。
OBJ ------目标文件。
EXE ------执行文件10、C语言的数据结构是以数据类型的形式描述出来的。
√11、三种基本的数据类型:整型、实型、字符型12、C语言中的常量有整型、实型、字符型、字符串13、整型常量一般占 2 字节。
实型常量一般占 4 字节。
所有的转义字符在内存中均占 1 字节。
字符串的长度为为串中字符的个数,但在内存中所占的字节应比长度多114、实型常量的两种书写形式浮点实数和定点实数。
15、字符型常量有用单括号括起来的单个字符和C语言还允许以一个“\”开头的控制字符。
16、转义字符有哪些,及其含义。
答:\n 换一行\o 字符串结束\f 换一页\\ 反斜杠字符\‟单撇号字符\”双撇号字符\ddd 1到3位八进制所代表的字符\xhh 1到2位十六进制所代表的字符17、字符串常量是用双撇号括起来的若干字符序列。
18、为了识别各个变量,每个变量都有一个名字,这个名字为标识符。
19、变量名只能由字母,下划线、数字构成,只能下划线和字母开头。
202、标识符命名不得为C语言中称为保留字的专用名词。
02243计算机软件基础(一)
软件工程概念
软件工程是指导计算机软件开发和维护的工程学 科,承受工程的概念、原理、技术和方法来开发 与维护软件。
贯穿于这一学科的根本线索是软件生命期学说, 它告知软件研制者和维护者“什么时候做什么以 及怎么做”。
软件生命期就象人的寿命一样,从诞生算到死亡, 从产生开发要求算到软件报废为止。包括:软件 预备、需求分析、软件开发和软件维护四个时期。
时程序的规模和简洁度也急剧增长。 早期手工作坊式的软件开发方式因无法适应这种
变化而形成了“软件危机”。主要表现在: 开发本钱和进度估量不准确,生产效率低。 用户对软件系统不满足的现象常常发生。 软件产品的质量不行靠。 软件常常是不行维护的。 软件本钱在计算机系统总本钱中的比例上升。
第 26 页
第 14 页
软件技术分类
计算机 软件技术
软件及实现技术 软件开发方法与技术
程序设计语言 编译技术 操作系统及有用程序 数据库技术 软件工具 软件工程 程序设计方法 数据构造和算法
第 15 页
1.3 程序与程序设计语言
程序:是使计算机完成某种任务的一个有序的命令〔指 令语句〕和数据的集合。
写程序就像写文章,要解决两个问题: 1.明确自己要表达的是什么 2.用一种语言把它表达出来
它负责对计算机系统的各种软硬件资源进展 治理和安排,为用户供给友好的计算机使用 界面和平台。 在裸机上配置操作系统之后就构成了操作系 统虚拟机。 全部其它的程序都在扩大后的机器上运行。
第 23 页
应用程序 操作系统虚拟机
裸机
操作系统 用户程序
第 24 页
1.6 数据库技术
数据库是一种强大的数据处理技术。 它把应用中全部的数据有构造地集中在一起,
程序设计语言是编写计算机程序所用的语言。 程序设计语言进展的三个阶段:
计算机软件技术基——复习
查找方法的比较
1、相同之处: 都适合于以向量作存储结构的线性表 2. 不同之处: ⑴平均查找长度:顺序查找 > 分块查找 > 对分查找 ⑵表的结构: 顺序查找 对有序表、无序表均可 对分查找 仅适合于有序表 分块查找 要求逐段有序 ⑶存储结构: 顺序查找 分块查找 对分查找 只适合于向量,不适合于链表
O I I O
队
• 队的定义 • 访问算法 • 顺序队 1、基本操作: 出队:front++ 入队:rear++ 2、循环队列判断队空、队满的条件 3、基本运算
队的结构和运算——顺序队
出队 a1 a2 a3 入队 an
...
队头指针front
队尾指针 rear
front :队头指针,指向队头元素之前 rear:队尾指针,指向队尾元素
DATA
指针
①在链表中找到第 i-1 个结点 ② i 结点指针域赋给i-1结点的指针域 next(p)←next (next(p)) ③释放i 结点
特殊线性表——栈和队
进栈 出栈
• 栈的定义和基本操作 s[n-1] an top • 顺序栈 a n-1 栈顶 1、判断栈空、栈满的条件 2、进、出栈top的操作 3、栈的基本运算 • 链栈的结构及基本运算
计算机软件技术基础
复习
第一章
概
论
• 计算机的应用领域 • 计算机语言的发展阶段 • 软件的定义
第二章 常用数据结构及其运算
• 数据结构及相关概念(数据元素、逻辑 结构、物理结构,逻辑结构、物理结构 有那些主要常见类型) • 算法分析——算法、算法复杂度
线性表
• 线性结构的定义与特征 • 线性表的插入与删除操作(在两种存储结 构下)
s[0] a1 栈底
《计算机软件技术基础》复习答案.docx
《计算机软件技术基础》复习题——答案1.线性表的链式存储结构与顺序存储结构相比优点是一CD2. 线性表是具有n 个C 的有限序列。
A.表元索B.字符C.数据元索E.信息项3. 若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元索的算法的时间复杂度为 C (lWIWn+1)A. 0(0)B. 0(1)C. 0(n)D. 0(n 2)4. 设A 是一个线性表(g 弧…,弘),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需耍移动的元素个数为 B ,平均每删除一•个元素需要移动的元索个数为A ;若元索插在eh 与茹】之间(OWTWn-1)的概率为"匸",则平均每插入一个 n(n +1)元素所要移动的元索个数为C5•下列函数屮,按它们在 ms 时的无穷人阶数,最大的是—D6•将卜•图所示的s 所指结点加到p 所指的结点之后,其语句应为:DA.所有的操作算法实现简单B.便于随机存取C.便于插入和删除 1).便于利川零散的存储器空间D.数据项C.2n + \D ・3n +14A . C. 10g/7n/2 B. nlog/7 D. n! nextnextnextA. s->next 二p+1; p->next 二s;B. (*p). next 二s; (*s) • next= (*p)•next;C. s->next 二p->next; p->next 二s->next; D ・ s->next 二p->next; p->next.=s;7. 将两个齐有n 个元索的有序表归并为一个有序表吋,其最少的比较次数是_ A 。
A. n B. 2n~l C. n~lD. 2n8. 卜面的程序段是合并两个无头结点链表(ha 和hb)为一个无头结点链表ha 的过程,作为 参数的两个链表都是按结点的data 域由人到小链接的。
计算机软件基础复习资料
计算机软件基础复习资料计算机软件基础复习资料随着信息技术的飞速发展,计算机软件的应用已经渗透到我们生活的方方面面。
无论是工作、学习还是娱乐,我们都离不开各种各样的软件。
因此,掌握计算机软件基础知识是非常重要的。
本文将为大家提供一些计算机软件基础的复习资料,希望能够帮助大家更好地理解和应用计算机软件。
一、计算机软件的分类计算机软件主要分为系统软件和应用软件两大类。
系统软件是为了管理和控制计算机硬件资源而设计的软件,例如操作系统、编译器等。
应用软件则是为了满足用户特定需求而开发的软件,例如办公软件、图像处理软件等。
二、操作系统操作系统是计算机系统中最基本的软件之一,它负责管理和控制计算机的硬件资源,并提供用户与计算机硬件之间的接口。
常见的操作系统有Windows、Linux、macOS等。
在复习操作系统的时候,需要掌握操作系统的功能、特点以及常用命令等内容。
三、编程语言编程语言是计算机软件开发的基础,它是一种用于描述计算过程的形式化语言。
常见的编程语言有C、C++、Java、Python等。
在复习编程语言的时候,需要了解编程语言的语法、数据类型、控制结构等基本概念,并通过编写简单的程序来加深理解。
四、数据库管理系统数据库管理系统(DBMS)是一种用于管理和组织数据的软件,它提供了对数据的存储、检索、更新等操作。
常见的数据库管理系统有MySQL、Oracle、SQL Server等。
在复习数据库管理系统的时候,需要了解数据库的基本概念、关系模型、SQL语言等内容,并通过实际操作来熟悉数据库的使用。
五、网络与互联网网络与互联网已经成为现代社会的重要组成部分,它们提供了人们之间进行信息交流和资源共享的平台。
在复习网络与互联网的时候,需要了解网络的基本概念、协议、通信方式等内容,并通过实际操作来熟悉网络的配置和使用。
六、图形图像处理图形图像处理是计算机软件应用的一个重要领域,它涉及到图像的获取、处理、存储和显示等方面。
计算机软件技术基础复习资料
1.算法的基本特征(2)1个或以上的输出(3)确定性(4)有限性(5)有效性3.算法设计基本方法(1)列举法(2)归纳法(3)递推法(4)递归法(5)减半递推技术(6)回溯法数据结构是讨论计算机系统中数据的组织形式及其相互关系它把客观事物采用计算机进行识别、存储和加工所进行的描述,统称数据树结构,它的逻辑特征是:有且仅有一个称为根的元素无直接前驱,其他元素有且仅有一个直接前驱,所有数据元素(除根元素)都存在一条从根元素到该元素的路径。
\①“下溢”现彖。
当队列为空时,做出队列运算产生的溢出现彖。
“卞溢”属于正常现彖,常用作程序控制转移的条件。
②“真上溢”现彖。
当队列满时,做进队列运算产生空间溢出的现象。
“真上溢”是一种出错状态,应设法避免。
③“假上溢”现彖。
由于入队和出队操作中,头尾指针只增加不减小,致使被删元素的空间永远无法重新利用。
当队列中实际的元素个数远远小于向量空间的规模时,也可能由于尾指针已超越向量空间的上界而不能做入队操作,该现象称为“假上溢”现象。
为了避免假上溢浪费存储空间,我们需要使用循坏队列。
设每个数组元素占S个存储单元,则在行优先存储中,二维数组Amn的每个元素的存储地址可用下列计算公式算出:Loc(aij)=Loc(a 11) + ((i-l)*n+(j-l))*S顺序存储分为:紧缩格式存储和非紧缩格式存储两二叉树的性质性质1在二叉树的第k层上,最多有2k个结点(k^l)。
性质2深度为k的二叉树最多有2k个结点(k^l)。
性质3对于任意一棵二叉树T,如果其度为0 (即叶子结点或称终端结点)的结点数为nO,度为2的结点数为n2, 则有:n0 = n2+l 即在二叉树中,度为0的结点总是比度为2的结点多一个。
有关图结构的重要术语(1)完全图:不考虑顶点到其自身的边或弧,若图中每对顶点之间都恰连有一条边,我们把它称作完全图。
对于一个具有n个顶点的无向完全图来说,其边的数目为n (ii-l) /2;而对于一个具有n个顶点的有向完全图来说,其弧的数目为n (ml )。
《计算机软件基础》复习题库带答案文档
《计算机软件基础》复习题库带答案文档《计算机软件基础》复习题库(带答案)1.与顺序存储结构相比,线性列表的链式存储结构具有CD的优点。
a、所有运算算法都易于实现。
C.易于插入和删除b.便于随机存取d、易于使用的分散存储空间2.线性表是具有n个c的有限序列。
a.表元素d.数据项b、性格c.数据元素e.信息项3.如果长度为n的线性表采用顺序存储结构,则在其第i个位置插入新元素的算法的时间复杂度为C.(1)≤我≤n+1)a.o(0)c.o(n)b.o(1)d.o(n)二4.设a是一个线性表(a1,a2,?,an),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为b,平均每删除一个元素需要移动的元素个数为a、如果元素插入AI和AI+1(0)之间≤ 我≤ n-1),概率为2(n?i)n(n?1),则平均每插入一个元素所要移动的元素个数为Cn?122n?1c.3a。
a、 lognc。
二n/2Bn2D3n?145.下列函数中,按它们在N最大的是d。
b.nlognd.n!6.将下图中s表示的节点添加到P表示的节点后,语句应为:D。
nextnextpsnexta.s->next=p+1;p->next=s;b、(*p)。
next=s;(*s)。
next=(*p)。
下一个c、 s->next=p->next;p->next=s->next;d、 s->next=p->next;p->next=s;7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是a。
a.nc.n-1b、 2n-1d.2n8.以下程序部分是将两个无头节点链表(HA和Hb)合并为无头节点链表HA的过程。
作为参数的两个链表根据节点的数据字段从大到小进行链接。
合并后,新链表的节点仍以这种方式链接。
请填写下面的空白框以使程序正确运行。
#definenull0typedefstructnode{Word文档可以自由复制和编辑intdata;structnode*下一步;}node,linklisttype;链接列表类型*h,*p;h=(linklisttype*)malloc(sizeof(linklisttype));h->next=null;p=h;while(ha!=null&&hb!=null)if(ha->data>=hb->data){/*首先插入较大的元素*/p->next=(1);p=(2);(3);}否则{p->next=(4);p=(5);(6);}}if(ha==null)(7);if(hb==null)(8);ha=h->next;free(h);参考答案:(1)ha(2)p->next(3)哈=哈->下一步(6)hb=hb->next(8)p->next=ha(4) hb(5)p->下一步(7)p->next=hb9.如果表a中的所有元素(A1、A2、an)与表B(即A1=BK、A2=BK+1、an=BK+n-1)中的顺序子表(BK、BK+1、BK+n-1)完全相同,则表示表a包含在表B中。
计算机软件技术基础知识点储备
第一章:概述1、程序=算法+数据结构2、算法的几个基本特征:能行性确定性有穷性拥有足够的情报3、算法的复杂度主要包括:时间复杂度和空间复杂度第二章:数据结构1、逻辑结构:数据集合中各数据元素之间所固有的逻辑关系(集合结构、线性结构、树形结构、图状结构),可以看作是从具体问题抽象出来的数据模型。
2、物理(存储)结构:在对数据进行处理时,各数据元素在计算机中的存储关系,可分为以下四种:顺序存储结构(存储空间连续)、链式存储结构、索引结构、散列结构3、数据结构的运算是指对数据结构中的结点进行操作的集合,包括插入、删除、更新、检索、排序等。
4、数据元素是数据的基本单位5、有时数据元素可由若干个数据项(数据的属性)组成,在这种情况下,数据项组成的数据元素称为记录,数据项是具有独立含义的最小标识单位,不可分割6、顺序存储结构:通常定义一维数组来表示线性表的顺序存储空间7、顺序表的插入异常处理:(m为线性表的空间大小,n为线性表的长度<=m,插入的位置为i,i表示在第i个元素之前插入)⑴当存储空间已满(即n=m)时为上溢错误,不能进行插入,算法结束;⑵当i>n时,认为在最后一个元素之后(即第n+1个元素之前)插入;⑶当i<1时,认为在第1个元素之前插入函数的代码实现:void insert(int *v,int m,int n,int i, int b){int k;if(n==m) cout<<”出现上溢错误!”<<endl;if(i>n) i=n+1;if(i<1) i=1;for(k=n;k>=i;k--){v[k]=v[k-1];v[i-1]=b;n=n+1;}}8、顺序表的删除异常处理:⑴当线性表为空(即n=0)时为下溢错误,不能进行删除,算法结束;⑵当i<1或i>n时,认为不存在该元素,不进行删除。
函数的代码实现:void delete(int *v, int m,int n, int i){int k;if(n==0) cout<<”出现下溢错误!”<<endl;if((i<1)||(i>n)) cout<<”线性表里不存在该元素,不进行删除操作!”<<endl; for(k=i;k<=n;k++)v[k-1]=v[k];n=n-1;}9、栈(相当于一个井)的相关概念⑴先进后出(后进先出)⑵栈顶允许插入与删除⑶栈底不允许插入与删除10、队列(相对于排队买饭)的相关概念⑴先进先出⑵队尾允许插入⑶对头允许删除11、链式存储每个结点由两部分组成:数据域和指针域12、单链表的插入函数实现在包含元素x的结点前插入新元素bvoid insert(int x,int b){node *p,*q;p=new node;p->number=b;if(head==NULL){head=p;p->next=NULL;}if(head->number==x){P->next=head;Head=p;}q=head;while((q->next!=NULL)&&(((q->next)->number)!=x)) q=q->next;p->next=q->next;q->next=p;}13、单链表的删除函数实现删除包换元素x的结点void delete(int x){node *p,*q;if(head==NULL) cout<<”没有要删除的元素!”<<endl;if((head->number)==x){p=head->next;delete head;head=p;}q= head;while(((q->next)!=NULL)&&(((q->next)->number)!=x))q=q->next;if(q->next==NULL) cout<<”没有要删除的元素!”<<endl; p=q->next;q->next=p->next;delete p;}14、循环链表的插入函数实现在包含元素x的结点前插入新元素bvoid insert(int x,int b){node *p,*q;p=new code;p->number=b;q=head;while((q->next!=NULL)&&(((q->next)->numbe)r!=x))q=q->next;p->next=q->next;q->next=p;}15、循环链表的删除函数实现删除包含元素x 的结点void delete(int x){node *p,*q;q=head;while((q->next!=NULL)&&(((q->next)->number)!=x))q=q->next;if(q->next==head) cout<<”没有要删除的元素”<<endl;p=q->next;q->next=p->next;delete p;}16、单链表与循环链表的区别⑴单链表的头指针指向线性表第一个元素的结点;而循环链表的头指针指向表头结点,表头结点的指针域指向链表的第一个结点。
计算机软件技术基础(1)复习提纲
计算机软件技术基础(1)复习提纲一、判断对错1、声明一个过程时有几个形参,则在调用该过程时就必须有实参。
(√)2、当定时器控件的Interval属性值为0时,会连续不断地发送Timer事件。
(×)3、可以通过语句代码使一个单选框组中的所有单选框均为不选定状态。
(√)4、一个变量在刚被声明尚未被赋值之前没有值。
(×)8、对英文字母的比较,默认情况下是区分大小写的。
(√)9、如果有多重DO循环嵌套,位于最里层循环体语句中的Exit Do语句可以退出所有的循环。
(×)二、选择填空1、如果在声明通用过程时,形式参数前加上关键字 A ,则规定了在调用此过程时,该参数是按地址传递的A)ByRef B)ByV al C)ByAddr D)ByOK2、Sub过程和Function过程最根本的区别是: DA)前者可以使用Call或直接使用过程名调用,后者不可以B)后者可以有参数,前者不可以C)两种过程参数的传递方式不同D)前者无返回值,但后者有3、下面哪类控件不支持Change事件:DA)TextBox B)Label C)PictureBox D)ListBox4、下面各类型对象中,没有Move方法的是:CA)Line B)Image C)Form D)Shape5、在列表框中添加一个条目,应使用列表框的什么方法: BA)InsertItem B)AddItem C)AppendItem D)RemoveItem6、一个菜单项是不是一个分隔条,是由: A 属性决定的A)Name B)Caption C)Enabled D)Visible7、以下面哪种方式打开的文件,只能读不能写: AA)Input B)Output C)Random D)Append8、多个语句可以书写在同一行上,但它们之间要加 BA):B);C) ,D)、9、在窗体Form1的Click事件过程中有以下语句:Label1.Caption=”Visual BASIC”设标签的原Caption属性值为默认值,则该语句执行之后该标签控件Name 属性和Caption属性的值分别为 AA)“Label1”、“Visual BASIC”B)“Label1”、“Caption”C)“Label”、“VisualBASIC”D)“Label”、“Label1”10、假定bln1是逻辑型变量,下面赋值语句中正确的是: DA)bln1=’True’ B)bln1=.True. C)bln1=#True# D)bln1=True三、填空1、表达式” #” Like“[#]”的值为True 。
计算机软件技术基础(1)复习提纲
Name属性和 Caption属性的值分别为
A)“Label1”、“VisualBASIC”
B)“Label1”、“Caption”
C)“Label”、“VisualBASIC”
D)“Label”、“Label1”
3、下面几对数据类型中,哪一对所占的内存大小一致:
A)Integer、Single B)Integer、Boolean C)Date、Single D)Long、
答案:12 6 6
4、下面程序段在窗体上输出的是什么?
Dim a(4,4) As Integer
Dim nc As Integer,nr As Integer
Dim I as Integer,j As Integer ,k As Integer
Nc=4:nr=1:I=1:j=1
For k=1 To 16
1、 考试范围
计算机软件技术基础(1)复习提纲
绪论部分
1.程序设计语言发展历史 机器语言、汇编语言、面向过程的语言、面向对象的程序设计语言 2.对象及其属性、方法与事件 对象、属性、方法、事件、类 3.VisualBasic的特点 可视化、面向对象、灵活的编程支持、广泛的应用领域
面向对象的程序设计部分
Private Sub sub1(byVal x As Integer, y As Integer, z As Integer)
Dim I As Integer
X=2*z
Y=3*z
Z=x+y
Print x,y,z
End Sub
答案:6 2 9 9 3 9 15 5 15
3、下面程序段在窗体上输出的是什么?
鼠标、键盘事件部分
1.控件的显示 2.鼠标事件 3.键盘事件
计算机软件技术基础实践自学考试大纲
辽宁省高等教育自学考试计算机软件专业(应用本科)《计算机软件技术基础》(实践)自学考试大纲(试用)一、课程性质与设置目的(一)课程性质、特点和设置目的《计算机软件技术基础》(实践)课程是与《计算机软件技术基础》课程所对应的一门实践课。
通过本课程的实践环节训练,使应考者加深理解本专业所必需的软件及硬件的基础知识,帮助应考者掌握计算机组织与结构、计算机操作系统、软件代码编译技术和计算机网络的基本概念、基本原理和基本方法,使具备计算机软件开发人员的基本素质。
(二)本课程的基本要求通过本课程的学习,达到如下目标:1.基本掌握汇编语言程序设计的简单应用;2.基本掌握常用计算机操作系统的应用技术;3.初步掌握开发一个简单的编译器;4. 熟悉典型的计算机网络应用环境,基本掌握常用的网络应用技术。
二、课程内容与考核要求第一部分基本实验实验1 汇编语言程序设计(一)(一)实验内容1. 熟悉DEBUG有关命令的使用方法2.利用DEBUG验证相关汇编指令3. 利用DEBUG调试汇编程序段(二)考核知识点及考核要求1. 熟悉DEBUG有关命令,要求达到“熟练掌握”层次。
2. 利用DEBUG验证相关汇编指令,要求达到“基本掌握”层次。
3. 利用DEBUG调试程序段, 要求达到“初步掌握”层次。
实验2 汇编语言程序设计(二)(一)实验内容1. 循环程序设计2.分支程序设计3. 子程序设计(二)考核知识点及考核要求1. 循环程序设计,要求达到“基本掌握”层次。
2. 分支程序设计,要求达到“基本掌握”层次。
3. 子程序设计, 要求达到“初步掌握”层次。
实验3 操作系统实验(一)(一)实验内容1. Linux系统的常用基本操作2.Linux系统的文件和权限管理3. Linux系统下的C语言的使用(二)考核知识点及考核要求1. Linux系统的常用基本操作,要求达到“基本掌握”层次。
2.Linux系统的文件和权限管理,要求达到“初步掌握”层次。
计算机软件技术基础复习要点概要
计算机软件技术基础复习要点第二章基本数据结构及其运算1.数据结构的分类,线性结构与非线性结构,线型结构又名线性表。
P202. 栈的定义:栈是限定在一端进行插入与删除的线性表。
对栈的插入与删除运算不需要移动表中其它数据元素。
“先进后出”或“后进先出” 。
P314. 队列:定义,队列的操作原则:先进先出。
P405. 带链的栈的类实现(代码。
P616. 循环链表的类的实现(代码 P677. 稀疏矩阵的三列二维数组的表示。
给出一个稀疏阵,能写稀疏矩阵中的每个非零元素的三元组表示。
P86-878. 二叉树的性质 1、性质 2. P1159. 二叉树的遍历分三种:前序遍历、中序遍历、后序遍历。
P118.10. 图的基本概念。
P13711. 图的遍历方法有:纵向优先搜索发和法和横向优先搜索法。
第四章资源管理技术1. 第一个分时操作系统是 UNIX 操作系统。
P2302. 进程与程序的区别是:静态和动态、…… P12352. 进程的组成:数据、程序、进程控制块。
P2353. 进程的三种状态是什么?怎么互相转换的。
P236运行转就绪, 运行转等待、就绪转运行、等待转就绪,各自转换的原因。
单 CPU 情况下,任意时刻,处于运行状态的进程只有一个。
一个进程对应一个进程控制块,每个进程控制块记录进程的状态、名称等信息,每个进程控制块应是互不相同的。
4. 创建原语 :在实际系统中创建一个进程有两种方法:一是由操作系统建立, 0#进程就是由操作系统建立的; 二是由其他进程创建一个新的进程。
基本操作都是一样的。
创建进程原语总是先为新建进程申请一空白 PCB ,并为之分配唯一的数字表示符,使之获得 PCB 的内部名称, 若该进程所对应的程序不在内存中, 则应将它从外存储器调入内存, 并将该进程有关信息填入 PCB 中,然后置该进程为就绪状态,并将它排入就绪队列和进程家族队列中。
5. 何为死锁,发生死锁的四个必要条件。
计算机软件技术基础复习提纲
计算机软件技术基础复习提纲V1.0说明:课程复习以教材、课件内容和课后作业为主,本提纲所列内容未详尽。
数据结构1.数据结构的定义和研究内容;数据结构逻辑结构、存储结构的分类;2.算法的概念和算法衡量的指标3.线性表线性表的概念、逻辑结构和存储结构[ ]顺序表的特点和基本操作;顺序表的插入运算、删除运算等;相应操作时需要移动元素的个数;链表的特点和基本操作单链表、双向链表、循环链表;头指针、头结点、首结点;指针的操作;有头结点/无头结点时,空链表的判断条件。
[ ]单链表创建(头插法和尾插法)、插入(后插结点和前插结点)、删除操作:基本思想和关键语句;[ ]双向链表中结点的插入、删除操作;(//充分利用示意图、注意关键语句的次序不能颠倒) 循环链表的插入、删除操作;顺序表和链表的比较、存储结构选用原则;4.栈定义、特点;存储结构;基本操作特点;顺序栈的操作:栈底设定为数组下标端/上标端时的入栈、出栈操作;链栈的操作;满栈和空栈的判断条件;5.队列定义、特点;存储结构、基本操作特点;顺序队列的操作:假溢出及处理;[ ]循环队列队满和队空的判断条件;链式队列:头指针、尾指针;创建、入队、出队、判队空操作;6.串定义和基本运算的概念(根据给定的操作定义,给出操作结果);串的定长顺序存储;如何标识实际长度;7.数组和特殊矩阵数组的内存映像(根据数组基址,按元素下标求地址的计算方法);典型的特殊矩阵、特殊矩阵的压缩存储思想(//了解);稀疏矩阵的三元组表存储方法;唯一表示一个稀疏矩阵的条件:除了三元组表还有矩阵的行列信息。
为了方便也同时存储矩阵非零元素的个数。
对于有m个非零元素的稀疏矩阵,可以用(m+1)*3的数组来存储:m*3对应于m个非零元素,1*3用于存储稀疏矩阵的行、列、非零元素个数。
8.树和二叉树基本概念;树的基本存储结构(思想)二叉树的性质(1-5)[ ]二叉树的顺序存储结构(要改造为完全二叉树)[ ]二叉树的链式存储结构(二叉链表存储)[ ]二叉树的遍历:先序、中序、后序二叉树的恢复9.图图的概念和性质;无向完全图、有向完全图;图的2种表示方法(邻接矩阵、邻接表)的特点;[ ]图的邻接矩阵表示;有向图/无向图邻接矩阵中非零元素的含义(与度/出入度的关系);邻接矩阵维数与图中顶点个数的关系;[ ]图的邻接表表示;[ ]图的遍历:深度优先遍历、广度优先遍历;10.查找与排序顺序查找、折半查找(二分查找)、分块查找(索引查找)的思想和特点;平均查找长度ASL 的概念;三种查找方法的性能对比;[ ]三种简单排序(插入排序、简单选择排序、冒泡排序)概念、基本思想;排序过程;操作系统1)操作系统✓概念;引入操作系统的目的(系统管理人员角度、用户角度)系统管理员:为了能合理地组织计算机工作流程,管理和分配计算机系统中的硬件资源和软件资源,使之能为多个用户高效率地共享和使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《02244 计算机软件基础(一)(实践)》复习资料
一、程序填空题。
(每空3分,共30分,)
1、下面程序的功能是计算1到100之间的奇数之和,请将下面程序补充完成。
#include <stdio.h>
void main()
{ int sum=0,i;
for (i=1;i<=100;i++)
{ if (____________)
sum=sum+________;
}
printf(”奇数之和为%d\n”,__________);
}
2、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n, 并输出m,n中的较大者,请将下面的程序补充完整.
#include <stdio.h>
void main()
{ int m_____ , n ______;
char c;
while((c=getchar())!=‘\n’)
{ if (c>=‘A’&&c<=‘Z’) m++;
if(c>=‘a’&&c<=‘z’) _______;
}
printf(“%d ”, m<n?n:m);
}
3、下列程序的功能是从键盘上输入若干员工的工资,统计并输出最高工资和最低工资,当输入负数时程序结束。
请填空。
#include <stdio.h>
void main()
{ float x,max,min;
scanf(“%f”,&x);
________________;
while(_________)
{ if(x___max) max=x;
if(x<min) min=x;
________________;
}
printf(“max=%f,min=%f\n”,max,min);
}
二、读下列程序,写出运行结果。
(每小题10分,共30分)
1、下面程序的运行结果是_____________________
#include <stdio.h>
double fun(double a,double b,double c)
{
double t;
t=a;
if(t>b) t=b;
if(t>c) t=c;
return t;
}
void main()
{
double x,y,z;
x=2.1;y=3.14;z=7.0;
printf("%f\n",fun(x*2,y,z+2));
}
2、下面程序的运行结果是_____________________。
#include <stdio.h>
void main()
{ int x=1,a=0,b=0;
switch(x)
{ case 0:b++;
case 1:a++;
case 2:a++;b++; }
printf(”a=%d,b=%d\n”,a,b);}
3、下面程序的运行结果是_____________________。
#include <stdio.h>
void main()
{ int x=6;
while(x>=0)
{ printf(“*”);
x--;
x--;}
}
三、应用题。
(每空5分,共15分)
下面的算法是利用折半查找法的思想,在一个长度为n的有序表中插入一个元素x,并保持表的有序性。
试在算法中的________处填上正确的内容,完成该运算。
#define M 100
int r[M+1];
void insert(int x, int n)
{ int low=0, high=n-1,mid,i, find=0
while(low<=high) && !find)
{ mid=(1) ;
if(x<r[mid]) high=mid-1;
else is(x>r[mid]) low=(2) ;
else find=1;
}
if(low>high)
{ for(i=n-1;i>=low;i--)
r[i+1]=r[i];
r[low]=(3) ; }
}
四、编程题。
(共25分)
1、设计一个程序,输入浮点数x的值,按下列公式计算并输出y的值。
(7分) x (x<=1)
y= 2x-1 (1<x<10)
3x-11 (x>=10)
2、从键盘输入十个浮点数,找出其中的最大值。
(用数组来实现) (8分)
3、从键盘输入一个字符串,请分别统计其中字母‘q’和‘t’的个数。
(10分)
复习资料答案
一、程序填空题(每小题10分,共30分)
1、i%2!=0 (4分)
i (3分)
sum (3分)
2、=0 (3分)
=0 (3分)
n++; (4分)
3、max=min=x; (2分)
x>0 (3分)
> (2分)
scanf(“%f ”,&x); (3分)
二、读下列程序,写出运行结果。
(每小题10分,共30分)
1、(10分)
2、(10分)
3、(10分)
三、应用题。
(每空5分,共15分)
(1)(low+ high)/2 (5分)
(2) mid +1 (5分)
(3) x (5分)
四、编程题。
(共25分)
1、设计一个程序,输入浮点数x的值,按下列公式计算并输出y的值。
(7分) x (x<=1)
y= 2x-1 (1<x<10)
3x-11 (x>=10)
#include <stdio.h> //1分
main() //1分
{ float x,y;
scanf(“%f”,&x); //1分
if(x<=1) y=x ; //1分
else if(x>1&&x<10) y=2*x-1; //1分
else y=3*x-11; //1分
printf(“y=%f”,y); //1分
}
2、从键盘输入十个浮点数,找出其中的最大值。
(用数组来实现) (8分)
#include <stdio.h> //1分
main()
{ float a[10],m; //1分
int i;
for(i=0;i<=9;i++) //1分
{ scanf("%f",&a[i]); //1分
}
m=a[0]; //1分
for(i=1;i<=9;i++) //1分
if(m<a[i]) m=a[i]; //1分
printf("最大值:%f",m); //1分
}
3、从键盘输入一个字符串,请分别统计其中字母‘q’和‘t’的个数。
(10分)#include <stdio.h> //1分
main()
{
char arr[100]; //1分
int i,n1,n2; //1分
n1=n2=0; //1分
gets(arr); //1分
for(i=0;arr[i]!=’\0’;i++) //1分
{
if(arr[i]==’q’) n1++; //1分
if(arr[i]==’t’) n2++; //1分}
printf(“字母q的个数:%d\n”,n1); //1分printf(“字母t的个数:%d\n”,n2); //1分}。