C++基本数据类型和表达式.ppt

上传人:小飞机 文档编号:6153952 上传时间:2023-09-30 格式:PPT 页数:70 大小:310.49KB
返回 下载 相关 举报
C++基本数据类型和表达式.ppt_第1页
第1页 / 共70页
C++基本数据类型和表达式.ppt_第2页
第2页 / 共70页
C++基本数据类型和表达式.ppt_第3页
第3页 / 共70页
C++基本数据类型和表达式.ppt_第4页
第4页 / 共70页
C++基本数据类型和表达式.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《C++基本数据类型和表达式.ppt》由会员分享,可在线阅读,更多相关《C++基本数据类型和表达式.ppt(70页珍藏版)》请在三一办公上搜索。

1、1,第二章 基本数据类型和表达式,2.1 c+的基本数据类型 1c+的数据类型,2,c+的数据类型,C+基本数据类型,整型int字符型 char实型,结构struct联合 union枚举enum类class数组type 指针type*空类型void,类型修饰符Short long signed unsigned,4,第二章 基本数据类型和表达式,2基本数据类型修饰符 long(长型符)short(短型符)signed(有符号型)unsigned(无符号型)3用类型修饰符修饰后的基本数据类型,5,3用类型修饰符修饰后的基本数据类型,字符型 说明符char/character 占用内存1个字节 前

2、面可加signed或unsigned 可以其ASCII码值参与运算,6,修饰后的基本数据类型,7,修饰后的基本数据类型,整型 说明符int/integer 占用4字节(32位微处理机)前面可加short(占2字节)或long(占 4字节)前也可signed或unsigned修饰,8,修饰后的基本数据类型,9,修饰后的基本数据类型,10,修饰后的基本数据类型,实型单精度实型双精度实型长双精度实型,说明符float 占用内存4个字节,说明符double占用内存8个字节,说明符long double占用内存10个字节,12,修饰后的基本数据类型,13,第二章 基本数据类型和表达式,2.2 整型数据1

3、整型数据的基本情况(见表2-1)2操作符sizeof(数据类型)可测定某数据类型所占字节长度。例如:cout“size of int is”sizeof(int)endl;输出为:size of int is 2,14,第二章 基本数据类型和表达式,3整型常量(整型常数):三种表示法(1)10进制常数(有正负):123,-46,0(2)8进制常数(无符号):0开头的整数,如0123(3)16进制常数(无符号):0X或0 x开头的整数,如0 x123,0X23,3.整型常量十进制整数,非0开头 123-756八进制整数,以0开头 0123=十六进制整数,以0 x或0X开头 表示长整型常量可加后缀

4、L或l,16,第二章 基本数据类型和表达式,4.整形变量的定义和初始化变量命名:字母或下划线开头的字母、数字、下划线序列,不能为保留字。c+区分大小写。变量命名常用方法 常用方法:mycar,my_car,17,第二章 基本数据类型和表达式,整形变量定义 int i,j,k;unsigned int myAge,myWeight;long area,width;整形变量赋值和初始化 赋值:unsigned short width;width=5;/=为赋值号,18,第二章 基本数据类型和表达式,初始化:unsigned short width=5;long width=7,length=7;d

5、ouble area,radius=23;,19,第二章 2.3 字符型数据,1.字符型数据的基本情况字符常量(Charater constants)由单引号括起的字符,称为字符常量。如:a,9,+转义字符表示控制字符或具有特定用途的字符。在内存中,字符数据以ASCII码存储,int a=b;char c=97;coutaendl;输出:98 coutcendl;输出:a,20,第二章 基本数据类型和表达式,2字符型常量的表示(1)常规字符:单引号括起的一个字符。如a,x,?等。(2)转义字符:以“”开头的字符序列。如n,b等。(3)ddd,d为8进制数,表示范围为000 377。十进制数为0

6、-255。,21,22,第二章 基本数据类型和表达式,(4)xhh,h为16进制数,表示范围为x00-xff。十进制数为0-255。(5)单引号内后跟上述情况以外的其它字符,表示该字符本身。如:d即是d注:单引号,“双引号,反斜杠这三个字符只能用下述方法表示:单引号用,“双引号用”,反斜杠用。,23,第二章 基本数据类型和表达式,(6)字符串常量:用双引号括起来的字符序列以0作为结束标志,该字符占有一字节的存储空间,但并不计入字符串的长度。如:“C+string”其存储格式为:其中字符串的长度为9,字符串常量(String Literals)由一对双引号括起的字符序列称为字符串常量。“How

7、do you do?”“china”字符串常量以0结束。可用续行符“”对字符串续行区分空字符(ASCII为0)与空格字符(ASCII 为32),25,第二章 基本数据类型和表达式,3字符型变量的定义和初始化定义:char c1;初始化:char c2=A;,26,字符型数据在外部表示字符,在内存单元中存入的并不是该字符本身,而是该字符的ASCII码(整数值)。如:字符A ASCII码为65 字符a ASCII码为97表达式求值过程中字符被转成与其代码等值的整数,进行计算(字符数据也可以进行加减乘除)如:b a+A=98-97+65=66=B,4字符型和整形的关系,27,第二章 基本数据类型和表

