2011年高考理综答案(全国卷).ppt

上传人:m**** 文档编号:568484212 上传时间:2024-07-24 格式:PPT 页数:117 大小:1.23MB
返回 下载 相关 举报
2011年高考理综答案(全国卷).ppt_第1页
第1页 / 共117页
2011年高考理综答案(全国卷).ppt_第2页
第2页 / 共117页
2011年高考理综答案(全国卷).ppt_第3页
第3页 / 共117页
2011年高考理综答案(全国卷).ppt_第4页
第4页 / 共117页
2011年高考理综答案(全国卷).ppt_第5页
第5页 / 共117页
点击查看更多>>
资源描述

《2011年高考理综答案(全国卷).ppt》由会员分享,可在线阅读,更多相关《2011年高考理综答案(全国卷).ppt(117页珍藏版)》请在金锄头文库上搜索。

1、C+语言程序设计第二章 数据类型、运算符与表达式 前一页 下一页 休息本章主要内容l计算机中信息表示计算机中信息表示lC+基本数据类型基本数据类型l基本运算符和表达式基本运算符和表达式l数据的混合运算与类型轮换数据的混合运算与类型轮换l简单输入输出简单输入输出2预备知识:计算机中信息的表示计算机中的进制计算机中的进制计算机中的码制计算机中的码制计算机中数的表示计算机中数的表示计算机中字符的表示计算机中字符的表示计算机中数值的表示二进制l计算机中直接使用十进制有一定计算机中直接使用十进制有一定的困难的困难l计算机中普遍使用二进制,辅助计算机中普遍使用二进制,辅助使用八、十六进制使用八、十六进制l

2、所有进制均由十进制演变而来所有进制均由十进制演变而来l不同进制之间存在转换问题不同进制之间存在转换问题 前一页 下一页 前一页 下一页 休息进位计数制计算机中的进制l十进制数有如下特点:十进制数有如下特点:只使用只使用10个符号,个符号,09逢十进一逢十进一一个数的值等于各位的权与该位数码的乘积之和一个数的值等于各位的权与该位数码的乘积之和5 前一页 下一页 休息进位计数制计算机中的进制lR进制数有如下特点:进制数有如下特点:只使用只使用R个符号,个符号,0 R-1逢逢R进一进一一个数的值等于各位的权与该位数码的乘一个数的值等于各位的权与该位数码的乘积之和。积之和。l计算机中常用进制:二、八、

3、十六进制计算机中常用进制:二、八、十六进制6 前一页 下一页 休息计算机中的进制二进制l二进制是计算机中最常用的进制二进制是计算机中最常用的进制 l二进制数有如下特点:二进制数有如下特点:数码符号少,便于用数码符号少,便于用电子元件电子元件来表示来表示 运算规则简单,易于进行高速运算运算规则简单,易于进行高速运算 加法:加法:1+0 = 0+1 = 1 0+0 = 0 1+1 = 0(进位)(进位)减法:减法:1-0 = 1 1-1 = 0 0-0 = 0 0-1 = 1(借位)(借位) 乘法:乘法:11 = 1 10 = 01 = 00 = 0 除法:除法:0 1 = 0 1 1 = 1 用

4、用1表示表示“真真”,0表示表示“假假”时可以把逻辑与数时可以把逻辑与数值处理相统一值处理相统一例:例: b = ( x=y ) + 4 7 前一页 下一页 休息000.0111011011010101二进制二进制数的缺点:二进制数的缺点:数值位数太多,容易出错数值位数太多,容易出错二进制计算实例:二进制计算实例:计算机中的进制8 前一页 下一页 休息其它进制l使用八进制和十六进制的原因:使用八进制和十六进制的原因:二进制数太长,书写、阅读、记忆均不便二进制数太长,书写、阅读、记忆均不便八进制和十六进制与二进制之间的转换直观、方便八进制和十六进制与二进制之间的转换直观、方便l八进制八进制逢八进

5、一逢八进一 l十六进制逢十六进一十六进制逢十六进一用用A,B,C,D,E,F(可小写)代表可小写)代表10以上的数以上的数004.02DFA.101计算机中的进制9十进制十进制二进制二进制八进制八进制十六进制十六进制000011112102231133410044510155611066711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F16100002010几种进制的对照 前一页 下一页10 前一页 下一页 休息进制转换l不同进制的表示:不同进制的表示:括号数字下标括号数字下标例:例:(173

6、)8表示八进制数表示八进制数173数字后面加大写字母数字后面加大写字母B二进制二进制D十进制十进制Q八进制八进制H十六进制十六进制例:例:173Q表示八进制数表示八进制数173 5FH 表示十六进制数表示十六进制数5F计算机中的进制11 前一页 下一页 休息进制转换lR进制转换成十进制进制转换成十进制展开位权多项式,按十进制规则计算展开位权多项式,按十进制规则计算 计算机中的进制12 前一页 下一页 休息例例:(11)10=( )21011(123)10= ( )8 = ( )161737B 115210 2 余数余数 1 1 0 1 12315108 余数余数 3 7 1 1237016 余

7、数余数 11 7 进制转换l十进制转换成十进制转换成R进制进制整数转换整数转换除除R取余法(倒过来)取余法(倒过来)计算机中的进制13 前一页 下一页 休息一般实数转换一般实数转换例例:(0.6875)10=( )20.1011 0.6875 0.375 0.75 0.5 0 2 整数整数 1 0 1 1(0.31)10= ( )8 = ( )16 0.310.480.848 整数整数 2 3 0.310.960.3616 整数整数 4 F 0.230.4F 小数与整数部分分别转换小数与整数部分分别转换,合写在一起即可合写在一起即可小数转换小数转换乘乘R取整法取整法 进制转换计算机中的进制14

