第2章基本数据类型.ppt
《第2章基本数据类型.ppt》由会员分享,可在线阅读,更多相关《第2章基本数据类型.ppt(103页珍藏版)》请在三一办公上搜索。
1、第二章,基本数据类型,2023/9/3,2/103,第二章 基本数据类型,本章主要内容,2.1 数据类型概述,2.2 标识符、常量和变量,2.3 整型数据,2.4 实型数据,2.5 字符型数据,2.6 数据的输入与输出,2023/9/3,3/103,第二章 基本数据类型,程序是对数据进行各种操作,首先要做的是事情是:对程序中将要用到的各种数据进行设计,包括数据是什么类型的?可以进行什么样的运算?具体的数值是多少?等等。,计算机中的数据可以是各种类型的,例如,数值型的:整数、实数;非数值型的:字符、图像、声音、图片、动画等。,不同的程序设计语言对这些数据的表达方式是不一样的,本章学习C语言如何表
2、达数据。,数据类型概述,2023/9/3,4/103,第二章 基本数据类型,数据类型概述,C语言为了处理方便,将所有可能的数据分成不同的类型。,数据类型,构造类型,指针类型,空类型(无值类型)void,枚举类型 enum,数组类型,结构类型 struct,联合类型 union,基本类型,整型 int,字符型 char,实型(浮点型),单精度实型 float,双精度实型 double,这些数据类型对数据的设计都不一样,包括数据在内存中的存储方式,数据范围,能够进行的运算种类,输入输出形式等。,2023/9/3,5/103,第二章 基本数据类型,标识符、常量和变量,在程序中,不论是变量、符号常量,
3、还是以后介绍的数组、函数等数据对象通常都需要用一个名字(即标识符)来表示才能使用。,标识符就是一个名字。,标识符有特定的命名规则,需要严格执行。,C语言规定,标识符只能由字母(AZ,az)、数字(09)、下划线(_)3种字符组成,并且第一个字符必须是字母或下划线。,2023/9/3,6/103,第二章 基本数据类型,标识符、常量和变量,根据标识符的不同用处,可以将其分以下3类:,(1)关键字关键字,又叫保留字,是指C语言规定的、有特殊含义和专门用途的标识符,主要用于描述数据类型、存储类型、类型定义和语句控制。有32个。例如,int,return 等,(2)预定义标识符预定义标识符也是C语言中有
4、特定含义的标识符,主要用于描述库函数名(如printf、scanf等)和编译预处理命令名(如define、include等)。,(3)用户标识符用户标识符是指在程序中由程序员自己定义的变量名、符号常量名、数组名、函数名等。,2023/9/3,7/103,第二章 基本数据类型,标识符、常量和变量,用户标识符的命名规则:,1、只能由字母、数字、下划线组成。,2、第一个字符必须是字母或下划线。,练习:依据标识符的规则,判断下列字符是否合法的C语言用户标识符 a 4tb _b5 int long sum,3、区分大小写,4、不能使用系统中的有特定含义的关键字。,2023/9/3,8/103,第二章 基
5、本数据类型,自定义标识符的命名规则:,1、只能由字母、数字、下划线组成。,2、第一个字符必须是字母或下划线。,3、区分大小写,4、不能使用系统中的有特定含义的关键字P365。,例:sum,_total,month,Student_name,lotus_1_2_,BASIC,li_ling M.D.John,¥123,3D64,ab,标识符、常量和变量,2023/9/3,9/103,第二章 基本数据类型,标识符、常量和变量,程序中用到的数据,除了有前述类型之分外,还有常量和变量之分。,常量:在程序运行过程中,其值不能被改变的量。,在日常工作学习中,我们会接触到一些不变的数,例如,圆周率,自然常数
6、e等;有些情况下,在某种场合或问题的处理过程中,有些数据是固定的,例如,处理学生的成绩统计问题过程中,一般来讲,学生的人数是固定的。,通常,我们将这些我们事先知道的,并且在程序处理过程中不发生变化的数据,作为常量处理,直接给出数值的大小。,变量:在程序运行过程中,其值能被改变的量。,更多的情况是,我们希望通过程序的处理得出一些结果,这时很多数据是变化的。我们事先不知道的,作为变量处理。,2023/9/3,10/103,第二章 基本数据类型,常量是在程序运行过程中,其值不能被改变的量,也分为不同的类型,例如:整型常量、浮点型常量、字符型常量等。,常量在表达上,除了直接给出数值大小外,也要表示出其
7、类型。,常量的类型是通过书写形式表达的。,整型常量,直接书写成整数,例如:12、0、-3,浮点型常量,直接书写成实数,例如:4.6、-1.23,字符型常量,书写成:a、d、?的形式,表示字符a、d、?。,单引号括起来的单个字符。,整型常量、浮点型常量、字符型常量直接写成上述形式,称为直接常量,相对应的非直接常量是符号常量。,标识符、常量和变量,2023/9/3,11/103,第二章 基本数据类型,符号常量:用一个符号(在C语言中为标识符)来代表一个常量。,例 符号常量的使用,#define PRICE 30#include int main()int num,total;num=10;tota
8、l=num*PRICE;printf(total=%dn,total);return 0;,定义一个符号常量,标识符PRICE,代表整型常量30,在下面的程序中,凡遇到PRICE就用30代替。,标识符、常量和变量,2023/9/3,12/103,第二章 基本数据类型,#include int main()int num,total;num=10;total=num*30;printf(total=%dn,total);return 0;,#define 同#include一样,也是一个编译预处理命令,标识符、常量和变量,2023/9/3,13/103,第二章 基本数据类型,使用符号常量的好处是
9、,#include int main(void)double r,s,v;scanf(%lf,#include#define PI 3.14int main(void)double r,s,v;scanf(%lf,3.14159,3.14159,3.14159,标识符、常量和变量,2023/9/3,14/103,第二章 基本数据类型,变量:在程序运行过程中,其值能被改变的量。也分为不同的类型,例如:整型变量、浮点型变量、字符型变量等。,变量中的值需要在处理过程中保存起来。C语言中的变量实际上代表的是计算机内存的一个存储空间。在这个空间中存放的是变量的具体数值。,C语言中的处理方法是,为每个变量
10、分配一个存储空间,用变量名来标识这个存储空间。,在程序中,需要进行输入、处理、输出等操作时,只要使用变量名a即可,a中保存的值可以是3,也可以是随处理过程变化了的其他值。,标识符、常量和变量,2023/9/3,15/103,第二章 基本数据类型,变量代表内存中具有特定属性的一个存储单元,它用来存放数据,这就是变量的值,在程序运行期间,这些值是可以改变的。,变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。,在C语言中,符号常量中用到的名字、变量名用到的名字,以及
11、今后将学到的函数名、数组名、类型名等,统称为标识符。,变量名的命名要符合标识符特定的命名规则,需要严格执行。,标识符、常量和变量,2023/9/3,16/103,第二章 基本数据类型,变量名命名的注意事项:,编译系统将大写字母和小写字母认为是两个不同的字符。,建议变量名的长度最好不要超过8个字符。,在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词(或其缩写)作标识符。,标识符、常量和变量,2023/9/3,17/103,第二章 基本数据类型,变量是C语言程序中用得最多的一个概念,C语言要求,对所有用到的变量作强制定义,也就是“先定义(声明),后使用”,标识符、常量和变量
12、,所谓声明一个变量,就是告知C编译器引用了一个新的变量名,并指定了该变量的数据类型,变量声明的一般格式如下:数据类型 变量名表;当声明同一类型的多个变量时,各变量名之间用逗号隔开。,下面分别对整型数据、实型数据和字符型数据的常量和变量进行介绍。,2023/9/3,18/103,第二章 基本数据类型,整型数据,整型常量的表示方法,整型常量即整常数在语言中,整常数可用以下三种形式表示:,(1)十进制整数 如:123-456 4,(2)八进制整数 以0头的数是八进制数 如:0123 表示八进制数123(等于十进制数83)-011 表示八进制数-11(即十进制数-9),(3)十六进制整数 以0 x开头
13、的数是十六进制数。如:0 x123 表示十六进制数123(等于十进制数 291)-0 x12 表示十六进制数12(等于十进制数18),八进制数 029 是错误的,为什么?,2023/9/3,19/103,第二章 基本数据类型,整型数据,也就是说,当在程序中需要使用一个整型常数时,可以用十进制的方式表达,也可以是八进制或十六进制。,#include void main()/*求两数之和*/int a,b,sum;/*声明,定义变量为整型*/a=12;b=45;sum=a+b;printf(sum=%dn,sum);,程序求12+45的和,结果为:sum=57,2023/9/3,20/103,第二
14、章 基本数据类型,整型数据,也可以将12和45表示成八进制形式,#include void main()/*求两数之和*/int a,b,sum;/*声明,定义变量为整型*/a=014;b=055;sum=a+b;printf(sum=%dn,sum);,同样,程序求12+45的和,结果为:sum=57,2023/9/3,21/103,第二章 基本数据类型,整型数据,还可以将12和45表示成十六进制形式,#include void main()/*求两数之和*/int a,b,sum;/*声明,定义变量为整型*/a=0 xc;b=0 x2d;sum=a+b;printf(sum=%dn,sum
15、);,同样,程序求12+45的和,结果为:sum=57,2023/9/3,22/103,第二章 基本数据类型,整型数据,1、整型数据在内存中的存放形式,数据在内存中是以二进制形式存放的,如:int i;/*定义为整型变量*/i=10;/*给i赋以整数10*/,逻辑上,可以理解为,i,10,物理上,计算机存储器将为i变量分配4个字节的存储空间,数值10是按照二进制补码形式存储的。,2023/9/3,23/103,第二章 基本数据类型,整型数据,数据的存储整型数据,设整数在内存中用2个字节存储,通过设置符号位表示数据的正负性。1 000 0001 1000 00010 000 0001 1000
16、0001,符号位1:负数0:正数,为了计算机内的运算,数值数据还有编码:原码、反码、补码。,2023/9/3,24/103,第二章 基本数据类型,整型数据,对于正数,原码、反码、补码编码方法是一样的:最高位定义为符号位,值为0;其他位是数据的二进制形式。,例如,1的原码、反码、补码,假设每个整数在内存中占用两个字节,即16位,最高位表示符号:0;其余15位是1的二进制形式,例如,127的原码、反码、补码,例如,32767的原码、反码、补码,这是两字节16位能表示的最大正数,再大就溢出了,所以数据是有范围的。,2023/9/3,25/103,第二章 基本数据类型,整型数据,对于负数,原码、反码、
17、补码编码方法不一样,原码:符号位为1,其余各位表示数值的绝对值对应的二进制形式,反码:符号位为1,其余各位是原码按位取反,补码:反码加1,例如,-1的原码、反码、补码,原码:,反码:,补码:,2023/9/3,26/103,第二章 基本数据类型,3.3 整型数据,原码:,反码:,补码:,-1,-32768的补码,-32768是两字节16位能表示的最小负数,再小也溢出了,int类型有数据范围,与C系统有关,如果是16位,取值范围是-32768,32767。超出范围就需要选择其他数据类型。,-32767,2023/9/3,27/103,第二章 基本数据类型,整型数据,注意:,Turbo C 2.0
18、和Turbo C+3.0为一个整型变量在内存中分配2个字节的存储单元(不同的编译系统为整型数据分配的字节数是不相同的,VC+6.0则分配4个字节)。,数值默认是以补码(complement)表示的,即是有符号的数。,2023/9/3,28/103,第二章 基本数据类型,整型数据,整型变量的基本类型是int,用来存储有符号的整型数据,在程序设计过程中用得最多的一种变量类型。,C语言对整型变量进一步加以分类,以方便不同的应用场合。,共六种,有符号基本整型有符号短整型有符号长整型无符号基本整型无符号短整型无符号长整型,(signed)int(signed)short(int)(signed)long
19、(int)unsigned intunsigned short(int)unsigned long(int),注意:括号表示其中的内容是可选的.,2023/9/3,29/103,第二章 基本数据类型,整型数据,整数类型的有关数据:,类型 类型说明符 长度 数的范围 基本型 int 2字节-3276832767 短整型 short 2字节-215215-1 长整型 long 4字节-231231-1 无符号整型 unsigned 2字节 065535 无符号短整型 unsigned short 2字节 065535 无符号长整型 unsigned long 4字节 0(232-1),2023/9
20、/3,30/103,第二章 基本数据类型,整型数据,整型变量的定义,语言规定在程序中所有用到的变量都必须在程序中定义(声明),即“强制类型定义”。,变量定义的一般形式,类型名 变量名表;,例如:int a,b;unsigned short c,d;long e,f;,指定变量、为整型指定变量、为无符号短整型指定变量、为长整型,关键字,2023/9/3,31/103,第二章 基本数据类型,整型数据,例2.1,常量和变量的定义与使用,#include stdio.h#define WIDTH 80 int main()int length=100,cir,area;cir=(length+WIDT
21、H)*2;area=WIDTH*length;printf(cir=%d,area=%dn,cir,area);return 0;,运行结果:,cir=360,area=8000,问题:请指出程序中的常量和变量,2023/9/3,32/103,第二章 基本数据类型,整型数据,例,整型变量的定义与使用,#include int main()return 0;,运行结果:,a+u=22,b+u=-14,说明:可以看到不同种类的整型数据可以进行算术运算,int a,b,c,d;,unsigned u;,a=12;b=-24;u=10;,c=a+u;d=b+u;,printf(a+u=%d,b+u=%
22、dn,c,d);,2023/9/3,33/103,第二章 基本数据类型,整型数据,例 整型数据的溢出,#include int main()int a,b;a=32767;b=a+1;printf(“%d,%dn”,a,b);return 0;,运行结果:32767,-32768,说明:数值是以补码表示的。一个整型变量只能容纳-3276832767范围内的数,无法表示大于32767或小于-32768的数。遇此情况就发生“溢出”。,本例特指整型数据用16位保存的情形,2023/9/3,34/103,第二章 基本数据类型,整型数据,整型常量的类型,(1)一个整数,如果其值在-32768+32767
23、范围内,认为它是int型,它可以赋值给int型和long int型变量。,(2)一个整数,如果其值超过了上述范围,而在-2147483637+2147483647范围内,则认为它是为长整型。可以将它赋值给一个long int型变量。,(3)如果所用的C版本(如Turbo C)分配给short int与int型数据在内存中占据的长度相同,则它的表数范围与int型相同。因此一个int型的常量同时也是一个short int型常量,可以赋给int型或short int型变量。,(4)一个整常量后面加一个字母u或U,认为是unsigned int型,如12345u,在内存中按unsigned int规定
24、的方式存放(存储单元中最高位不作为符号位,而用来存储数据)。如果写成-12345u,则先将-12345转换成其补码53191,然后按无符号数存储。,2023/9/3,35/103,第二章 基本数据类型,整型数据,(5)在一个整常量后面加一个字母l或L,则认为是long int型常量。例如123l,432L,0L等。这往往用于函数调用中。如果函数的形参为long int型,则要求实参也为long int型。,整型常量的类型是根据(1)整数后的字母后缀来判断的没有字母后缀,认为是int123L long123U unsigned123LU unsigned long(2)整数的值,2023/9/3
25、,36/103,第二章 基本数据类型,实型数据,实型数据的存储,定点数,定点整数 隐含小数点位置,定点纯小数 隐含小数点位置,2023/9/3,37/103,第二章 基本数据类型,实型数据的存储,-浮点数,浮点数的小数点位置不固定,来源于数学中的指数表示形式。例如:57.25102(0.5725)其中,10的指数2称为阶码,0.5725称为尾数。,+2+0.5725,浮点数机内表示形式,实型数据,2023/9/3,38/103,第二章 基本数据类型,C语言中实数的表示方式:浮点表示法0.123 123.4 12.12科学计数法6.026E-27 1.2e+30 1E-5实数的类型都被看作是 d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第2章 基本数据类型 基本 数据类型
链接地址:https://www.31ppt.com/p-5913650.html