二章基本数据类型运算符和表达式ppt课件.ppt
《二章基本数据类型运算符和表达式ppt课件.ppt》由会员分享,可在线阅读,更多相关《二章基本数据类型运算符和表达式ppt课件.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C/C+C/C+程序设计二章基本数据类型运算符和表达式ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望 C/C+C/C+程序设计b,B,KB,MB,GB,TBMegabyte(MB),中文叫法:兆,中文叫法:兆Kilobyte(KB),中文叫法:,中文叫法:KByte,中文叫法:字节,中文叫法:字节bit,中文叫法:位,中文叫法:位Gigabyte(GB),中文叫法:,中文叫法:GTerabyte(TB),中文叫法:,中文叫法:T1 TB 1 TB=1
2、,024 GB1,024 GB1 GB1 GB =1,024 MB1,024 MB1 MB1 MB =1,024 KB1,024 KB1 KB1 KB =1,024 B1,024 B1 B 1 B=8 b8 b2uangXi University C/C+C/C+程序设计b,B,KB,MB,GB,TB一个位有多大?一个位有多大?只能是“0”或者“1”,这叫二进制一个字节有多大?一个字节有多大?保存一个字符(英文字母、数字、符号)ASCII(美国标准信息交换码)编码两个字节保存一个汉字GB编码可以表示数字02553uangXi University C/C+C/C+程序设计第二章基本数据类型、运
3、算符和表达式第二章基本数据类型、运算符和表达式2.1 2.1 数据类型数据类型2.2 2.2 变量和常量变量和常量 2.3 2.3 运算符和表达式运算符和表达式2.4 2.4 指针指针2.5 typedef2.5 typedef语句语句2.6 2.6 应用举例应用举例4uangXi University C/C+C/C+程序设计2.1 2.1 数据类型数据类型数据为什么要区分类型?数据为什么要区分类型?不同类型的数据代表不同的不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类 数据类型的分类数据类型的分类(见下页见下页)5uangXi University C/
4、C+C/C+程序设计2.1 2.1 数据类型数据类型数据类型数据类型基本类型基本类型 构造类型构造类型 整型整型(int)(int)实型实型 字符型字符型(char)(char)布尔型布尔型(bool)(bool)空类型空类型(void)(void)单精度型单精度型(float)(float)双精度型双精度型(double)(double)数组数组指针指针结构型结构型(struct)(struct)共用体共用体(union)(union)枚举枚举(enum)(enum)类类(class)(class)6uangXi University C/C+C/C+程序设计2.1 2.1 数据类型数据类型
5、基本数据类型基本数据类型int整数,在目前绝大多数机器上占4个字节。TC2中是2个字节float单精度浮点数,一般是4个字节长double双精度浮点数,一般是8个字节长bool一般是1个字节长false(0),true(1)char字符,一般是1个字节长用来表示256个ASCII字符,或者0255的整数C/C+将char默认为带符号数,表示范围:-1281277uangXi University C/C+C/C+程序设计2.1 2.1 数据类型数据类型数据类型修饰符数据类型修饰符shortshort int,短整数,一般2个字节长。通常简写为shortlonglong int,长整数,一般是4
6、个字节长。通常简写为longlong double,长双精度(高精度)浮点数,VC中仍是8个字节,TC中是10个字节长。signed用来修饰char、int、short和long,说明他们是有符号的整数(正整数、0和负整数)。一般缺省都是有符号的,所以这个修饰符通常省略unsigned用来修饰char、int、short和long,说明他们是无符号的整数(正整数和0)8uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量2.2.1变量变量(1)变量的定义变量的定义程序运行过程中其值可变的量程序运行过程中其值可变的量,定义方式如下:定义方式如下:数据类型数据类
7、型 变量名表变量名表;C/C+规定:规定:程序中所有变量必须先定义后使用,可及时发现录入错误(如,程序中所有变量必须先定义后使用,可及时发现录入错误(如,定义的变量为定义的变量为data,而程序体中使用变量为,而程序体中使用变量为date),同时还可),同时还可限制非法运算限制非法运算(如:如:a%b,若若a,b为为float类型则出错类型则出错)。C+中变量可随时使用,随时定义。中变量可随时使用,随时定义。例如:例如:int a,b;(定义变量定义变量a和和b为整型为整型)float x,y;(定义变量定义变量x和和y为单精度实型为单精度实型)9uangXi University C/C+C
8、/C+程序设计2.2 变量和常量变量和常量(2)变量的初始化变量的初始化变量必须先有确定的值后才能参与各种相应的操变量必须先有确定的值后才能参与各种相应的操作,变量获取值的途径有三:作,变量获取值的途径有三:通过输入语句输入通过输入语句输入 (如:如:cina;)通过赋值语句赋值通过赋值语句赋值 (如:如:a=3;)通过初始化方式赋初值通过初始化方式赋初值 (如:如:int k=3;)所谓初始化是指在定义变量的同时指定变量的初所谓初始化是指在定义变量的同时指定变量的初值,形式有二:值,形式有二:数据类型数据类型 变量名变量名=表达式;表达式;数据类型数据类型 变量名(表达式);变量名(表达式)
9、;例如:例如:int k=3,m=3,n(3);()int k=m=n=3;/不允许为多个变量同时不允许为多个变量同时初始化初始化10uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量强调:强调:使用变量的基本原则使用变量的基本原则变量必须先定义,后使用所有变量一般在可执行语句前定义,不过并不是必须声明的顺序无关紧要声明的顺序无关紧要一条声明语句可声明若干个同类型的变量一条声明语句可声明若干个同类型的变量声明变量,是初始化变量的最好时机声明变量,是初始化变量的最好时机不被初始化的变量,其值为危险的随机数11uangXi University C/C+C/C
10、+程序设计2.2 变量和常量变量和常量(3)变量引用变量引用 C+中增加了中增加了“引用引用”这一概念,许多地方这一概念,许多地方可以代替指针实现相应的功能,比指针更安全。可以代替指针实现相应的功能,比指针更安全。所谓引用即给一个已知变量起个别名,系统不为所谓引用即给一个已知变量起个别名,系统不为引用另外开辟内存,而是与原变量共享同一段内引用另外开辟内存,而是与原变量共享同一段内存,引用好比是一个虚拟的变量,声明形式为:存,引用好比是一个虚拟的变量,声明形式为:数据类型数据类型&引用名引用名=已定义的变量已定义的变量 如:如:int a=3,&b=a;/定义定义b为为a的引用的引用b=5;/你
11、知道此时你知道此时a的值为多少吗?的值为多少吗?12uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量(4)变量使用应注意变量使用应注意不要对变量所占的内存空间字节数想当然不要对变量所占的内存空间字节数想当然用sizeof获得变量或者数据类型的长度现场演示程序在Turbo C2.0和Visual C下的运行结果#include#include mainmain()()printfprintf(Data type Number of bytesn);(Data type Number of bytesn);printfprintf(-n);(-n);prin
12、tfprintf(char%dn,sizeof(char);(char%dn,sizeof(char);printfprintf(int%dn,sizeof(int);(int%dn,sizeof(int);printfprintf(short int%dn,sizeof(short);(short int%dn,sizeof(short);printfprintf(long int%dn,sizeof(long);(long int%dn,sizeof(long);printfprintf(float%dn,sizeof(float);(float%dn,sizeof(float);prin
13、tfprintf(double%dn,sizeof(double);(double%dn,sizeof(double);所以为了程序的良好移值性,对于定义整型变量所以为了程序的良好移值性,对于定义整型变量 unsigned int zero=0;对其全对其全1变量的初始化不用变量的初始化不用 unsigned int compzero=0 xFFFF;而用而用 unsigned int compzero=0;13uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量实型数据提供的有效数字位数不同,使用不当导致舍入误实型数据提供的有效数字位数不同,使用不当导致舍
14、入误差差 float型数据提供型数据提供7位有效数字位有效数字 double型数据提供型数据提供16位有效数字位有效数字例如例如#include#include mainmain()()floatfloat a;a;doubledouble b;b;a=123456.789e4;a=123456.789e4;b=123456.789e4;b=123456.789e4;printfprintf(“%fn%fn”,a,b);(“%fn%fn”,a,b);1234567936.0000001234567890.00000014uangXi University C/C+C/C+程序设计2.2 变量和
15、常量变量和常量2.2.2常量常量 在程序运行过程中其值不能改变的量,有值在程序运行过程中其值不能改变的量,有值常量和符号常量两种。常量和符号常量两种。(1)整型常量整型常量进制形式实例错例十进制以数字19开始-3,+5,12045八进制以数字0开始(由07之间数字组成)023,-010078十六进制以0 x或0X开始(由09及AF组成)0XAF,-0X510XFG15uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量(2)实型常量实型常量十进制小数形式:由正负号、数字和小数点组成,十进制小数形式:由正负号、数字和小数点组成,如如1.25、-1.25、17.
16、和和.1 指数形式:由尾数、指数符号指数形式:由尾数、指数符号e(或或E)及指数构成,其及指数构成,其中指数必须是十进制整数。如中指数必须是十进制整数。如1.25e-5、+1e10、-1.25e5。注意:注意:e前面不能没有数字,前面不能没有数字,e后面的数字必须为整数,后面的数字必须为整数,也不能加圆括号。如也不能加圆括号。如1E(-3)、E-5、1e2.1都是错误都是错误的。的。阶码符号阶码符号阶码的数值阶码的数值尾数符号尾数符号尾数的数值尾数的数值阶码阶码j尾数尾数S浮点数格式浮点数格式16uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量 另外整型
17、与浮点常数还时常带后缀以表明是另外整型与浮点常数还时常带后缀以表明是何种类型何种类型,特别是在用,特别是在用#define定义中:定义中:整型常数整型常数18、-31长整型常量 123l、123L、123456l、123456L无符号型常量 123u、123U浮点常数浮点常数十进制小数形式 123.45、456.78指数形式 1e-2、4.5e3单精度实型常量 123.45f、456.78F、1e-2f、4.5e3F长双精度型常量 123.45l、456.78L、1e-2l、4.5e3L17uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量(3)字符常量字
18、符常量-C/C+提供了两类字符型常量:提供了两类字符型常量:普通字符常量普通字符常量:用单引号括起来的一个字符。如:用单引号括起来的一个字符。如:A、0、?。转义字符常量转义字符常量:以:以“”开头的用单引号括起来的字符开头的用单引号括起来的字符 序列。常序列。常用的转义字符用的转义字符:n 、t、v、b 、r、”、ooo 、xhh 注意:注意:a.0表示表示ASCII码为码为0的字符的字符,它是一个空字符,注意其与它是一个空字符,注意其与0的的区别,后者表示的是区别,后者表示的是ASCII码为码为48的数字字符。的数字字符。b.字符型数据在内存中以字符型数据在内存中以ASCII码存储,故整型
19、数据和字符型数据码存储,故整型数据和字符型数据在一定范围内可以通用。如:在一定范围内可以通用。如:x=a +2;printf(%d,a);18uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量ASCII码码表表19uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量例子:将小写字母转换为大写字母例子:将小写字母转换为大写字母#include main()char ch=b;ch=b-32;printf(%c,%dn,ch,ch);ch=b-(a-A);20uangXi University C/C+C/C+程序设计2.2
20、 变量和常量变量和常量(4)字符串常量字符串常量 字符串常量是用双引号括起来的字符序列字符串常量是用双引号括起来的字符序列,系统在字符串常量最后自动加字符串结束系统在字符串常量最后自动加字符串结束符号符号 0 。例如:字符串字符串“A”的存储形式:的存储形式:字符字符A的存储形式:的存储形式:A 0 A内存中实际存放的是这内存中实际存放的是这些字符的些字符的ASCII码码21uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量进一步说明:进一步说明:表示空字符串表示空字符串转义字符也可以在字符串中使用转义字符也可以在字符串中使用引号只作为字符串开始和结束的标
21、志引号只作为字符串开始和结束的标志除注释外,是唯一可以出现中文的地方除注释外,是唯一可以出现中文的地方里定义了一系列专门的字符串处里定义了一系列专门的字符串处理函数理函数22uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量(5)符号常量符号常量-以标识符形式出现的常量,作以标识符形式出现的常量,作用是便于程序阅读和修改。用是便于程序阅读和修改。C+中用中用define命命令或关键字令或关键字const定义符号常量定义符号常量,形式如下:形式如下:#define 标识符标识符 常量值常量值或或 const 数据类型数据类型 标识符标识符=常量值常量值注意:
22、注意:习惯上符号常量名大写,而变量名小写,以示区分。习惯上符号常量名大写,而变量名小写,以示区分。符号常量虽然用标识符来标识,但本质上是常量,具有常符号常量虽然用标识符来标识,但本质上是常量,具有常量值不能改变的性质。量值不能改变的性质。这两者定义的常是有区别的,后者有数据类型。这两者定义的常是有区别的,后者有数据类型。23uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量例如:例如:const int g=8;int const f=9;/这两个定义是一样的。这两个定义是一样的。进一步说明:进一步说明:const意味着意味着“只读只读”,声明一个参数为常
23、,声明一个参数为常量是为了告诉了用户这个参数的应用目的,量是为了告诉了用户这个参数的应用目的,使编译器很自然地保护那些不希望被改变的使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。参数,防止其被无意的代码修改。24uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量(6)枚举枚举(Enumeration)常量常量-一个被遗忘的角色,从程序来窥一个被遗忘的角色,从程序来窥其一斑其一斑 enum weeks MON,TUE,WED,THU,FRI,SAT,SUN;/标识符序列标识符序列,别的不行!,别的不行!enum weeks today;
24、enum response no,yes,none;enum response answer;today =TUE;answer=yes;if(answer=yes)printf(Today is Tuesday.n);else printf(Today is NOT Tuesday.n);25uangXi University C/C+C/C+程序设计2.2 变量和常量变量和常量 常数、常数、const常量常量、宏常量和枚举常量,宏常量和枚举常量,都可以用来表示一个永远不会改变的数。但都可以用来表示一个永远不会改变的数。但我们不建议直接使用常数,而用后三者代替。我们不建议直接使用常数,而用后
25、三者代替。5 5 const int a=5;const int a=5;#define a 5#define a 5 enum aT enum aT ZERO,ONE,TWO,THREE,FOUR,FIVE;ZERO,ONE,TWO,THREE,FOUR,FIVE;aT a=FIVE;aT a=FIVE;26uangXi University C/C+C/C+程序设计2.3运算符和表达式运算符和表达式2.3.1 基本概念基本概念运算符具有三个属性:运算符具有三个属性:优先级优先级:指运算的先后次序,共分指运算的先后次序,共分15个级别。个级别。结合性结合性:指相同优先级运算符连续出现时的计算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基本 数据类型 运算 表达式 ppt 课件
限制150内