c语言第三章数据类型、运算符与表达式

上传人:san****019 文档编号:70303278 上传时间:2019-01-16 格式:PPT 页数:56 大小:665.01KB
返回 下载 相关 举报
c语言第三章数据类型、运算符与表达式_第1页
第1页 / 共56页
c语言第三章数据类型、运算符与表达式_第2页
第2页 / 共56页
c语言第三章数据类型、运算符与表达式_第3页
第3页 / 共56页
c语言第三章数据类型、运算符与表达式_第4页
第4页 / 共56页
c语言第三章数据类型、运算符与表达式_第5页
第5页 / 共56页
点击查看更多>>
资源描述

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

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

2、一、基本字符集 字符,是组成语言的最基本元素,允许出现在C语言源程序的所有字符的集合,称为字符集。 字母:az,AZ 数字:09 特殊字符:控制字符、分隔符、运算符,2019年1月16日星期三,常量和变量,二、关键字 关键字,也叫做保留字,是指在C语言中具有特定的含义的字符,它们由系统定义,不能做为他用。,C语言中的一共有32个关键字:,2019年1月16日星期三,常量和变量,三、标识符 用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列称为标识符。 也就是说,标识符是一个名字 C语言中的标识符只能由字母、数字和下划线组成 而且第一个字符不能是数字 不能将关键字作为标识符

3、,2019年1月16日星期三,常量和变量,C语言中的标识符只能由字母、数字和下划线组成 而且第一个字符不能是数字,问题:下面四个选项中,均是合法的标识符的选项是 (A) a1 b! 12_e (B) min f12 1x (C) a int PI (D) x2 m_nsum min,2019年1月16日星期三,常量和变量,标识符的注意事项 C语言区分大小写,大小写不同的标识符是不同的 例如:Student和student是两个不同的标识符 标识符的长度有限制,要注意开发环境的限定 Turbo C 允许的标识符的最大长度是32 标识符的命名用有意义的单词组合 如:Stu_Num表示学号, 不要一

4、味地用a, b, c等简单标识符名,2019年1月16日星期三,常量和变量,三、常量 常量:在程序的运行过程中,其值不能被改变 常量的分类:,0、-2、123,0.2、4.8、1.3e20,A 、g、+、?,(用标识符表示的常量),/* Constant example*/ #define PRICE 30 main() int num, total; num = 10; total = num * PRICE; printf(“total=%d“, total) 运行结果:total=300,2019年1月16日星期三,常量和变量,使用符号常量的优点: 含义清晰(定义时要注意采用合适的常量名

5、) 一改全改,/* Constant example*/ #define PRICE 30 main() int num, total; num = 10; total = num * PRICE; printf(“price=%d, total=%d“, PRICE, total) 运行结果:price=30, total=300,/* Constant example*/ #define PRICE 25 main() int num, total; num = 10; total = num * PRICE; printf(“price=%d, total=%d“, PRICE, tot

6、al) 运行结果:price=30, total=300,/* Constant example*/ #define PRICE 25 main() int num, total; num = 10; total = num * PRICE; printf(“price=%d, total=%d“, PRICE, total) 运行结果:price=25, total=250,用指定的字符串PRICE来代替“25”,在预编译处理时 会将程序中所有“PRICE”用“25”代替,替换时是做简单地置换,不作正确性检查,2019年1月16日星期三,常量和变量,使用符号常量的优点: 含义清晰(定义时要注

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

8、一改全改,/* Constant example*/ #define PRICE 25 main() int num, total; PRICE = 50; num = 10; total = num * PRICE; printf(“price=%d, total=%d“, PRICE, total) 运行结果:price=25, total=250,常量不能被再次赋值,编译时,简单地将“PRICE”替换成“25”,此语句被替换成:25 = 50,2019年1月16日星期三,常量和变量,四、变量 变量:在程序的运行过程中,其值可以被改变的量 变量必须用有效的标识符作为名字 变量名实际上是存放

