基本数据类型和表达式

上传人:ji****72 文档编号:51007378 上传时间:2018-08-12 格式:PPT 页数:63 大小:457KB
返回 下载 相关 举报
基本数据类型和表达式_第1页
第1页 / 共63页
基本数据类型和表达式_第2页
第2页 / 共63页
基本数据类型和表达式_第3页
第3页 / 共63页
基本数据类型和表达式_第4页
第4页 / 共63页
基本数据类型和表达式_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《基本数据类型和表达式》由会员分享,可在线阅读,更多相关《基本数据类型和表达式(63页珍藏版)》请在金锄头文库上搜索。

1、1 1C+程序设计第2 2章 基本数据类型和表达式2 2 C的基本数据类型 常量和变量 简单的输入输出控制 指针和引用 运算符和表达式主主 要要 内内 容容3 3一、基本数据类型一、基本数据类型2.1 C+2.1 C+基本数据类型基本数据类型基本基本 类型类型整型整型字符型字符型 (char)(char)浮点型浮点型布尔型布尔型短整型短整型(short (short intint) )整型整型( (intint) )长整型长整型(long (long intint) ) 单精度单精度(float)(float)双精度双精度(double)(double)长双精度长双精度(long double

2、)(long double)数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作4 4类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-3276832767 (signed)short16-3276832767 (signed)long32-21474836482147483647 16unsigned int0655353204294967295unsigned longunsigned short16065535有float323.4e-383.4e38 有double641.7e-3081.7e308有char8-128127无

3、unsigned char80255说明:数据类型所占字节数随机器硬件不同而不同,5 52.2 2.2 常量和变量常量和变量一、常量一、常量 定义:在程序中不变的量定义:在程序中不变的量. . 分类分类: :数值常量数值常量( (整型常量和实型常量整型常量和实型常量) )和字符常量和字符常量 问:为什么将数值常量分为不同的类型?问:为什么将数值常量分为不同的类型? 答:因为在赋值或函数调用时虚实结合要求数据答:因为在赋值或函数调用时虚实结合要求数据 类型匹配。类型匹配。 问:如何区分?问:如何区分? 答:根据给定值所在范围。答:根据给定值所在范围。6 61.1.整型常量整型常量 (1)(1)表

4、现方式:只有整数部分表现方式:只有整数部分vv十进制数:无前缀,十进制数:无前缀,0-90-9组成组成vv八进制数:以八进制数:以0 0为前缀,为前缀,0 07 7组成。如组成。如012012vv十六进制数:以十六进制数:以0x0x为前缀,为前缀,0-90-9和和A-FA-F组成。如组成。如 0xab0xabvvl(L),u(U),ul(ULl(L),u(U),ul(UL) )(2)整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是long int 型常量例 30000 为int型65536 为long int 型7 72.2.实型常量实型常量( (只有十进制形式只有

5、十进制形式) ) (1)(1)表现方式:由整数部分和小数部分组成表现方式:由整数部分和小数部分组成vv一般形式:如一般形式:如21.456,-9.8721.456,-9.87。后加 后加f f表示单精度,加表示单精度,加L L表示长双精度表示长双精度vv指数形式:如指数形式:如-314.2-314.2表示成表示成-3.142E2-3.142E2格式:数符 数字部分 指数部分格式:数符 数字部分 指数部分8 8在 在C+C+中,一个实型常数未说明则表示中,一个实型常数未说明则表示 是是doubledouble型。型。例:例:7.2 ;7.2 ;双精度双精度3.2f ;3.2f ;单精度单精度8.

6、9l ;8.9l ;长双精度长双精度(2 2)类型:)类型: 单精度单精度:float:float6 6位有效数字位有效数字 双精度双精度:double-12:double-12位有效数字位有效数字 长双精度长双精度:long double-15:long double-15位有效数字位有效数字9 93.3.字符常量字符常量 (1)(1)表现方式表现方式vv普通的字符常量:用一对单引号加一个字符表普通的字符常量:用一对单引号加一个字符表 示。如示。如 a a 注意:只能包含一个字符;区分大小写字母、注意:只能包含一个字符;区分大小写字母、 是定界符。是定界符。vv转义字符常量:以转义字符常量:

7、以 开头的字符序列。如开头的字符序列。如 nn 表表 示换行符,示换行符, 007007 表示响铃符。表示响铃符。1010void main()int a=A;char c=97;cout #define PRICE 12.5 using namespace std; void main() int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;cout变量变量11变量变量22变量变量n;n;2424二、简单的二、简单的I/OI/O格式控制(格式控制(ipmainip.hipmainip.h)操纵符作 用 dec设置数