8、 前一页 下一页 休息ED.5A355.264例例: (11101101.0101101 )2=( )8 = ( )16 0 1 1 , 1 0 1, 1 0 1 . 0 1 0, 1 1 0, 1 0 0 ( 8=23) 3 5 5 . 2 6 4 1 1 1 0 , 1 1 0 1 . 0 1 0 1 , 1 0 1 0 ( 16=24) E D . 5 A 进制转换l二进制转换为八进制或十六进制二进制转换为八进制或十六进制小数点为中心向左右三位(或四位)为一小数点为中心向左右三位(或四位)为一组分别转换组分别转换头尾不足三位(或四位)时,用头尾不足三位(或四位)时,用0补上。补上。计算机

9、中的进制15 前一页 下一页 休息 1 2 3 . 7 001 010 011 . 111例例: 123.7O = 1010011.111B4F.3H = 1001111.0011B 4 F . 3 0100 1111 . 0011 进制转换l八进制或十六进制转换为二进制八进制或十六进制转换为二进制将每个数字分别转换将每个数字分别转换计算机中的进制16计算机中符号的表示码制l正负号必须用二进制表示计算机才能识别正负号必须用二进制表示计算机才能识别l真值真值带正负号的数的二进制表示带正负号的数的二进制表示例:例:15 1111-15 -1111l机器数机器数带符号的数在机器中的表示带符号的数在机

10、器中的表示l根据机器数转换规则的不同,数值数据有根据机器数转换规则的不同,数值数据有多种编码方式,一般称为多种编码方式,一般称为码码 前一页 下一页 前一页 下一页 休息原码l原码是最简单的机器数编码原码是最简单的机器数编码l转换规则:转换规则:最高位为符号位,最高位为符号位,0表示正号,表示正号,1表示负号。表示负号。数值部分保持不变数值部分保持不变 l实例:(为简单起见,设字长为实例:(为简单起见,设字长为8位。)位。)1111原原=00001111 -1111原原=10001111 l优点:优点:简单、直观简单、直观l缺点:缺点:减法运算较繁,不便于减法运算较繁,不便于CPU的运算处理的

11、运算处理有有+0( 00000000 )和和 -0( 100000000 )带符号数的表示18 前一页 下一页 休息补码l补码是最常用的编码之一补码是最常用的编码之一l补码求取规则补码求取规则最高位为符号位,最高位为符号位,0为正,为正,1为负数为负数正数补码数值不变,负数补码将真值求反正数补码数值不变,负数补码将真值求反加一加一例:例:1111补补 =00001111 -1111补补=-0001111补补=11110000+1=11110001 带符号数的表示19 前一页 下一页 休息补码l求补码的方法求补码的方法由补码求真值:由补码求真值:先由最高位判断符号先由最高位判断符号正数数值不变,

12、负数求反加一。正数数值不变,负数求反加一。 例:例:00001111真真 = 1111 11110001真真= -(0001110+1) = -1111 由一数补码求其负数的补码由一数补码求其负数的补码 :连符号一起求反加一连符号一起求反加一 例:例:X = 1111 -X补补 = -00001111补补 = 11110001 X = -1111 -X补补 = -11110001补补= 00001111 带符号数的表示20 前一页 下一页 休息补码l补码运算规则:补码运算规则:符号代入一起计算,根据首位结果判断符号。符号代入一起计算,根据首位结果判断符号。减法转为加法进行运算减法转为加法进行运

13、算 例例:X=-1101 Y=110 求:求:X+Y= 解解: X补补=11110011 Y补补=00000110 X补补 11110011 Y补补 00000110 XY补补 00 111111-0000111 表示结果为负表示结果为负真值求反加一真值求反加一带符号数的表示21 前一页 下一页 休息计算机中数的表示 l计算机中的数值信息分整数与实数两种计算机中的数值信息分整数与实数两种l整数与实数在计算机中的表示及存储方整数与实数在计算机中的表示及存储方式完全不同式完全不同整数:说小数点固定隐含在个位数的右面,整数:说小数点固定隐含在个位数的右面,所以整数也叫做所以整数也叫做“定点数定点数”

14、实数:小数点位置不固定称为实数:小数点位置不固定称为“浮点数浮点数”l在在CPU中分别用定点和浮点运算器处中分别用定点和浮点运算器处理理 23 前一页 下一页 休息整数的表示l整数的一般表示方法整数的一般表示方法第一位为符号位,数值部分第一位为符号位,数值部分(尾数尾数)用补码用补码表示表示数符数符(1位位)尾数尾数 (n-1)位位 符号位符号位 数值部分数值部分 (n为字长为字长)计算机中数的表示24 前一页 下一页 休息整数的表示l整数分类整数分类有符号整数:有符号整数:普通带符号整数普通带符号整数存储:第一位为符号位,其余位按补码规则存放存储:第一位为符号位,其余位按补码规则存放例:例:

15、 15 00001111-15 11110001 ( 设字长设字长8位位 )无符号整数:无符号整数:全部为正整数,没有负数全部为正整数,没有负数存储:没有符号位,全部为数值位存储:没有符号位,全部为数值位l表示范围:字长表示范围:字长 n 位位无符号数:无符号数:0 2n-1一般:一般:8位:位:0255,16位:位:0 65535有符号数:有符号数:-2n-1 2n-1-1一般:一般:8位:位:-128127,16位:位:-32768 32767计算机中数的表示25 前一页 下一页 休息实数的表示l数学上的实数有两种表示形式数学上的实数有两种表示形式实数形式:实数形式:例:例:56.72、-

