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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第二章基本数据类型和表达式2.1c++的基本数据类型1.c++的数据类型2c++的数据类型C++基本数据类型整型int字符型char实型单精度型float双精度型double结构struct联合union枚举enum类class数组type[]指针type*空类型void数据类型基本数据类型非基本数据类型类型修饰符Shortlongsignedunsigned4第二章基本数据类型和表达式2.基本数据类型修饰符long(长型符)short(短型符)signed(有符号型)unsigned(无符号型)3.用类型修饰符修饰后的基本数据类型53.用类型修饰符修饰后的基本数据类型字符型—说明符char//character—占用内存1个字节—前面可加signed或unsigned—可以其ASCII码值参与运算6修饰后的基本数据类型所属类型加修饰符后的类型16位计算机中所占字节数备注charchar1unsignedchar1signedchar17修饰后的基本数据类型整型—说明符int//integer—占用4字节(32位微处理机)—前面可加short(占2字节)或long(占4字节)—前也可signed或unsigned修饰8修饰后的基本数据类型所属类型加修饰符后的类型16位计算机中所占字节数备注intint2unsignedint2signedint29修饰后的基本数据类型所属类型加修饰符后的类型16位计算机中所占字节数备注shortintshortint2shortunsignedshortint2signedshortint210修饰后的基本数据类型所属类型加修饰符后的类型16位计算机中所占字节数备注longintlongint4longunsignedlongint4signedlongint4实型①单精度实型②双精度实型③长双精度实型—说明符float—占用内存4个字节—说明符double—占用内存8个字节—说明符longdouble—占用内存10个字节12修饰后的基本数据类型所属类型加修饰符后的类型16位计算机中所占字节数备注实型float4double8longdouble1013第二章基本数据类型和表达式2.2整型数据1.整型数据的基本情况(见表2-1)2.操作符sizeof(数据类型)可测定某数据类型所占字节长度。例如:cout“sizeofintis”sizeof(int)endl;输出为:sizeofintis214第二章基本数据类型和表达式3.整型常量(整型常数):三种表示法(1)10进制常数(有正负):123,-46,0(2)8进制常数(无符号):0开头的整数,如0123(3)16进制常数(无符号):0X或0x开头的整数,如0x123,0X233.整型常量①十进制整数,非0开头123-756②八进制整数,以0开头0123=③十六进制整数,以0x或0X开头—表示长整型常量可加后缀L或l)83()123(108=)291()123(12301016==x16第二章基本数据类型和表达式4.整形变量的定义和初始化变量命名:字母或下划线开头的字母、数字、下划线序列,不能为保留字。c++区分大小写。变量命名常用方法常用方法:mycar,my_car17第二章基本数据类型和表达式整形变量定义inti,j,k;unsignedintmyAge,myWeight;longarea,width;整形变量赋值和初始化赋值:unsignedshortwidth;width=5;//=为赋值号18第二章基本数据类型和表达式初始化:unsignedshortwidth=5;longwidth=7,length=7;doublearea,radius=23;19第二章2.3字符型数据1.字符型数据的基本情况字符常量(Charaterconstants)由单引号括起的字符,称为字符常量。如:‘a’,‘9’,‘+’转义字符表示控制字符或具有特定用途的字符。在内存中,字符数据以ASCII码存储,inta=‘b’;charc=97;coutaendl;输出:98coutcendl;输出:a20第二章基本数据类型和表达式2.字符型常量的表示(1)常规字符:单引号括起的一个字符。如‘a’,‘x’,‘?’等。(2)转义字符:以“\”开头的字符序列。如‘\n’,‘\b’等。(3)‘\ddd’,d为8进制数,表示范围为‘\000’-‘\377’。十进制数为0-255。21转义序列对应值对应功能或字符转义序列对应值对应功能或字符\a7响铃\\92反斜线\b8退格\’39单引号\f12换页\”34双引号\n10换行\?63问号\r13回车\cccccc的十进制值该值对应的字符\t9水平制表\xhhhh的十进制值该值对应的字符\v11垂直制表22第二章基本数据类型和表达式(4)‘\xhh’,h为16进制数,表示范围为‘\x00’-‘\xff’。十进制数为0-255。(5)单引号内\后跟上述情况以外的其它字符,表示该字符本身。如:‘\d’即是‘d’注:‘单引号,“双引号,\反斜杠这三个字符只能用下述方法表示:‘单引号用‘\’’,“双引号用‘\”’,\反斜杠用‘\\’。23第二章基本数据类型和表达式(6)字符串常量:用双引号括起来的字符序列.以‘\0’作为结束标志,该字符占有一字节的存储空间,但并不计入字符串的长度。如:“C++string”其存储格式为:其中字符串的长度为9C++string‘\0’字符串常量(StringLiterals)由一对双引号括起的字符序列称为字符串常量。“Howdoyoudo?”“china”字符串常量以‘\0’结束。可用续行符“\”对字符串续行区分空字符(ASCII为0)与空格字符(ASCII为32)chin‘\0’a25第二章基本数据类型和表达式3.字符型变量的定义和初始化定义:charc1;初始化:charc2=‘A’;26字符型数据在外部表示字符,在内存单元中存入的并不是该字符本身,而是该字符的ASCII码(整数值)。如:字符‘A’ASCII码为65字符‘a’ASCII码为97表达式求值过程中字符被转成与其代码等值的整数,进行计算(字符数据也可以进行加减乘除)如:‘b’-’a’+’A’=98-97+65=66=‘B’4.字符型和整形的关系27第二章基本数据类型和表达式故只要范围合理,字符数据与整型数据可以互相赋值.如:charch1=‘a’,ch2=‘B’;也可为charch1=97,ch2=66;28第二章基本数据类型和表达式2.4枚举类型数据1.枚举类型数据的基本情况2.枚举类型的定义例如:enumweekday{Sun,Mon,Tue,Wed,Thu,Fri,Sat};29第二章基本数据类型和表达式3.枚举变量的定义例如:weekdayw1,w4;4.枚举变量的初始化例如:weekdayw1=Mon;30第二章基本数据类型和表达式5.枚举型数据与整型数据之间的关系枚举中的符号与整数有一一对应关系例如:enumweekday{Sun,Mon,Tue,Wed,Thu,Fri,Sat};012345631第二章基本数据类型和表达式可以用=为一个符号规定任意整数,该符号增1为下一个符号的默认整数。例如:enumsomdigits{one=1,two,five=5,six,seven};125672.5实型数据1.实型数据的基本情况32第二章基本数据类型和表达式2.实型常量(实型常数):二种表示法(1)定点数形式:必须有小数点。如0.123,.234,0.0(2)指数形式:E或e前必有数字,后必为整数。如123e5,12.3e5e3(不对),2.5e2.5(不对)33说明:默认实型常数为double型,后加F或f表float型,后加l或L表longdouble型。例如:3.23,3.23f,3.23L3.23e-33.23e-3F3.23e-3l第二章基本数据类型和表达式*实型常量①定点数形式如15.01②指数形式如3.5E7或3.5e7—E或e前必须有数值,后面指数必须为整数—实型常量分为单精度(F或f标识);双精度(默认);长双精度(L或l标识)endl=endline353.实型变量的定义doublea,b;floatxyz1,xyz23;4.实型变量的初始化doublea=3.16,n=9;floatxyx1=3.23e-3f;第二章基本数据类型和表达式36第二章基本数据类型和表达式2.6常量(constant)定义(1)常量定义时必须初始化。constfloatpi=3.1415926;constfloatg=9.8;constfloatpi;pi=3.1415926;//错误第二章基本数据类型和表达式2.6常量(constant)定义(2)const格式:const类型符号常量=常量如:constdoublePI=3.141592653常量只能读不能修改,定义时必须初始化。第二章基本数据类型和表达式2.6常量(constant)定义(3)宏定义格式:#define符号常量[(参数列表)]常量如:#definePI3.141592653宏定义的符号常量无数据类型39第二章基本数据类型和表达式(4)相同类型的常量和变量在内存中占有相同大小的空间。但常量的内存空间值不可改变,变量的内存空间值可以改变。(5)c中,编译预定义指令#define亦可定义常量。(definevt.定义,详细说明)例#definePI3.141592640第二章基本数据类型和表达式2.7数值表达式1.无操作符的表达式—简单表达式如:54-3.987carf()2.算术操作符+(加)-(减)*(乘)/(除、整除)%(求余)+(取正)-(取负)例:10/2.0=5.010/3=310%3=141第二章基本数据类型和表达式3.位操作符(左移,如k2)(右移,如k2)|(按位或,k1|k2)&(按位与,如k1&k2)^(按位异或,如k1^k2)~按位求反,如~k142第二章基本数据类型和表达式例:52值为2051值为2例:设E1为0000000000001101设E2为0000000000100101E1|E2值为0000000000101101E1&E2值为0000000000000101E1^E2值为0000000000101000~E2值为111111111101101043第二章基本数据类型和表达式例:52值为20000001010001010051值为20000010100000010十进制5十进制20十进制5位运算操作符设x=0x55(01010101)y=0x5a(01011010)(1)按位与运算x=01010101y=01011010&01010000(0x50)x&y=0x50(2)按位或运算x=01010101y=01011010|01011111(0x5f)x|y=0x5f注意:intx=7;x&&8等于1x&8等于0(3)按位异或运算x=01010101y=01011010^00001111(0x0f)x^y=0x0f(4)按位反运算x=01010101~10101010(0xaa)~x=0xaa46第二章基本数据类型和表达式4.赋值操作符(=)赋值表达式:赋值操作符构成的表达式.赋值表达式的值为赋值号左边表达式的值.例:k=7;值为7k=m=7;//k=(m=7);值为747第二章基本数据类型和表达式5.复合赋值操作符+=(加赋值)-=(减赋值)*=(乘赋值)/=(除或整除赋值)%=(求余赋值)=(左移赋值)(右移赋值)|=(按位或赋值)&=(按位与赋值)^=(按位异或赋值)例:k+=3;//k=k+3;s*=j-3;//s=s*(j-3);48第二章基本数据类型和表达式6.增1减1操作符左值:能放在赋值号左边的表达式.例:k=5;//k为左值(k=5)=28;//k=5为左值

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功