《C语言第1章C语言概述.ppt》由会员分享,可在线阅读,更多相关《C语言第1章C语言概述.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C C语言程序设计C语言概述语言概述第一章第一章第一章第一章第一章第一章 C C语言概述语言概述语言概述语言概述1.1.1 1 概念概念1.1.2 C2 C语言结构语言结构1.1.3 C3 C语言的执行语言的执行1.1.4 C4 C语言的算法语言的算法1.1.5 C5 C语言的三种结构语言的三种结构1.1.6 6 小结小结1.1 概念概念自然语言是人与人交流的工具,计算机语言是人与计算机进行交自然语言是人与人交流的工具,计算机语言是人与计算机进行交流的一种工具,自然语言因地域的不同产生不同语言表达形式,流的一种工具,自然语言因地域的不同产生不同语言表达形式,计算机语言因它的作用和目的不同导致它
2、的表达形式示不同。计计算机语言因它的作用和目的不同导致它的表达形式示不同。计算机语言又一个大的家族,算机语言又一个大的家族,C C语言只是它们中的一个成员。语言只是它们中的一个成员。如果你需要计算机来帮助你完成某些工作,可以使用如果你需要计算机来帮助你完成某些工作,可以使用C C语言来表语言来表述你的解题思想、解题步骤或解题方法并将它输入到计算机中,述你的解题思想、解题步骤或解题方法并将它输入到计算机中,让计算机来让计算机来“运行运行”它,得到你想要的结果。它,得到你想要的结果。C C语言是一种通用性很强的结构化程序设计语言,它具有丰富的语言是一种通用性很强的结构化程序设计语言,它具有丰富的运
3、算符号和数据类型,语言简单灵活,表达能力强等。运算符号和数据类型,语言简单灵活,表达能力强等。C C语言具有以下几大特点:语言具有以下几大特点:1.C1.C语言一种编译型语言。语言一种编译型语言。2.2.通用性通用性好,表达能力强。好,表达能力强。3.3.代码质量高,可移植性好。代码质量高,可移植性好。4.4.有丰富的数据有丰富的数据构造类型。构造类型。5.5.多种标准的存储模式。多种标准的存储模式。6.6.具有大量的标准函数库。具有大量的标准函数库。7.7.与其它的计算机语言有良好的接口。与其它的计算机语言有良好的接口。Return1.2 C语言的结构语言的结构1.2.1.2.1 C1 C语
4、言程序结构语言程序结构1.2.1.2.2 C2 C语言的函数结构语言的函数结构1.2.1.2.3 C3 C语言的语句结构语言的语句结构Return1.2.1 C语言的程序结构语言的程序结构ReturnC C语言程序结构由头文件、主函数、系统的库函数和自定义函数组语言程序结构由头文件、主函数、系统的库函数和自定义函数组成,因程序功能要求不同,成,因程序功能要求不同,C C语言程序的组成也有所不同。这样的语言程序的组成也有所不同。这样的C C语言程序又称为语言程序又称为C C源程序文件。源程序文件。C C语言程序的一条语句可以书写成一行,也可以写成多行,书写格语言程序的一条语句可以书写成一行,也可
5、以写成多行,书写格式自由。不可忘记的是:每个语句结束标记是分号。式自由。不可忘记的是:每个语句结束标记是分号。C C语言程序工作过程就是每条语句执行的过程。语言程序工作过程就是每条语句执行的过程。在组成在组成C C语言程序中必有一个且只能有一个的函数语言程序中必有一个且只能有一个的函数mainmain函数,它函数,它是是C C语言程序运行时第一个被调用的函数,使整个语言程序运行时第一个被调用的函数,使整个C C语言程序的入口语言程序的入口点,通过点,通过mainmain可以直接或间接调用其它函数。通过例子说明:可以直接或间接调用其它函数。通过例子说明:#include#includevoid
6、prst()void prst()printf(“printf(“这是第一个这是第一个C C语言程序语言程序”);”);void main()void main()clrscr();clrscr();prst();prst();头文件头文件自定义函数自定义函数主函数主函数调用系统函数调用系统函数调用系统函数调用系统函数调用自定义函数调用自定义函数Return1.2.2 C语言的函数结构语言的函数结构C语言的函数由函数名和函数体构成。语言的函数由函数名和函数体构成。函数名和一对圆括号构成函数头(函数名和一对圆括号构成函数头(main()函数),在函数头的函数),在函数头的前面还有函数值的类型说明
7、(如前面还有函数值的类型说明(如 void)。)。用一对花括号括起来的部分称为函数体,函数体是函数运行的用一对花括号括起来的部分称为函数体,函数体是函数运行的主体部分,函数体如果是空的,花括号也不能省略。主体部分,函数体如果是空的,花括号也不能省略。函数在函数在C语言程序中的位置可以使随意的,在主函数前或在主语言程序中的位置可以使随意的,在主函数前或在主函数后均可以。函数后均可以。#includevoid main()clrscr();prst();void prst()printf(“这是第一个C语言程序”);1.2.3 C语言的语句结构语言的语句结构ReturnC语言的语句由表达式加分号组
8、成。语言的语句由表达式加分号组成。C语言有多种多样的表语言有多种多样的表达式,不论多么复杂,但要构成语句,必须在语句后面加达式,不论多么复杂,但要构成语句,必须在语句后面加分号。分号。如果某一行只有分号而没有任何表达式则表明该语句行是如果某一行只有分号而没有任何表达式则表明该语句行是一个空语句,空语句没有执行动作上的要求,只是为占有一个空语句,空语句没有执行动作上的要求,只是为占有空位置空位置。#includevoid main()printf(“this is a test”);printf(“this is a computer”);这是一条空语句这是一条空语句语句用分号结束语句用分号结束
9、语句用分号结束语句用分号结束Return1.3 C语言的执行语言的执行1.3.1.3.2 C2 C语言程序的编译语言程序的编译1.3.1.3.1 C1 C语言程序的编辑语言程序的编辑1.3.1.3.4 C4 C语言程序的运行语言程序的运行 1.3.1.3.3 C3 C语言程序的链接语言程序的链接 C语言的程序编辑语言的程序编辑ReturnC语言的程序编辑可以使用任何文本编辑器,不受语言的程序编辑可以使用任何文本编辑器,不受TC编辑器的限编辑器的限制,可以使用制,可以使用Windows的的Notepad文本编辑器、文本编辑器、Word编辑或编辑或Edit编编辑器等。辑器等。C程序的文本文件扩展名
10、必须是程序的文本文件扩展名必须是”.C”,不要使用其它的不要使用其它的文件扩展名。在书写文件扩展名。在书写C语言程序文本时变量名、数组名、函数名和语言程序文本时变量名、数组名、函数名和关键字要用小写字母,遇到结构控制关键字要缩进一个关键字要用小写字母,遇到结构控制关键字要缩进一个tab的位置。的位置。if if 是关键字是关键字elseelse是关键字是关键字语句缩进一个语句缩进一个tabtab位置位置语句缩进一个语句缩进一个tabtab位置位置1.3.2 C语言程序的编译语言程序的编译ReturnC语言程序的编译是对编写程序进行语法和语义的检查,找语言程序的编译是对编写程序进行语法和语义的检
11、查,找出程序中错误的语句。在出错信息中会给出哪一行出现错误出程序中错误的语句。在出错信息中会给出哪一行出现错误和犯了什么样的错误。和犯了什么样的错误。按按alt键和键和c键选择键选择Compile功能功能文件名是文件名是C_Lang.cC_Lang.c选择编译功能选择编译功能1.3.3 C语言程序的链接语言程序的链接链接功能完成把编译过的链接功能完成把编译过的C语言程序链接成可以直接执行的语言程序链接成可以直接执行的文件,这种文件的扩展名是文件,这种文件的扩展名是.exe。直接选择直接选择“RUN”功能也可以生成可执行文件功能也可以生成可执行文件.exe。Return链接功能的位置链接功能的位
12、置运行功能的位置运行功能的位置Return1.3.4 C语言程序的运行语言程序的运行C语言程序的运行有两种形式,一种是在编辑窗口运行,如语言程序的运行有两种形式,一种是在编辑窗口运行,如1.3.3节中节中所示,另一种是在命令窗口(所示,另一种是在命令窗口(Dos或或Windows)中运行,在)中运行,在Dos窗口窗口中输入欲运行的文件名,然后按回车键程序即可执行。在中输入欲运行的文件名,然后按回车键程序即可执行。在Windows窗窗口用鼠标双击文件的图标也可运行程序。口用鼠标双击文件的图标也可运行程序。在命令窗口输入程序名在命令窗口输入程序名1.4 C语言的算法语言的算法1.4.4.1 1 算
13、法算法1.4.4.2 2 算法的表示算法的表示Return1.4.1 算法算法Return算法本身是一门学科,用计算机解决一个具体问题时,大致需要经算法本身是一门学科,用计算机解决一个具体问题时,大致需要经过下列几个步骤:从一个具体问题抽象出适当的数学模型,然后设过下列几个步骤:从一个具体问题抽象出适当的数学模型,然后设计一个解数学模型计一个解数学模型 的方法或解题步骤,编制程序,对程序进行调试的方法或解题步骤,编制程序,对程序进行调试和结果分析,直道得出正确地最终结果。和结果分析,直道得出正确地最终结果。解决数学模型的方法或解题步骤称为解决数学模型的方法或解题步骤称为“算法算法”算法具有以下
14、特点:算法具有以下特点:1.确定性:算法的每一种运算必须有意义,该算法应该什么动作有确定性:算法的每一种运算必须有意义,该算法应该什么动作有明确地目的且无二义性。对于相同的输入只能得到相同的输出。明确地目的且无二义性。对于相同的输入只能得到相同的输出。2.可行性:算法中描述的操作是可以通过已实现的基本运算执行有可行性:算法中描述的操作是可以通过已实现的基本运算执行有限次来实现。限次来实现。3.有穷性:一个算法必须在执行有穷步后结束,每一步骤都可在有有穷性:一个算法必须在执行有穷步后结束,每一步骤都可在有穷时间内完成。穷时间内完成。4.输入:一个算法有零个输入或多个输入。输入:一个算法有零个输入
15、或多个输入。5.输出:一个算法至少有一个输出。没有输出的算法是无意义的。输出:一个算法至少有一个输出。没有输出的算法是无意义的。1.4.2 算法的表示算法的表示Return算法的表示方法有多种,通常使用的有:自然语言表示法、传统流算法的表示方法有多种,通常使用的有:自然语言表示法、传统流程图表示法、伪代码表示法、程图表示法、伪代码表示法、N-S流程图表示法、流程图表示法、PAD图表示法。图表示法。1.自然语言表示法:用自然语言表示算法可以采用任何语言,也可自然语言表示法:用自然语言表示算法可以采用任何语言,也可以采用数学语言,用自然语言表示算法通俗易懂,对复杂的算法表以采用数学语言,用自然语言
16、表示算法通俗易懂,对复杂的算法表示不方便。示不方便。2.传统流程图表示法:用传统流程图表示算法采用一些标准的图框传统流程图表示法:用传统流程图表示算法采用一些标准的图框和流程线来表示各种类型的操作。和流程线来表示各种类型的操作。3.伪代码表示:用伪代码表示算法是用自然语言和计算机语言混合伪代码表示:用伪代码表示算法是用自然语言和计算机语言混合来表示算法,它比自然语言更靠近计算机语言,书写简单方便,容来表示算法,它比自然语言更靠近计算机语言,书写简单方便,容易向计算机程序转换。易向计算机程序转换。4.N-S流程图表示法:流程图表示法:N-S图形是一种新型的流程图形式,取消流程图形是一种新型的流程
17、图形式,取消流程线使它比传统流程图表示法表示的清晰,更适用结构化程序设计。线使它比传统流程图表示法表示的清晰,更适用结构化程序设计。5.PAD图表示法:图表示法:PAD图表示法也是一种新型的流程图形式,采用图表示法也是一种新型的流程图形式,采用二维表示法:从上到下表示执行顺序,从左到右表示层次关系。二维表示法:从上到下表示执行顺序,从左到右表示层次关系。1.5 C语言的三种结构语言的三种结构Return1.5.1 顺序结构顺序结构1.5.2 判断选择结构判断选择结构1.5.3 循环结构循环结构1.5.1 C语言的顺序结构语言的顺序结构C语言的顺序结构是一种理想的程序结构,它完全按书写语句从上语
18、言的顺序结构是一种理想的程序结构,它完全按书写语句从上到下顺序执行,即执行过程与书写过程完全一致。到下顺序执行,即执行过程与书写过程完全一致。#include#includevoid main()int x=0;float y;y=sin(x*3.14159/180);printf(“%fn”,y);x=x+10;y=sin(x*3.14159/180);printf(“%fn”,y);x=x+10;y=sin(x*3.14159/180);printf(“%fn”,y);Return1.5.2 C语言的判断选择结构语言的判断选择结构ReturnC语言的判断选择结构是当程序执行到某条语句时,要
19、进行判语言的判断选择结构是当程序执行到某条语句时,要进行判断从两条程序执行线路中选择一条线路执行。断从两条程序执行线路中选择一条线路执行。输入数据输入数据处理数据处理数据判断判断处理数据处理数据1 1处理数据处理数据2 2输出数据输出数据成立成立不成立不成立1.5.3 C语言的循环结构语言的循环结构C语言循环构成一个重复结构,该结构是将一条语句或多条语句语言循环构成一个重复结构,该结构是将一条语句或多条语句重复执行若干遍。重复执行若干遍。Return输入数据输入数据处理数据处理数据1 1判断判断处理数据处理数据2 2输出数据输出数据成立成立不成立不成立小结小结掌握掌握C语言的结构语言的结构函数
20、结构函数结构C语言程序执行时从语言程序执行时从main函数开始执行函数开始执行C语言程序中的每条语句必须用分号结束语言程序中的每条语句必须用分号结束使用使用C语言编写程序从文本文件到可执行文件要经过编辑、编译和语言编写程序从文本文件到可执行文件要经过编辑、编译和链接。链接。算法是解决问题的模型算法是解决问题的模型算法具有以下特点:算法具有以下特点:1.确定性确定性2.可行性可行性3.有穷性有穷性4.输入输入5.输出输出算法表示的方法有:算法表示的方法有:自然语言表示法、传统流程图表示法、伪代码表示法、自然语言表示法、传统流程图表示法、伪代码表示法、N-S流程图流程图表示法、表示法、PAD图表示法。图表示法。