16、0.00125指数形式:指数形式:例:例:0.5672102 = 5.672 101 =0.05672 10-3 -0.12510-2 = -12.510-4注意:指数形式的表示不是唯一的。注意:指数形式的表示不是唯一的。科学计数法科学计数法:指数尾数是纯小数且第一位小数不为指数尾数是纯小数且第一位小数不为0的指数形式。的指数形式。例:例:56.72 0.5672102 -0.00125 -0.12510-2 计算机中数的表示26 前一页 下一页 休息实数的表示 l计算机中以指数形式中的科学计数法表示实计算机中以指数形式中的科学计数法表示实数数例:例: N= -33.5D=-10001.1B=

17、-0.1000112101 阶符阶符阶码阶码数符数符尾数尾数 指数符号指数符号 指数指数 符号符号 数值数值 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 阶码阶码8位位 尾数尾数24位(字长位(字长32位位 )M说明:浮点法编码随使用的系统而不同说明:浮点法编码随使用的系统而不同M例:例:Pentium尾数使用原码阶码使用偏移码尾数使用原码阶码使用偏移码计算机中数的表示27 前一页 下一页 休息文字信息在计算机中的表示l西文字符用西文字符用ASCII码存放码存放C+使用扩充使用扩充ASCII码,共有码,共有25

18、6个字符,编个字符,编码从码从0255。 包括大小写英文字母及数字、标点符号和一包括大小写英文字母及数字、标点符号和一些控制字符,前些控制字符,前32个为不可见字符。个为不可见字符。 一个英文字符占一个字节一个英文字符占一个字节8位二进制编码位二进制编码例:例:A编码为:编码为:01000001B41H65Da编码为:编码为: 01100001B61H97D 0编码为:编码为: 00110000B30H48D西文字符28 前一页 下一页 休息字符的编码标准ASCII码字符集29 前一页 下一页 休息文字信息在计算机中的表示l中文字符用机内码存放中文字符用机内码存放机内码由国家统一制定编码标准机

19、内码由国家统一制定编码标准汉字编码的种类:汉字编码的种类:GB2312-80:6763个简化字汉字和个简化字汉字和682个图形符号个图形符号GBK-95: 21003个汉字,简化字繁体字个汉字,简化字繁体字+CJKGB18030-2000:超过超过27000个汉字个汉字台湾标准:台湾标准:BIG5繁体字繁体字一个中文字符占两个字节,且为与英文字符一个中文字符占两个字节,且为与英文字符区别,每个字符第一位为区别,每个字符第一位为1C+一般语句不接受中文字符,仅在输出或一般语句不接受中文字符,仅在输出或字符串中可以使用字符串中可以使用中文字符30第一节 基本数据类型数据类型概述数据类型概述常量与变

20、量常量与变量 前一页 下一页 休息数据类型概述l数据是程序处理的对象数据是程序处理的对象l不同的数据处理方式不同不同的数据处理方式不同l数据根据使用及存储方式分成各种数据类型数据根据使用及存储方式分成各种数据类型l每种数据类型允许进行的操作不同每种数据类型允许进行的操作不同l数据类型分成两大类数据类型分成两大类基本型:每种类型拥有不同的内存空间基本型:每种类型拥有不同的内存空间构造型:用于成批处理数据,由基本型构造型:用于成批处理数据,由基本型数据组成数据组成32 前一页 下一页 休息数据类型概述l说明:说明:每种类型可分成若干子类型。每种类型可分成若干子类型。各种类型用不同关键字表示。各种类

21、型用不同关键字表示。M关键字是由系统指定用于表示特殊含义的单词,关键字是由系统指定用于表示特殊含义的单词,用户禁止使用(参见教材用户禁止使用(参见教材P6)。C的数据类型33 前一页 下一页 休息C C的基本数据类型的基本数据类型类型类型位宽位宽字节字节数据范围数据范围布尔型布尔型bool81true(1),false( 0)字符型字符型char81-128 127整整型型short int162-32768 32767int324-214783648 214783647unsigned int3240 429467295(232-1)long int 324-2147483648 21478

22、3647unsigned long int3240 429467295(232-1)实实型型float3243.4E-38 3.4E+38double6481.7E-308 1.7E+308long double6481.7E-308 1.7E+30834 前一页 下一页 休息常量与变量lC+中的常量与变量的定义与数学基本中的常量与变量的定义与数学基本相同相同l常量常量常量是在程序执行的过程中,其值不变的常量是在程序执行的过程中,其值不变的量,常为数值或字符量,常为数值或字符例:例:3.5,-12,Wel变量变量变量就是值在程序执行的过程中可变的量,变量就是值在程序执行的过程中可变的量,常用符

23、号表示常用符号表示例:例:x35 前一页 下一页 休息C+数值常量C+中的常量lC+常量根据数据类型的不同分类常量根据数据类型的不同分类l整常量:整常量:短整型和整型为默认类型短整型和整型为默认类型例:例:12, 0, -20( short ),68046,-40825( int )长整型数后加长整型数后加L( 或或l )表示:表示:例:例: 12L , -12l无符号数后加无符号数后加U ( 或或u ) :例:例:35u, 34UL,17lu允许直接使用八进制和十六进制数允许直接使用八进制和十六进制数数字前加数字前加0表示八进制数。例:表示八进制数。例: 020,数字前加数字前加0x表示十六

24、进制数。例:表示十六进制数。例: 0x35 ,0XABCL程序中使用八和十六进制时一般视为无符号数程序中使用八和十六进制时一般视为无符号数注意:(注意:(082,ox12,0xagfl等都是错误的)等都是错误的)36 前一页 下一页 休息C+中的常量l浮点常量:浮点常量:一般形式:一般形式:3.1425, .15 ,-3.84指数形式:指数形式:1e-1,-12.3E3等;等;M 注意:(注意:(12,E1,12E,.E2等都是错误等都是错误的)的)l布尔型常量:布尔型常量:只有只有 false 和和 true 两个值,无定界符两个值,无定界符37 前一页 下一页 休息C+中的常量C+字符常量

25、l字符常量:字符常量: 字符型常量是用单引号括起来的一字符型常量是用单引号括起来的一 个字符。个字符。例:例: A , c , 5 字符型常量以字符型常量以ASCII码存储,占码存储,占1个字节,用个字节,用8个二进制位表示。个二进制位表示。例: A 0100 0001M错误例:错误例: AB , x123 ,0X41、0101 不可见或不能输入的字符用不可见或不能输入的字符用转义字符转义字符表示表示转义字符由转义字符由“”加一个字符或加一个字符或3个数字组成个数字组成例:例: n , 101 , 012 , x41 38 前一页 下一页 休息字符形式字符形式功功 能能n换行换行t横向跳到下一

26、个输出区横向跳到下一个输出区*反斜扛字符反斜扛字符 单引号字符单引号字符 双引号字符双引号字符ddd或或0dd8进制数对应的进制数对应的ASCII码字符码字符xhh16进制数对应的进制数对应的ASCII码字符码字符C+中的常量C+转义字符(表2.2)返回39 前一页 下一页 休息C+字符串常量l字符串常量:字符串常量是使用双引号括字符串常量:字符串常量是使用双引号括起来的字符序列。(可包括空格)起来的字符序列。(可包括空格)例:例:How do you do.、 A145x6ax6f l说明:说明:双引号中不能出现双引号、单引号、反斜线、双引号中不能出现双引号、单引号、反斜线、换行符等换行符等

27、如果需要出现,必须使用转义字符如果需要出现,必须使用转义字符例例 good , hellon ok,表示字符串:表示字符串:good和和 hello ok 同样,程序中如表示文件路径应为:同样,程序中如表示文件路径应为: C: my Documects file.cppC+中的常量40 前一页 下一页 休息C+字符串常量l字符串存储:字符串存储:逐个字符存放,每个字符占用逐个字符存放,每个字符占用1字节,存储字节,存储相应的相应的ASCII码码n个字符时系统要分配个字符时系统要分配n+1个字节空间,因个字节空间,因为系统自动在最后加一个为系统自动在最后加一个“串终止符串终止符” 0例例:CHI

28、NAC+中的常量 C H I N A 0a 0aM注意:注意:char c; c=a;M注意:注意:a a41 前一页 下一页 休息C+符号常量l符号常量(标识符常量)的定义:符号常量(标识符常量)的定义:用用标识符标识符(用户自起名称)代表一个常量(用户自起名称)代表一个常量目的:增加程序可读性、通用性和方便性目的:增加程序可读性、通用性和方便性l符号常量声明格式:符号常量声明格式:#define 符号常量名符号常量名 常量值常量值C+中的常量关键字用户自定名真值#define PI 3 .1415926area = PI *r * rconst 数据类型说明数据类型说明 符号常量名符号常量

29、名=常量值常量值const double PI = 3 .141592643 前一页 下一页 休息C+中的变量l变量定义变量定义变量遵循变量遵循“先定义,后使用先定义,后使用”的原则的原则定义任务:指定变量名称、数据类型及存储类型定义任务:指定变量名称、数据类型及存储类型l变量命名规则变量命名规则1.必须遵守标识符原则必须遵守标识符原则2.严格区分字符大小写严格区分字符大小写3.不能与不能与“关键字关键字”重名重名标识符规则:标识符规则:只能使用字母、数字和下划线只能使用字母、数字和下划线首字只能是字母或下划线首字只能是字母或下划线标识符的最多字符个数与系统有关标识符的最多字符个数与系统有关(

30、VC+为为247)45 前一页 下一页 休息C+中的变量变量的声明(定义)l变量声明格式:变量声明格式:数据类型名数据类型名 变量名变量名1,变量名变量名2,;例例1:int a; /定义整型变量定义整型变量a float volume; /定义浮点型变量定义浮点型变量volume double x1; /定义双精度变量定义双精度变量x1 char _1B; / 定义字符变量定义字符变量_1B bool flag;/字义布尔型变量字义布尔型变量flag例例2:下列标识符中错误的是?下列标识符中错误的是?isReady _1_2A PAN. who? sp-ptro3L h(var) 6str

31、tree9_1 float 46 前一页 下一页 休息C+中的变量C+变量类型l整型整型基本型:类型名:基本型:类型名:int短整型:类型名:短整型:类型名: short int或或short长整型:类型名:长整型:类型名: long int或或long无符号型:无符号型:含义:存储时最高位是数值而不是符号含义:存储时最高位是数值而不是符号类型名:类型名:unsigned分类:分类:无符号短整型,类型名:无符号短整型,类型名: unsigned short无符号长整型,类型名:无符号长整型,类型名:unsigned long47 前一页 下一页 休息C+变量类型l实型实型单精度型:类型名:单精

32、度型:类型名: float,有效位数有效位数7位位双精度型:类型名:双精度型:类型名: double,有效位数有效位数15位位长双精度型:类型名:长双精度型:类型名: long double ,有效位数有效位数15位位l字符型:字符型:字符型:类型名:字符型:类型名:char有符号字符型:类型名:有符号字符型:类型名:singed char无符号字符型:类型名:无符号字符型:类型名:unsigned char M注意:注意:M有无符号仅影响转换成整型时,每一位是否处理成符号位有无符号仅影响转换成整型时,每一位是否处理成符号位M字符型变量只能存储一个字符,字符型变量只能存储一个字符, C+ 没有

33、字符串型变量没有字符串型变量C+中的变量48 前一页 下一页 休息C+变量类型l说明:说明:布尔型变量只有布尔型变量只有 false 和和 true 两个值两个值多个同类型变量可以用一个类型名定义多个同类型变量可以用一个类型名定义例:例: int a, b, A, B; 或或 int a; int b; int A; int B;不同类型变量也可在一行定义不同类型变量也可在一行定义 char D; float d;C+中的变量49 前一页 下一页 休息变量的存储l变量存储:变量存储:变量声明后系统会在内存中分配一定存储变量声明后系统会在内存中分配一定存储单元用于存放变量的值单元用于存放变量的值

34、各种类型的变量在内存中分到的字节数是固定的各种类型的变量在内存中分到的字节数是固定的变量所分空间第一个字节的地址称为变量的地址变量所分空间第一个字节的地址称为变量的地址各类型数据存储编码亦不同。各类型数据存储编码亦不同。变量名变量名 a5存储单元存储单元数据表C+中的变量50 前一页 下一页 休息 整数按补码存放整数按补码存放00000000000000111 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1int c= -15例:例: short short int a=3数符数符11B-1111B数符数符尾数尾数15

35、15位位尾数尾数3131位,按补码规则求反加一位,按补码规则求反加一变量的存储数据表 返回C+中的变量51 前一页 下一页 休息例:例:char c=a; 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 101100001 实数按浮点数用原码存放实数按浮点数用原码存放例:例:float f = -25.75 =-11001.11B阶符阶符数符数符阶码阶码尾数尾数 字符型按字符型按ASCII码存放码存放=-0.11001112101v注意:注意:字符数据可用字符数据可用ASCII码和整型数据进行混合运算。码和整型数据进行

36、混合运算。数据表变量的存储C+中的变量52 前一页 下一页 休息变量的初值l变量赋初值:变量赋初值:就是指在定义变量的同时给变量一个值。就是指在定义变量的同时给变量一个值。格式:格式:变量说明变量说明 = 初值初值变量说明(初值)变量说明(初值)例:例: char c=a; bool b= true;short int a( 3 ); float f ( -71.875 ); C+中的变量53 前一页 下一页 休息C+程序实例#include / no2.2-2.cppvoid main( ) const double PI = 3.14159; float v, area, r,h; cou

37、t r; h = 3.2; area = PI * r * r; v = PI * r * r * h; cout 底面积底面积 arean圆柱体体积圆柱体体积 v endl;编译预处理主函数定义符号常量定义变量输入数据常量直接赋值计算输出结果55 前一页 下一页 休息常量与变量运行结果:运行结果:请输入半径:请输入半径:2.5底面积底面积 19.635圆柱体体积圆柱体体积 62.8318C+程序实例56第二节 运算符与表达式基本运算符与表达式基本运算符与表达式算术运算符与表达式算术运算符与表达式关系运算符与表达式关系运算符与表达式逻辑运算符与表达式逻辑运算符与表达式赋值运算符与表达式赋值运算

38、符与表达式条件运算符与表达式条件运算符与表达式逗号运算符与表达式逗号运算符与表达式C+常用库函数常用库函数 前一页 下一页 休息基本运算符与表达式l运算符是数据处理的工具运算符是数据处理的工具l运算符和运算量一起组成表达式运算符和运算量一起组成表达式l运算符基本要素运算符基本要素符号与功能符号与功能运算量数目要求:分单目、双目和三目运算量数目要求:分单目、双目和三目优先级:共优先级:共15级级结合性:分从左至右、从右至左结合性:分从左至右、从右至左58 前一页 下一页 休息运算符与表达式基本运算符与表达式lC+运算符与表达式的分类运算符与表达式的分类算术运算符与算术表达式算术运算符与算术表达式

39、关系运算符与关系表达式关系运算符与关系表达式逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式条件运算符与条件表达式条件运算符与条件表达式位运算运算符与位运算表达式位运算运算符与位运算表达式赋值运算符与赋值表达式赋值运算符与赋值表达式逗号运算符与逗号表达式逗号运算符与逗号表达式59 前一页 下一页 休息算术运算符与表达式l算术运算符算术运算符 + - * / %(取余)(取余)l优先级:优先级:*、/、%同级,比同级,比+、-高高l结合性:结合性:自左至右自左至右M注意:注意:整数相除,结果取整小数舍去整数相除,结果取整小数舍去例:例:5 / 3 = 1 3 / 5 = 0%仅用于整数,且符号与左边

40、对象相同仅用于整数,且符号与左边对象相同例:例:5 % 3 = 2 -3 % 5 = -3 3 % -5 =3运算符与表达式60 前一页 下一页 休息自增自减运算符l格式:格式:a+或或+a 等价于等价于 a = a + 1a- -或或- -a 等价于等价于 a = a 1l优先级:优先级:比比*、/高高l结合性:结合性:从右至左从右至左M注意:注意:+a或或- -a先自加先自加(减减),用新值参与计算,用新值参与计算a +或或a - -先参与计算,然后自加先参与计算,然后自加(减减)例:若例:若a = 1 则则 (+a)+3 值为值为5,a值为值为2 (a +)+3 值为值为4,a值为值为2

41、运算符与表达式61 前一页 下一页 休息简单赋值运算符与表达式l赋值表达式一般形式:赋值表达式一般形式:变量变量 = 表达式表达式例:例: x = 10 n = y + 5l优先级优先级:倒数第二级倒数第二级l结合性:结合性:从右至左从右至左l值:值:等号左边对象被赋值后的值等号左边对象被赋值后的值l类型:类型:等号左边对象的类型等号左边对象的类型运算符与表达式62 前一页 下一页 休息复合赋值运算符l有有10种复合运算符:种复合运算符:+= , -= , *= , /=, %=, = , &= , = , |= 例:例:a += 3 等价于等价于 a = a + 3a /= x 等价于等价于

42、 a = a / 5M注意:注意:复合赋值右边为表达式时,等同于复合赋值右边为表达式时,等同于表达式有括号。表达式有括号。 例:例:x *= y+8 等价于等价于 x = x * ( y + 8 )运算符与表达式63 前一页 下一页 休息赋值运算符举例a = 5表达式值为表达式值为5a = b = c = 5表达式值为表达式值为5,a,b,c均为均为5a = ( b = 4 ) + ( c = 6 )表达式值为表达式值为10,a为为10,b为为4,c为为6a = ( b = 10 ) / ( c = 2 )表达式值为表达式值为5,a为为5,b为为10,c为为2a += a -= a * a 相

43、当于相当于: a = a + ( a = a - a*a ) 若若a=5,则表达式值为则表达式值为 -40运算符与表达式64 前一页 下一页 休息逗号运算和逗号表达式l逗号运算符格式:逗号运算符格式:表达式表达式1,表达式表达式2,l求解顺序及结果:求解顺序及结果:先求解先求解1,再求解,再求解2,最终结果为表达式,最终结果为表达式2的值的值l优先级优先级:倒数第一级倒数第一级l结合性:结合性:从左至右从左至右 例例 a=3*5,a*4 最终结果为最终结果为60 a = 15运算符与表达式65 前一页 下一页 休息关系运算符与关系表达式l关系运算符关系运算符:用于比较运算即判断条件是否成立用于

44、比较运算即判断条件是否成立l符号与优先级:符号与优先级: = = != 优先级相同(高)优先级相同(低)优先级相同(高)优先级相同(低)l 关系运算符优先级低于算术运算符关系运算符优先级低于算术运算符l结合性:从左至右结合性:从左至右l结果:逻辑值,即只能为结果:逻辑值,即只能为 1(true) 或或 0(false)例:设例:设a = 2, b = 3, c = 4, x = 1, y = 2 则:则:a b 值为值为False(0) c b ) & ( xy ) 值为值为False 运算符与表达式67 前一页 下一页 休息逻辑运算符与逻辑表达式M注意:注意:1. bool 值参与计算时,以

45、值参与计算时,以0为假;以为假;以1为真为真2.求出的求出的 表达式值,以表达式值,以0为假;以非为假;以非0为真为真3.混合运算优先级:括号、单目、算术、关系、混合运算优先级:括号、单目、算术、关系、逻辑逻辑运算符与表达式68 前一页 下一页 休息逻辑运算符与逻辑表达式l练习:练习:设设 a = 3 b=4 c=5 x = 1 y = 2,求出下列表达式的值求出下列表达式的值!( a + b ) + c 1 & b + c / 2表达式值为表达式值为 truet = ( m = a b ) & ( c = = x b ) & ( ( +x ) y ) 表达式值为表达式值为False , a值

46、为值为4, x值为值为1M注意:注意:&左式值为左式值为0,| 左式值为左式值为1时,右时,右式将不再计算。式将不再计算。运算符与表达式69 前一页 下一页 休息条件运算符与条件表达式l一般形式:一般形式:表达式表达式1 1?表达式?表达式2 2:表达式:表达式3 3表达式表达式1 1 必须是必须是 boolbool 类型类型l执行顺序:执行顺序:先求解先求解表达式表达式1 1,若表达式若表达式1 1的值为的值为truetrue,则求解则求解表达式表达式2 2,表达式表达式2 2的值为最终结果的值为最终结果若表达式若表达式1 1的值为的值为falsefalse,则求解则求解表达式表达式3 3,

47、表达式,表达式3 3的值为最终结果的值为最终结果运算符与表达式70 前一页 下一页 休息条件运算符与条件表达式l实例:实例:设设 a = 2, b = 3, x = 1, y = 2 c = ( ab ) ? x+a : y+a c 值为值为 4 l说明:说明:条件运算符优级高于赋值运算符,低于逻辑运算条件运算符优级高于赋值运算符,低于逻辑运算符符结合方向为自右至左结合方向为自右至左M注意:表达式注意:表达式2、3的类型可以不同,条件表达式的类型可以不同,条件表达式的最终类型为的最终类型为 2 和和 3 中较高的类型。中较高的类型。运算符与表达式71 前一页 下一页 休息位运算运算符与表达式l

48、位运算指深入字节内部,按单个二进制位运算指深入字节内部,按单个二进制位进行运算位进行运算l运算规则运算规则对运算量按每一个二进制位进行运算对运算量按每一个二进制位进行运算l运算特点:运算特点:每位运算结果只有每位运算结果只有0和和1两种两种相邻两个位之间不存在进位问题相邻两个位之间不存在进位问题运算符与表达式72 前一页 下一页 休息位运算运算符与表达式l运算符:运算符:逻辑位运算:逻辑位运算:(按位与)(按位与)(按位或)(按位或)(按位异或)(按位异或)(取反,单目运算符)(取反,单目运算符)移位运算:移位运算:(左移)(左移)(右移)(右移) 运算符与表达式73 前一页 下一页 休息si

49、zeof运算符l语法形式语法形式sizeof (类型名类型名) sizeof (表达式表达式) l结果值:结果值:“类型名类型名”所指定的类型或所指定的类型或“表达式表达式”的结的结果类型所占的字节数。果类型所占的字节数。例:例:sizeof ( int ) 值为值为4 sizeof ( double ) 值为值为8 设:设:int x = 10 则:则:sizeof ( x ) 值为值为 4运算符与表达式86第三节 混合运算与类型转换混合运算中的优先级混合运算中的优先级不同类型数据转换不同类型数据转换 前一页 下一页 休息运算符优先级低低高高括号括号单目运算符单目运算符算术运算符算术运算符左

50、移与右移左移与右移关系运算关系运算位运算位运算逻辑运算逻辑运算条件运算条件运算赋值运算赋值运算逗号运算逗号运算混合运算中的优先级混合运算中的优先级88 前一页 下一页 休息混合运算中的优先级混合运算中的优先级( ) 左右+(取正取正),-(取负取负),+,-,sizeof 右左*, /, % 左右+, - 左右 左右,=,= 左右=, != 左右& 左右 左右| 左右& 左右| 左右?: 右左=,+=,-=,*=,/=,%=等等 右左, 左右低高运算符优先级89 前一页 下一页 休息混合运算与类型转换l不同类型数据进行混合运算时,不同类型数据进行混合运算时,C+编编译器会自动进行类型转换。译器

51、会自动进行类型转换。l为了避免不同的数据类型在运算中出现为了避免不同的数据类型在运算中出现混淆,应尽量使用同种类型数据。混淆,应尽量使用同种类型数据。l类型转换方式类型转换方式隐式转换隐式转换 C+自动进行的转换自动进行的转换算术转换算术转换赋值转换赋值转换输入输出转换输入输出转换强制转换用户指定的转换强制转换用户指定的转换数据类型转换90 前一页 下一页 休息数据类型转换l隐式类型转换运算中的自动转换隐式类型转换运算中的自动转换l规则:低类型数据转换为高类型数据规则:低类型数据转换为高类型数据l类型排名:实型、整型、字符型类型排名:实型、整型、字符型l特别规定:只要有实型数结果即为特别规定:

52、只要有实型数结果即为double型型短整型(short)整型(int)无符号整型(unsigned)长整型(long)无符号长整型(unsigned long)双精度浮点型(double)单精度浮点型(float)字符型(char)混合运算与类型转换M注意:转换逐运算符进行而不是一步到位注意:转换逐运算符进行而不是一步到位91 前一页 下一页 休息数据类型转换例:例: 10 + a + 2 * 1.25 5 / 3L运算运算顺序如下:序如下: 10 + a + 2 * 1.25 5 / 3L 10 + 97 + 2 * 1.25 5 / 3L 107 + 2 * 1.25 5 / 3L 107

53、 + 2.0 * 1.25 5/ 3L 107 + 2.5 5/ 3L 109.5 5L / 3L 109.5 1L 109.5 5 / 3L 108.5 109.5 1.0混合运算与类型转换92 前一页 下一页 休息结果为0结果为-1结果为65533结果为7结果为65536混合运算与类型转换赋值转换赋值转换编译系统自动将右值转换为左边对象的类型。编译系统自动将右值转换为左边对象的类型。规则:短规则:短长:扩充,长长:扩充,长短:截去短:截去 例:例:short a,b=65;int m,n=65536;unsigned short u1,u2 = 65535;float x,y = 7.98

54、9;char ch;a = n;a = u2; u1= a - 2m = y;x = n;ch = b + 3;结果为 D数据类型转换93 前一页 下一页 休息混合运算与类型转换l强制类型转换:强制类型转换:强制类型转换的作用是将表达式的结果类强制类型转换的作用是将表达式的结果类型转换为类型说明符所指定的类型。型转换为类型说明符所指定的类型。语法形式:语法形式: ( 类型说明符)表达式类型说明符)表达式 类型说明符(表达式)类型说明符(表达式)例:例:float c; int a = 3, b = 6; c = a / b; c = ( float ) a / ( float ) b; 结果:

55、结果:c = 0 c = 0.5 注意:无括号时强制转换仅对后面第一个注意:无括号时强制转换仅对后面第一个运算量有效运算量有效 上例:上例:c = ( float ) a + a / b 结果为:结果为:c = 3.0数据的类型转换94 前一页 下一页 休息C+常用库函数l库函数是库函数是C+系统编制的函数,按类别系统编制的函数,按类别存放于系统文件夹。存放于系统文件夹。l各类库函数说明集中在头文件中。各类库函数说明集中在头文件中。l使用内部函数时必须在程序中用使用内部函数时必须在程序中用“ include ”包含相应类型头文件。包含相应类型头文件。l常用内部函数及头文件分类常用内部函数及头文

56、件分类数学函数数学函数“ math.h ”字符处理函数字符处理函数“ ctype.h ”字符串处理函数字符串处理函数“ string.h ”输入输出函数输入输出函数“ iostream.h ”其他函数其他函数“ stdlib.h ”C+常用库函数95 前一页 下一页 休息C+常用库函数l函数可实现运算符无法进行的运算函数可实现运算符无法进行的运算例:将下面数学式子写成例:将下面数学式子写成C程序表达式程序表达式C+常用库函数( pow( x, y ) + fabs( b ) ) / sqrt( 2 * cos( a ) )注意:程序开头要加上:注意:程序开头要加上:#include 96 前一

