《C语言课件第1章程序设计和C语言.ppt》由会员分享,可在线阅读,更多相关《C语言课件第1章程序设计和C语言.ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第第第1 1 1 1章章章章 程序程序程序程序设计设计和和和和C C C C语语言言言言第第第第2 2 2 2章章章章 算法算法算法算法-程序的灵魂程序的灵魂程序的灵魂程序的灵魂第第第第3 3 3 3章章章章 最最最最简单简单的的的的C C C C程序程序程序程序设计设计(重点,是以后各章重点,是以后各章重点,是以后各章重点,是以后各章节节的基的基的基的基础础)第第第第4 4 4 4章章章章 选择结选择结构程序构程序构程序构程序设计设计(重点,是程序重点,是程序重点,是程序重点,是程序设计设计的基的基的基的基础础)第第第第5 5 5 5章章章章 循循循循环结环结构程序构程序构程序构程序设计设
2、计(重点,是程序重点,是程序重点,是程序重点,是程序设计设计的基的基的基的基础础)第第第第6 6 6 6章章章章 利用数利用数利用数利用数组处组处理批量数据(理批量数据(理批量数据(理批量数据(重点,是程序重点,是程序重点,是程序重点,是程序设计设计的基的基的基的基础础)第第第第7 7 7 7章章章章 用函数用函数用函数用函数实现实现模模模模块块化程序化程序化程序化程序设计设计(重点,是重点,是重点,是重点,是C C C C语语言的基言的基言的基言的基础础)第第第第8 8 8 8章章章章 善于利用指善于利用指善于利用指善于利用指针针 (重点重点重点重点难难点点点点)第第第第9 9 9 9章章章
3、章 用用用用户户自己建立数据自己建立数据自己建立数据自己建立数据类类型型型型第第第第10101010章章章章 对对文件的文件的文件的文件的输输入入入入输输出出出出1.1 什么是计算机程序1.2 什么是计算机语言1.3 C语言的发展及其特点1.4 最简单的C语言程序1.5 运行C程序的步骤与方法1.6 程序设计的任务n n理解什么是计算机语言和计算机程序n n了解一个最简单C语言程序的基本“外观”n n了解一个C语言程序的运行步骤n n基本掌握在VC6.0环境下编写调试C语言程序的步骤n n计算机是人为设计的电子产品,是通过执行执行指令指令来完成规定动作。一条指令可以指示计算机完成一个特定动作,
4、(例如:add 2,3)由一系列指令组成的集合称为计算机语言计算机语言,可以由设计人员根据任务的需要,按照完成任务的步骤,写出由若干指令组成的程序程序。n n程序交给计算机去执行就可以完成事先设定好的任务,这样可以提高工作效率。因为程序可以反复多次被不同的人拿到计算机上去执行。例如:一个音乐播放软件。计算机语言的发展CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A,B面向机器的语言类似数学语言和自然语言n n计算计算1+11+110111000101110000000000100000001000000000000
5、0000000001010000010100000001000000010000000000000000u能直接被机器识别和执行的用二进制代码描述的指令用二进制代码描述的指令称为机器指令,机器指令的集合称为机器语言。由于它更靠近机器,也称为低级语言u早期编程语言只有机器语言,由于它难于记忆和掌握,因此少数人能参与到编程的工作中。u目前我们主要使用高级语言编程,但也必须翻译为机器语言才能被机器识别和执行。翻译工作由编译软件编译软件实现。MOV AX,1101110000000000100000000ADD AX,1000001010000000100000000计算计算1+11+1u汇编语言是用
6、帮助记忆和理解的符号来代替机器指令符号来代替机器指令,早期一条汇编语言中的指令对应一条机器指令。u用汇编语言编好的程序必须“翻译”成机器指令才能被计算机识别和执行,转换过程由专门的软件实现。u汇编语言也是低级语言PRINT 1+1计算计算1+11+1u低级语言的缺点:u一条指令完成的功能较少,在程序中要交待很多细节,一个简单的动作要写好几条指令u难于记忆和掌握u程序难于查错和修改u高级语言用自然语言加数学语言自然语言加数学语言描述,容易记忆和掌握,程序方便差错和修改#include#include main()main()printf(%dn,1+1);printf(%dn,1+1);计算计算
7、1+11+1全国计算机二级考试科目全国计算机二级考试科目语言程序设计语言程序设计 (C、C+、Java、Visual Basic、Delphi)数据库程序设计(数据库程序设计(Visual FoxPro、Access)。)。2013 年年2月月编程编程语言语言排行榜排行榜n n计算机语言种类繁多,其中应用比较广泛都有100多种,不同的语言侧重点不同。n nC语言的优点n n语语法法简洁简洁n nC C语语言是中言是中级语级语言。既能接触硬件最底言。既能接触硬件最底层层(编编制制设备驱动设备驱动程序),也能当作高程序),也能当作高级语级语言来言来编编程,程,处处理复理复杂过杂过程。很多程。很多专
8、业专业人士人士选择选择用用C C来来编编程程进进行行软软件开件开发发。n n很多流行很多流行语语言、新生言、新生语语言都借言都借鉴鉴了它的思想、了它的思想、语语法,从法,从C+C+,到,到JavaJava,再到,再到C#C#,还还有有phpphp等等n n可用于可用于编编写写应应用用软软件,又能用于件,又能用于编编写系写系统软统软件件解释解释1 1:C+是由于开发大型应用软件的需要而产生的,并不是所有的人都要去编写大型软件。解释解释2 2:面向对象的基础是面向过程。C+是面向对象的语言,C是面向过程的,学起来比C语言困难得多,所以不太适合程序设计的初学者。问题:问题:既然有了面向对象的既然有了
9、面向对象的C+C+语言,为什么还语言,为什么还要学习要学习C C语言?语言?C语言的祖师爷Dennis M.Ritchie一切从一个叫“Space Travel”的电子游戏开始Ken Thompson为了让他的游戏能在PDP-7上运行,用汇编语言给PDP-7写了一个操作系统UNIX汇编太不好用了,Thompson需要高级语言试验了一些高级语言,包括Fortran,都不理想他在BCPL基础上,自己设计了一个B语言UNIX开始发展,B也不够用了Dennis Ritchie加入,把B改造成C开始用C重写UNIX1.4 最简单的最简单的C语言程序语言程序1.4.1 最简单的最简单的C语言程序举例语言程
10、序举例1.4.2 C语言程序的结构语言程序的结构1.4.1 最简单的C语言程序举例#include int main()printf(”This is a C program.n”);return 0;例例1.1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。This is a C program.函数体函数体函数头函数头为程序提供输入输出有关的操作为程序提供输入输出有关的操作C语言是函数的语言,函数是组成程序的基本元素1.4.1 最简单的C语言程序举例#include int main()printf(”This is a C program.n”);return 0;函数的名
11、字,表示函数的名字,表示主函数主函数C程序必须有一个程序必须有一个 main 函数函数例例1.1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。This is a C program.1.4.1 最简单的C语言程序举例#include int main()printf(”This is a C program.n”);return 0;例例1.1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。This is a C program.主函数主函数类型类型1.4.1 最简单的C语言程序举例#include int main()printf(”This is a C pr
12、ogram.n”);return 0;例例1.1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。This is a C program.输出函数,输出输出函数,输出“”中的文字中的文字1.4.1 最简单的C语言程序举例#include int main()printf(”This is a C program.n”);return 0;例例1.1 要求在屏幕上输出以下一行信息。要求在屏幕上输出以下一行信息。This is a C program.如程序运行正常结束,函数如程序运行正常结束,函数向操作系统向操作系统返回返回0。C程序程序一般以一般以return 0结束结束例1.2
13、求两个整数之和。#include#include int main()int main()int a,b,sum;int a,b,sum;a=123;a=123;b=456;b=456;sum=a+b;sum=a+b;printf(printf(”sum is%dnsum is%dn”,sum);,sum);return 0;return 0;1.以下程序由哪几部分组成?2.和上一个程序有什么相同和不同的?为程序提供输入输出有关的操作为程序提供输入输出有关的操作函数头函数头函数体函数体组成部分组成部分例1.2 求两个整数之和。#include#include int main()int mai
14、n()int a,b,sum;int a,b,sum;a=123;a=123;b=456;b=456;sum=a+b;sum=a+b;printf(printf(”sum is%dnsum is%dn”,sum);,sum);return 0;return 0;1.以下程序由哪几部分组成?2.和上一个程序有什么相同和不同?相同的部分相同的部分例1.2 求两个整数之和。不同的部分是本程序的精华处不同的部分是本程序的精华处解题思路:解题思路:u设置设置3个变量个变量 a和和b用来存放两个整数用来存放两个整数 sum用来存放和数用来存放和数u用赋值运算符用赋值运算符“=”把结果传把结果传送给送给su
15、m#include#include int main()int main()int a,b,sum;int a,b,sum;a=123;a=123;b=456;b=456;sum=a+b;sum=a+b;printf(printf(”sum is%dnsum is%dn”,sum);,sum);return 0;return 0;一个一个C程序概貌程序概貌1.每个每个C程序前面都有程序前面都有一些固定语句一些固定语句,暂且称,暂且称为为程序头程序头#include /#include /预处理预处理预处理预处理命令命令命令命令2.每一个每一个C程序有且仅有一个程序有且仅有一个main()函数,
16、也函数,也称为称为主函数主函数,它的类型为,它的类型为int,也就是整型,也就是整型,其函数体其函数体最后一条语句为最后一条语句为 return 0return 03.C程序的细胞是函数程序的细胞是函数,每个函数都有函数的,每个函数都有函数的类型,函数的名称和函数体,类型,函数的名称和函数体,函数体函数体放在一放在一对对.函数体函数体.中间定界起来中间定界起来4.函数体由四部分组成:变量声明,数据提供,函数体由四部分组成:变量声明,数据提供,数据处理,结果输出或者返回处理结果数据处理,结果输出或者返回处理结果结论结论1:可以这么说,拿到一个写:可以这么说,拿到一个写C程序的任务,程序的任务,我
17、们基本可以搭出一个框架,如下:我们基本可以搭出一个框架,如下:#include#include /其他在主函数中被调用的函数其他在主函数中被调用的函数其他在主函数中被调用的函数其他在主函数中被调用的函数int main()int main()/主函数体;主函数体;主函数体;主函数体;return 0;return 0;成功一半!成功一半!成功一半!成功一半!主函数主函数函数体函数体最后最后最后最后语句语句程序头程序头程序头程序头#include int main()printf(”This is a C program.n”);return 0;函数的名字,表示函数的名字,表示主函数主函数C程
18、序必须有一个程序必须有一个 main 函数函数理解理解理解理解3 3:n nC C程序的细胞是函数程序的细胞是函数程序的细胞是函数程序的细胞是函数,每个函数都有函,每个函数都有函,每个函数都有函,每个函数都有函数的类型数的类型数的类型数的类型,函数函数函数函数的名称的名称的名称的名称和和和和函数体函数体函数体函数体,函数体函数体函数体函数体放在一对放在一对放在一对放在一对 .函数体函数体函数体函数体.中间定界中间定界中间定界中间定界起来起来起来起来n n每个每个每个每个C C语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是
19、有一个语言程序应该至少有一个主函数,也就是有一个名称为名称为名称为名称为mainmain的函数的函数的函数的函数#include int main()printf(”This is a C program.n”);return 0;主主函数函数类型类型理解理解理解理解3 3:n nC C程序的细胞是函数程序的细胞是函数程序的细胞是函数程序的细胞是函数,每个函数都有函,每个函数都有函,每个函数都有函,每个函数都有函数的类型数的类型数的类型数的类型,函数函数函数函数的名称的名称的名称的名称和和和和函数体函数体函数体函数体,函数体函数体函数体函数体放在一对放在一对放在一对放在一对 .函数体函数体函数
20、体函数体.中间定界中间定界中间定界中间定界起来起来起来起来n n每个每个每个每个C C语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是有一个名称为名称为名称为名称为mainmain的函数的函数的函数的函数#include int main()printf(”This is a C program.n”);return 0;一对一对 里面的是里面的是函数体函数体理解理解理解理解3 3:n nC C程序的细胞是函数程序的细胞是函数程序的细胞是函数程序的细胞是函数,每个函数都有函,每个函
21、数都有函,每个函数都有函,每个函数都有函数的类型数的类型数的类型数的类型,函数函数函数函数的名称的名称的名称的名称和和和和函数体函数体函数体函数体,函数体函数体函数体函数体放在一对放在一对放在一对放在一对 .函数体函数体函数体函数体.中间定界中间定界中间定界中间定界起来起来起来起来n n每个每个每个每个C C语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是有一个语言程序应该至少有一个主函数,也就是有一个名称为名称为名称为名称为mainmain的函数的函数的函数的函数#include int main()int a,b,su
22、m;a=123;b=456;sum=a+b;printf(”sum is%dn”,sum);return 0;变量变量a,b,sum的声明的声明提供数据提供数据数据处理数据处理结果输出结果输出理解理解理解理解4 4:n n函数体由四部分组成:函数体由四部分组成:函数体由四部分组成:函数体由四部分组成:变量声明变量声明变量声明变量声明,数据提供数据提供数据提供数据提供,数据数据数据数据处理处理处理处理,结果输出结果输出结果输出结果输出或者返回处理结果或者返回处理结果或者返回处理结果或者返回处理结果变量为数据变量为数据提供在内存提供在内存存储的空间存储的空间#include int main()i
23、nt max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);例例1.3 求两个整数中的较大求两个整数中的较大数数。1.你认为程序会是什么样2.以下程序由哪几部分组成?3.和例1.2程序有什么相同和不同?#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);pr
24、intf(max=%dn,c);return 0;int max(int x,int y)int z;if(x y)z=x;else z=y;return(z);例例1.3 求两个整数中的较大求两个整数中的较大数数。主函数主函数max函数函数1.你认为程序会是什么样2.以下程序由哪几部分组成?3.和例1.2程序有什么相同和不同?#include int main()int max(int x,int y);int a,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf(max=%dn,c);return 0;int max(int x,int y)int z;
25、if(x y)z=x;else z=y;return(z);例例1.3 求两个整数中的较大求两个整数中的较大数数。1.你认为程序会是什么样2.以下程序由哪几部分组成?3.和例1.2程序有什么相同和不同?主函数调用主函数调用max 函数函数1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:1.一个程序由一个或多个源程序文件组成n n小程序往往只包括一个源程序文件小程序往往只包括一个源程序文件n n例例1.11.1,例,例1.21.2只有一个函数只有一个函数n n例例1.31.3有两个函数有两个函数只包括一个源程序文件只包括一个源程序文件1.4.2 C语言程序的结构语言程序的结构C语
26、言程序的结构特点:2.函数是C程序的主要组成部分n n一个一个C C程序是由一个或多个函数组成的程序是由一个或多个函数组成的n n必须包含一个必须包含一个mainmain函数函数(只能有一个)(只能有一个)n n每个函数都用来实现一个或几个特定功能每个函数都用来实现一个或几个特定功能1.4.2 C语言程序的结构语言程序的结构C语言程序的结构特点:语言程序的结构特点:3.一个函数包括两个部分:一个函数包括两个部分:n n函数首部函数首部函数首部函数首部int max (int x,int y)函数的第函数的第1行行函数类型函数类型函数名函数名参数类型参数类型参数参数名名1.4.2 C语言程序的结
27、构语言程序的结构4.C4.C程序的书写风格程序的书写风格程序的书写风格程序的书写风格格式特点格式特点格式特点格式特点n n习惯用习惯用习惯用习惯用小写小写小写小写字母,大小写敏感字母,大小写敏感字母,大小写敏感字母,大小写敏感n一条语句以一条语句以分号分号分号分号结束结束n一行内可以写几个语句一行内可以写几个语句n n可使用空行和空格可使用空行和空格可使用空行和空格可使用空行和空格n n常用常用常用常用锯齿形锯齿形锯齿形锯齿形书写格式书写格式书写格式书写格式#include#include int main()int main()int a,b,sum;int a,b,sum;a=123;a=
28、123;b=456;b=456;sum=a+b;sum=a+b;printf(printf(”sum is sum is%dn%dn”,sum);,sum);return 0;return 0;1.4.2 C语言程序的结构语言程序的结构5.C语言允许用两种注释方式:n n/:单行注释n n可单独占一行可单独占一行n n可可出现在一行中其他内容的右侧出现在一行中其他内容的右侧n n/*/:块式注释n n可包含多行可包含多行注释举例注释举例1.5 运行运行C程序的步骤与方法程序的步骤与方法1.上机输入和编辑源程序(.c文件)2.对源程序进行编译(.obj文件)3.进行连接处理(.exe文件)4.运
29、行可执行程序,得到运行结果说明:说明:以上过程以上过程参见教材中参见教材中图图1.11.1 附录附录A A中中有有Visual C+6.0Visual C+6.0中中编辑、编辑、编译、连接和运行编译、连接和运行C C程序的方法程序的方法解释程序:解释程序:直接对源代码中的语句进行解释执行,不产生目标代码。源程序计算机只能识别机器码,高级语言程序怎样才能被执行呢?计算机只能识别机器码,高级语言程序怎样才能被执行呢?汇编语言程序机器语言程序汇编程序汇编程序高级语言程序目标程序机器语言程序汇编语言程序编译程序编译程序目标程序可执行程序.C文件.CPP文件.OBJ.EXE编译编译连接连接n n程序开发
30、的基本过程:程序开发的基本过程:编辑、编译、连接、运行调试编辑、编译、连接、运行调试n n编辑编辑编辑编辑n n将源程序输入到计算机中,生成后缀为将源程序输入到计算机中,生成后缀为将源程序输入到计算机中,生成后缀为将源程序输入到计算机中,生成后缀为.c.c 的磁盘文件。的磁盘文件。的磁盘文件。的磁盘文件。n n编译编译编译编译n n将程序的源代码转换为机器语言代码。将程序的源代码转换为机器语言代码。将程序的源代码转换为机器语言代码。将程序的源代码转换为机器语言代码。目标程序文件的扩展名目标程序文件的扩展名为为.obj.obj。n n连接连接连接连接n n将多个源程序的目标文件以及库中的某些文件
31、连在一起,生成将多个源程序的目标文件以及库中的某些文件连在一起,生成将多个源程序的目标文件以及库中的某些文件连在一起,生成将多个源程序的目标文件以及库中的某些文件连在一起,生成一个后缀为一个后缀为一个后缀为一个后缀为.exe.exe的可执行文件。的可执行文件。的可执行文件。的可执行文件。n n运行调试运行调试运行调试运行调试n n运行可执行文件,分析运行结果。若结果不正确,则要修改源运行可执行文件,分析运行结果。若结果不正确,则要修改源运行可执行文件,分析运行结果。若结果不正确,则要修改源运行可执行文件,分析运行结果。若结果不正确,则要修改源程序,并重复以上过程,直到得到正确的结果为止。程序,
32、并重复以上过程,直到得到正确的结果为止。程序,并重复以上过程,直到得到正确的结果为止。程序,并重复以上过程,直到得到正确的结果为止。1.5 C+1.5 C+程序的编写和实现程序的编写和实现编辑链接编译执行C语言程序开发步骤语言程序开发步骤file.exe程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序* n建立一个存放你编写程序的文件夹建立一个存放你编写程序的文件夹建立一个存放你编写程序的文件夹建立一个存放你编写程序的文件夹n n打开打开打开打开VCVCn nMicrosoft Visual C+6.0Microsoft Visual C+6.0 n n创建创建创建创建CC源程序文件:源程序文件:源程序文件:源程序文件:n n单击文件菜单单击文件菜单单击文件菜单单击文件菜单新建新建新建新建文件文件文件文件C Source C Source File File n n键入文件名键入文件名键入文件名键入文件名n n设置保存位置设置保存位置设置保存位置设置保存位置n nVCVC窗口的组成窗口的组成窗口的组成窗口的组成n n代码区代码区代码区代码区n n工程项目管理区工程项目管理区工程项目管理区工程项目管理区n n调试区调试区调试区调试区项目工作区项目工作区代码区代码区编译区编译区1.5 关于关于C上机实践上机实践