C课件第2章基本数据类型与表达式.ppt
《C课件第2章基本数据类型与表达式.ppt》由会员分享,可在线阅读,更多相关《C课件第2章基本数据类型与表达式.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2 2章章 基本数据类型与表达式基本数据类型与表达式第第2 2章章 基本数据类型与表达式基本数据类型与表达式2.1 C+2.1 C+数据类型概述数据类型概述2.2 C+2.2 C+的基本数据类型的基本数据类型2.3 2.3 常量与变量常量与变量2.4 2.4 运算符与表达式运算符与表达式2.5 2.5 数值运算符与数值表达式数值运算符与数值表达式2.6 2.6 赋值运算赋值运算2.7 2.7 关系与逻辑运算关系与逻辑运算2.8 2.8 条件运算符与逗号表达式条件运算符与逗号表达式2.9 2.9 sizeofsizeof运算符运算符2.10 2.10 表达式的副作用和表达式语句表达式的副作用
2、和表达式语句2006-04-012.1 c+数据类型概述数据类型概述1.基本数据类型基本数据类型基本数基本数据类型据类型整型整型 int 字符型字符型实型实型逻辑型逻辑型单字符型单字符型char宽字符型宽字符型 wchar_t单精度型单精度型float双精度型双精度型doublebool2006-04-012.数据类型修饰符数据类型修饰符signed:有符号:有符号 unsigned:无符号:无符号short:短型:短型 long:长型:长型说明:说明:1)类型修饰符可以修饰除类型修饰符可以修饰除void、bool类型以外的类型以外的其他类型;其他类型;2)上述修饰符均可用于整型和字符型;上述
3、修饰符均可用于整型和字符型;3)long修饰符还适用于双精度浮点数;修饰符还适用于双精度浮点数;2006-04-012.2 C+的基本数据类型的基本数据类型2006-04-01说明:说明:(1)表中的表中的int可以省略,既在可以省略,既在int之前有修之前有修饰符出现时,可以省略关键字饰符出现时,可以省略关键字int;(2)单精度类型单精度类型float、双精度类型、双精度类型double、长、长精度类型精度类型long double统称浮点类型;统称浮点类型;(3)char型和各种型和各种int类型统称整型类型;类型统称整型类型;char型变量在内存中以字符的型变量在内存中以字符的ASCI
4、I码值码值的形式存储;的形式存储;(4)字宽(字节)取决于操作系统和编译器字宽(字节)取决于操作系统和编译器的实现,可用的实现,可用sizeof验证;验证;2006-04-01/ch2_1.cpp 测试计算机中数据类型的字节长度测试计算机中数据类型的字节长度#includevoid main()coutchar类型的长度是类型的长度是sizeof(char)endl;cout“宽宽char类型的长度是类型的长度是sizeof(wchar_t)endl;coutint类型的长度是类型的长度是sizeof(int)endl;coutlong类型的长度是类型的长度是sizeof(long)endl;
5、coutfloat类型的长度是类型的长度是sizeof(float)endl;coutdouble类型的长度是类型的长度是sizeof(double)endl;coutlong double类型的长度是类型的长度是sizeof(long double);coutendl;2006-04-012.3 常量与变量2.3.1 变量变量变量是指程序在运行时其值可改变的量。每个变量由一个变量名惟一标识,同时,每个变量又具有一个特定的数据类型。不同类型的变量在内存中占有存储单元的个数不同。2006-04-01变量定义变量定义1.命名变量名命名变量名每个变量都每个变量都必须必须有一个名字有一个名字变量名,变
6、量命名遵循变量名,变量命名遵循标识符命名规则。标识符命名规则。2.标识符命名规则标识符命名规则(1)有效字符:只能由字母、数字和下划线组成,)有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。且以字母或下划线开头。(_Num1 ,8NUM,NUM8)(2)有效长度:随系统而异,但至少前个字符有)有效长度:随系统而异,但至少前个字符有效。如果超长,则超长部分被舍弃。效。如果超长,则超长部分被舍弃。例如,由于例如,由于student_name和和student_number的前的前个字符相同,有的系统认为这两个变量,是一回事而个字符相同,有的系统认为这两个变量,是一回事而不加区别。不加
7、区别。2006-04-01(3)C+的关键字不能用作变量名。的关键字不能用作变量名。注意:注意:C+对英文字母的大小敏感,即同一字对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。习惯母的大小写,被认为是两个不同的字符。习惯上,变量名和函数名中的英文字母用小写,以上,变量名和函数名中的英文字母用小写,以增加可读性。增加可读性。标识符命名的良好习惯标识符命名的良好习惯见名知意见名知意,即通过变即通过变量名就知道变量值的含义。通常应选择能表示量名就知道变量值的含义。通常应选择能表示数据含义的英文单词(或缩写)作变量名,或数据含义的英文单词(或缩写)作变量名,或汉语拼音字头作变量名。
8、汉语拼音字头作变量名。例如,例如,name/xm(姓名)、(姓名)、sex/xb(性别)、(性别)、age/nl(年龄)、(年龄)、salary/gz(工资)。(工资)。(4)命名风格:命名风格:my_car,myCar,iMyCar,dMyCar2006-04-013.变量定义方式:变量定义方式:;例如:例如:int a,b,c;double x,y,z;4.变量赋值与初始化变量赋值与初始化数据类型数据类型 标识符标识符1(初始值初始值1),标识符标识符n(初始值初始值n);数据类型数据类型 标识符标识符1=初始值初始值1,标识符标识符n=初始值初始值n;例如:例如:double price
9、=15.5;int size=100;5.typedf 用用typedef可以为一个已有的类型名提供一个同义词可以为一个已有的类型名提供一个同义词例如:例如:typedef double profit;typedef int INT,integer;INT a;profit d;2006-04-012.3.2 常量常量1.整型常量整型常量10进制表示例:进制表示例:132,-3458进制表示例:进制表示例:010,-053616进制表示例:进制表示例:0 x7A,-0X3de2.实型常量实型常量(1)定点数形式定点数形式。它由数字和小数点组成。如:。它由数字和小数点组成。如:0.123,.23
10、4,0.0等。等。(2)指数形式。如,指数形式。如,123e5或或123E5都表示都表示123105。要注意要注意E或或e的前面必须要有数字,且的前面必须要有数字,且E后面的指后面的指数必须为整数。数必须为整数。2006-04-013.字符常量字符常量(1)由一对单引号括起的一个字符由一对单引号括起的一个字符表示;表示;(2)其值为所括起字符在其值为所括起字符在ASCII表表中的编码;中的编码;(3)转义序列表示方法:以反斜线转义序列表示方法:以反斜线()开头,后跟字符的开头,后跟字符的ASCII码值;码值;2006-04-01C+中常用转义序列符2006-04-01.字符串常量字符串常量一对
11、双引号括起的字符序列,字符序列可一对双引号括起的字符序列,字符序列可以包含空格、转义序列或任何其他字符,以包含空格、转义序列或任何其他字符,这些字符不一定是这些字符不一定是C+字符集中的字符,字符集中的字符,只要只要C+编译器支持即可编译器支持即可.例如:例如:“This is a string;”“How do you do?”“I am a student.”2006-04-01字符串常量字符串常量字符常量字符常量 字符没有结束符 字符串有一个结束符,该结束符用0表示 用双引号括起 用单引号括起用单引号括起 由一维数组存放由一个字符型变量存放由一个字符型变量存放 字符串常量“a”在内存中占
12、用两个字节字符常量字符常量a在内存中占在内存中占用用 一个字节一个字节 可进行连接、拷贝运算可进行加、减法运算可进行加、减法运算串常量与字符常量的区别:串常量与字符常量的区别:2006-04-01 5.布尔常量布尔常量仅有两个:布尔常量仅有两个:false(假)和(假)和true(真)(真)或:或:1(真)(真)0(假)(假)2006-04-016.枚举常量枚举常量枚举声明枚举声明:enum;由若干个枚举符组成,多个枚举符之间用逗号分由若干个枚举符组成,多个枚举符之间用逗号分隔;隔;枚举符是用标识符表示的整型常量,又称枚举常量;枚举符是用标识符表示的整型常量,又称枚举常量;枚举常量的值默认为最
13、前边的一个为枚举常量的值默认为最前边的一个为0,其后的值依次加,其后的值依次加1;枚举常量的值也可显式定义,未显式定义的则在前一个值枚举常量的值也可显式定义,未显式定义的则在前一个值的基础上加的基础上加1;例如:例如:enum day Sun,Mon,Tue,Wed,Thu,Fri,Sat;enum day Sun=7,Mon=1,Tue,Wed,Tur,Fri,Sat;2006-04-012.3.3 常量定义常量定义定义方法:使用类型说明符定义方法:使用类型说明符const;例如:例如:const int size=80;定义的符号常量必须初始化;定义的符号常量必须初始化;一个符号常量可看作
14、是一个只读变一个符号常量可看作是一个只读变量,由量,由const定义的常量的值不可以定义的常量的值不可以改变;改变;2006-04-012.3.4 宏定义的使用例:例:define pi 3.14说明:define 在c+中不常用,已经被const所取代2006-04-012.4 运算符与表达式在程序中,表达式是计算求值的基本单位,它在程序中,表达式是计算求值的基本单位,它是由运算符和运算数组成的式子。运算符是表是由运算符和运算数组成的式子。运算符是表示进行某种运算的符号。运算数包含常量、变示进行某种运算的符号。运算数包含常量、变量和函数等。量和函数等。C+语言的运算符按其在表达式中与运算语言
15、的运算符按其在表达式中与运算对象的关系(连接运算对象的个数)可分为:对象的关系(连接运算对象的个数)可分为:单目运算(一元运算符,只需一个操作数)单目运算(一元运算符,只需一个操作数)双目运算(二元运算符,需两个操作数)双目运算(二元运算符,需两个操作数)三目运算(三元运算符,需三个操作数)三目运算(三元运算符,需三个操作数)2006-04-01按其在表达式中所起的作用又可分为:按其在表达式中所起的作用又可分为:算术运算符算术运算符+-*/%关系运算符关系运算符 =!=逻辑运算符逻辑运算符!&|位运算符位运算符|&自增自减运算符自增自减运算符+-赋值运算符赋值运算符=及其扩展(及其扩展(+=-
16、=*=/=%=等)等)条件运算符条件运算符?:指针运算符指针运算符*和和&逗号运算符逗号运算符,分量运算符分量运算符*-函数调用运算符()函数调用运算符()下标运算符下标运算符 求字节运算符求字节运算符 sizeof 强制类型转换运算符:(强制类型转换运算符:(type)2006-04-012.2.左值和右值左值和右值 左左值值(left left value,value,缩缩写写为为lvaluelvalue)是是能能出出现现在在赋赋值值表表达达式式左左边边的的表表达达式式。左左值值表表达达式式具具有有存存放放数数据据的的空空间间,而而且且存存放放是是允许的。例如:允许的。例如:int a=3
17、;/a int a=3;/a是变量,所以是变量,所以a a是左值是左值 const const int int b=4;b=4;/b/b是是常常量量,所所以以b b不不是是左值左值 显然常量不是左值,因为显然常量不是左值,因为c+c+规定常量的规定常量的值一旦确定就不能更改。值一旦确定就不能更改。2006-04-01右值(右值(right value,right value,缩写为缩写为rvaluervalue)只能出现在赋值表)只能出现在赋值表达式的右边。左值表达式也可以作为右值表达式。例如:达式的右边。左值表达式也可以作为右值表达式。例如:int a,b=6;int a,b=6;a=b;/
18、b a=b;/b是变量,所以是左值,此处作为右值。是变量,所以是左值,此处作为右值。a=8;/8 a=8;/8是常量,只能作右值,不能作为左值。是常量,只能作右值,不能作为左值。表达式可产生左值、右值或不产生值。例如:表达式可产生左值、右值或不产生值。例如:int a;int a;(a=4)=28;(a=4)=28;/a=4 /a=4是左值表达式,可以被赋以值是左值表达式,可以被赋以值2828。/*28 /*28是右值表达式,而是右值表达式,而a=4a=4是左值表达式(是左值表达式(C+C+的语法的语法规定),所以可以放在赋值语句的左边。该语句表示规定),所以可以放在赋值语句的左边。该语句表示
19、a a的的值使用值使用2828代替刚刚赋给的值代替刚刚赋给的值4 4。*/*/2006-04-012.5 数值运算符与数值表达式 +(加法运算符,或正值运算符,如(加法运算符,或正值运算符,如1+2,+3)-(减法运算符,或负值运算符,如(减法运算符,或负值运算符,如1-2,-3)*(乘法运算符,如(乘法运算符,如1*2)/(除法运算符,如(除法运算符,如1/2)两整数相除,结果取整。两整数相除,结果取整。如:如:5/2结果为结果为2;1/2为为0 浮点数参与除法运算,结果是浮点数。浮点数参与除法运算,结果是浮点数。如:如:5.0/2.0结果为结果为2.5;1.0/2.0为为 0.5%(模运算
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课件 基本 数据类型 表达式
限制150内