C语言程序设计经典教程class1

上传人:无*** 文档编号:168756749 上传时间:2022-11-11 格式:PPT 页数:45 大小:395.02KB
收藏 版权申诉 举报 下载
C语言程序设计经典教程class1_第1页
第1页 / 共45页
C语言程序设计经典教程class1_第2页
第2页 / 共45页
C语言程序设计经典教程class1_第3页
第3页 / 共45页
资源描述:

《C语言程序设计经典教程class1》由会员分享,可在线阅读,更多相关《C语言程序设计经典教程class1(45页珍藏版)》请在装配图网上搜索。

1、教学目的:教学目的:通过对通过对C语言的学习,掌握使用计算机编语言的学习,掌握使用计算机编程语言解决实际问题的基本理论、方法、技程语言解决实际问题的基本理论、方法、技巧、以及常用的算法。巧、以及常用的算法。教学安排:教学安排:理论教学理论教学36学时,实验教学学时,实验教学20学时。学时。参考书:参考书:C语言程序设计语言程序设计 谭浩强著谭浩强著 Thinking in C+机械工业出版社机械工业出版社 1.1 基本知识基本知识1.2 算法及其表示算法及其表示1.3 C语言基本知识语言基本知识l本章重点本章重点理解理解C程序的基本结构程序的基本结构1.1 基本知识基本知识 1.1.1 信息的

2、表示信息的表示 1.数制数制 十进制:十进制:日常使用的数制。日常使用的数制。二进制、八进制、十六进制:二进制、八进制、十六进制:计算机中使用的数制。计算机中使用的数制。不同数制间的转换:二、八、十六进制转换成十进制的方法是二、八、十六进制转换成十进制的方法是 -按位权法展开。例:二进制转换成八、十六进制的方法是二进制转换成八、十六进制的方法是 -分组法(三位、四位一组)。例:八、十六进制转换成二进制的方法是八、十六进制转换成二进制的方法是 -直接法(直接将八、十六进制数字符号转换 成二进制数字符号)。例:十进制转换成二、八、十六进制间的方法是十进制转换成二、八、十六进制间的方法是 -整数部分

3、除法取余,小数部分乘法取整。例:(101.01)2=1 22+0 21+1 20+0 2-1+1 2-2 =(5.25)10 小数点位置小数点位置 (1a.2)16=1 161+10 160+2 16-1 =(26.125)10 小数点位置小数点位置(1010111.011)2=(001 010 111.011)2=(127.3)8(1010111.011)2=(0101 0111.0110)2=(57.6)16 转换时应注意:分别对整数和小数部分进行分组。整数部分:从小数点开始,向左三位(四位)一组,不够三位(四位)时,高位充零。小数部分:从小数点开始,向右三位(四位)一组,不够三位(四位)

4、时,低位充零。最后将各组数据转换成相应数制的符号即可。(a5)16=(1010 0101)2建议:二、八、十六进制间的转换应利用二进制作为过渡,这样做来得简单。例:求(a5)16的八进制表示。(a5)16=(1010 0101)2=(010 100 101)2=(245)8 (28.125)10对应的二进制数是(11100.001)2。整数部分:28 小数部分:0.125 余数 整数2 .0 最低位 14282 .0 72 .1 32 .1 1 最高位0.125 2=0.25.0 最高位0.25 2=0.5 .00.5 2=1.0 .1 最低位2.数据的编码 通常在计算机中用8个、16个、32