9、变量值的存储单元地址的抽象,int sum;,sum,sum=0;,sum=sum+1;,2019年1月16日星期三,常量和变量,四、变量 C语言要求对所有变量:先定义,后使用(强制定义),保证程序中的变量名使用正确 如:程序在声明部分声明变量student: int student; 在执行部分错写成studant: studant = 30; 在编译的时候会检查出studant未定义,不做为变量名,编译时分配相应的存储单元 编译时可以检查该变量所进行的运算是否合法 如:在程序的声明部分做了如下定义: int a; float b; 在程序的执行部分有下面运算: a % b,编译时会给出相关

10、的出错信息,类型说明符 变量列表,int number,2019年1月16日星期三,整型数据,一、整型常量的表示 十进制 如:123,-123,0 八进制 (以 0 开头) 如:0123 表示十进制数83 十六进制(以 0x 开头) 如:0x123表示十进制数291,2019年1月16日星期三,整型数据,二、整型变量在内存中的存储 整型变量在内存中是以二进制补码的形式存放的,int i=10;,int j=-10;,取反,加1,2019年1月16日星期三,整型数据,三、整型变量的种类 基本类型:int 根据数值的范围分为:int,short,long 根据有无符号(singed/unsigne

11、d)及范围可分:,2019年1月16日星期三,整型数据,四、整型变量的定义 变量定义放在函数开头的声明部分或者函数中某一分程序开头的声明部分。,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 Error 5: Expr

12、ession 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); ,2019年1月16日星期三,整型数据,五、整型数据的溢出 一个int型变量允许的最大值是32767,当给32767加1时:,main() int a, b;

13、 a = 32767; b = a + 1; printf(“a=%d,b=%d“,a,b); ,2019年1月16日星期三,整型数据,五、整型数据的溢出 一个int型变量允许的最大值是32767,main() int a, b; a = 65544; b = a + 1; printf(“a=%d,b=%d“,a,b); ,2019年1月16日星期三,整型数据,六、整型常量的类型 一个整数,若值在-3276832767范围内,认为是int型 一个整数,若在-21474836482148473647范围内,而超过了-3276832767的范围,认为是long int型 一个整数,后面加一个字母

14、u或U,认为是unsigned int型 如:12345u 一个整数,后面加一个字母l或L,认为是long int型 如:12345L,2019年1月16日星期三,实型数据,一、实型常量的表示 十进制小数形式 如:.123 123. 0.123 0.0 指数形式 如:123e3 123E3 1.23e5 注意:e的前面必须有数字,后面必须是整数 如:e32 1.23e2.3 e 都是不合法的,2019年1月16日星期三,实型数据,二、实型变量在内存中的存储 实型变量在内存中以指数的形式存放,一般占4个字节,float f = 3.14159;,3.14159 = 0.314159 101 =

15、0.1100100 10000111 11100111 101,阶码,小数部分,数符,阶符,2019年1月16日星期三,实型数据,三、实型变量的种类 基本类型:float 根据数值的范围分为: float(单精度型) double(双精度型) long double(长双精度型),main() float a,b; a = 12345.6789e5; b = a + 20; printf(“a=%fnb=%f“,a,b); ,2019年1月16日星期三,实型数据,四、实型常量的类型 C编译系统将一个实数做为double类型处理,main() double a; float b; a = 2.4

16、5678 * 4523.65; b = 2.45678 * 4523.65; printf(“a=%fnb=%f“,a,b); ,先计算出 2.45678*4523.65=1113.612847 然后将前7位数赋值给float型的b,2019年1月16日星期三,实型数据,四、实型常量的类型 C编译系统将一个实数做为double类型处理 可以在实数后面加f或F,表示float型实数, 编译系统会按单精度实数(32位)处理 如:123.456f 456.789F,2019年1月16日星期三,字符型数据,一、字符常量的表示 用单引号括起的单个字符 如:a B ? 用“”开头的转义字符,012 或 xa 表示ASCII码为10的“换行” 101 或 x41 表示ASCII码为65的字母A 000 或

展开阅读全文
相关资源
相关搜索

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

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