1、任课教师:李博预备知识.1 程序设计与算法概述n主要内容:计算机语言与程序设计算法 结构化程序设计 1.1.1 计算机语言与程序设计n1.计算机语言是人与计算机进行交流的工具计算机语言分为:机器语言机器指令(由0 和 1组成),可直接执行 汇编语言用助记符代替机器指令,用变量代替各类地址。高级语言类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。例如:0 0 1 0 0 0 1 11 1 1 0 1 1 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 main()printf(“Hello Word!”);编译方法n2程序设计用计算机解决一个实际应用
2、问题时的整个处理过程称为1.1.1 计算机语言与程序设计提出提出问题问题编写编写程序程序调试和运行程序调试和运行程序输入输入程序程序翻译翻译(编译或解释编译或解释)1.1.2 算法n什么是算法为解决某一应用问题而采用的解题步骤n算法的描述方式 用自然语言描述算法 用流程图描述算法 用N-S结构图描述算法 用自然语言描述算法第一步:输入x和y的值第二步:比较x和y的值,如果x大于y,则输出x的值,否则输出y的值。用流程图描述算法NYz=yz=xx y?开始开始输入输入x和和y结束结束输出输出z用N-S结构图描述算法输入输入x、y的值的值xy T F z=x z=y输出输出z的值的值1.1.3 结
3、构化程序设计n程序的三种基本结构顺序结构程序:按照书写顺序依次执行语句选择结构程序:按照条件判断选择执行语句循环结构程序:通过条件控制循环执行语句结构化程序设计的基本原则:结构化程序设计的基本原则:采用自顶向下、逐步细化的方法进行设计;采用模块化原则和方法进行设计。即将大型任务从上向下划分为多个功能模块,每个模块又可以划分为若干子模块,然后分别进行模块程序的编写;每个模块都是用结构化程序实现,即都只能由三种基本结构组成,并通过计算机语言的结构化语句实现。1.2 C语言概述n主要内容:C语言的发展C语言的特点C程序的基本结构C程序的执行过程1.2.1 C语言的发展n发展过程:Bell实验室,实验
4、室,1970年年 在在PDP机器上用其编写机器上用其编写UNIX系统系统:剑桥大学,:剑桥大学,1963年年:剑桥大学,:剑桥大学,1967年年:Bell实验室,实验室,19721973年用其改写年用其改写UNIX系统系统经简化经简化进一步简化进一步简化保持精练、接近硬件的优点,克服数据类型过少的不足保持精练、接近硬件的优点,克服数据类型过少的不足1.2.2 C语言的特点n语言简洁,表达能力强,易于理解只有32个关键字,9种控制语句数据构造能力强运算符丰富(34种运算符)程序书写格式自由n可直接访问物理地址,实现对硬件和低层系统软件的访问n语言生成的代码质量高n可移植性好1.2.3 C程序的基
5、本结构【例1】计算并输出一个整数a的平方。main()int a,b;a=2;b=a*a;printf(b=%dn,b);C程序结构nC程序由函数构成必须有,且只能有一个main(主函数)总是从main函数开始执行n函数由函数首部和函数体组成函数首部指定函数名、函数参数、类型函数体从 开始,到 结束函数内有语句C程序结构(续)n语句包括说明性语句、可执行语句以;表示语句结束n注释可以出现在程序的任何位置 用/*和*/括起来,必须成对出现n书写格式C语言没有行的概念,书写格式自由。习惯小写字母,缩进格式。严格区分大小写。1.2.4 C程序的执行过程1源程序文件的建立和编辑 编写源程序,形成.C文
6、件需用编辑工具:tc.exe、记事本2编译 编译源程序,形成目标程序 .Obj文件需用编译工具:tcc.exe3连接 连接OBJ文件和调用的库函数,形成运行程序.exe 文件需用连接工具:tlink.exe4运行.exe 文件1.3 C程序的符号系统n主要内容:基本字符标识符1.3.1 基本字符n大写英文字母:A B C X Y Z n小写英文字母:a b c x y z n数字:0 1 2 9 n空白符:空格符、换行符、制表符 n特殊字符:+-*/()_ =!#%.,;:“|&?$1.3.2 标识符n由字母、下划线和数字组成的字符序列n用于程序中的变量、符号常量、数组、函数、数据类型等操作对
7、象的名字关键字n数据类型:int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile n存储类别:auto、static、register、extern n语句命令字:break、case、continue、default、do、else、for、goto、if、return、switch、while n运算符:sizeof 预定义标识符n系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等n编译预备处理命令include、define等对标识符的规定n用户定义标识符必须以字母或下划线“_”开头不能含有除字母、数字和下划线“_”外的其他字符标识符中大小写字母含义不同n关键字必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名n预定义标识符允许用户对它们重新定义,当重新定义后将改变它们原来的含义上机作业1.编写一个C程序,输出以下信息:*Very good!*2.求两数之和