5、个.等固定个数的二进制位来表示某一个数据。计算机中常见的数据分为两种即数值数据和非数值数据。数值型数据:数值型数据:通常在计算机中用通常在计算机中用8个、个、16个、个、32个二进制位来表示数值型数据。个二进制位来表示数值型数据。小数点的位置总是小数点的位置总是隐含的隐含的,以节省空间。但小数点的位置可以是,以节省空间。但小数点的位置可以是固定固定的或可变的的或可变的。前者称为定点数,后者称为浮点数。前者称为定点数,后者称为浮点数。(1)定点数定点数(在计算机中整数是按定点数格式存放的)(在计算机中整数是按定点数格式存放的)定点数分为定点数分为:有符定点数(有符定点数(signed)无符定点数

6、无符定点数(unsigned)。浮点数浮点数(在计算机中小数是按浮点数格式存放的)(在计算机中小数是按浮点数格式存放的)有符定点整数 ds dn dn-1 dn-2 .d1 符号位 数值部分 小数点无符定点整数 dn dn-1 dn-2 .d1 数值部分 小数点 浮点数(在计算机中小数是按浮点数格式存放的)浮点数格式如下:Js jn jn-1.j2 j1 ds dm dm-1.d2 d1 阶符 阶码 数符 尾数 字符型数据:字符型数据:常用的英文编码有常用的英文编码有ASCII码、码、BCD码码 ASCII 码码 ASCII码是码是英文英文American Standard Code for

7、Information Interchange(美国信息交换标准编码)的缩写(美国信息交换标准编码)的缩写。该编码已经国际标准化组织所采纳。该编码已经国际标准化组织所采纳。目前国际上流行的是目前国际上流行的是ASCII编码的七位版本编码的七位版本,即用一个字节,即用一个字节的的低七位表示一个字符,高位充零低七位表示一个字符,高位充零。七个二进制位可表示七个二进制位可表示128种状态,故可用来表示种状态,故可用来表示128个不同个不同的字符,在的字符,在ASCII编码的七位版本中表示的编码的七位版本中表示的33个通用控制字符、个通用控制字符、95个可打印显示的字符(其中个可打印显示的字符(其中1

8、0个数字、个数字、52个大小写英文字母、个大小写英文字母、33个标点符号和运算符号)。个标点符号和运算符号)。ASCII编码表(见附录编码表(见附录I)字符型数据:字符型数据:常用的中文编码常用的中文编码有国家标准汉字编码有国家标准汉字编码(GB码码)GB2312-80(国家标准汉字编码)是常用的汉字(国家标准汉字编码)是常用的汉字编码标准,它收录了编码标准,它收录了6763个常用汉字。国标码使用个常用汉字。国标码使用连续的两个字节(十六位二进制位)表示一个汉字。连续的两个字节(十六位二进制位)表示一个汉字。根据这些汉字使用频率的高低,分成两部分:根据这些汉字使用频率的高低,分成两部分:一级汉

9、字共一级汉字共3755个,即最常用的汉字。个,即最常用的汉字。二级汉字共二级汉字共3008个,为次常用的汉字。个,为次常用的汉字。GB2312-80还收录了一些数字符号、图形符号、还收录了一些数字符号、图形符号、外文字母等外文字母等。数值数据的编码方法:前面讨论的是数值数据在计算机中的存放格式,下面讨论对数值数据进行编码的方法。原码表示法:(假定用八个二进制位表示)a=+51 (a)2=(+00110011)2 则 a原=00110011 a=-127 (a)2=(-01111111)2 则 a原=11111111 原码表示法在八个二进制位中的表示范围:-127a+127 +0原=000000

10、00 -0原=10000000 要点:要点:最高位作为符号位,若正数,则最高位是最高位作为符号位,若正数,则最高位是0,若负数,若负数,则最高位是则最高位是1。反码表示法:(假定用八个二进制位表示)通过一个二进制整数的原码得到所谓反码:当a为正数时,a 原=a 反,当a为负数时,则保持a 原的符号位不变,其余各个二进制位逐位取反,即0变1,1变0。如:a=+51 a原=00110011 则 a 反=a 原=00110011 a=-51 a原=10110011 则 a反=11001100 反码表示法在八个二进制位中的表示范围:-127a+127 +0反=00000000 -0反=11111111

11、 要点:要点:由原码得到反码。若正数,则反码与原码相同,若负数,由原码得到反码。若正数,则反码与原码相同,若负数,则最高位不变,其余逐位取反。则最高位不变,其余逐位取反。补码表示法:(假定用八个二进制位表示)通过一个二进制整数的反码得到所谓补码:当a0时,a 补=a 反,当a0时,则a 补=a 反+1,如:a=+51 a原=00110011 则 a补=a 反=a 原=00110011 a=-51 a原=10110011 a反=11001100 则 a补=a 反+1=11001101 补码表示法在八个二进制位中的表示范围:-128a+127 +0补=00000000 -128补=10000000

12、 要点:要点:由反码得到补码。若正数,则反码与补码相同,若负数,由反码得到补码。若正数,则反码与补码相同,若负数,则补码等于反码加则补码等于反码加1。在补码表示法中,0的表示是唯一的,而最小值可达-128。在上述介绍当中我们是以八位二进制位为例,同样,我们可以将其推广到十六位,三十二位等二进制位中去,需要注意的是数值范围将发生变化。思考:思考:以上介绍的原码、反码、补码都是有符定点整数的编码方式,若以八位二进制位表示无符定点整数,则其范围是0到255。在在Turbo C中:中:有符整数有符整数是按有符定点整数格式的补码表示的,无符整数无符整数是按无符定点整数格式表示的。补码的加、减法补码的加、

13、减法 补码的加法公式是:a 补+b 补=a+b 补 补码的减法公式是:a-b 补=a 补-b 补=a 补+-b 补 例1.1:a=1110=00001011原,b=510=00000101原,求a+b。因为a补=00001011,b 补=00000101 补码 a+b补=00010000补a+b反=00010000反 a+b原=00010000原=161000010000 0000010100001011 例1.2:求b-a。-a=-1110=10001011原,b=510=00000101原,因为-a 补=11110101,b 补=00000101 补码b-a 补=b 补+-a 补=1111

14、1010补b-a 反=11111001反 b-a 原=10000110原=-610 111110101111010100000101关于字符编码方法:关于字符编码方法:要注意要注意ASCII码和国标码应用对象的不同,码和国标码应用对象的不同,ASCII码用来码用来对英文字符编码而国标码用来对汉字进行编码。对英文字符编码而国标码用来对汉字进行编码。ASCII码使用码使用一个字节(八位二进制位),国标码使用两个字节(十六位一个字节(八位二进制位),国标码使用两个字节(十六位二进制位)。二进制位)。GB2312-80规定了用连续的两个字节来表示一个汉字,并规定了用连续的两个字节来表示一个汉字,并且只

15、用各个字节的低且只用各个字节的低7位,最高位未定义。这样以来就有可能位,最高位未定义。这样以来就有可能与与ASCII码字符产生冲突,码字符产生冲突,就单个字节来说,两种编码方式都就单个字节来说,两种编码方式都只用到字节的低七位,只用到字节的低七位,ASCII码规定高位充零,而国标码对高码规定高位充零,而国标码对高位未定义位未定义,因此,对单个字节而言,不能确定它到底是一个,因此,对单个字节而言,不能确定它到底是一个ASCII码字符还是一个汉字的一部分(低字节或高字节)。于码字符还是一个汉字的一部分(低字节或高字节)。于是有很多为了解决这类问题的方案应运而生,变形国标码就是有很多为了解决这类问题

16、的方案应运而生,变形国标码就是其中之一,并且得到了广泛的应用。它的主要特点是将国是其中之一,并且得到了广泛的应用。它的主要特点是将国标码编码的各个字节的最高位置标码编码的各个字节的最高位置1,以达到区别于,以达到区别于ASCII编码编码的目的。的目的。如何理解存储在计算机中的信息 计算机中各种信息都是以二进制形式存在,有的是数值,计算机中各种信息都是以二进制形式存在,有的是数值,有的是有的是ASCII码字符,有的是汉字,码字符,有的是汉字,如何区分它们呢?如何区分它们呢?这实际这实际上取决于我们(或者程序)上取决于我们(或者程序)按照何种规则判读它们按照何种规则判读它们,例如:对,例如:对于机

17、器内存中连续两个字节,它们的低七位内容分别为于机器内存中连续两个字节,它们的低七位内容分别为0110000和和0100001,如果它们的最高位均为,如果它们的最高位均为1,则表示汉字,则表示汉字“啊啊”,如果均为,如果均为0则表示为两个则表示为两个ASCII码字符码字符“0”和和“!”。当然,我们还可根据不同的数值编码规则将它们判读成不同的当然,我们还可根据不同的数值编码规则将它们判读成不同的数值。数值。1.1.2计算机系统的基本组成计算机系统的基本组成 一个完整的计算机系统是由硬件系统和软件系统两大部分组成。硬件系统:是构成计算机系统的各种物理设备的总称,是计算机系统的物质基础,它由运算器、

18、控制器、存储器、输入设备和输出设备组成;软件系统:是为运行、管理和维护计算机而编制的程序和各种文档的总和。计计算算机机系系统统硬硬件件系系统统软软件件系系统统主主机机外外设设系系统统软软件件应应用用软软件件中央处理器(中央处理器(CPU)内存储器内存储器运算器(运算器(ALU)控制器(控制器(CU)只读存储器(只读存储器(ROM)随机存储器(随机存储器(RAM)外部存储器外部存储器(辅助存储器)辅助存储器)输入设备输入设备输出设备输出设备操作系统操作系统编译系统编译系统数据库管理系统数据库管理系统实用程序实用程序专用应用软件专用应用软件通用应用软件通用应用软件图图1-41.硬件系统 计算机硬件

19、主要由中央处理器、主存储器、辅助存储器、输入设备、输出设备等组成。(1)中央处理器(CPU)CPU的作用是不断的从内存中取指令并执行指令。CPU的指令控制部件负责解释并执行各条指令,在内部进行算术运算、逻辑运算,对外部按指令要求与内存、接口设备交换信息,协调整个计算机系统的工作。(2)主存储器(Main Memory)主存储器又称为内存储器,简称内存,用来存放主存储器又称为内存储器,简称内存,用来存放当前运行当前运行的程序和数据的程序和数据。根据其工作方式和读写功能的不同,内存可分。根据其工作方式和读写功能的不同,内存可分为:只读存储器和随机存储器。为:只读存储器和随机存储器。只读存储器(只读

20、存储器(ROM):):ROM(Read Only Memory)随机存储器(随机存储器(RAM):):RAM(Random Access Memory)有以下两个特点:有以下两个特点:一是随机存取信息,二是具有一是随机存取信息,二是具有“挥发性挥发性”。(3)辅助存储器(Auxiliary Memory)主存储器速度快但价格昂贵,因而容量受到限制,且断电主存储器速度快但价格昂贵,因而容量受到限制,且断电后即后即“挥发挥发”,所以计算机采用了大容量的辅助存储器,如磁,所以计算机采用了大容量的辅助存储器,如磁带、磁盘、光盘等。辅助存储器只能与主存储器交换信息,是带、磁盘、光盘等。辅助存储器只能与主

21、存储器交换信息,是主存储器的扩充。它与主存储器一起构成计算机存储体系中的主存储器的扩充。它与主存储器一起构成计算机存储体系中的一个重要组成部分。一个重要组成部分。存储器容量单位 在存储器中,存储器最小单位是存储位(在存储器中,存储器最小单位是存储位(Bit),由若干),由若干个存储位组成一个存储单元,如八个二进制位组成一个字节存个存储位组成一个存储单元,如八个二进制位组成一个字节存储单元(储单元(Byte),然后再由许多个存储单元组成存储器。),然后再由许多个存储单元组成存储器。为了区分不同的存储单元,必须将它们逐一编号,该编为了区分不同的存储单元,必须将它们逐一编号,该编号称为存储单元的地址

22、。通过地址,可以访问各个存储单元。号称为存储单元的地址。通过地址,可以访问各个存储单元。一个存储器中包含的存储单元的总数通常称为该存储器一个存储器中包含的存储单元的总数通常称为该存储器的存储容量。存储容量的换算关系如下:的存储容量。存储容量的换算关系如下:1Byte=8Bits1KB=1024Bytes=210Bytes 1MB=1024KB=220Bytes1GB=1024MB=230Bytes 1TB=1024GB=240Bytes (4)输入输入/输出设备输出设备 输入设备是向计算机输入数据、信息的设备的总称。它将输入设备是向计算机输入数据、信息的设备的总称。它将计算机程序、文本信息、多

23、媒体信息以及各种数据转换成计算计算机程序、文本信息、多媒体信息以及各种数据转换成计算机能处理的数据形式并输送到计算机。常见的输入设备有键盘、机能处理的数据形式并输送到计算机。常见的输入设备有键盘、鼠标、扫描仪等。输出设备是能将计算机处理好的信息转换成鼠标、扫描仪等。输出设备是能将计算机处理好的信息转换成文本、图形、多媒体等形式并输出的设备。常见的输出设备有文本、图形、多媒体等形式并输出的设备。常见的输出设备有显示器、打印机、绘图仪等。显示器、打印机、绘图仪等。2.软件系统 计算机只有配备了软件系统才能进行工作。一计算机只有配备了软件系统才能进行工作。一台计算机能否发挥其应有的作用,实现硬件系统

24、所能台计算机能否发挥其应有的作用,实现硬件系统所能完成的信息处理功能,取决于软件系统的优良与否。完成的信息处理功能,取决于软件系统的优良与否。软件一般指计算机运行所需的各种程序、数据以软件一般指计算机运行所需的各种程序、数据以及相关的文档。及相关的文档。软件系统软件系统由由系统软件系统软件和和应用软件应用软件两大两大部分组成。系统软件是用来对计算机进行管理、控制部分组成。系统软件是用来对计算机进行管理、控制和维护,以及支持应用程序的运行的软件的集合。应和维护,以及支持应用程序的运行的软件的集合。应用软件是在系统软件的支持下为解决各类实际问题而用软件是在系统软件的支持下为解决各类实际问题而设计开

25、发的软件(程序)。设计开发的软件(程序)。(1)系统软件 系统软件用于管理计算机资源,分配和协调计算机各部件工作,提高计算机的使用效率,方便用户使用计算机。系统软件包括以下四大类:操作系统:编译系统:实用程序:数据库管理系统:(2)应用软件 应用软件是用户或软件开发人员在系统软件的支持下,为解决各类实际问题而设计、开发的软件,它包括通用应用软件即软件包和专用应用软件即用户应用软件。通用应用软件是指由软件公司专业人员为解决通用性问题而设计的软件,以供用户选择实用。这类软件很多如:Office2000(办公自动化)、Access97(数据库)、SAS(统计分析系统)等。专用应用软件是指用户为了解决

26、特定问题自己或委托他人研制开发的软件。如工资管理系统等。需要注意的是:需要注意的是:1)内存和外存在计算机系统中的作用,以及他们之间的关内存和外存在计算机系统中的作用,以及他们之间的关系。系。2)存储器的容量单位和地址的概念存储器的容量单位和地址的概念:存储器最小单位是存:存储器最小单位是存储位(储位(Bit),由若干个),由若干个Bit成一个存储单元,如八个二进成一个存储单元,如八个二进制位组成一个字节存储单元(制位组成一个字节存储单元(Byte),然后再由许多个存),然后再由许多个存储单元组成存储器。储单元组成存储器。l 为了区分不同的存储单元,必须将它们逐一编号,为了区分不同的存储单元,

27、必须将它们逐一编号,该编号称为存储单元的该编号称为存储单元的地址地址。通过地址,可以访问各个存。通过地址,可以访问各个存储单元。储单元。l 一个存储器中包含的存储单元的总数通常称为该存一个存储器中包含的存储单元的总数通常称为该存储器的存储容量。存储容量的换算关系如下:储器的存储容量。存储容量的换算关系如下:l1Byte=8Bitsl1KB=1024Bytes=210Bytes 1MB=1024KB=220Bytesl1GB=1024MB=230Bytes 1TB=1024GB=240Bytes3.计算机语言 所谓所谓计算机语言计算机语言是人类为了有效地与计算机进行信息的传是人类为了有效地与计算

28、机进行信息的传递、沟通,并且能让计算机按照人类的意志进行工作而开发出递、沟通,并且能让计算机按照人类的意志进行工作而开发出的一种语言。人类使用它描述解决问题一系列步骤,计算机能的一种语言。人类使用它描述解决问题一系列步骤,计算机能够识别并执行它,以达到解决问题的目的。够识别并执行它,以达到解决问题的目的。(1)机器语言)机器语言 (2)汇编语言)汇编语言 (3)高级语言)高级语言 在此,请注意,计算机只能识别并执行二进制机器指令的在此,请注意,计算机只能识别并执行二进制机器指令的特点并被有改变。要想计算机执行汇编程序或者高级语言程序特点并被有改变。要想计算机执行汇编程序或者高级语言程序就必须将

29、该程序就必须将该程序“转换转换”(编译或解释)成机器指令程序,方(编译或解释)成机器指令程序,方可执行。可执行。4.翻译方式 编译程序或解释程序对高级语言程序(或汇编语言程序)编译程序或解释程序对高级语言程序(或汇编语言程序)进行进行“翻译翻译”处理,使它成为机器指令程序,才能提交计算机处理,使它成为机器指令程序,才能提交计算机执行。执行。其核心是将高级语言(或汇编语言)转换成其核心是将高级语言(或汇编语言)转换成“机器指令程机器指令程序序”。下面分别介绍这两种处理方式。下面分别介绍这两种处理方式。(1)解释方式)解释方式 使用解释程序(使用解释程序(Interpreter)将高级语言程序的语

30、句逐条)将高级语言程序的语句逐条“翻译翻译”成机器指令并逐条提交计算机执行,直至程序结束成机器指令并逐条提交计算机执行,直至程序结束(如图(如图1-5所示)所示)。(2)编译方式 所 谓 编 译 方 式 是 分 两 步 进 行 的 首 先 通 过 编 译 程 序所 谓 编 译 方 式 是 分 两 步 进 行 的 首 先 通 过 编 译 程 序(Compiler)对整个高级语言程序进行编译,它包括翻译和)对整个高级语言程序进行编译,它包括翻译和查错(词法分析、语法和语义分析、生成和优化目标程序)。查错(词法分析、语法和语义分析、生成和优化目标程序)。出现错误时,停止编译,报告错误,不生成目标程序