57、页 下一页 休息系统函数应用举例l题目:(题目:(no2.3-2.cpp)从键盘输入一个角度值,求出该角度的正从键盘输入一个角度值,求出该角度的正弦值、余弦值和正切值。弦值、余弦值和正切值。l分析:分析:系统函数中提供了求正弦值、余弦值和正系统函数中提供了求正弦值、余弦值和正切值的函数:切值的函数:sin( )、)、cos( )、)、tan( ),),函数的说明在头文件函数的说明在头文件math.h中。中。使用C+系统函数97#include#includeconst double pi( 3.14159265 );void main( ) double a, b; cin a; b = a

58、* pi / 180; cout sin( a )= sin(b) endl; cout cos( a )= cos(b) endl; cout tan( a )= tan(b) endl; 休息 前一页 下一页98运行结果:运行结果:30sin(30)=0.5cos(30)=0.866025tan(30)=0.57735 休息 前一页 下一页99第四节 简单输入输出输入输出基本概念输入输出基本概念数据的输出数据的输出数据的输入数据的输入 前一页 下一页 休息输入输出基本概念lC+数据输入输出由数据输入输出由I/O流操作实现流操作实现lI/O流:内存与输入输出设备间的数据流动流:内存与输入输出

59、设备间的数据流动lI/O流运算符流运算符提取运算符:提取运算符:功能:从数据流中取数据至内存功能:从数据流中取数据至内存含义:计算机内存得到数据,为输入含义:计算机内存得到数据,为输入插入运算符:插入运算符:功能:向流中添加数据功能:向流中添加数据含义:计算机内存送出数据,为输出含义:计算机内存送出数据,为输出l标准输入输出流标准输入输出流cout 标准输出流,指输出至屏幕标准输出流,指输出至屏幕cin标准输入流,指从键盘输入数据标准输入流,指从键盘输入数据I/O流流基基本本概概念念101 前一页 下一页 休息数据的输出l一般格式:一般格式:cout 输出项输出项1 输出项输出项2 .l功能:

60、将功能:将 后各输出项依次输出到屏幕上后各输出项依次输出到屏幕上l说明:说明:输出项可以是常量、变量或表达式输出项可以是常量、变量或表达式输出项间无分隔符连续输出输出项间无分隔符连续输出字符型数据不输出定界符字符型数据不输出定界符bool型型 true 输出输出1,false 输出输出 0实数输出自动取实数输出自动取6位有效数字,无小数时小数点位有效数字,无小数时小数点不输出,若整数部分超出不输出,若整数部分超出6位改用指数形式表示位改用指数形式表示输出项不会自动换行可用转义字符输出项不会自动换行可用转义字符n 或或 endl 格式符控制换行格式符控制换行用用c co ou ut t输输出出数

61、数据据102 前一页 下一页 休息数据的输出例:例:cout 1.2345678 n; cout 12345678.9 n; cout 1 2; cout 3 t 4 + 5 endl; cout Visual C+ 6.0 endl; int a = 5, b = 6; cout a= a , b= b endl; 输出为:输出为: 1.23457 1.23457e+007 123 9 Visual C+ 6 a = 5 , b = 6用用c co ou ut t输输出出数数据据103 前一页 下一页 休息数据的输出操纵符名操纵符名含义含义dec数据用十进制表示数据用十进制表示hex数据用十

