字符数组:
存放字符型数据的数组
定义:用char作类型标识符定义数组
例:char str1 [50],str2 [3][30];
定义了一个数组名为str1长度为50的一维字符数组和一个数组名为str2含有3×30个数组元素的二维数组
字符数组的初始化:
1)完全 char str [5]={'h','e','1','1','0'};
2)部分 ' '(0的状态为八进制)
3)省略数组长度
字符串:
以' '作为串的结束符
字符串的输入输出:
scanf_s("%s",字符数组名或指针变量);
软件技术基础:
软件危机→产生软件工程(写文档)→解决软件危机
面向对象:一种方法或思想,例子:宫保鸡丁,“宫保”就是方法。
数据结构:存储与查找,解决逻辑问题
数据库:(二维)表
协议(规则):解决异构问题,例子:手机与电脑之间能够通信,是因为协议的存在。
软件=程序+文档
软件开发系统的发展:四个阶段
- 机器
- 汇编(对硬件操作,效率最高)
- 高级
- 面向对象语言,可视化语言
软件工程:工程的方法
算法的五个特性:有穷性、输入性、输出性、可行性、确定性
软件的复用:→面向对象的核心 复用:参考别人的成果——与“复制”区分开
逆向工程:程序→代码,为了学习
“实时”RT(real time),局域网:LAN(local area net)
用户与软件开发人员之间的交流困难是造成软件危机的重要原因之一
需求分析的目的是澄清用户的需求,基本任务:用户和软件人员双方一起来充分地理解用户的需求。
解决软件危机的途径是考试重点
软件工程:概念重点;可行性研究,需求分析:数据流图,数据词典
“表”的名字在表的上面,“图”的名字在图的下面。
总体设计:画大纲;详细设计:进一步丰富;编码和单元测试:写代码只占很少一部分
不同视觉下的自己与数据词典的关系
技术审查和管理复查:不同时期改正错误的代价不同越早发现错误并加以改正,所付出的代价就越小。
“健壮性”:当系统遇到意外时,能按某种规定的方式做出适当的处理,能保护好重要的信息,隔离故障区,以防止事故蔓延,事后从故障状态恢复到正常状态就比较容易。
软件质量的评价:可维护性,可靠性,可理解性
重点:一个大型软件系统的质量应该从可维护性,可靠性,可理解性,效率等多个方向进行评价。
二叉树:
满二叉树:深度为k,结点数为2^(k)-1个【-1是因为根无兄弟】
完全二叉树
树类问题可以通过画图求解
如何将普通树变成二叉树;如何将森林变成二叉树
二叉树的存储结构:顺序存储
二叉树的遍历
判断是否为二叉树
哈弗曼树及应用