31、,待修改出现错误时,停止编译,报告错误,不生成目标程序,待修改源程序后,再进行编译,直到最终得到正确的目标程序。然后源程序后,再进行编译,直到最终得到正确的目标程序。然后使用链接程序(使用链接程序(Linker)对目标程序进行链接,得到可执行的)对目标程序进行链接,得到可执行的程序,这时才能将可执行程序提交计算机执行(如图程序,这时才能将可执行程序提交计算机执行(如图1-6所示)所示)Turbo c 是以编译方式进行工作的。是以编译方式进行工作的。1.2算法及其表示算法及其表示 1.2.1算法的概念和特点算法的概念和特点我们在使用计算机解决实际问题的时候,通常按如下步骤进行:我们在使用计算机解

32、决实际问题的时候,通常按如下步骤进行:1.分析问题,找出解决问题的分析问题,找出解决问题的模型模型。2.根据模型,设计出适合计算机特点的处理方法即根据模型,设计出适合计算机特点的处理方法即算法算法。3.选择适合的计算机语言,进行选择适合的计算机语言,进行编程以实现编程以实现算法。算法。4.上机上机编辑、调试、运行编辑、调试、运行所编制的程序,得到结果。所编制的程序,得到结果。5.对结果进行对结果进行分析,整理分析,整理出文字材料即文档。出文字材料即文档。一个合理的算法具有以下特点:一个合理的算法具有以下特点:1.有穷性:有穷性:一个算法应该是一个算法应该是“有限有限”个步骤的,而不能是个步骤的

