《《C语言程序设计教程》.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计教程》.ppt(30页珍藏版)》请在三一办公上搜索。
1、第1章 预备知识,北京科技大学 计算机系,C 语言程序设计,2,说明:,本课件的配套教材为:C语言程序设计教程C语言程序设计教程习题解答与实验指导 北京人民邮电出版社 李玲等编著如果选用本套教材,并需要完整的各章课件,请与作者联系。电话:01062755063E-mail:通信地址:北京科技大学信息工程学院李玲 100817,3,本章主要内容,程序设计与算法概述C语言概述 C程序的符号系统,4,1.1 程序设计与算法概述,主要内容:计算机语言与程序设计算法 结构化程序设计,5,计算机语言与程序设计,1.计算机语言是人与计算机进行交流的工具计算机语言分为:,6,例如:,0 0 1 0 0 0 1
2、 11 1 1 0 1 1 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0,机器语言程序,源程序需要翻译,7,汇编源程序的翻译:,将汇编源程序翻译为目标程序的过程称为汇编汇编过程:,8,高级语言的翻译:,编译方法,解释方法,9,2程序设计,用计算机解决一个实际应用问题时的整个处理过程称为程序设计,10,1.1.2 算法,什么是算法为解决某一应用问题而采用的解题步骤算法的描述方式 用自然语言描述算法 用流程图描述算法 用N-S结构图描述算法,例如:输出两个数中的最大数,11,用自然语言描述算法,第一步:输入x和y的值第二步:比较x和y的值,如果x大于y,则输出x的值,否则输出
3、y的值。,易于理解,但冗长,不够精确,难于描述复杂算法。,例如当描述“输出10个数中最大数”的算法时,会冗长、难于理解,12,图1.5 用流程图描述算法,用流程图描述算法,起止框,输入/输出框,判断框,处理框,流程线,13,用N-S结构图描述算法,图1.7 用N-S结构图描述的算法,已经证明,任何复杂的问题都可以三种基本算法结构来描述:顺序、选择、循环。因此用计算机语句描述的程序也包含三种基本结构。,14,1.1.3 结构化程序设计,程序的三种基本结构顺序结构程序:按照书写顺序依次执行语句选择结构程序:按照条件判断选择执行语句循环结构程序:通过条件控制循环执行语句,三种基本结构的共同点:都是只
4、有一个入口和一个出口;结构内的每一个框都有机会被执行;结构内没有死循环。,15,结构化程序设计的基本原则:,如果一个程序仅包含这三种基本结构(由这些基本结构顺序组成),则称为结构化程序。结构化程序设计的基本原则:采用自顶向下、逐步细化的方法进行设计;采用模块化原则和方法进行设计。即将大型任务从上向下划分为多个功能模块,每个模块又可以划分为若干子模块,然后分别进行模块程序的编写;每个模块都是用结构化程序实现,即都只能由三种基本结构组成,并通过计算机语言的结构化语句实现。,16,1.2 C语言概述,主要内容:C语言的发展C语言的特点C程序的基本结构C程序的执行过程,17,1.2.1 C语言的发展,
5、发展过程,18,1.2.2 C语言的特点,语言简洁,表达能力强,易于理解只有32个关键字,9种控制语句数据构造能力强运算符丰富程序书写格式自由可直接访问物理地址,实现对硬件和低层系统软件的访问语言生成的代码质量高可移植性好,增加学习难度,19,1.2.3 C程序的基本结构,【例1.1】计算并输出一个数a的平方。main()float a,b;a=5.2;b=a*a;printf(b=%fn,b);,执行程序的输出结果为:b=27.039997,20,1.2.3 C程序的基本结构,【例1.2】输入两个数,输出其中的大数。,int max(int x,int y)/*max函数*/int z;if
6、(xy)z=x;else z=y;return(z);main()/*主函数*/int a,b,c;scanf(%d,%d,21,C程序结构,C程序由函数构成必须有,且只能有一个main(主函数)总是从main函数开始执行函数由函数首部和函数体组成函数首部指定函数名、函数参数、类型函数体从 开始,到 结束函数内有语句,22,C程序结构(续),语句包括说明性语句、可执行语句以;表示语句结束注释可以出现在程序的任何位置 用/*和*/括起来,必须成对出现书写格式C语言没有行的概念,书写格式自由。习惯小写字母,缩进格式。,23,1.2.4 C程序的执行过程,1源程序文件的建立和编辑 编写源程序,形成.
7、C文件需用编辑工具:tc.exe、记事本2编译 编译源程序,形成目标程序.Obj文件需用编译工具:tcc.exe3连接 连接OBJ文件和调用的库函数,形成运行程序.exe 文件需用连接工具:tlink.exe4运行.exe 文件,运行jc1_2,Turbo C提供集成化开发环境,24,1.3 C程序的符号系统,主要内容:基本字符标识符,25,1.3.1 基本字符,大写英文字母:A B C X Y Z 小写英文字母:a b c x y z 数字:0 1 2 9 空白符:空格符、换行符、制表符 特殊字符:+-*/()_=!#%.,;:“|&?$,26,1.3.2 标识符,由字母、下划线和数字组成的
8、字符序列用于程序中的变量、符号常量、数组、函数、数据类型等操作对象的名字,1系统定义标识符具有固定名字和特定含义的标识符分为关键字和预定义标识符 2用户定义标识符 用于对用户使用的变量、数组、函数等操作对象进行命名,27,关键字,数据类型:int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile 存储类别:auto、static、register、extern 语句命令字:break、case、continue、default、do、else、for、goto、i
9、f、return、switch、while 运算符:sizeof,28,预定义标识符,系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等编译预备处理命令include、define等,29,对标识符的规定,用户定义标识符必须以字母或下划线“_”开头不能含有除字母、数字和下划线“_”外的其他字符标识符中大小写字母含义不同关键字必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名预定义标识符允许用户对它们重新定义,当重新定义后将改变它们原来的含义,30,正确区分标识符,正确区分哪些是合法标识符,哪些是不合法标识符。其中合法标识符中哪些是关键字,哪些是预定义标识符,哪些是用户定义标识符。Abc define 2x double studentm+y a#b-4 _1 Whileint let x%y name do wtm Ctrl swicth include,