C++程序设计PPT电子课件教案-第二章 基本数据类型及表达式.ppt_第1页
C++程序设计PPT电子课件教案-第二章 基本数据类型及表达式.ppt_第2页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

掌握基本数据类型的应用 掌握常量和变量的定义与应用 掌握运算符与表达式的应用 了解运算符的优先级 了解数据类型转换,教学目标,教学内容,2.1 基本数据类型,2.2 常量与变量,2.3 运算符与表达式,2.4 类型转换,2.5 实例分析,2.6 本章小结,设定数据类型的目的: 1 为变量分配存储空间 2 规定变量可适用的运算 数据类型的分类: 数据类型的修饰词: c+的基本数据类型及祥解:,2.1 c+数据类型,注:当修饰整形时,int可省略 无修饰词的整型和字符型,默认为有符号的,2.1.1 c+数据类型分类,短整型(short int),整型(int),长整型(long int),易考填空,2.1.2 c+基本数据类型,2.2.1 常量定义,常量 在程序运行的整个过程中其值始终不可改变的量。 解释: 常量是指不会改变的数值,即使经过程序执行也不会改变其值。一般日常生活中存在的常量包括圆周率、重力加速度g等,这些数值都是属于不会改变的常量。 分类: 基本类型常量:整数,实数,字符,字符串 符号常量:即为常量起一名字,2.2 常量,书写形式:十进制:例10, 0, -345 八进制:以开头,例 0123, 0367 十六进制:以0x/0x开头,例0x12 无符号整数:末尾加u或u, 例 23u 长整型数:末尾加l或l, 例 123l 存放形式: 16位机:整数:b (-215 215-1) 长整数:4b ( -231 231-1) 有符号整数与无符号整数: 原则:看最高位是否为符号位 数值大小区别:有符号:-215 215-1 (16位为符号位) 无符号: 216-1 整数与长整数的区别:所占字节不同 例:13 00000000,00001101 13l 00000000,00000000,00000000,00001101,整型常量,2.2.2 数值常量,浮点数表示,*十进制小数形式:如21.456,-7.98等。一般由整数部分和小数部分组成 单精浮点数:在实数的数字后面加上f或f,表示为单精浮点数 长双精度数:在实数的数字后面加上l或l,表示为长双精度数,*指数形式(即浮点形式):一般形式 数符 数字部分 指数部分,书写形式(表示方法): 十进制小数形式:0.123 , 123. , 0.0 指数形式:5e6 , 6.02e-3 , 12.345e1 注:e(e)前后必须有数字; e(e)后必须为整数 实型常量的类型: 按双精度处理:精确,运算速度低 按单精度处理:数字后加ff,实型常量,字符常量: 定义:用单引号括起的单个字符 注:字符常量只能包括一个字符字符常量区分大小写字母撇号()不属于字符常量一部分 分类: 普通的字符常量: 转移字符常量: 在内存中存放形式: 字符串常量:,2.2.3 字符常量,字符常量的分类:,普通字符: 带符号字符: (-128 127 ) 无符号字符: (0 255 ) 转义字符: 定义: 以 “ ” 开头 , 后跟一个字符或3位八进制 ,x+ 2位十六进制整数. 转移字符及其含义:书:表2.2 示例: cout “ ab tcd n ” ; cout “ef t bgh n ” ; cout “ 102 ” ; 用转义字符的必要性: “ddd 或 xhh” : 从键盘上不能输入的字符. “ 或 或 ” ”: 输出反斜杠, 单引号, 双引号.,回到本行开头,字符常量在内存中存放形式,所占字节:个字节(位) 存放形式:存放该字符的ascii码 特点:类似整数存储形式 输出形式:1) 以字符形式输出:将ascii码转换成相应字符 2) 以整数形式输出:将ascii码输出 可对字符数据进行运算 示例: 例2.1、例2.2, #include void main ( void ) char x,y,z; x=b; y=a-a; z= +!; cout“x=“decxendl; cout“y=“yendl; cout“z=“zendl; ,字符串常量: 定义: 用双引号括起的若干字符. 字符与字符串的区别:,u 思考“a”与a有何区别?,字符串常量,思考:写结果 cout“abcn”endl; cout“i say”thank you!”n”;,abc,i say “thank you!”,如果在一个字符串中最后一个字符为“”,则表示它是续行符,下一行的字符是该字符串的一部分,切在两行字符串间无空格,2.2.4 符号常量,定义:用标识符来表示常量; 方法: 1.用编译预处理语句: 例: define pi 3.14159 2.用常量说明符const定义: 例:const float pi =3.14159 符号常量的优点: 含义清楚 需要改变常量时,可做到“一改全改” 特点: 需先定义后使用 程序中只能引用,不能再被赋值 示例:例2.3,2.3 变量,定义:程序运行过程中,其值可以改变的量。 变量的特点: 必须用标识符来命名 变量类型取决于其值的类型 变量需先说明后使用 标识符规定: 组成:由字母,数字,下化线组成,且数字不能开头 特点: 区分大小写; 长度247; 一般用具有含义的英文单词或汉语拼音命名; 不能与关键字同名,变量说明: 数据类型 变量名1,变量名2,; 例: int sum; char ch; float x,y,z; 变量赋初值: 注:首次使用变量时,必须有唯一确定值; 方法: 1.初始化:变量说明时直接赋值; 2.先说明,后用赋值语句赋值; 例: int a=3,b=4; char c=a; 2. int n; n=10;,运算符种类: 按操作个数分: 单目:如 ,+ ,- ,! 双目:如 +,-,*,/,% 三目:如 : ?: 按功能分:15种; 学习运算符应注意下面几个问题: 操作数的类型与结果类型 运算符的优先级 运算符的结合方向,2.4 c+的运算符:,2.5 算术运算符与算术表达式:,分类: 单目运算符: ,+ ,- 双目运算符:+,-,*,/, /与%的区别: “ / ”: 整数相除, 结果仍为整数, 小数舍去. 操作数有一实数, 结果为实数. 例: 5 / 2 = 2 ; 1 / 2 = 0 5.0 / 2 =1 ; 1 / 2.0 = 0.5 “ % ”: 操作数必须为整数, 结果为整数。 例: 5 % 2 =1 ; 1 % 2 = 1 自增,自减运算符:,2.5.1 算术运算符:,自增、自减运算符,功能: 使变量值自增1或自减1 运算符介绍: 自增() i :先自增再使用 i :先使用再自增 i :先自减再使用 自减() i : 先使用再自减 u 思考: i+j,c规定尽可能多的自左至右结合,l 注释: 该运算符对象只能使变量。 变量的数据类型通常为整型。 自增自荐运算符通常用于循环变量与指针变量。 优先级高于双目运算符, 同级结合性自右至左。,定义: 用算术运算符和括号将运算对象连接起来的式子称为算术表达式。 解释: 算术运算符的优先级: ( ) 函数 单目(-,+,-) ,/,% +,- 高 低,算术运算符的结合性:,表达式中类型转换问题:,2.5.2 算术表达式:,算术表达式定义解释,运算对象:常量,变量,函数等。 c语言标准表达式: a b / c 1.5 + a + 2 sin(x) 示例:将下列表达式书写成c标准表达式 a3 + 6.78lg26.5 + | 125.375| pow( a , 3 ) + 6.78 x log10(26.5) + fabs ( -125.375 ) 2/3 e3sin16 2.0 / 3.0 x exp(3.0) x sin(16 x 3.14159 / 180 ),返 回,常用的算术表达式: abs(x) 求整数x的绝对值 fabs(x) 求实数的绝对值 exp(x)求ex的值(x为double) log(x)求lnx的值(x为double) log10(x)求lg(x)的值( x为double ) pow(x,y)求xy的值(xy为double) sqrt(x)求2的值,算术运算符的结合性,原则:当出现同级运算符时,应遵照结合性。 结合性种类: 左结合:自左至右 右结合:自右至左 算术运算符的结合性: , : 右结合 其它 : 左结合 u 例: + 7% 4 a,返 回,表达式中类型转换问题,自动类型转换: 规定:同类型运算结果仍保持原类型。 级别: char short int unsigned long float double u示例: 设int i ; float f ; double d ; long l ; char ch ; 10 + a + i f d/e l 注:上述转换均由系统自动完成,无需人工转换。 强制类型转换: 格式: (类型)(表达式) /*注:类型和表达式只能加一处括号*/ 例: (double) a (int) (x+y) 优先级:属单目运算符,所以高于双目运算符。 书:例:2.4,返 回,赋值运算符 = 例: a = 10 ;x = a + 10; 赋值中的类型转换: 复合型赋值运算符: 运算符:, ,=,&=,=,|= 后四个为位运算符 例: a += 3 a = a +3 x= y+ 8 x = ( y + 8 ) x x %= 3 x = x % 3 赋值表达式:,2.6 赋值运算符与赋值表达式:,原则:将右侧类型转换成左侧变量的类型 浮点型与整型的转换: 单双精度浮点型的转换: 单精=双精 (双精单精):尾部舍去 双精=单精 (单精双精):尾部加零 字符与整型的转换: 字=整 (整字):只保留低8位,高8位舍去。 例: 31 : 00 00 00 00 00 01 11 11 : 00 01 11 11 整=字 (字整):高位补零。 整型与长型的转换: 整长(长整):将高16位舍去。 例:long 00 00 00 1000 int 00 1000 长整(整长):外部值不变,但内部存储结构有所改变。 事例:书例2.5,返 回,赋值中的类型转换:,浮点型与整型的转换,整=浮 (浮整):舍去小数部分 例: int x ; x = 3.56 则 x = 3 浮=整 (整浮):数点后加若干0 float 有效位 7位 double 有效位 1516位 例: float f ; f = 23 则 f = 23.00000,返 回,赋值表达式,一般格式: 注意: 优先级:较低(仅比逗号运算符高) 结合性:自右至左。 示例: a = b = c = 5 a = 5 + ( c = 6 ) a = ( b = 4 ) + ( c = 6 ) a + = a = a = a,返 回,一般格式: , , 求解过程: 自左至于右依次求每个表达式的值,最后一表达式的值作为整个表达式的值 优先级:最低 u 示例: a = 3 * 5 , a * 4 答案:a=15 该表达式结果为60 a = 3 * 5 , a * 4 , a + 5 答案:a=15 该表达式结果为20 设 i = 20 j = ( i = 4 , i / 2 ) 答案:i =16,j = 8,2.6 逗号运算符与逗号表达式:,(一) 关系运算符: (二) 关系表达式:,2.7 关系运算符与关系表达式:,运算符: , =, , =, c + d x = a = b a b = = x y ! = a x b c,返 回,关系运算符:,返回值: 逻辑值 1 表示真 (非 0 ) 0 表示假 ( 0 ) 注:运算结果可作为一整数参与运算。 例: 设 a = 3 , b = 2 , c = 1 d = a b f = ( a b c ) + 1 ( a b ) = = c,返 回,关系表达式:,(一) 逻辑运算符: (二) 逻辑表达式:,返 回,2.8 逻辑运算符与逻辑表达式:,优先级: 单目运算符 (!) 高 算术运算符 关系运算符 逻辑运算符 | 赋值运算符 低 结合性: ! 右结合 & , | 左结合,返 回,逻辑运算符:,运算符: !(非) & (与) |(或),判断一个逻辑量是否为真时,采用的标准是:其值是0就是认为是假,其值非0就认为是真,返回值: 逻辑值 l 注: 运算结果可作为一整数参与运算. 例: 设 a = 4 , b = 5 ! a a&b ! a | b 5 3&2 | 8 4!0 判别某一年year是否闰年 闰年条件:能被整除,不能被整除 或能被整除,又能被整除 逻辑表达式: (year % 4 = = 0& year % 100 ! = 0) | year % 400 = = 0,返 回,逻辑表达式:,返回目录,2.9 运算符的优先级与结合性,2.6 本章小结,c+中的数据类型分为基本数据类型和自定义数据类型。 基本数据类型是c+编译系统内置的,包括布尔型(bool)、字符型(char)、整型(int)、单精度浮点型(float)和双精度浮点型(double)。 c+还允许在基本数据类型前加上类型修饰符,包括:有符号型(signed)、无符号型(unsigned)、短型(short)和长型(long)。 组合起来形成16种数据类型。其中,布尔型是c+新增的数据类型,用于增强程序的可读性,只能取true和false两个值,分别对应整数的1和0。字符型从本质上说也是整型,它是长度为1字节的整型,通常用来存放字符的ascii码或8位的整数。因此,对于整型数据的所有运算均可用于字符类型的数据。 c+语言自定义数据类型有:结构体类型、联合体类型、枚举类型、数组类型、指针类型以及类类型等。,c+语言的常量分为整型常量、浮点型常量、字符型常量、字符串常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论