33、,而不能是“无限无限“个步骤的。也就是说经过有限个步骤的处理以后,算个步骤的。也就是说经过有限个步骤的处理以后,算法应该结束。法应该结束。2.确定性:确定性:算法中的每一个步骤的含义都是确定的、唯一的,算法中的每一个步骤的含义都是确定的、唯一的,不能具有其他的含义或可被理解成其他的含义。不能具有其他的含义或可被理解成其他的含义。3.有输入:有输入:可有零个或多个输入。输入是用来在一个算法的可有零个或多个输入。输入是用来在一个算法的执行过程中,向它提供处理对象(数据)或控制算法执行过程执行过程中,向它提供处理对象(数据)或控制算法执行过程的信息的。的信息的。4.有输出:有输出:可有一个或多个输出

34、。它是算法执行的结果的输可有一个或多个输出。它是算法执行的结果的输出。没有输出的算法是一个无效的算法。出。没有输出的算法是一个无效的算法。5.有效性:有效性:算法的每一步骤都可有效地执行。算法的每一步骤都可有效地执行。1.2.2如何表示一个算法如何表示一个算法 表示一个算法的方法很多,如自然语言法、传统流程图法、表示一个算法的方法很多,如自然语言法、传统流程图法、N-S流程图法、伪代码法等,理论上都可用来表示算法,但是流程图法、伪代码法等,理论上都可用来表示算法,但是效率上有很大差异。效率上有很大差异。例如:例如:M=5!,要求!,要求M 的值。的值。自然语言法描述算法如下自然语言法描述算法如