62、六进制表示数据用十六进制表示oct数据用八进制表示数据用八进制表示endl插入换行符,并刷新流插入换行符,并刷新流setw( int )设置输出数据宽度设置输出数据宽度setprecision( int )设置浮点数精度设置浮点数精度简单的I/O格式控制l特殊情况下可控制输出格式特殊情况下可控制输出格式l控制方法控制方法:在输出流中插入在输出流中插入操纵符操纵符l操纵符操纵符头文件为:头文件为:iomanip.h104 前一页 下一页 休息数据的输出l例例1 :八、十六进制的输出,设:八、十六进制的输出,设n=100 cout 十进制十进制: dec n endl;cout 八进制八进制: o

63、ct n endl;cout 十六进制十六进制: hex n endl;结果为:结果为: 十进制十进制: 100 八进制八进制: 144 十六进制十六进制: 64M 注意:进制操纵符作用域为从定义点至注意:进制操纵符作用域为从定义点至程序结束或遇到另一个进制操纵符。程序结束或遇到另一个进制操纵符。格式控制实例105 前一页 下一页 休息数据的输出l例例2 :控制输出宽度:控制输出宽度使用使用setw double f = 123.45;cout setw(10) 1234567890 endl;cout setw(10) f endl;cout setw(8) f endl;cout setw

