实用C语言程序设计教程-全套电子课件完整版ppt整本书电子教案最全教学教程整套课件.ppt
《实用C语言程序设计教程-全套电子课件完整版ppt整本书电子教案最全教学教程整套课件.ppt》由会员分享,可在线阅读,更多相关《实用C语言程序设计教程-全套电子课件完整版ppt整本书电子教案最全教学教程整套课件.ppt(851页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、21世纪高等院校规划教材实用C语言程序设计教程本章首先介绍算法和程序的概念以及程序设计的一般过本章首先介绍算法和程序的概念以及程序设计的一般过程,然后介绍程,然后介绍C语言的特点、语言的特点、C语言程序的结构,其次介绍语言程序的结构,其次介绍TurboC2.0集成环境下的上机操作过程,最后介绍算法流集成环境下的上机操作过程,最后介绍算法流程图和程图和N-S盒图以及结构化程序设计的概念。学习本章的目盒图以及结构化程序设计的概念。学习本章的目的是使读者对的是使读者对C语言和程序设计有一个概略的了解,并掌握语言和程序设计有一个概略的了解,并掌握上机运行简单程序的操作步骤。上机运行简单程序的操作步骤。
2、第第1 1章章 程序设计及程序设计及C C语言概述语言概述 第第1章章程序设计及程序设计及C语言语言概述概述1.1算法与程序设计算法与程序设计1.2C语言的特点语言的特点1.3C语言程序的结构语言程序的结构1.4TURBOC上机操作上机操作1.5流程图及流程图及N-S盒图盒图1.6结构化程序设计概要结构化程序设计概要1.1 1.1 算法与程序设计算法与程序设计1.1.1算法算法1.1.2程序程序1.1.3程序设计语言程序设计语言1.1.4程序设计的一般过程程序设计的一般过程1.1.1算法算法计计算算机机解解决决问问题题所所依依据据的的步步骤骤称称为为计计算算机机算算法法,或简称算法。请看下面几
3、个例子。或简称算法。请看下面几个例子。【例例1-1】计计算算1+2+3+100,可可采采取取以以下下两两种种算算法法中中的一种。的一种。算算法法一一。可可以以设设两两个个变变量量(变变量量是是指指其其值值可可以以改改变变的的量量),一一个个变变量量代代表表和和(s),一一个个变变量量代代表表加加数数(i),用循环算法表示如下:),用循环算法表示如下:第一步:第一步:0s,1i。第二步:第二步:s+is。第三步:第三步:i+1i。第四步:如果第四步:如果i100,转第二步;否则,转第五步。,转第二步;否则,转第五步。第五步:输出结果第五步:输出结果s,结束。,结束。算法二算法二只有两步:只有两步
4、:第一步:第一步:100101/2s。第二步:输出第二步:输出s,结束。,结束。【例例1-2】判断一个大于等于判断一个大于等于3的正整数是不是素数。的正整数是不是素数。所谓素数是指除了所谓素数是指除了1和该数本身之外,不能被其他任和该数本身之外,不能被其他任何整数整除的数,例如何整数整除的数,例如23是素数,因为它不能被是素数,因为它不能被2,3,4,21,22整除。整除。判断素数的方法很简单,例如判断判断素数的方法很简单,例如判断n(n3)是)是不是素数,只需将不是素数,只需将n作为被除数,将作为被除数,将2到(到(n-1)各个)各个整数轮流作除数,作除法运算,如果都不能被整除整数轮流作除数
5、,作除法运算,如果都不能被整除(余数不为(余数不为0),则),则n是素数。算法表示如下:是素数。算法表示如下:第一步:输入第一步:输入n的值。的值。第二步:第二步:i作除数,作除数,2i。第三步:第三步:n除以除以i,得余数,得余数r。第第四四步步:如如果果r=0,表表示示n能能被被i整整除除,则则打打印印n不不是是素素数,转第七步;否则执行第五步。数,转第七步;否则执行第五步。第五步:第五步:i+1i。第第六六步步:如如果果in-1,返返回回第第三三步步;否否则则打打印印n是是素素数数,转第七步。转第七步。第七步:结束。第七步:结束。算法的属性:算法的属性:1有穷性有穷性有穷性是指一个算法的
6、操作步骤必须是有限的和合有穷性是指一个算法的操作步骤必须是有限的和合理的,即在合理的范围之内结束算法。例如求整数理的,即在合理的范围之内结束算法。例如求整数累加和的算法,由于整数本身是个无限集合,如果累加和的算法,由于整数本身是个无限集合,如果不限定其范围,会导致求解步骤是无限的。又例如,不限定其范围,会导致求解步骤是无限的。又例如,计算机执行某个算法需要几千年,虽然是有限的,计算机执行某个算法需要几千年,虽然是有限的,但却是不合理的。当然,究竟什么算但却是不合理的。当然,究竟什么算“合理合理”,并,并没有严格标准,由人们的常识和需要而定。没有严格标准,由人们的常识和需要而定。2确定性确定性算
7、法中每个操作步骤都应当是明确的,而不应是含糊算法中每个操作步骤都应当是明确的,而不应是含糊的、模棱两可的。在计算机算法中最忌讳的是歧义性,所的、模棱两可的。在计算机算法中最忌讳的是歧义性,所谓谓“歧义性歧义性”是指可以被理解为两种或多种可能的含义。是指可以被理解为两种或多种可能的含义。因为计算机至今还没有主动思维的能力,如果给定的条件因为计算机至今还没有主动思维的能力,如果给定的条件不确定,计算机就无法执行。例如,不确定,计算机就无法执行。例如,“计算计算3月月1日是一日是一年中的第几天年中的第几天”,这个问题是不确定的,因为没有指明哪,这个问题是不确定的,因为没有指明哪一年,不知道是不是闰年
8、,闰年和平年一年,不知道是不是闰年,闰年和平年2月份的天数不一月份的天数不一样,所以无法执行。样,所以无法执行。3有零个或多个输入有零个或多个输入执行算法时需要从外界获得必要信息的操作执行算法时需要从外界获得必要信息的操作称为输入。输入的数据个数根据算法确定。例如称为输入。输入的数据个数根据算法确定。例如计算计算1100累加和的算法不需要输入;计算累加和的算法不需要输入;计算n!的算法需要输入的算法需要输入n的值;计算的值;计算m和和n的最大公约数的最大公约数和最小公倍数则需要输入和最小公倍数则需要输入m和和n两个数的值。两个数的值。4有一个或多个输出有一个或多个输出执执行行算算法法得得到到的
9、的结结果果就就是是算算法法的的输输出出,没没有有输输出出的算法是没有意义的。的算法是没有意义的。最常见的输出形式是屏幕显示或打印机输出,但最常见的输出形式是屏幕显示或打印机输出,但并非惟一的形式。执行算法的目的就是为了求解,并非惟一的形式。执行算法的目的就是为了求解,“解解”就是输出。就是输出。5有效性有效性算算法法中中的的每每一一个个步步骤骤都都应应当当有有效效地地执执行行,并并得得到到确确定定的的结结果果。例例如如当当b=0时时,a/b是是不不能能有有效效执执行行的的。又又例例如如,在在C语语言言中中,“a%b”中中的的a和和b都必须是整型数据,否则也不能有效执行。都必须是整型数据,否则也
10、不能有效执行。算法有优劣之分,一般希望用简单的和运算算法有优劣之分,一般希望用简单的和运算步骤少的算法。因此,为了有效地进行解题,不步骤少的算法。因此,为了有效地进行解题,不仅要保证算法正确,还要考虑算法的质量,选择仅要保证算法正确,还要考虑算法的质量,选择合适的算法。合适的算法。1.1.2程序程序用计算机语言描述的算法称为计算机程序,或简用计算机语言描述的算法称为计算机程序,或简称程序。只有用计算机语言描述的算法才能在计算机称程序。只有用计算机语言描述的算法才能在计算机上执行。换言之,只有计算机程序才能在计算机上执上执行。换言之,只有计算机程序才能在计算机上执行。人们编写程序之前,为了直观或
11、符合人类思维方行。人们编写程序之前,为了直观或符合人类思维方式,常常先用其他方式描述算法,然后再翻译成计算式,常常先用其他方式描述算法,然后再翻译成计算机程序。机程序。1.1.3程序程序设计语设计语言言人类社会中有多种语言交流工具,每种语言又都有人类社会中有多种语言交流工具,每种语言又都有它的语法规则。人和计算机通信需要通过计算机语言。计它的语法规则。人和计算机通信需要通过计算机语言。计算机语言是面向计算机的人造语言,是进行程序设计的工算机语言是面向计算机的人造语言,是进行程序设计的工具,因此也称程序设计语言。程序设计语言可以分为机器具,因此也称程序设计语言。程序设计语言可以分为机器语言、汇编
12、语言、高级语言。高级语言种类繁多(据统计语言、汇编语言、高级语言。高级语言种类繁多(据统计有上千种),曾经引起广泛关注和使用的高级语言有有上千种),曾经引起广泛关注和使用的高级语言有FORTRAN、BASIC、Pascal和和C等命令式语言(或称过等命令式语言(或称过程式语言);有程式语言);有LISP、PROLOG等陈述式语言;还有当等陈述式语言;还有当前流行的面向对象的程序设计语言,例如前流行的面向对象的程序设计语言,例如C+、Java、VisualC+、VisualBasic、Delphi、PowerBuilder等。等。计算机硬件能直接执行的是机器语言程序。汇编计算机硬件能直接执行的是
13、机器语言程序。汇编语言也称符号语言,用汇编语言编写的程序称汇编语语言也称符号语言,用汇编语言编写的程序称汇编语言程序。计算机硬件不能识别和直接运行汇编语言程言程序。计算机硬件不能识别和直接运行汇编语言程序,必须由序,必须由“汇编程序汇编程序”将其翻译成机器语言程序后将其翻译成机器语言程序后才能识别和运行。同样,高级语言程序也不能被计算才能识别和运行。同样,高级语言程序也不能被计算机硬件直接识别和执行,必须把高级语言程序翻译成机硬件直接识别和执行,必须把高级语言程序翻译成机器语言程序才能执行。语言处理程序就是完成这个机器语言程序才能执行。语言处理程序就是完成这个翻译过程的,按照处理方式的不同,可
14、以分为解释型翻译过程的,按照处理方式的不同,可以分为解释型程序和编译型程序两大类。程序和编译型程序两大类。C语言采用编译程序,即语言采用编译程序,即把用把用C语言写的语言写的“源程序源程序”编译成编译成“目标程序目标程序”,再,再通过连接程序的连接,生成通过连接程序的连接,生成“可执行程序可执行程序”才能运行。才能运行。具体过程将在具体过程将在1.4节中详细说明。节中详细说明。1.1.4程序程序设计设计的一般的一般过过程程1建立数学模型建立数学模型2算法描述算法描述3编写程序编写程序4程序测试程序测试1.2C语言的特点语言的特点C语语言言是是一一种种高高级级语语言言,和和其其他他高高级级语语言
15、言相相比比,具有以下特点。具有以下特点。1兼有低级语言的功能兼有低级语言的功能2结构化的程序设计语言结构化的程序设计语言3语言比较简洁紧凑语言比较简洁紧凑4运算符丰富运算符丰富5数据结构丰富数据结构丰富6语法限制不太严格,书写格式比较自由语法限制不太严格,书写格式比较自由7目标代码质量高,程序执行效率高目标代码质量高,程序执行效率高1.3C语言程序的结构语言程序的结构1.3.1C语言程序的一般形式语言程序的一般形式【例例1-4】下下面面程程序序的的功功能能是是:首首先先在在屏屏幕幕上上输输出出英英文文提提示示“Pleaseenteranumber:”,然然后后等等待待用用户户输输入入一一个个数
16、数,当当用用户户输输入入一一个个数数并并按按回回车车键键后后,计计算算机机计计算算出出以以此此数数为为半半径径的的圆圆的的面面积积,并并在在屏屏幕上输出幕上输出Theareais。“”表示对应的圆面积值。表示对应的圆面积值。#definePI3.1416area(floatr)/*求面积的函数开始求面积的函数开始*/floata;/*定义实型变量定义实型变量a*/a=PI*r*r;/*计算面积并赋给变量计算面积并赋给变量a*/printf(Theareais%f,a);/*输出结果输出结果*/main()/*主函数开始主函数开始*/floatr;/*定义实型变量定义实型变量r*/printf(
17、Pleaseenteranumber:);/*输出提示信息输出提示信息*/scanf(%f,&r);/*等待输入数给等待输入数给r*/area(r);/*调用函数调用函数area()*/任何一个任何一个C程序都是由一个或多个函数构成的,一个程序都是由一个或多个函数构成的,一个C程序中至少必须存在一个主函数程序中至少必须存在一个主函数main()。它是程序运行开。它是程序运行开始时被调用的一个函数。始时被调用的一个函数。C语言程序的一般形式如图语言程序的一般形式如图1-1的的矩形框中所示。其中矩形框中所示。其中f1至至fN代表用户定义的函数。代表用户定义的函数。预处理命令和全局性的声明预处理命令
18、和全局性的声明main()局部变量声明局部变量声明语句序列语句序列f1()局部变量声明局部变量声明语句序列语句序列f2()局部变量声明局部变量声明语句序列语句序列fn()局部变量声明局部变量声明语句序列语句序列图图1-1C程序的一般形式程序的一般形式1.3.2C程序中的主要成分程序中的主要成分1.3.2.1预处理命令预处理命令预处理命令是程序中那些以符号预处理命令是程序中那些以符号#开头的命令。开头的命令。C语言中常用的预处理命令语言中常用的预处理命令有三类:有三类:文件包含、宏定义文件包含、宏定义和条件编译。例和条件编译。例1-4的程序中的程序中#definePI3.1416就是宏就是宏定义
19、命令,它的作用是为字符串定义命令,它的作用是为字符串“3.1416”起了一个名起了一个名字,后边凡是用到字,后边凡是用到3.1416时都可以用时都可以用PI去代替。去代替。1.3.2.2函数函数函函数数通通常常用用于于描描述述相相对对独独立立的的功功能能,每每个个函函数数都都具具有有严严格格定定义义的的格格式式,可可以以有有参参数数和和返返回回值值。一一个个程程序序中中除除了了一一个个必必须须取取名名为为main的的主主函函数数,其其余余函函数数可可以以取取任任何何有有意意义义的的名名字字。一一个个函函数数在在执执行行过过程程中中可可以以调调用用其其他他函函数数,也也可可以以调调用用自自己己(
20、称称为为递递归归,详详见见5.4节)。节)。任任何何函函数数(包包括括主主函函数数main)都都由由函函数数首首部部和和函函数数体两部分组成。体两部分组成。(1)函函数数的的首首部部,即即函函数数的的第第一一行行,对对函函数数进进行行说说明明,包包括括函函数数类类型型(可可默默认认)、函函数数名名、函函数数参参数数表表(形参表)。(形参表)。(2)函数体。)函数体。函数首部之后的第一个大括号函数首部之后的第一个大括号和与之配对的大括号之间的部分为函数体(大括和与之配对的大括号之间的部分为函数体(大括号必须配对使用,如果一个函数内有多对大括号,号必须配对使用,如果一个函数内有多对大括号,则最外面
21、的一对大括号是函数体的范围)。则最外面的一对大括号是函数体的范围)。函数体一般由说明部分和可执行语句构成。函数体一般由说明部分和可执行语句构成。1.3.2.3输入与输出输入与输出输入输出是指程序与用户进行的数据或信息的交输入输出是指程序与用户进行的数据或信息的交换,程序离不开输入和输出功能,用户通过输入为程换,程序离不开输入和输出功能,用户通过输入为程序提供初始数据,程序通过输出产生运行结果。序提供初始数据,程序通过输出产生运行结果。C语语言中没有定义输入、输出方法,但在程序中可以调用言中没有定义输入、输出方法,但在程序中可以调用实现输入输出功能的库函数。实现输入输出功能的库函数。例例1-3中
22、的中的scanf()就是就是调用输入函数,等待用户从标准输入设备上输入数据调用输入函数,等待用户从标准输入设备上输入数据同时赋给相应的变量。同时赋给相应的变量。例例1-3和例和例1-4中的中的printf()都都是调用输出函数,从标准设备(显示器)上输出运行是调用输出函数,从标准设备(显示器)上输出运行结果。结果。1.3.2.4语句语句语语句句由由单单词词按按照照一一定定的的语语法法规规则则构构成成。例例1-4中中函函数数内内部部的的每每一一行行都都是是一一条条语语句句。C语语言言中中有有多多种种类类型型的的语语句句,由这些语句构成函数,再由函数构成程序。由这些语句构成函数,再由函数构成程序。
23、在在1.2节节“C语语言言的的特特点点”中中已已提提到到,C语语言言程程序序的的书书写写格格式式比较自由,称为无格式语言,但要注意以下几点:比较自由,称为无格式语言,但要注意以下几点:(1)程程序序中中每每个个语语句句都都必必须须以以分分号号“;”结结束束,分分号号是语句的一部分。是语句的一部分。(2)允允许许一一行行内内写写几几条条语语句句,也也允允许许一一条条语语句句写写在在几几行行上上。为为了了便便于于阅阅读读程程序序,最最好好一一条条语语句句占占一一行行。如如果果一一条条语句很长,可以写成几行。语句很长,可以写成几行。1.3.2.5注释注释程程序序中中提提倡倡使使用用注注释释。一一个个
24、高高质质量量的的程程序序,源源程程序序中中都都应应该该加加上上必必要要的的注注释释,以以增增强强程程序序的的可可读读性性,这这对对程程序序员员和和用户都有很大的帮助。用户都有很大的帮助。C语言的注释格式为:语言的注释格式为:/*/在在例例1-3和和例例1-4中中凡凡是是以以“/*”和和“*/”括括起起来来的的文文字字都都是是注释。使用注释时需要注意以下几点:注释。使用注释时需要注意以下几点:(1)注释可以单独占一行,也可以跟在语句后面。)注释可以单独占一行,也可以跟在语句后面。(2)“/*”和和“*/”必必须须成成对对使使用用,并并且且“/”和和“*”以及以及“*”和和“/”之间不能有空格,否
25、则会出错。之间不能有空格,否则会出错。(3)如果注释内容在一行写不下,可以另起一行继续写。)如果注释内容在一行写不下,可以另起一行继续写。(4)注注释释中中允允许许使使用用汉汉字字。在在非非中中文文操操作作系系统统下下,看看到到的是一串乱码,但不影响程序运行。的是一串乱码,但不影响程序运行。因因为为计计算算机机不不能能识识别别和和执执行行C语语言言源源程程序序,必必须须先先用用“编编译译程程序序”把把源源程程序序翻翻译译成成计计算算机机能能识识别别和和执执行行的的二二进进制制指指令令形形式式的的“目目标标程程序序”;第第三三步步把把目目标标程程序序与与系系统统的的函函数数库库以以及及其其他他目
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用 语言程序设计 教程 全套 电子 课件 完整版 ppt 教案 教学 整套
限制150内