35、下:设定变量设定变量M,M置初值为置初值为1,设定变量,设定变量I,置初值为,置初值为1。如果如果I的值小于的值小于6,则执行,否则执行。,则执行,否则执行。将将M乘以乘以I并置于并置于M中存放,将中存放,将I中的值加中的值加1并置于并置于I中存放,中存放,再执行。再执行。将将M中的值输出。中的值输出。用传统流程图法描述算法如图用传统流程图法描述算法如图1-7所示:所示:用用N-S流程图描述算法如图流程图描述算法如图1-8所示:所示:结构化程序设计 人们经过长期的实践,不断地总结经验,提出了结构化程序人们经过长期的实践,不断地总结经验,提出了结构化程序设计方法,将算法的描述归纳为三种基本结构的

36、顺序组合,即设计方法,将算法的描述归纳为三种基本结构的顺序组合,即顺序顺序结构、选择结构、循环结构结构、选择结构、循环结构。它们的共同特点是:只有一个入口,只有一个出口,每个基本它们的共同特点是:只有一个入口,只有一个出口,每个基本结构中的每一部分都有机会被执行,结构内部不存在死循环。结构中的每一部分都有机会被执行,结构内部不存在死循环。使用三种基本结构描述的算法是结构化的算法,按照结构化算使用三种基本结构描述的算法是结构化的算法,按照结构化算法编写出来的程序具有良好的可读性和可维护性。法编写出来的程序具有良好的可读性和可维护性。需要说明的是传统流程图使用几何图形、流程线、文字说明(见表1-1

37、)来描述一个算法,美国学者I.Nassi和B.Shneidermen提出了用N-S流程图又称盒图(三种基本结构对照表见表1-2)描述算法的方法。1.3 C语言基本知识语言基本知识1.3.1 C语言的发展历史及特点语言的发展历史及特点 1.C语言程序结构紧凑、语言简洁。语言程序结构紧凑、语言简洁。2.C语言的数据类型丰富。语言的数据类型丰富。3.C语言的运算符丰富,有多达语言的运算符丰富,有多达44种运算符,(见附录种运算符,(见附录III)。)。4.C语言是一种结构化程序设计语言。语言是一种结构化程序设计语言。5.C语言是处于汇编语言和高级语言之间的程序设计语言,语言是处于汇编语言和高级语言之

