Cpp-2_数据类型与表达式

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

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

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

资源描述

第二章数据类型与表达式2.1C++的数据类型2.2常量和变量2.3C++的运算符2.4算数运算符与算数表达式2.5赋值运算符与赋值表达式2.6逗号运算符与逗号表达式232.1C++的数据类型数据与数据类型是程序命令操作的对象。是指将数据根据表达形式的不同而划分的类别。数据:数据类型:4整型:短整型、整型、长整型。1,5...字符型:'A'、'\n'浮点型:单精度、双精度、长双精度。3.21...布尔型:bool(逻辑型)空类型:void(空类型)数据类型基本类型非基本类型枚举型(enum):day{1,2,3,4,5,6,7}数组:a[0]、a[1]结构体(struct):stu.name、stu.sex共用体(union):data.i、data.c类(class)type数据类型分类程序用到的数据都必须指明其类型。数据类型的作用有两个:指出应为数据分配多大的存储空间规定了数据所能进行的操作指针类型:*p,p=&a52.2常量与变量1、常量:程序运行过程中其值不能改变的量.直接常量:12、3.45、'A'符号常量:宏定义2、变量:程序运行过程中其值可以改变的量.形式:数据类型变量1,变量2,…,变量名n;变量名用标识符表示:如a、sum、st_count、boy1、_string3、应注意的问题:写法、变量名的组成、使用方法62.2.1常量在程序中出现的常量分为一般常量和符号常量两种。一般常量让我们来看右边的程序段:intsum;sum=3+5;printf(“sum=%d”,sum);…...其中的“3”和“5”都是一般常量。常量——就是其值不能被改变的量,它相当于数学中的常数。7常量由于数据类型的不同而被分为:整型常量实型常量字符常量字符串常量8一、整型数据----常量1、十进制:13、-252、八进制:012、05、-0203、十六进制:0x15、0x2a、-0x1F?一个十进制的数如何转换为8进制或16进制的数9整型常量整型常量即以文字形式出现的整数。分十进制整数、八进制整数和十六进制整数,注意它们的书写形式。整型常量类型表达形式有无正负十进制957有正负八进制01667只有正十六进制0xB7只有正123L123l长整型101、存储形式:二进制补码2、分类:有符号型和无符号型signedunsigned3、定义:[unsigned]int、short、long4、注意:数值的有效范围程序举例整型数据11类型所占位数数的范围int16-32768~32767short[int]16-32768~32767long[int]32-2147483648~2147483647unsigned[int]160~65535unsignedshort160~65535unsignedlong320~4294967295至于它们之间的差异,请看下表:(16位计算机)12二、实型数据1、十进制小数:1.56、-0.2312、指数形式:1.5e2、1E-513实型常量实型常量即以文字形式出现的实数,又称浮点型。它分一般形式和指数形式。实型常量类型表达形式一般形式0.123指数形式123e514(2)一个实型常数缺省说明为double,如表示float型,则在实数后加f或F。例34.5f34.5注:(1)指数形式的书写。E或e的前面必须要有数字,且E后面的指数必须为整数。例:e32.1e3.5.e3e150111111111111111.3145678923+数符小数部分指数16三、字符型数据----常量1、表示方法:(单引号)2、常用字符:'a'、'F'、'!'3、控制字符:'\n'、'\t'、'\\'、'\011'、'\x2F'17单引号括起来的一个字符例‘A’每个字符常数占一个字节每个字符常数有一个编码数字值──ASCII码表中的码值例如:‘A’:65‘B’:66‘a’:97‘b’:98...字符常量可象数量一样进行运行、比较例1:if(c=‘A’&&c=‘Z’)c=c+‘a’-‘A’;将字符变量c从大写字母转为小写字母。例2:‘0’-‘0’=0‘1’-‘0’=1‘2’-‘0’=2如果c是一数字字符,则c-‘0’就是它对应数字的数值字符常量18•非图形字符(如回车、制表符等)及\‘“等字符,因它们有特殊作用,所以表示这些字符本身时,应:\n表换行•无论是不可显示字符还是一般字符,都可用8进制数、16进制数表示•\ddd:一至三位8进制数。•\xhh:一至二位16进制数。例如:‘\001’表示码值为(01)8的ASCII字符。‘A’也可用‘\101’表示‘\0’为空白符,即NULL,码值为0,在C语言中是字符串的结束标志。(与‘0’和空格符不同)例:cout“\x07operating\tsystem\n”;operatingsystem转义字符19例:inta=‘b’;charc=97;coutaendl;coutcendl;输出:98a字符数据的使用方法字符数据和整型数据之间可以运算。字符数据与整型数据可以互相赋值。20四、字符型数据----字符串常量1、形式:abc、Iamaboy、a2、与字符变量的区别:存储形式21字符串常量字符串型常量是用双引号括起来的一个或多个字符。例如,将1用双引号括起来,此时“1”代表的是一个字符串型常量,与字符型常量‘1’也是有区别的。C++规定以字符‘\0’作为字符串结束标志。如,一个字符串“HELLO”,在内存中以“\0”为结尾。“\0”在输出时不作显示,只用来表示字符串的结束。字符串型常量“HELLO”HELLO\0注意“P”与‘P’不同。前者为字符串,在机内存储形式为P\0,而‘P’就是一常数P。22#definePI3.14159main(){intr;floatL,S;r=10;L=2*PI*r;S=PI*r*r;printf(“周长=%f\n”,L);printf(“面积=%f\n”,S);}这是一个知道圆半径r,求圆周长L、圆面积S的简单C程序。其中的PI就是符号常量,它的值在一开始就被预处理命令“#define”或“const”定义为实数3.14159了,故程序在运行和编译时会自动用“3.14159”来替代PI。符号常量比起一般常量来,不但使用方便,实际值容易修改,而且更形象化,便于记忆。const数据类型符号常量=值常量constintMAX=999;5、符号常量23*C++中:constfloatpi=3.14159;*常量定义中初始化的值可以是一个常量表达式:constintsize=100*sizeof(int);constintnumber=max(15,23);(错)注意:#define与const的区别242.2.2变量变量是什么变量——程序在运行过程中,其值会发生改变的量。变量:变量值23变量名length变量类型int25下面我们看一段关于变量的程序:程序中的num1,num2和sum都是变量。它们的值在程序的运行过程中都发生了变化。变量定义后,各变量的初值都是不确定的。num1的第一个确切值是10,当再次给num1赋值时,num1的值又变成-5。其他两个变量的变化情况类似。#includeiostream.hvoidmain(){intnum1,num2,sum;num1=10;num2=25;sum=num1+num2;cout“sum=“sumendl;num1=-5;num2=num1+3;sum=num1+num2;cout“sum=“sumendl;}26变量:需要定义,说明其存储属性和数据类型。存储属性类型区分符变量名赋初值;,staticexternregisterautointcharfloatdouble┇例:staticintnward=0,nkeyword;同一语句中,不能混合定义不同类型的变量。变量的定义27实型数据----变量1、分类:单精度、双精度、长双精度2、有效数字:7位(单)、15-16位(双)18--19位(长双)程序举例28字符型数据----变量1、定义:chars,m;2、赋值:s='a',m='c';3、存储形式:1个字节(0--255)程序举例29命名规则符合标识符的规定C++规定必须以字母或下划线打头,后面跟字母、数字或下划线(如:a3,Z_5e,_D7d等),并且不能与保留字、函数名、类名等C++专用名相同(如char,for,int等)。注意:(a)长度:早期的C编译程序只认前8个字符。VC允许256个字符。但一般不要超过31个字符为宜30(b)约定:变量名、函数名、和数据类型名等用小写字母自定义的类型名(如类)、符号常量名及宏用大写字母;下划线开头的名字常为系统程序(库函数用),用户一般不用。(c)要有意义:如用Sum表示“求和变量”,不要用aaa,A1,B12之类名字。例:my_car小写my_Car骆驼iMyCar匈牙利标识法(WINDOWS标准命名法)31词法记号词法记号是最小的词法单位1、关键字C++预定义的单词。是指C++中有特殊含义的字,是不能重新定义的。程序员不可用之作为自己定义的变量或函数的名字。类别关键字个数举例ANSIC32char,for等ANSIC++61(增加29个)class,public等BC/AC扩展了一些asm等2、标识符程序员声明的单词,它命名程序正文中的一些实体。32–标识符的构成规则以大写字母、小写字母或下划线(_)开始。可以由以大写字母、小写字母、下划线(_)或数字0~9组成。大写字母和小写字母代表不同的标识符。例Rectangle、Draw、_lineNo.13、文字在程序中直接使用符号表示的数据包括数字、字符、字符串和布尔文字4、操作符用于实现各种运算的符号。+-5、分隔符用于分隔各个词法记号或程序正文:(){},:;6、空白:空格、制表符(TAB键产生的字符)、换行符(Enter键所产生的字符)和注释的总称。–C++程序书写自由–//、/**/331、全部赋值inta=5,b=3,c=8;2、部分赋值charc1='p',c2;3、赋同一初值inta=b=c=3;(错误)inta=3,b=3,c=3;(正确)注意:C语言中未经初始化的变量,其值为不确定值(即垃圾),不能直接使用。(1)doublearea,radius=23;(2)doublearea,radius;radius=23;变量赋值与初始化34常量与变量的区别#includeiostream.hvoidmain(void){constintPRICE=30;intnum,total;floatv,r,h;num=10;total=num*PRICE;couttotalendl;r=2.5;h=3.2;v=3.14159*r*r*h;coutvendl;}常量变量变量先定义后使用符号常量Page3435例:cout“sizeofintis“sizeof(int)endl;C++强类型语言—要求程序设计者在使用数据之前对数据的类型进行声明。注意:(1)整型和实型的几种不同方式(2)注意各种数据类型的取值范围。(3)注意C无布尔类型。C语言在表达逻辑运算的结果时,用整数0代表逻辑“假”,用非0的整数值(如1)表示逻辑“真”。C++中增添了布尔类型bool,但并非每个C++编译器都支持。用sizeof(数据类型)可以确定数据类型的字节长度362.3C++的运算符C++运算符又称操作符,它是对数据进行运算的符号,参与运算的数据称为操作数或运算对象,由操作数和操作符连接而成的有效的式子称为表达式。算术运算符+加-减*乘/除%求余++自加–自减关系运算符逻辑运算符位运算符赋值运算符条件运算符逗号运算符指针运算符引用运算符和地址运算符求字节运算符强制类型转换运算符成员运算符指向成员的运算符下标运算符其他37运算符C++运算符又称操作符,它是对数据进行运

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

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

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

×
保存成功