c语言学习教程-数据类型

上传人:第*** 文档编号:49189851 上传时间:2018-07-25 格式:PPT 页数:35 大小:460KB
返回 下载 相关 举报
c语言学习教程-数据类型_第1页
第1页 / 共35页
c语言学习教程-数据类型_第2页
第2页 / 共35页
c语言学习教程-数据类型_第3页
第3页 / 共35页
c语言学习教程-数据类型_第4页
第4页 / 共35页
c语言学习教程-数据类型_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《c语言学习教程-数据类型》由会员分享,可在线阅读,更多相关《c语言学习教程-数据类型(35页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章数据类型、运算符与表达式数据类型、运算符与表达式计算机只能抽象的描述事物计算机只能抽象的描述事物n n在用程序解决某一个问题时,首先要把程序要处在用程序解决某一个问题时,首先要把程序要处 理事物的特性抽象出来,在计算机中用这些抽象理事物的特性抽象出来,在计算机中用这些抽象 出来的特性来代表一个具体的事物。出来的特性来代表一个具体的事物。 例如:电压和电流的关系例如:电压和电流的关系 U UR RI Imain( )main( ) intint i,u,r; i,u,r;printf(“Pleaseprintf(“Please input the voltage and resist

2、ancen“); input the voltage and resistancen“);scanf(“%d,%d“, );i=u/r ; i=u/r ;printf(“Theprintf(“The current is %d“,i); current is %d“,i); 为什么会有数据类型的概念为什么会有数据类型的概念n nData type of an object determines the set of Data type of an object determines the set of values it can have and what operations can be

3、 values it can have and what operations can be performed on itperformed on it . .n n对不同类型的数值,计算机的处理方式不同。由于对不同类型的数值,计算机的处理方式不同。由于 计算机不能自动识别某个数值是属于哪种类型的,计算机不能自动识别某个数值是属于哪种类型的, 所以只好事先对在计算机中使用到的各个数值进行所以只好事先对在计算机中使用到的各个数值进行 分类,这样不同类型的数值便属于不同的数据类型分类,这样不同类型的数值便属于不同的数据类型 。在这种情况下,计算机在遇到一个数值时,根据。在这种情况下,计算机在遇到

4、一个数值时,根据 它所属的数据类型就可以采取相应的处理方式而不它所属的数据类型就可以采取相应的处理方式而不 会产生错误。会产生错误。3.1 C3.1 C语言中的数据类型语言中的数据类型数数 据据 类类 型型整型(整型(intint)实型实型单精度型单精度型(float)(float)双精度型双精度型(double)(double)字符类型字符类型(char)(char)数组类型数组类型结构体类型结构体类型( (structstruct) )共用体类型共用体类型(union)(union)枚举类型枚举类型( (enumenum) )基本类型基本类型构造类型构造类型指针类型指针类型(*)(*)空类

5、型空类型3.2 3.2 常量与变量常量与变量n n我们所关心的对象的名称。我们所关心的对象的名称。 n n它是用来表示变量名、符号常量名、函数名、数组它是用来表示变量名、符号常量名、函数名、数组 名、类型名、文件名的有效字符序列名、类型名、文件名的有效字符序列。 标识符的命名规则标识符的命名规则1 1. . 标识符只能用标识符只能用字母、数字、下划线字母、数字、下划线三种字符构成,而且标三种字符构成,而且标识符的第一个字符必须是字母或下划线。识符的第一个字符必须是字母或下划线。合法合法的标识符:的标识符:objobj , total , _ , total , _screenxscreenx

6、, sum1,sum2 , sum1,sum2不合法不合法的标识符:的标识符:D.M.Ritchie , 1sum, screen*xD.M.Ritchie , 1sum, screen*x标识符标识符、标识符的长度有一定的限制。、标识符的长度有一定的限制。前前 8 8个字符有效个字符有效teacher_name teacher_name 和和 teacher_ageteacher_age将被系统认为是拥有相同的名称的标识符。将被系统认为是拥有相同的名称的标识符。、区分大、小写、区分大、小写Student Student 和和 studentstudent系统认为是不同的名称。系统认为是不同的

7、名称。 4 4、“ “见名知意见名知意” ”选有含义的英文单词(或缩写)做标志符。选有含义的英文单词(或缩写)做标志符。这是结构化程序的一个特征。这是结构化程序的一个特征。count, name, day, month, total, countrycount, name, day, month, total, country 5 5、保留字不能作为标识符保留字不能作为标识符 如如: : intint char if else for char if else for什么是常量什么是常量 在程序运行过程中,其值不能被改变的量。在程序运行过程中,其值不能被改变的量。2 2 整型常量,整型常量,-

8、3.5 -3.5 实型常量,实型常量,a a 字符型常量字符型常量符号常量符号常量 :用标识符代表一个常量。用标识符代表一个常量。 符号常量不同于变量,它的值在程序运行符号常量不同于变量,它的值在程序运行 期间不能被改变,也不能在被赋值。期间不能被改变,也不能在被赋值。PRICE=40 PRICE=40 错误错误 # define# define为宏定义:为宏定义:#define #define 标识符标识符 字符串字符串作用:用一个指定的标识符来作用:用一个指定的标识符来 代表一个字符串,这个标识符代表一个字符串,这个标识符 称为符号常量。称为符号常量。define PRICE 30defi

9、ne PRICE 30 main( )main( ) intint num,total; num,total;num=10; num=10;total=num* total=num*PRICEPRICE; ;printf(“totalprintf(“total=%d“,total);=%d“,total); 宏定义不能在宏定义不能在 行末加分号行末加分号宏定义通常写在文件开宏定义通常写在文件开 头、函数之前头、函数之前符号常量名习惯符号常量名习惯 上用大写上用大写使用符号常量的好处:使用符号常量的好处:1. 1.含意清楚含意清楚2. 2.一改全改一改全改什么是变量什么是变量 一个变量有两方面的

10、含义:一个变量有两方面的含义:第一,任何一个变量都有自己的一个名称第一,任何一个变量都有自己的一个名称也就是某一块内存单元的名称。也就是某一块内存单元的名称。 第二,任何一个变量都要占据一块内存单元。第二,任何一个变量都要占据一块内存单元。 存储单元存储单元a a变量名变量名3 3变量值变量值变量名的命名原则变量名的命名原则望文生意,见名知意。望文生意,见名知意。a1,b,c2 a1,b,c2 好吗好吗?Apple_numApple_num 变量的强制定义规则变量的强制定义规则在语言中,如果要用到变量,则必须先对变量进行在语言中,如果要用到变量,则必须先对变量进行 类型定义,然后才能使用。这就

11、叫做类型定义,然后才能使用。这就叫做“ “强制定义强制定义“ “。为什么要进行为什么要进行“ “强制定义强制定义“ “呢?呢?1 1、可以使程序中的变量使用不发生错误、可以使程序中的变量使用不发生错误比如在定义部分比如在定义部分 intint teacher; teacher;而在程序中写成而在程序中写成 teateae eherher = 300; = 300;在对程序进行编译时会查出在对程序进行编译时会查出teaecherteaecher没有定义过,没有定义过, 这样避免程序错误。这样避免程序错误。2 2、对变量指定了类型之后,在编译时就可对该变、对变量指定了类型之后,在编译时就可对该变

12、量分配内存。量分配内存。3 3、每一个变量确定了一种类型后,实际上也就确、每一个变量确定了一种类型后,实际上也就确 定了对这个变量所能进行的操作。定了对这个变量所能进行的操作。比如对两个整型变量比如对两个整型变量a , b a , b 则可以进行求余数操作则可以进行求余数操作 a%ba%b,而对两个实型变量则不能进行求余运算。而对两个实型变量则不能进行求余运算。在遇到一个变量时,我们应该能想到在遇到一个变量时,我们应该能想到 :1 1、这个变量已经定义过;这个变量已经定义过;2 2、这个变量是属于某一种类型的;、这个变量是属于某一种类型的;3 3、这个变量在内存中占用了若干个、这个变量在内存中

13、占用了若干个字节的空间;字节的空间;4 4、这个变量能表示的数值范围。、这个变量能表示的数值范围。总结:总结:三种形式十进制整型常量八进制整型常量十六进制整型常量以非0数字开头 67,450以0开头 012 064以0x开头 0x123如:十进制如:十进制 八进制八进制 十六进制十六进制9 011 0x99 011 0x934 042 0x22 34 042 0x22请大家自己写:请大家自己写:2323的八进制和十六进制表示:的八进制和十六进制表示: 八进制:027;十六进制:0X173.3 3.3 整型数据整型数据一、一、整型常量整型常量main( )main( ) intint x,y,z

14、,t; x,y,z,t;x=2;y=014;z=0xef68; x=2;y=014;z=0xef68;x=y+-01111; x=y+-01111;y=z-45; y=z-45;z=z+0x33; z=z+0x33;printf(“%d,%d,%d“,x,y,zprintf(“%d,%d,%d“,x,y,z); ); 运行结果:运行结果:-537,-4293,-4197_ -537,-4293,-4197_ 1 1、整型数据在内存中是以二进制的形式存放、整型数据在内存中是以二进制的形式存放 的的, ,在在turbo Cturbo C中,整型数据占两个字节。中,整型数据占两个字节。如:如:int

15、int i ; i ;i=10; i=10;1010i i00000000000000000000101000001010二、整型变量二、整型变量计算机内的数值数据是以补码表示的。计算机内的数值数据是以补码表示的。 正数的补码正数的补码 = = 原码原码 负数的补码负数的补码 = = 正数原码取反正数原码取反+1 +1 00000000000000000000101000001010求求-10-10 的补码的补码1111111111111111111101011111010111111111111111111111011111011010【-1-1】补补= = 1 1111,1111, 1111,1111111,1111, 1111,1111 【-2-2】补补= = 1 1111,1111, 1111,1110111,1111, 1111,1110 【-3-3】补补= = 1 1111,1111, 1111,1101111,1111, 1111,1101【-32767-32767】补补=

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号