第2章基本数据类型和表达式ppt课件.ppt
《第2章基本数据类型和表达式ppt课件.ppt》由会员分享,可在线阅读,更多相关《第2章基本数据类型和表达式ppt课件.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在此输入您的封面副标题第2章 基本数据类型和表达式Virus中国水利水电出版社中国水利水电出版社第二章 基本数据类型和表达式2.5 字符型数据字符型数据 2.4 实型数据实型数据2.3 整型数据整型数据2.1 基本数据类型基本数据类型 2.6字符型数据字符型数据 2.2 常量和变量常量和变量 2.7 运算符和表达式运算符和表达式 教学要求:v 掌握:C语言的基本数据类型和运算符;掌握运算符的运算规则和优先级v 理解:各种基本数据类型常量的表示方法 v 了解:变量的定义、赋值、初始化方法 2.1 基本数据类型 C语言的数据类型语言的数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大
2、类。 单精度型 双精度型 数组类型 构造类型 数据类型 整型 实型(浮点型) 字符型 枚举类型 结构体类型 共用体类型 基本类型 指针类型 空类型 2.1 基本数据类型不同的数据类型具有不同的特点:v不同的数据类型有不同的取值范围。v不同的数据类型有不同的操作。v不同的数据类型即使有相同的操作有时含义也不同。 2.2 常量和变量 v在程序运行过程中,其值不能发生变化的量称为常量,其值可以发生变化的量称为变量。变量、常量需要有名字,命名是要讲规则的。2.2.1 标识符v标识符是用来标识变量、符号常量、函数、数组、类型、标号以及一些具有专门含义的有效字符序列。 v标识符可分为3类,即关键字标识符、
3、预定义标识符和用户标识符。 2.2.1 标识符v1.关键字标识符 v2.预定义标识符 v3. 用户标识符2.2.2 常量v 常量可以区分为不同的类型:整型常量如1、2、0、-5,实型常量如5.1、2.1、-1.56,字符常量如a、w。这几种常量一般可以从字面上判断即可,这样的常量称为直接常量或字面常量。 2.2.2 常量v 例2.1直接常量的使用v # includev main()v v float sum; /*变量定义*/v sum=10.0+5; /*给变量赋值*/vprintf(“sum=%dn”,sum); /*输出*/v v 程序运行结果:v sum=15.0000002.2.2
4、 常量v 例2.2符号常量的使用v # includev #define PI 3.14 /*宏定义语句*/v main()v v float r,s,v; /*变量定义*/v scanf (“%f”,&r); /*输入r的值*/v s= PI*r*r;v v=4/3.0*PI*r*r;v printf(“s=%f,v=%fn”,s,v); /*输出*/v 2.2.3 变量v在程序中,其值可以改变的量称为变量。变量有两个基本要素:一个是变量名,另一个是变量类型。 变量示意图 2.2.3 变量v 变量的使用要遵循一下规定:v 1. 变量名可以是C语言中的合法标识符,但用户在定义时应遵循“见名知意
5、”的原则,以便程序的维护。v 2. 每一个变量都必须进行类型说明。未经类型说明的变量在编译时将被指出是错误的。v 3. 在一个数据类型后,变量名可以是一个变量名,也可以包含若干个变量名,各变量名之间用逗号间隔。类型说明符与变量名之间至少用一个空格间隔。v 4. 最后一个变量名之后必须以“;”号结尾。v 5. 变量定义必须放在变量使用之前,一般放在函数体的头部分。v 6. 使用已经定义的变量时,要对它赋值才能进行使用。 2.3 整型数据 v2.3.1 整型常量v整型常量就是整常数。语言中,整型常量只区别整型和长整型两种形式,不区别带符号的数据,形式表示有如下几种:v1. 十进制整数v以下是合法的
6、十进制整形常量:12、-532、123456、1024。v以下是不合法的十进制整形常量:027 (不能有前缀0)、13D (含有非十进制数码)。 v2. 八进制整数。v以下是合法的八进制整形常量:0214(十进制值为140),其值为:282+181+480=140,027(十进制为23)、0127(十进制为87)、01207223(十进制为331411)。v以下是不合法的八进制整形常量:而127(没有以0开头)、01D5(包含了非八进制数码D)、-0234(出现了负号)。v3. 十六进制整常数。以下是合法的十六进制整形常量: 0X127(十进制值是 295),其值为1162+2161+7160
7、=295、0X2E(十进制为46)、0X1F (十进制为31)、0XFFEF (十进制为65519)。v以下是不合法的十六进制整形常量:B (没有以0开头)、0X3M (含有非十六进制数码M)。2.3.2 整型变量 v 1.整型数据在内存中的存放形式 2.3.2 整型变量v 根据变量的取值范围将整型变量分为:v (1)基本型:类型说明符为int,在内存中占2个字节。v (2)短整量:类型说明符为short int或short。所占字节和取值范围均与基本型相同。v (3)长整型:类型说明符为long int或long,在内存中占4个字节。v (4)无符号型:类型说明符为unsigned。2.3.
8、2 整型变量v 2.整型分类 类型说明符数值范围字节数signed int-3276832767 即-215(215-1)2unsigned int065535 即0(216-1)2signed short int-3276832767 即-215(215-1)2unsigned short int065535 即0(216-1)2long int-21474836482147483647 即-231(231-1)4unsigned long int04294967295 即0(232-1)42.3.2 整型变量v 在设计程序时,应该注意变量类型的取值范围,当赋值超过其取值范围时,会出现溢出错
9、误。 v例2.5 产生溢出错误的带符号整型数据运算。v# includevmain()vv Int i,j;v i=32767;v j=32767+1; /*整数b溢出*/v printf(i=%dn,i);v printf(j=%dn,j);vv运行结果为:vi=32767vj=-32768 2.3.2 整型变量v因为32767是整型数据可以表示数值的上限,加2后符号位为1 ,成为-32767的补码 2.3.2 整型变量v 例2.6 无符号整型数据的溢出。v # includev main()v v int a,b;v a=65535;v b=a+100;v printf(a=%u,b=%u
10、n,a,b);v v 程序运行的结果为:v a=65535,b=99 2.3.2 整型变量3. 整型变量的定义及初始化v 变量定义及初始化的一般形式:类型说明符类型说明符 变量变量1 ,变量,变量2,。;,。;v 类型说明符:可以是int、short int、long int、unsigned int、unsigned short int、unsigned long int。类型说明符与变量名之间至少用一个空格间隔。v 在一个类型说明符后,定义多个相同类型的变量,各变量名之间用逗号间隔。v 最后一个变量名之后必须以“;”号结尾。2.3.2 整型变量v 例 2.7 整型变量的定义及初始化。v m
11、ain()v v int a,b;long c;v unsigned e;v a=-1;b=523;c=623789;e=89;v printf(“a=%d,b=%d,c=%ld,e=%un”,a,b,c,e);v v 运行结果如下:v a=-1,b=523,c=623789,e=89 2.4 实型数据 v 2.4.1 实型常量v 实数在C语言中又称为浮点数,有两种表示形式:v 1. 十进制小数形式。它由数字和小数点组成(注意必须有小数点)。v 2. 指数形式。其一般形式为:v a E n(a为十进制数,n为十进制整数)v 其值为 a*10n。 2.4.1 实型常量v 常对于特别大或特别小的数
12、用指数格式比较方便,一般不太大也不太小的数用小数表示法比较直观。v 浮点型数据在内存中的存放分为尾数部分和指数部分,一般占4个字节。v 浮点数在表示数据时,常常是近似的。从数学意义上讲,两个不同的数字之间有无穷个实数,而计算机只能区分至少有一个二进制位(bit)不同的两个数字。如果要表示那些无穷无尽的各不相同的数字,就要使用无穷多的位。实际上计算机只能用较少的位(通常是32位或64位)来表示一定范围内的浮点数,因此有许多浮点数只能是近似的表示。2.4.2 实型变量v 1. 实型数据在内存中的存放形式v 在计算机内部实型数据都以指数形式存储,一般占4个字节(32位)内存空间,其中3个字节存放数字
13、部分,1个字节存放指数部分。 实数3.14159在内存中的存放形式 2.4.2 实型变量v2. 实型变量的分类v 实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。 实型分类类型说明符比特数(字节数)有效数字数的范围Float32(4)6710-371038Double64(8)151610-30710308Long double128(16)181910-49311049322.4.2 实型变量3. 实型变量的定义形式及初始化实型变量也要在使用前先定义,实型变量定义的格式和书写规则与整型变量相同。 v 假定x已指定为单精度实型变量:v
14、float x;v x=4815.123456;v 由于float型变量只能接受7位有效数字,因此实际存储的x的值只有4815.123是有效的。如果将x改为double型,则能接受上述10位数字并存储在变量x中。 2.4.2 实型变量v例2.13实型数据的溢出v# includevmain()vv float a,b,c,d;va=1.2E33;vb=0.5E-22;vc=0.25E-21;vd=a/b;vd=d*c;v printf(c=%fn ,d);v v结果会出现vFloating point error: Overflow 这是由于程序中a/b的运算的结果超出了float型能表示的范
15、围产生溢出。所以在使用中应避免直接用一个较大的数除以一个较小的数。可以将程序的计算部分d=a/b; d=d*c; 改为:d=a*c; d=d/b; 或 d=a/b*c;以避免这种情况的发生。2.4.2 实型变量4. 实型数据的舍入误差v例2.14 实型变量舍入误差的检验。v# includevmain()vv float a,b;v a=123456.78e5;v b=a+20;v printf(“%fn”,a);v printf(“%fn”,b);vv程序运行结果为:v程序运行结果a和b值相等。原因是a的值比20大很多,a+20的理论值应是,而一个单精度实型变量只能保证7位有效数字,可以看到
16、输出结果中的前7位数字是有效的,后面的数字是无意义的,并不准确地表示该数。2.5 字符型数据 2.5.1 字符常量 字符常量是用单引号括起来的一个字符。例如:x、f、!、#、等都是合法字符常量。C语言规定,字母是区分大小写的,所以X和x是两个不同的字符。 v 字符常量有两种表示方法:v 1可显示的字符v 2不可显示字符, 2.5.1 字符常量v转义字符主要用来表示那些用一般字符不便于表示的专用字符、图形字符和控制字符。转义字符转义字符的意义ASCII代码n换行10t横向跳到下一制表位置9b退格8r回车13f走纸换页12反斜线符92单引号符39”双引号符34ddd13位八进制数所代表的字符 xh
17、h12位十六进制数所代表的字符 2.5.1 字符常量v 在语言中,字符常量有以下特点:v 1. 字符常量只能用单引号括起来,不能用双引号或其它括号。v 2. 字符常量只能是单个字符,不能是字符串。v 3. 字符可以是字符集中任意字符。但数字被定义为字符型之后就不能参与数值运算。 2.5.2 字符变量 v字符型变量(char)用来存放字符常量,一个字符变量只能存放一个字符常量,即单个字符。 v 1. 字符变量的定义v 字符变量的类型说明符为char,其定义格式和书写规则与整型变量相同。字符变量的定义形式如下:v char ch1, ch2; /*定义两个字符变量:ch1,ch2*/v ch1=a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 基本数据类型和表达式ppt课件 基本 数据类型 表达式 ppt 课件
限制150内