38、间的程序设计语言,即中级语言。即中级语言。6.C语言可移植性好语言可移植性好 7.C语言的语法限制不太严格。语言的语法限制不太严格。1.3.2 C语言的标识符与关键字语言的标识符与关键字 在在C语言程序中,标识符和关键字都属于程序的基本语法单语言程序中,标识符和关键字都属于程序的基本语法单位。正确地使用标识符和关键字对于程序的编制是至关重要的。位。正确地使用标识符和关键字对于程序的编制是至关重要的。1.标识符标识符 标识符一般是指用户或系统定义的标识符一般是指用户或系统定义的符号名、变量名、数组名、符号名、变量名、数组名、类型名、函数名、文件名等类型名、函数名、文件名等。C语言规定标识符由字母

39、、数字、语言规定标识符由字母、数字、下划线组成,必须以字母或下划线开头下划线组成,必须以字母或下划线开头。大写字母小写字母被。大写字母小写字母被认为是不同的字符,在标识符中不能含有其它字符,也不能跨认为是不同的字符,在标识符中不能含有其它字符,也不能跨行书写。例如,行书写。例如,合法的标识符如下:合法的标识符如下:a_1 name _x123 worker World_1 _Wolf 非法的标识符如下:非法的标识符如下:1abc name,1 x 123n&a12 To-me date.1Turbo C规定标识符长度不超过规定标识符长度不超过32个字符,超过个字符,超过32个字符的部个字符的部