8、达式,故只要范围合理,字符数据与整型数据可以互相赋值 如:char ch1=a,ch2=B;也可为char ch1=97,ch2=66;,28,第二章 基本数据类型和表达式,2.4枚举类型数据1枚举类型数据的基本情况2枚举类型的定义例如:enum weekdaySun,Mon,Tue,Wed,Thu,Fri,Sat;,29,第二章 基本数据类型和表达式,3枚举变量的定义例如:weekday w1,w4;4枚举变量的初始化例如:weekday w1=Mon;,30,第二章 基本数据类型和表达式,5枚举型数据与整型数据之间的关系枚举中的符号与整数有一一对应关系例如:enum weekdaySun,

9、Mon,Tue,Wed,Thu,Fri,Sat;0 1 2 3 4 5 6,31,第二章 基本数据类型和表达式,可以用=为一个符号规定任意整数,该符号增1为下一个符号的默认整数。例如:enum somdigitsone=1,two,five=5,six,seven;1 2 5 6 72.5 实型数据1实型数据的基本情况,32,第二章 基本数据类型和表达式,2实型常量(实型常数):二种表示法(1)定点数形式:必须有小数点。如0.123,.234,0.0(2)指数形式:E或e前必有数字,后必为整数。如123e5,12.3e5 e3(不对),2.5e2.5(不对),33,说明:默认实型常数为doub

10、le型,后加F或f表float型,后加l或L表long double型。例如:3.23,3.23f,3.23L 3.23e-3 3.23e-3F 3.23e-3l,第二章 基本数据类型和表达式,*实型常量定点数形式 如15.01指数形式 如3.5E7或3.5e7 E或e前必须有数值,后面指数必须为整数 实型常量分为单精度(F或f标识);双精 度(默认);长双精度(L或l标识)endl=endline,35,3实型变量的定义 double a,b;float xyz1,xyz23;4实型变量的初始化double a=3.16,n=9;float xyx1=3.23e-3f;,第二章 基本数据类型

11、和表达式,36,第二章 基本数据类型和表达式,2.6 常量(constant)定义(1)常量定义时必须初始化。const float pi=3.1415926;const float g=9.8;const float pi;pi=3.1415926;/错误,第二章 基本数据类型和表达式,2.6 常量(constant)定义(2)const格式:const 类型 符号常量=常量 如:const double PI=3.141592653常量只能读不能修改,定义时必须初始化。,第二章 基本数据类型和表达式,2.6 常量(constant)定义(3)宏定义格式:#define 符号常量(参数列表)

12、常量 如:#define PI 3.141592653宏定义的符号常量无数据类型,39,第二章 基本数据类型和表达式,(4)相同类型的常量和变量在内存中占有相同大小的空间。但常量的内存空间值不可改变,变量的内存空间值可以改变。(5)c中,编译预定义指令#define亦可定义常量。(define vt.定义,详细说明)例#define PI 3.1415926,40,第二章 基本数据类型和表达式,2.7 数值表达式1无操作符的表达式简单表达式如:54 3.987 car f()2算术操作符+(加)(减)*(乘)/(除、整除)%(求余)+(取正)(取负)例:10/2.0=5.0 10/3=3 10

13、%3=1,41,第二章 基本数据类型和表达式,3位操作符(右移,如k2)|(按位或,k1|k2)&(按位与,如k1&k2)(按位异或,如k1 k2)按位求反,如k1,42,第二章 基本数据类型和表达式,例:51值为2例:设E1为0000000000001101 设E2为0000000000100101E1|E2值为0000000000101101E1&E2值为0000000000000101E1E2值为0000000000101000E2,43,第二章 基本数据类型和表达式,例:52值为20,51值为2,十进制5,十进制20,十进制5,位运算操作符,注意:int x=7;x&8 等于1 x&8

14、 等于0,46,第二章 基本数据类型和表达式,4赋值操作符(=)赋值表达式:赋值操作符构成的表达式赋值表达式的值为赋值号左边表达式的值例:k=7;值为7 k=m=7;/k=(m=7);值为7,47,第二章 基本数据类型和表达式,5复合赋值操作符+=(加赋值)-=(减赋值)*=(乘赋值)/=(除或整除赋值)%=(求余赋值)(右移赋值)|=(按位或赋值),48,第二章 基本数据类型和表达式,6增1减1操作符左值:能放在赋值号左边的表达式例:k=5;/k为左值(k=5)=28;/k=5为左值右值:只能出现在赋值号右边的表达式例:k=4;/4为右值const int b=100;/b为常量,只能出现在

