语言数据类型运算符与表达式

上传人:宝路 文档编号:49965274 上传时间:2018-08-05 格式:PPT 页数:56 大小:665.39KB
返回 下载 相关 举报
语言数据类型运算符与表达式_第1页
第1页 / 共56页
语言数据类型运算符与表达式_第2页
第2页 / 共56页
语言数据类型运算符与表达式_第3页
第3页 / 共56页
语言数据类型运算符与表达式_第4页
第4页 / 共56页
语言数据类型运算符与表达式_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《语言数据类型运算符与表达式》由会员分享,可在线阅读,更多相关《语言数据类型运算符与表达式(56页珍藏版)》请在金锄头文库上搜索。

1、第三章 数据类型、运算符与表达式第三章 数据类型、运算符和表达式v主要内容C语言的常量与变量C语言的基本数据类型各数据类型间的混合运算运算符和表达式C语言的数据类型v我们上节课讲到:著名的计算机科学家N. Wirth提出:程序 = 数据结构(描述数据) + 算法(描述操作)v一个良好的程序,应当综合考虑算法和数据结构v算法处理的对象是数据,而数据是以某种特定的形式存在的v数据结构是指数据的组织形式C语言的数据类型vC语言的数据结构是以数据类型形式出现的C 数 据 类 型指针类型空类型 void定义类型 typedef基本类型字符类型 char数值类型整 型短整型 short长整型 long整型

2、 int浮点型单精度型 float 双精度型 double构造类型枚举类型 enum数组 结构体 struct 共用体 union常量和变量一、基本字符集v字符,是组成语言的最基本元素,允许出现在C语言源程序的所有字符的集合,称为字符集。字母:az,AZ数字:09特殊字符:控制字符、分隔符、运算符常量和变量二、关键字v关键字,也叫做保留字,是指在C语言中具有特定的含义的字符,它们由系统定义,不能做为他用。C语言中的一共有32个关键字:autobreakcase charconstcontinue defaultdodoubleelseenumexternfloatforgotoifintlon

3、gregisterreturnshortsignedsizeofstaticstructswitchtypedefunsigned unionvoidvolatilewhile常量和变量三、标识符v用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。也就是说,标识符是一个名字vC语言中的标识符只能由字母、数字和下划线组成而且第一个字符不能是数字v不能将关键字作为标识符常量和变量vC语言中的标识符只能由字母、数字和下划线组成而且第一个字符不能是数字问题:下面四个选项中,均是合法的标识符的选项是(A) a1 b! 12_e(B) min f12 1x(C) a in

4、t PI (D) x2 m_nsum min常量和变量v标识符的注意事项C语言区分大小写,大小写不同的标识符是不同的例如:Student和student是两个不同的标识符标识符的长度有限制,要注意开发环境的限定Turbo C 允许的标识符的最大长度是32标识符的命名用有意义的单词组合如:Stu_Num表示学号,不要一味地用a, b, c等简单标识符名常量和变量三、常量v常量:在程序的运行过程中,其值不能被改变v常量的分类:按字面形式直接常量(字面常量 )符号常量按数据类型整型常量 实型常量 字符常量0、-2、123 0.2、4.8、1.3e20 A 、g、+、?(用标识符表示的常量)/* Co

5、nstant example*/ # #define PRICE 30define PRICE 30 main() int num, total;num = 10;total = num * PRICEPRICE;printf(“total=%d“, total) 运行结果:total=300符号常量定义符号常量使用常量和变量v使用符号常量的优点:含义清晰(定义时要注意采用合适的常量名)一改全改/* Constant example*/ # #define PRICE 30define PRICE 30 main() int num, total;num = 10;total = num *

6、PRICEPRICE;printf(“price=%d, total=%d“, PRICEPRICE, total) 运行结果:price=30, total=300/* Constant example*/ # #define PRICE define PRICE 2525 main() int num, total;num = 10;total = num * PRICEPRICE;printf(“price=%d, total=%d“, PRICEPRICE, total) 运行结果:price=30, total=300/* Constant example*/ # #define P

7、RICE define PRICE 2525 main() int num, total;num = 10;total = num * PRICEPRICE;printf(“price=%d, total=%d“, PRICEPRICE, total) 运行结果:price=25, total=250用指定的字符串PRICE来代替“25”在预编译处理时 会将程序中所有“PRICE”用“25”代替替换时是做简单地置换,不作正确性检查常量和变量v使用符号常量的优点:含义清晰(定义时要注意采用合适的常量名)一改全改/* Constant example*/ # #define PRICE defin

