谭浩强C程序设计(第三版)_第3章_数据类型课件_第1页
谭浩强C程序设计(第三版)_第3章_数据类型课件_第2页
谭浩强C程序设计(第三版)_第3章_数据类型课件_第3页
谭浩强C程序设计(第三版)_第3章_数据类型课件_第4页
谭浩强C程序设计(第三版)_第3章_数据类型课件_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,第3章,1,学习交流PPT,本章的要点,数据的描述规则,数据的操作规则,2,学习交流PPT,主要内容,3.1 C数据类型,3.2常量和变量,3.3整数数据,3.4浮点数据,运行3.5字符数据,3,学习交流PPT,主要内容,3。将初始值赋给变量3.7各种数值数据之间的混合运算3.8算术运算符和表达式3.9赋值运算符和表达式3.10逗号运算符和逗号表达式4。学习交换PPT和3.1 C数据类型。c语言提供了以下数据类型。数据类型,构造类型,指针类型,空类型(无值类型)void,5,学习交流PPT,3.2常量和变量,3.2.1常量和符号常量。在程序运行过程中,数值不可改变的量称为常量常量常量,常量可

2、以分为不同的类型:整数100,125,-100,0实数类型3.14,b,2字符串a,ab,1232,6,学习交流PPT,示例3.1使用符号常量#定义价格30 #包含无效主()整数,总计;num=10total=num * PRICEprintf(总计=%dn,总计);符号常量:表示带有标识符的常量。符号常量的值不能在其范围内更改,也不能再赋值。运行结果:total=300,说明:程序使用#define命令行定义PRICE代表常量30,然后这个文件中出现的所有PRICE代表30,可以像常量一样操作,说明:用赋值语句再次给PRICE赋值是错误的,PRICE=40/*错误,不能给符号常量赋值。7.学

3、会交流PPT,3.2常量和变量,3.2.2变量代表一个存储单元,在内存中有特定的属性,用来存储数据。这是变量的值,这些值可以在程序运行期间更改。事实上,变量名对应于一个地址,编译系统在编译和连接程序时为每个变量名分配一个相应的内存地址。从变量中取值实际上是通过变量名找到相应的内存地址,并从内存位置读取数据。8,学会交流PPT,3.2常量和变量以及变量命名规则:语言规定标识符只能由字母、数字和下划线组成,第一个字符必须是字母或下划线。例如:sum,_total,month,Student_name,lotus_1_2_,basic,Li _ ling m.d. John, 123,3d64,ab

4、,9,学会交换PPT,3.2常量和变量,注意:编译系统将大写字母和小写字母视为两个不同的字符。建议变量名的长度不要超过8个字符。在选择变量名和其他标识符时,应注意“当你知道你的意思时,知道你知道什么”,即选择有意义的英语单词(或它们的缩写)作为标识符。要求强制定义所有使用的变量,即“先定义,后使用”。10,学习交换PPT、3.3整数数据和3.3.1整数常数。在语言中,整数常数可以用以下三种形式表示:(1)十进制整数。例如:123,-456.4。(2)八进制整数。以0开头的数字是八进制数。例如,0123表示八进制数123,等于十进制数83,而-011表示八进制数-11,即十进制数-9。11,学习

