第02章ppt课件.ppt
《第02章ppt课件.ppt》由会员分享,可在线阅读,更多相关《第02章ppt课件.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第02章ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望2.1 程序设计概述程序设计概述一个程序应包括对数据的描述和对数据处理的描述。一个程序应包括对数据的描述和对数据处理的描述。1对数据的描述,即数据结构。对数据的描述,即数据结构。在在C语言中,系统提供的数据结构,是以数据类型的形语言中,系统提供的数据结构,是以数据类型的形式出现的。式出现的。2对数据处理的描述,即计算机算法。算法是为解决对数据处理的描述,即计算机算法。算法是为解决一个问题而采取的方法
2、和步骤,是程序的灵魂。为此,著一个问题而采取的方法和步骤,是程序的灵魂。为此,著名计算机科学家沃思(名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:)提出一个公式:数据结构数据结构+算法算法=程序程序 实际上,一个程序除了数据结构和算法外,还必须使实际上,一个程序除了数据结构和算法外,还必须使用一种计算机语言,并采用结构化方法来表示。用一种计算机语言,并采用结构化方法来表示。算法的特性算法的特性算法算法有有穷性性确定性确定性有零个或多个有零个或多个输入入有一个或多个有一个或多个输出出有效性有效性算法算法-程序的灵魂程序的灵魂任何事情都有个步骤:菜谱、乐谱。任何事情都有个步骤:
3、菜谱、乐谱。对同一个问题,有不同的算法:对同一个问题,有不同的算法:例:求例:求1+2+3+100;算法有优劣之分;算法有优劣之分;C语言算法的三种基本结构:顺序、选择、循环;语言算法的三种基本结构:顺序、选择、循环;简单算法举例:简单算法举例:例例1、有黑和蓝两个墨水瓶,要求将其互换。算法分析:这是一个非数值运算问题。因为两个瓶子的墨水不能直接交换,所以,解决这一问题的关键是需要引入第三个墨水瓶。设第三个墨水瓶为白色,其交换步骤如下:将黑瓶中的黑墨水装入白瓶中;将蓝瓶中的蓝墨水装入黑瓶中;将白瓶中的黑墨水装入蓝瓶中;交换结束。例例2、判定、判定2000-2500年中的每一年是否是闰年?年中的
4、每一年是否是闰年?闰年的条件:闰年的条件:a、能被、能被4整除,但不能被整除,但不能被100整除的年份整除的年份都是闰年(都是闰年(1996、2004););b、能被、能被100整除,又能被整除,又能被400整除整除的年份是闰年(的年份是闰年(1600、2000)。)。算法表示如下:算法表示如下:s1:y=2000s2:若:若y不能被不能被4整除,则输出整除,则输出y”不是闰年不是闰年“。然后跳。然后跳到到s6;s3:若:若y能被能被4整除,不能被整除,不能被100整除,则输出整除,则输出y”是闰年是闰年“;然后跳到;然后跳到s6;s4:若:若y能被能被100整除,又能被整除,又能被400整除
5、,则输出整除,则输出y”是闰是闰年年“;否则输出;否则输出”不是闰年不是闰年“。然后转到。然后转到s6;s5:输出:输出“不是闰年不是闰年”;s6:y=y+1;s7:当:当y2500,算法,算法终止。终止。怎样表示一个算法?怎样表示一个算法?用自然语言表示算法:通俗易懂、文字冗长、容易出现用自然语言表示算法:通俗易懂、文字冗长、容易出现“歧义歧义”。用流程图表示算法:用图形表示,直观形象,易于理解用流程图表示算法:用图形表示,直观形象,易于理解。处理数据特定处理判断端点符语句1语句2顺序结构语句2判断表达式语句1不满足满足选择结构判断表达式循环体不满足满足循环结构传统流程图的弊病:(传统流程图
6、的弊病:(a bowl of spaghetti););N-S流程图:(美流程图:(美I.Nassi和和B.Shneiderman)去掉流线,)去掉流线,把所有的算法写在一个矩形框里;把所有的算法写在一个矩形框里;t=1i=2t=t*ii=i+1打印t直到i5PAD图图:(Problem Analysis Diagram););伪代码:介于自然语言与计算机语言之间的文字符号;伪代码:介于自然语言与计算机语言之间的文字符号;计算机语言:严格遵守所用语言的语法规则;计算机语言:严格遵守所用语言的语法规则;“自顶向下,逐步细化自顶向下,逐步细化”是结构化设计方法的主体思想;是结构化设计方法的主体思想
7、;2.2 C语言的数据类型语言的数据类型C语语言言提提供供的的数数据据结结构构,是是以以数数据据类类型型形形式式出出现现的的。具具体体分类如下:分类如下:1.基本类型基本类型分为整型、实型(又称浮点型)、字符型和枚举型四种。分为整型、实型(又称浮点型)、字符型和枚举型四种。2.构造类型构造类型分为数组类型、结构类型和共用类型三种。分为数组类型、结构类型和共用类型三种。3.指针类型。在第指针类型。在第9章中介绍。章中介绍。C语语言言中中的的数数据据,有有常常量量和和变变量量之之分分,它它们们分分别别属属于于上上述述这些类型。这些类型。本章将介绍基本类型中的整型、实型和字符型三种数据。本章将介绍基
8、本类型中的整型、实型和字符型三种数据。2.3 常量和变量常量和变量2.3.1 常量常量 1.常量的概念常量的概念 在程序运行过程中,其值不能被改变的量称为常量。在程序运行过程中,其值不能被改变的量称为常量。2.常量的分类常量的分类 (1)整型常量)整型常量(2)实型常量)实型常量(3)字符常量。)字符常量。(4)符号常量。)符号常量。常量的类型,可通过书写形式来判别。常量的类型,可通过书写形式来判别。2.3.2 变量变量1.变量的概念变量的概念在程序运行过程中,其值可以被改变的量称为在程序运行过程中,其值可以被改变的量称为变量变量。2.变量的两个要素变量的两个要素(1)变变量量名名。每每个个变
9、变量量都都必必须须有有一一个个名名字字变量名,变量命名遵循标识符命名规则。变量名,变量命名遵循标识符命名规则。(2)变变量量值值。在在程程序序运运行行过过程程中中,变变量量值值存存储储在在内内存存中中。在在程程序序中中,通通过过变变量量名名来来引引用用变变量量的值。的值。.标识符命名规则标识符命名规则(1)有有效效字字符符:只只能能由由字字母母、数数字字和和下下划划线线组组成成,且以字母或下划线开头且以字母或下划线开头。合法标识符:合法标识符:sum,average,_total,Class,lotus_2非法标识符:非法标识符:M.D.John,#123,3d64,ab3a变量名变量值存储单
10、元(2)有效长度:随编译系统而异,但至少前个字符)有效长度:随编译系统而异,但至少前个字符有效。如果超长,则超长部分被舍弃。有效。如果超长,则超长部分被舍弃。例如,由于例如,由于student_name和和student_number的前个字的前个字符相同,有的系统认为这两个变量,是一回事而不加区符相同,有的系统认为这两个变量,是一回事而不加区别。别。在在TC V2.0中,变量名(标识符)的有效长度为中,变量名(标识符)的有效长度为个字符,缺省值为。个字符,缺省值为。建议变量名长度不超过建议变量名长度不超过8个字符。个字符。(3)C语言的关键字不能用作变量名。语言的关键字不能用作变量名。注注意
11、意:C语语言言对对英英文文字字母母的的大大小小敏敏感感,即即同同一一字字母母的的大大小写,被认为是两个不同的字符。小写,被认为是两个不同的字符。习习惯惯上上,变变量量名名和和函函数数名名中中的的英英文文字字母母用用小小写写,以以增增加加可读性。可读性。思思考考题题:在在C语语言言中中,变变量量名名total与与变变量量名名TOTAL、ToTaL、tOtAl等是同一个变量吗?等是同一个变量吗?标识符命名的良好习惯标识符命名的良好习惯见名知意见名知意:所所谓谓“见见名名知知意意”是是指指,通通过过变变量量名名就就知知道道变变量量值值的的含含义义。通通常常应应选选择择能能表表示示数数据据含含义义的的
12、英英文文单单词词(或或缩缩写写)作作变变量名,或汉语拼音字头作变量名。量名,或汉语拼音字头作变量名。例例如如,name/xm(姓姓名名)、sex/xb(性性别别)、age/nl(年年龄)、龄)、salary/gz(工资)。(工资)。4.变量的定义与初始化变量的定义与初始化在在语语言言中中,要要求求对对所所有有用用到到的的变变量量,必必须须先先定定义义、后后使使用;且称在定义变量的同时进行赋初值的操作为变量初始化。用;且称在定义变量的同时进行赋初值的操作为变量初始化。(1)变量定义的一般格式)变量定义的一般格式数据类型数据类型 变量名变量名,变量名变量名2;例如,例如,float radius,
13、length,area;(2)变量初始化的一般格式)变量初始化的一般格式数据类型数据类型 变量名变量名=初值初值,变量名变量名2=初值初值2;例如,例如,float radius=2.5,length,area;关于计算机内部的信息表示关于计算机内部的信息表示!2.4 整型数据整型数据2.4.1 整型变量整型变量 1.分类分类 根据占用内存字节数的不同,整型变量又分为类:根据占用内存字节数的不同,整型变量又分为类:(1)基本整型(类型关键字为)基本整型(类型关键字为int)。)。(2)短整型(类型关键字为)短整型(类型关键字为short int)。)。(3)长整型(类型关键字为)长整型(类型关
14、键字为long int)。)。(4)无符号整型。无符号型又分为无符号基本整型)无符号整型。无符号型又分为无符号基本整型(unsigned int)、无符号短整型()、无符号短整型(unsigned short)和)和无符号长整型(无符号长整型(unsigned long)三种,只能用来存储无符)三种,只能用来存储无符号整数。号整数。2.占用内存字节数与值域占用内存字节数与值域 上述各类型整型变量占用的内存字节数,随系统而异。上述各类型整型变量占用的内存字节数,随系统而异。在在16位操作系统中,一般用字节表示一个位操作系统中,一般用字节表示一个int型变量,且型变量,且long型(型(字节)字节
15、)int型(型(字节)字节)short型(型(字节)字节)。整型数据在内存中的存放形式整型数据在内存中的存放形式是以二进制的形式存放的是以二进制的形式存放的int i;i=10;0 0 0 0 0 00 0 0 0 1 00001实际上,数值是以补码表示的。一个正数的实际上,数值是以补码表示的。一个正数的补码补码与其与其原码原码形式相同,负数该怎样表示呢?例如:求形式相同,负数该怎样表示呢?例如:求-10的补码?的补码?0 0 0 0 0 00 0 0 0 1 000011 1 1 1 1 11 1 1 1 0 111101 1 1 1 1 11 1 1 1 0 11101Step1:Step
16、2:Step3:原码取反再加1符号位例如,PC机中的一个int型变量,其值域为:-3276832767;一个unsigned型变量的值域为:065535。0 1 1 1 1 11 1 1 1 1 11111=32767符号位不表示数据位符号位不表示数据位signed int1 1 1 1 1 11 1 1 1 1 11111=65535代表数据代表数据的第的第1位位unsigned int整型数据的溢出整型数据的溢出程序演示:程序演示:main()int a,b;a=32767;b=a+1;printf(“%d,%d”,a,b);运行结果:运行结果:_0 1 1 1 1 11 1 1 1 1
17、111111 0 0 0 0 00 0 0 0 0 00000a=32767b=-32768解决方法?2.4.2 整型常量整型常量.三种表示形式三种表示形式整型常量即整常数,在语言中可用三种形式表示:整型常量即整常数,在语言中可用三种形式表示:(1)十进制。例如)十进制。例如10、36。(2)八进制(以数字开头)。例如)八进制(以数字开头)。例如012。(3)十六进制(以数字)十六进制(以数字+小写字母小写字母x开头)。例如开头)。例如0 x36。2.5 实型数据实型数据2.5.1 实型变量实型变量 语言的实型变量,分为两种:语言的实型变量,分为两种:(1)单精度型。类型关键字为)单精度型。类
18、型关键字为float,一般占字节,一般占字节(位)、提供位有效数字。(位)、提供位有效数字。(2)双精度型。类型关键字为)双精度型。类型关键字为double,一般占个字节、,一般占个字节、提供提供1516位有效数字。位有效数字。实型数据在内存中的存放形式:小数部分和指数部分实型数据在内存中的存放形式:小数部分和指数部分分别存放。分别存放。.3141591+数符小数部分.314159指数1013.141592.5.2 实型常量实型常量 .表示形式表示形式实型常量即实数,在语言中又称浮点数,其值有实型常量即实数,在语言中又称浮点数,其值有两种表达形式:两种表达形式:(1)十进制形式。例如)十进制形
19、式。例如3.14、9.8。(2)指数形式:)指数形式:E(e)。例如例如3.0+5等。等。.关于类型关于类型 实型常量不分实型常量不分float型和型和double型。一个实型常型。一个实型常量,可以赋给一个实型变量(量,可以赋给一个实型变量(float型或型或double型)。型)。2.6 字符型数据字符型数据2.6.1 字符常量字符常量1.字符常量的定义字符常量的定义用一对用一对单引号单引号括起来的单个字符,称为字符常量。括起来的单个字符,称为字符常量。例如,例如,A、等。等。字符数据在内存中存储的是字符的字符数据在内存中存储的是字符的ASCII码。码。2.转义字符转义字符语言还允许使用一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 02 ppt 课件
限制150内