64、(4) f endl;结果为:结果为:1234567890 123.45 123.45 123.45格式控制实例106 前一页 下一页 休息数据的输出l注意注意M设置宽度大于实际宽度时,右对齐输出设设置宽度大于实际宽度时,右对齐输出设置宽度小于实际宽度时,设置无效。置宽度小于实际宽度时,设置无效。M setw只对后面紧跟数据有效。只对后面紧跟数据有效。例:例:cout setw(8) f x endl;f 的宽度为的宽度为8 而而 x 未设宽度,为实际长度未设宽度,为实际长度格式控制实例107 前一页 下一页 休息数据的输出l例例3 :控制输出精度:控制输出精度使用使用setprecision

65、 double pi = 3.1415926535; double x = 123456789.123456789;cout pi = pi x = x endl;cout pi = setprecision(10) pi;cout x = x endl;cout setprecision(5) pi = pi x = x endl;cout setprecision (1) pi = pi 输入项输入项 输入项输入项 .l功能:功能: 从键盘输入数据并按顺序依次存入相应输入项从键盘输入数据并按顺序依次存入相应输入项l说明:说明:输入项应为输入项应为变量变量等在内存中拥有存储空间的量等在内存中

66、拥有存储空间的量多项数据输入时用空格或回车做分隔符多项数据输入时用空格或回车做分隔符例:例: int i , j; char ch;cin i j; 键盘输入:键盘输入:12 45 或或 12 45 结果为:结果为: i = 12 j = 45用用c ci in n输输入入数数据据110 前一页 下一页 休息数据的输入l说明:说明:字符输入时无须输入定界符,且多个字符字符输入时无须输入定界符,且多个字符数据间及与其它类型数据间均可无分隔符,数据间及与其它类型数据间均可无分隔符,回车和空格不被输入回车和空格不被输入 例:例: int i , j; char ch; cin i ch j; 输入:输入:12c45 和和 12 c 45 效果相同效果相同用用c ci in n输输入入数数据据111 前一页 下一页 休息数据的输入l说明:说明:键盘数据多于输入项时,多余数据做下键盘数据多于输入项时,多余数据做下一次输入数据一次输入数据输入时不可使用格式控制、输入时不可使用格式控制、n和指定和指定分隔符,但进制控制除外分隔符,但进制控制除外例例 cin hex i; cin j;cout i= i , j= j endl; 输入:输入: 20 30 输出:输出: i = 32 , j = 48用用c ci in n输输入入数数据据112117

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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