8、值数据的基数为10 hex设置数值数据的基数为16 oct设置数值数据的基数为8 setfill(c)设置填充字符c,c可以是字符常量或 字符变量 setprecision( n)设置浮点数的小数位数为n(包括小 数点) setw(n)设置字段宽度为ncoutusing namespace std; void main() int a(5);int refa=refa+1;cout* / % - + - -* / % - + - 说明:说明: “-”-”可为单目运算符时可为单目运算符时, ,右结合性右结合性 两整数相除,结果为整数两整数相除,结果为整数 % %要求两侧均为整型数据要求两侧均为整

9、型数据 如果参加如果参加+,-,*,/+,-,*,/运算的两个数中有一个数为运算的两个数中有一个数为 floatfloat型数据,则结果为型数据,则结果为doubledouble型。型。32325/2=-5/2.0=2-2.5例 5%2 =-5%2 =1%10 =5%1 =5.5%21 -1 1 0 ()3333例:输入例:输入3 3条边,求三角形的面积。条边,求三角形的面积。#include #include void main()void main() intint a,b,ca,b,c; ; doubledouble s,areas,area; ; coutcoutabc;abc; s=

10、s=1/2.01/2.0*(*(a+b+ca+b+c);); area=area=sqrtsqrt(s(s*(s-a)*(*(s-a)*(s-bs-b)*()*(s-cs-c);); coutcout ,=,a+b /c(a+b)ab!=c /(ab)!=ca=bc /a=(bc)4040例 int a=3,b=2,c=1,d,f;ab (ab)=cb+cbf=abc/表达式值1 /表达式值1/表达式值0 /d=1 /f=04141关系运算注意:例 若a=0; b=0.5; x=0.3;则 a278在C+中是允许的,值为0例 int i=1, j=7,a; a=i+(j%4!=0); 则a=2

11、例 a0 结果为A100 结果为104242关系运算注意:例 注意区分“=”与“=”int a=0,b=1;if(a=b) coutbb=5;!aab=2;c=3;coutb)coutb?a:b;例 求 a+|b|cout0?a+b:a-b);5757(4)结合方向:自右向左如 ab?a:cd?c:d ab?a:(cd?c:d) (5)expr1、expr2、expr3类型可不同,表达 式值取较高的类型58583. sizeof3. sizeof运算符运算符 (1 1)作用:)作用:sizeofsizeof运算符的作用返回其后类运算符的作用返回其后类 型名或表达式在内存中所占的字节数。型名或表

12、达式在内存中所占的字节数。 (2 2)格式:)格式:sizeofsizeof(类型名)(类型名)或或sizeofsizeof(表达式)(表达式)5959六、运算符的优先级和结合性(六、运算符的优先级和结合性(P24P24)1 1、优先级、优先级 共共1515种优先级。分别为:种优先级。分别为: 元素元素/ /成员成员-单目单目-双目双目-三目三目-赋值赋值-逗号逗号 常用的双目运算符的优先级又分为:常用的双目运算符的优先级又分为:算术算术-移位移位-关系关系-逻辑位逻辑位-逻辑逻辑 2 2、结合性结合性 大多数为从左至右,只有三类是从右至左。大多数为从左至右,只有三类是从右至左。 分别为:分别

13、为:单目、三目和赋值单目、三目和赋值 6060六、表达式书写规则六、表达式书写规则 (1 1)乘号不能省略。)乘号不能省略。 (2 2)括号必须成对出现,均使用圆括号;可)括号必须成对出现,均使用圆括号;可 以出现多个,但要配对;以出现多个,但要配对; (3 3)表达式从左到右要在同一基准上,无高)表达式从左到右要在同一基准上,无高 低之分。低之分。6161八、混合运算时数据类型的转换八、混合运算时数据类型的转换在进行运算时,不同类型的数据要先转在进行运算时,不同类型的数据要先转 换成同一类型,然后再进行运算。表达式中换成同一类型,然后再进行运算。表达式中 的类型转换分两种,一种是隐含转换,另

14、一的类型转换分两种,一种是隐含转换,另一 种是强制转换。种是强制转换。 1 1、隐含转换、隐含转换 (1 1)规则:)规则: intunsignedlongunsignedintunsignedlongunsigned long double long double short,charshort,char float float6262doublefloatdoublefloat long long unsignedunsigned intchar,shortintchar,short高高低低10 10 a + i * f d / a + i * f d / l l10 10 97 + i

15、* f d / l97 + i * f d / l整整double*double*doubledoubledouble/doubledouble/double double+doubledouble+doubledouble-doubledouble-double 类型转换由系统自动进行类型转换由系统自动进行63632.2.强制转换强制转换 (1 1)格式:)格式:类型名(表达式)类型名(表达式)或或 ( (类型名类型名) )表达式表达式 (2 2)说明:)说明: (1 1)这是一种不安全的转换。)这是一种不安全的转换。 (2 2)这种转换是暂时的、一次性的。)这种转换是暂时的、一次性的。例例:(1)int(x):(1)int(x)(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号