40、分无效。分无效。用户在定义标识符的时候应注意:不要与系统预定义的标识符或关键字相同。如:用户不要定义printf作为用户标识符,因为系统已经将其预先定义为格式输出函数的标识符,以免引起冲突。尽可能直观地定义标识符,也就是说,从所定义的标识符的字面上就能够了解其含义,以方便以后的使用。1.3.3 C语言的基本结构语言的基本结构 1.C 语言程序由一个或多个函数组成,其中有且只有一个主函数,名为main()。2.函数由函数说明和函数体组成。其中函数名命名应符合标识符的规定,函数体应以花括弧“”开始,并以“”结束。3.函数体由C语言的“语句”组成,每条语句必须以“;”结尾。4.C语言程序的语句书写格

41、式自由,一行内可以写一条或多条语句,也可将一条语句 写在多行上,但关键字、标识符、字符串作为一个整体不能分写在两行上。5.在C语言程序中,可以在任何位置成对地使用/*和*/对程序进行注释,注释的作用是利用文字信息对程序进行说明或注解,以便人们在阅读程序时理解程序的功能,注释部分在程序的运行时不执行。例1.3在屏幕上显示“Hello,C!”字符串。main()/*主函数*/*函数体开始*/printf(Hello,C!);/*在屏幕上显示字符串*/*函数体结束*/main()/*主函数*/*主函数体开始*/int a,b,c;/*定义三个整型变量名*/printf(“Hello,C!”);/*屏

42、幕输出字符串*/scanf(“%d%d”,&a,&b);/*从键盘输入两个数,分别给a和b这两个变量*/c=add(a,b);/*调用用户定义的函数add,并将函数值置于变量c中*/printf(“%dn”,c);/*屏幕输出变量c的值*/*主函数体结束*/add(a,b)/*用户自定义标识符add作为函数名,有两个参数a和b*/*用户自定义函数的函数体*/int y;/*定义一个整型变量名y*/y=a+b;/*将a+b的值置于y中*/return y;/*将y的值返回*/*用户自定义函数的函数体结束*/加强对C语言程序基本结构的理解,对今后的学习会有很大帮助。建议:建议:除了注意对书本知识的学习以外,要多观察、多思考、多做自己的“作品”(不在于复杂程度,只要是自己的)、多做上机练习,坚持一段时间,培养起自己的兴趣,有了兴趣就意味着成功的开始。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!