8、e PRICE 2525 main() int num, total;num = 10;total = num * PRICEPRICE;printf(“price=%d, total=%d”, PRICEPRICE, total); 运行结果:price=25, total=250宏定义(参见第十一章)常量名一般用大写字母#define命令出现在函数外 有效范围是从定义处到源文件结束宏定义不是C语句,不需要分号常量和变量v使用符号常量的优点:含义清晰(定义时要注意采用合适的常量名)一改全改/* Constant example*/ # #define PRICE define PRICE 2

9、525 main() int num, total;PRICEPRICE = 50;num = 10;total = num * PRICEPRICE;printf(“price=%d, total=%d“, PRICEPRICE, total) 运行结果:price=25, total=250常量不能被再次赋值编译时,简单地将“PRICE”替换成“25”此语句被替换成:25 = 50常量和变量四、变量v变量:在程序的运行过程中,其值可以被改变的量v变量必须用有效的标识符作为名字v变量名实际上是存放变量值的存储单元地址的抽象XXXXXXXXXXXXXXXX内存XXXXXXXXint sum;s

10、umXXXXXXXX0内存XXXXXXXXsum=0;sum=sum+1;XXXXXXXX1内存XXXXXXXX常量和变量四、变量vC语言要求对所有变量:先定义,后使用(强制定义)保证程序中的变量名使用正确如:程序在声明部分声明变量student:int student;在执行部分错写成studant:studant = 30;在编译的时候会检查出studant未定义,不做为变量名编译时分配相应的存储单元编译时可以检查该变量所进行的运算是否合法如:在程序的声明部分做了如下定义:int a;float b;在程序的执行部分有下面运算:a % b编译时会给出相关的出错信息类型说明符 变量列表int

11、 number整型数据一、整型常量的表示v十进制 如:123,-123,0v八进制 (以 0 开头)如:0123 表示十进制数83v十六进制(以 0x 开头)如:0x123表示十进制数291整型数据二、整型变量在内存中的存储v整型变量在内存中是以二进制补码补码的形式存放的int i=10;int j=-10;10ij-1000000000 0000101011111111 1111011011111111 11110101取反加1整型数据三、整型变量的种类v基本类型:intv根据数值的范围分为:int,short,longv根据有无符号(singed/unsigned)及范围可分:类 型比特数

12、取值范围 signed int16-215 (215-1) unsigned int160 (216-1) signed short int16-215 (215-1) unsigned short int160 (216-1) signed long int32-231 (231-1) unsinged long int320 (232-1)01111111 11111111signed int 的最大值32767 (215-1)10000000 00000000signed int 的最小值-32768(-215 )11111111 11111111unsigned int的最大值6553

13、5 (216-1)00000000 00000000unsigned int的最小值0整型数据四、整型变量的定义v变量定义放在函数开头的声明部分或者函数中某一分程序开头的声明部分。main() int a,b,c,d; unsigned u;a = 12; b = -24; u=10;c=a+u; d=b+u;printf(“c=%d,d=%d“,c,d); main() int a,b; unsigned u;a = 12; b = -24; u=10;int c,d;c=a+u; d=b+u;printf(“c=%d,d=%d“,c,d); Compiling c:ex3-2.c Erro

14、r 5: Expression syntax in function main Error 6: Undefined symbol c in function main Error 7: Undefined symbol d in function main main() int a,b; unsigned u;a = 12; b = -24; u=10;int c,d;c=a+u; d=b+u;printf(“c=%d,d=%d“,c,d); 整型数据五、整型数据的溢出v一个int型变量允许的最大值是3276701111111 11111111signed int 的最大值32767 (21

15、5-1)10000000 00000000signed int 的最小值-32768(-215 )当给32767加1时:01111111 1111111110000000 00000000main() int a, b; a = 32767;b = a + 1;printf(“a=%d,b=%d“,a,b); a = 32767, b = -32768输出:整型数据五、整型数据的溢出v一个int型变量允许的最大值是32767main() int a, b; a = 65544;b = a + 1;printf(“a=%d,b=%d“,a,b); a = 8, b = 9输出:000010000

16、0000000a10000100100000000b1整型数据六、整型常量的类型v一个整数,若值在-3276832767范围内,认为是int型v一个整数,若在-21474836482148473647范围内,而超过了-3276832767的范围,认为是long int型v一个整数,后面加一个字母u或U,认为是unsigned int型如:12345uv一个整数,后面加一个字母l或L,认为是long int型如:12345L实型数据一、实型常量的表示v十进制小数形式如:.123 123. 0.123 0.0v指数形式 如:123e3 123E3 1.23e5注意:e的前面必须有数字,后面必须是整数如:e32 1.23e2.3 e 都是不合法的实型数据二、实型变

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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