15、赋值号右边,为右值,49,第二章 基本数据类型和表达式,+:增量操作符表示加1-:减量操作符表示减1+i(前增量)i+(后增量)-i(前减量)i-(后减量)例:+i/i=i+1 i+/i=i+1-i/i=i-1 i-/i=i-1注:增量和减量的操作对象均要求为左值,50,第二章 基本数据类型和表达式,例如:int b=+a;/a=a+1;b=a;int b=a+;/b=a;a=a+1;int c=-a;/a=a-1;c=a;int c=a-;/c=a;a=a-1;,51,第二章 基本数据类型和表达式,前增量(前减量)在提取变量的值前先对变量增或减1,返回的值是修改后的变量值,故为左值。后增量(

16、后减量)提取变量的值后才对变量增或减1,返回的值是修改前的变量值,故不为左值。例:+(a+);/+(+a);/(a-)-;/(-a)-;/k-j;/相当于(k-)-j,“-”号具右结合性 同理-k-相当于-(k-),52,第二章 基本数据类型和表达式,若有多个+或-连写时,编译总是将前面两个+或-认为是增量或减量操作符。例:c=a+b;/c=a+b;/c=a+b;/c=a+b;/c=a+b;/,53,第二章 基本数据类型和表达式,7sizeof操作符操作符sizeof(数据类型)可测定某数据类型所占字节长度。例如:cout“size of int is”sizeof(int)endl;输出为:

17、size of int is 2,54,第二章 基本数据类型和表达式,8优先级和结合性优先级:不同操作符出现在同一表达式中谁先运算的级别。例:d=a+b*c;/*优先级比+高。,55,第二章 基本数据类型和表达式,结合性:同等优先级的操作符出现在同一表达式中谁先运算的规定。各种结合性请参照教材p345附录A 例:d=a+b-c;/左右 d=a=3;/右左C+中表达式的书写,56,第二章 基本数据类型和表达式,9.自动类型转换和强制类型转换自动类型转换方向见图,57,自动类型转换转换方向返回,58,第二章 基本数据类型和表达式,强制类型转换格式:(类型修饰符)表达式 类型修饰符(表达式)例:in

18、t(3.14+i)或(int)(3.14+i)char(64.8)或(char)64.8或(char)(64.8)P34练习题,59,第二章 基本数据类型和表达式,2.8 逻辑型数据和逻辑表达式1基本情况例:bool isOk,ready=true;2关系操作符和逻辑操作符关系运算符:比较(=)大于()小于(=)小于等于(=)不等于(!=)逻辑运算符:与(&)或(|)非(!),60,第二章 基本数据类型和表达式,3比较(=)比较(=)结果为真(非0)或假(0)表示。赋值(=)结果为=号左边表达式的值。4复合条件子条件1&子条件2:如(x=2)&(x7)E1|E2|EnE1&E2&|En,61,

19、第二章 基本数据类型和表达式,5相反条件例如:x3和x3的值为true,则x3和x=3是互为相反条件6等价条件等价条件:两个逻辑表达式在任何情况下同为true或同为false,则这两个表达式所表示的条件称为等价条件。,62,第二章 基本数据类型和表达式,7永真条件:总是成立的条件称为永真条件例如:x0|x12&x5,false8逻辑型数据与其它数据类型的关系,63,第二章 基本数据类型和表达式,逻辑型数据作为数值数据使用时,false被转换成0,true被转换成1。字符型、枚举型、整型、实型数据的值作为逻辑值使用时,一切0值被转换成false,一切非零值被转换成true指针值作为逻辑值使用时,

20、空指针被换成false,非空指针被转换成true 总之:0即是false,非0即是true,64,第二章 基本数据类型和表达式,9条件操作符和条件表达式条件操作符?:使用格式:条件?表达式1:表达式2条件表达式定义:由条件操作符构成的表达式称为条件表达式表达式的值:条件成立时为表达式1的值 条件不成立时为表达式2的值例:(score=60)?”pass”:”fail”,65,第二章 基本数据类型和表达式,条件表达式可以嵌套 例:(xy)?great than:(x=y)?equal to:less than)10typedef:为一个已有类型名提供一个同义词。定义格式:typedef 类型说明

21、符 新类型名,66,第二章 基本数据类型和表达式,如:typedef int INT,integer;INT a;/int a;integer a;/int a;typedef double profit;profit d;/double d;11 表达式的副作用表达式的副作用:表达式求值过程中,若参与运算的变量的值发生了改变,称此表达式是具有副作用的。,67,第二章 基本数据类型和表达式,例:int i=1,j=2;cout(i+j+)endl;coutjendl;结果:33表达式i+j+具有副作用。,68,第二章 基本数据类型和表达式,产生副作用的主要原因是引入了具有副作用的操作符。这些操

22、作符包含:(1)赋值(2)复合赋值(+=,-=,*=等)(3)前增1前减1(+,-)(4)后增1后减1(+,-),69,第二章 基本数据类型和表达式,赋值,复合赋值,前增1和后增1的结果仍然是变量对象,即仍为左值数值表达式,常量,后增1和后减1不能为左值例:(p+3)-=k;/+k*=5;/+5;/k+*=5;/100=p;/P45练习题,70,第二章 基本数据类型和表达式,12逗号表达式格式:p1,p2,pn(其中pi为表达式)例:int a,b,c;a=1,b=a+2,c=b+3;逗号表达式的值是其中最后一个表达式pn的值。例:int a,b,c,d;d=(a=1,b=a+2,c=b+3);coutdendl;结果:6,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号