天不造人上人 , 亦不造人下人——福泽谕吉
语言谭浩强版笔记
第一章程序设计和 C语言
1、计算机能直接识别和接受的二进制代码称为机器指令 ,机器指令
的集合就是该计算机的 机器语言。
2、语言的发展历史:①机器语言②符号语言③高级语言
3、高级语言的发展:①非结构化语言②结构化语言③面向对象的语
言
4、C语言的祖先是 BCPL语言
5、在字符串中的 // 和/* 都不作为注释的开始。而是作为字符串的一
部分。
【但是在 vc++6.0 中// 显示编译错误】
6、不要以为在max函数中求出最大值z 后就会自动地作为函数值返
回调用处,必须用return语句指定将哪个值作为函数值。也不要不
加分析地在所有函数后面都写上return 0
7、一个程序由一个或多个源程序文件组成
8、全局声明:即在函数之外进行的数据声明,在函数外面声明的变量称为全局变量。例如把 int a,b,sum; 放到 main 函数的前面
9、函数是 C 程序的主要组成部分,编写C程序的工作主要就是编写
一个个函数
10、一个 C语言程序是由一个或多个函数组成的,其中必须有且只有
一个 main 函数
11、一个小程序只包含一个源程序文件,在一个源程序文件中包含若
1
天不造人上人 , 亦不造人下人——福泽谕吉
干个函数(其中一个为main 函数),若程序规模太大,可以使一个程
序包含若干个源程序文件, 每个源程序文件又包含若干个函数【一个
源程序文件就是一个程序模块,一个程序分成若干个程序模块】
12、在进行编译时是以源程序文件为对象进行的【分别对各源程序文
件进行编译得到相应的目标程序, 然后再将这些目标程序连接成为一
个统一的二进制可执行程序】
13、C语言的这种特点使得容易实现程序的模块化
14、一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其
类型。如果函数没有参数, 可以写 void 或空括号【如 intmain(void)
或 int main()】
15、void dump(){}它是一个空函数,但是是合法的
16、程序总是从 mian 函数开始执行的,不管位置在哪儿
17、程序中对计算机的操作是由函数中的C语句完成的
18、二进制目标程序在visual C++ 中的后缀为 .obj
19、可执行程序在visual C++ 中的后缀为 .exe
20、一个源程序经过编译后得到的目标程序要经过连接阶段与函数库
进行连接才能生成可执行文件
21、程序设计的任务: ①问题分析②设计算法③编写程序④对源程序
进行编辑、编译和连接⑤运行程序,分析结果⑥编写程序文档
第二章算法
1、对数据的描述:在程序中要指定用到哪些数据类型以及这些数据
2
天不造人上人 , 亦不造人下人——福泽谕吉
类型和数据的组织形式,这就是数据结构 。
2、对操作的描述:即要求计算机进行操作的步骤,也就是算法。
3、算法 +数据结构 =程序
4、算法是灵魂,数据结构是加工对象,语言是工具,编程需要采用
合适的方法。
5、算法的概念:为解决一个问题而采取的方法和步骤。
6、计算机算法可分为两大类:数值运算算法和非数值运算算法【数
值运算用于求数值解,非数值运算用于事务管理领域】
7、算法的特性:①有穷性②确定性③有零个或多个输入④有一个或
多个输出⑤有效性
8、怎样表示一个算法: 自然语言、传统流程图、结构化流程图、 伪代
码等
9、连接点就是将画在不同地方的流程图连起来,流程图别忘记画箭
头。
基本结构的特点: ①只有一个入口②只有一个出口③结构内的每一部
分都有机会被执行到④结构内不存在死循环
10、区分当型和直到型:前者先判断条件成不成立,再执行下一步,
后者先执行,再判断条件
11、用 N-S 图表示的算法都是结构化的算法,如果一个算法不能分解
为若干个基本结构,则它必然不是一个结构化的算法【N-S 图又称盒
图】
12、结构化设计方法的基本思路:把一个复杂问题的求解过程分阶段
3
天不造人上人 , 亦不造人下人——福泽谕吉
进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。
13、方法:①自顶向下②逐步细化③模块化设计④结构化编码
14、程序中的子模块一般不超过50 行
15、模块的独立性:使用一个模块完成一项功能,耦合性越少越好
16、结构化程序设计方法用来解决人脑思维能力的局限性和被处理问
题的复杂性之间的矛盾
第三章最简单的 C程序设计
1、vc++把所有实数都作为双精度数处理。因此提醒用户:把双精度
常量赋给 float型变量会造成精度损失,知道怎么回事就行了
2、数据有两种表现形式:常量和变量
3、常量分为:①整型常量(1000)
②实型常量 (十进制小数形式和指