5、交流PPT,3.3整数数据,(3)十六进制整数。以0 x开头的数字是十六进制数。例如,0 x123代表十六进制数123,等于十进制数291。-0 x12等于十进制数10。3.3.2整数变量(1)内存中整数数据的存储形式数据以二进制形式存储在内存中。例如: int i。/*被定义为整数变量*/I=10;/*给I分配一个10 * 12的整数,并学习交换PPT和3.3整数数据。注意:十进制数10的二进制形式是1010,Turbo C 2.0和Turbo C 3.0分配2字节的内存作为整数变量(不同的编译系统为整数数据分配不同的字节,而VC 6.0分配4字节)。数值表示为补码。,13,学会交换PPT,

6、3.3整数数据,(2)整数变量的分类,有六种,有符号的基本整数有符号的短整数有符号的长整数无符号的基本整数无符号的短整数无符号的长整数,(有符号的)整数(有符号的)短整数(有符号的)长整数(有符号的)长整数(无符号的)短整数(无符号的)长整数(无符号的),注意:括号表示内容是可选的。14,学习交换PPT,3.3整数数据,整数类型的相关数据:类型描述符长度范围基本整数2字节-3276832767短2字节-215215-1长4字节-231231-1无符号2字节065535无符号短2字节065535无符号长整数无符号长4字节0(232-1),15,学习交流PPT,3.3整数数据,例如实际存储例如,

7、int a,b(指定变量,整数)无符号短c,d;(指定变量,无符号短整数)鳄龙,f;(指定变量,长整数),17。学会交流PPT,例3.2整数变量#的定义和使用包括空主()整数a,b,c,d;/*指定、为整数变量*无符号;*指定为无符号整数变量* 12;-24岁;10;printf(,);描述:可以看出不同种类的整数数据可以进行算术运算,运行结果是:18,学习交流PPT,例3.3整数数据溢出#包含无效主()int a,b;a=32767b=a 1。printf(%d,%dn ,a,b);说明:数值表示为补码。整数变量只能包含-3276832767范围内的数字,不能表示大于32767或小于-327

8、68的数字。在这种情况下,会发生“溢出”。运行结果:32767,-32768,19,学习交换PPT,3.3整数数据,3.3.3整数常量类型(1)一个整数,如果它的值在-32768-32767的范围内,它被认为是int类型,并且它可以被分配给int类型和long int类型变量。(2)如果一个整数的值超过上述范围,并且在-2147483637 2147483647的范围内,则该整数被认为是长整数。您可以将其分配给一个长整型变量。20,学习交换PPT,3.3整数数据,(3)如果分配给短整型和整型数据的C版本(如Turbo C)在内存中占用相同的长度,那么它的表号范围与整型数据相同。因此,一个int

9、常量也是一个短int常量,它可以赋给int或short int变量。21,学习交换PPT,3.3整数数据,(4)在整数常量后添加字母u或u,这被认为是无符号int类型,例如12345u,它以无符号int指定的方式存储在内存中(内存单元中的最高位不用作符号位,而是用于存储数据)。如果写成-12345u,首先将-12345转换成它的补码53191,然后将其存储为无符号数。22,学会交换PPT,3.3整数数据,(5)在一个整数常数后加一个字母l或l,那么它就被认为是一个长整型常数。示例:123l.432L.0L用于函数调用。如果函数的形式参数是long int类型,则实际参数需要是long int类

10、型。23,学习交流PPT,3.4浮点数据,3.4.1浮点常量表示,两种表示,十进制指数,0.123 3e-3,注意在:字母e(或e)之前必须有一个数字,e之后的指数必须是整数,1e3,1.8e-3,-123e-。学会交换PPT,3.4浮点数据,标准化指数形式:在十进制部分的字母E(或E)之前,小数点左边应该有一个(且只能有一个)非零数字。例如, 123.456可以表示为:123.456E0、12.3456E1、1.23456e3、0.123456E3、浮点数据通常占用内存中的4个字节(32位)。与整数数据不同,浮点数据以指数形式存储。系统将浮点数据分为小数部分和指数部分,这两部分分开存储。索引

11、部分采用标准化的索引形式。26,学会交换PPT,3.4浮点数据,(2)浮点变量的分类浮点变量分为三种类型:单精度(浮点型),双精度(双型)和长双型。27,学习交流PPT,示例3.4浮点数据的舍入误差#包括void main()浮点a,b;a=123456.789e5b=a20;printf(%fn ,b);描述:浮点变量只能保证的有效数字是7个有效数字,下面的数字没有意义,不能准确表示数字。应避免直接加减一个大数字和一个小数字,否则小数字将“丢失”。运行结果:123456.789e5,28,学会交换PPT,3.4浮点数据,3.4.3浮点常数C型编译系统将浮点常数视为双精度。例如,如果f=2.4

12、5678 * 4523.65,系统首先将2.45678和4523.65作为双精度数,然后进行乘法运算,得到的乘法也是双精度数。最后,前7位分配给浮点变量f。如果在数字后加上字母f或f(如1.65f,654.87F),编译系统将把它们当作单精度(32位)。29,学会交换PPT,3.5-字符数据,3 . 5 . 1-字符常量(1)单引号中包含的字符是字符常量(2)它只能包含一个字符,例如,A,A,1 abc,“A”,30,学会交换PPT,3.5-字符数据,还有一些使用“N-换行T-跳过水平帧R-输入反斜杠ddd ddd表示1-3个八进制数字XHH表示1-2个十六进制数字,31。学习交换PPT,示例

13、3.5使用转义字符#包括void()(反斜杠);printf(htibbj kn);结果显示在打印机上:fab c gde h jik,运行结果显示在显示屏上:f gde j k,32,学习交换PPT,3.5字符数据,3.5.2字符变量字符变量用于存储字符常量,注意只有一个字符。字符变量定义如下:字符c1,C2;在此函数中,您可以使用以下语句为C1和C2赋值:C2 b;一个字符变量占用内存中的一个字节。33,学习交换PPT,3.5字符数据,3.5.3字符数据在内存中的存储形式和用法。字符常量存储在字符变量中。事实上,字符的字体不存储在存储器中,但是字符的相应的ASCII码存储在存储单元中。这使

14、得字符数据和整数数据变得通用。请注意,一个字符的数据可以以字符或整数的形式输出。34,学习交流PPT,例3.6给字符变量赋值。#包括void main() char c1,C2;c1=97c2=98printf(%c %cn ,c1,C2);printf(%d %dn ,c1,C2);描述:在第四行和第四行中,整数97和98分别赋给c1和c2,这相当于下面两个赋值语句:C1;C2;因为A和B的ASCII码是97和98,运行结果是97,98,35,学会交换PPT,例3.7 #包含无效主()字符c1,C2;C1=a;C2=b;C1=C1-32;C2=C2-32;printf(“c c,c1,C2”

15、);描述:该程序的功能是将两个小写字母A和B转换成大写字母A和B。从码表中可以看出,每个小写字母比其对应大写字母的ASCII码大32。语言允许字符数据和整数之间的直接算术运算。运行结果:36,学习交换PPT,3.5字符数据,描述:一些系统(如Turbo C)将字符变量定义为带符号字符。其存储单元中的最高位用作符号位,其值范围为-128127。如果字符变量中存储了ASCII码在0127之间的字符,因为字节中的最高位是0,当字符变量输出为%d时,输出为正整数。如果字符变量中存储了一个ASCII码在128255之间的字符,因为字节中的最高位是1,当以%d格式字符输出时,将获得一个负整数。,37,学会交换PPT,3.5字符数据,3.5.4字符串常量字符串常量是由一对双撇号括起来的字符序列。合法字符串常量:“您好。”、“中国”、“a”、“123.45美元”可以输出一个字符串,如printf(“你好.38,学会交流PPT,3.5字符数据,这是一个字符常量,“”是一个字符串常量,这是彼此不同的。例如,假设它被指定为字符变量:char c,c=a;“a”

温馨提示

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

评论

0/150

提交评论