1、本章主要内容预备知识:计算机中信息的表示计算机中的进制 计算机中的码制计算机中数的表示 计算机中字符的表示计算机中数值的表示一二进制计算机中直接使用十进制有一定 的困难计算机中普遍使用二进制,辅助 使用八、十六进制所有进制均由十进制演变而来不同进制之间存在转换问题前-贝计算机中的进制进位计数制十进制数有如下特点:*只使用10个符号,09*逢十进一*一个数的值等于各位的权与该位数码的乘积之和n-1N=1。n 整数位数m.小数位数i=-m!l:1983.9=1x103+9x102+8x101+3x 10+9x l0-1前一页4计算机中的进制进位计数制 R进制数有如下特点:只使用R个符号,OR1 逢
2、R进一 一个数的值等于各位的权与该位数码的乘 积之和。1N=%R,n-整数位数m-小数位数 i=-m例:(1011.1)2=1x 23+0 x 2?+1x21+1x 20+1x 2-1计算机中常用进制:二、八、十六进制5二进制计算机中的进制二进制是计算机中最常用的进制二进制数有如下特点:数码符号少,便于用电子元件来表示运算规则简单,易于进行高速运算米加法:1+0=0+1=1 0+0=0 1+1=0(进位)米减法:1-0=1 1-1=0 0-0=0 01=1(借位)米乘法:1X1=1 1XO=OX1=OXO=O米除法:0+1=0 1+1=1*用I表示“真”,0表示“假”时可以把逻辑与数 值处理相
3、统一例:b=(x=y)+4前-贝6二进制二进制计算实例:计算机中的进制110.01+101.111100.00二进制数的缺点:101 101)11001 101101101 0数值位数太多,容易出错前一页7其它进制计算机中的进制使用八进制和十六进制的原因:二进制数太长,书写、阅读、记忆均不便八进制和十六进制与二进制之间的转换直观、方便八进制一逢八进一75.31+106.47204.00十六进制一逢十六进一896.85+784.78101A.FD用A,B,C,D,E,F(可小写)代表10以上的数前-贝8十进制二进制八进制十六进制0000111121022311334100445101556110
4、66711177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F16100002010几种进制的对照进制转换计算机中的进制不同进制的表示:括号+数字下标例:(173)8 表示八进制数173数字后面加大写字母*B-二进制米D-十进制米Q八进制*H十六进制例:173Q 表示八进制数1735FH 表示十六进制数5F前-贝10进制转换计算机中的进制 R进制转换成十进制点展开位权多项式,按十进制规则计算(111.101)2=lx 22+1X21+1x 2+1x 2-1+0 x 2-2+1x 2=4+2+1+1/2
5、+0+1 用=(Z625)10(173.5)8=lx 82+7X81+3x 8+5x 8-1=64+56+3+578=(123.625)10(7B.F)16=7x 16 1+11x 16+15x 16 1=112+11+15/16=(123.9375)10前一页11进制转换计算机中的进制十进制转换成R进制季整数转换除R取余法(倒过来)例:(11)10=(1011)211 52-1-021111余数1101(123)10=(173)8=(7B)16123 15-1 一 0 8 1 1 1余数3 7 1123 70+16 1余数11 7前一页12进制转换计算机中的进制米小数转换乘R取整法例:(0.
6、6875)10=(0.1011)20.6875 0.375-0.75 0.5-0X2 I I I I整数 1 0(0.31)10=(0.23)0.310.480.84义8 1X整数2 3半一般实数转换8=(04F)160.31 096 036X16 1 JL整数4 F小数与整数部分分别转换,合写在一起即可前一页进制转换计算机中的进制二进制转换为八进制或十六进制小数点为中心向左右三位(或四位)为一 组分别转换赢头尾不足三位(或四位)时,用0补上。例:(11101101.0101101)2=(355.264 8=(ED.5A)16011 101101.010 110 100(8=23)1 11 1
7、113 5 5.2 6 41110 1101.0101 1010(16=2D 1111E D.5 A前一页进制转换计算机中的进制八进制或十六进制转换为二进制 将每个数字分别转换例:123.70=1010011.111B12 3.7001 010 011.1114F.3H=1001111.0011B4 F.30100 1111.0011前-贝15计算机中符号的表示一码制正负号必须用二进制表示计算机才能识别真值一带正负号的数的二进制表示例:15 1111-15-1111机器数一带符号的数在机器中的表示根据机器数转换规则的不同,数值数据有多种编码方式,般称为X码前-贝原码带符号数的表示原码是最简单的
8、机器数编码转换规则:最高位为符号位,0表示正号,1表示负号。*数值部分保持不变实例:(为简单起见,设字长为8位。)*1111原=00001111-1111=10001111优点:*简单、直观缺点:减法运算较繁,不便于CPU的运算处理*有+0(00000000)和-0(100000000)前一页17彳卜码带符号数的表示补码是最常用的编码之一补码求取规则琳最高位为符号位,0为正,1为负数正数补码数值不变,负数补码将真值求反 加一例:1111补=00001111-1111#=-0001111#=11110000+1=11110001前-贝18彳卜码带符号数的表示求补码的方法*由补码求真值:米先由最高
9、位判断符号米正数数值不变,负数求反加一。例:00001111真=111111110001=-(0001110+1)=-1111*由一数补码求其负数的补码:米连符号一起求反加一例:X=1111X补=-00001111#=11110001 X=-llll.X补=-11110001#=00001111前-贝19彳卜码带符号数的表示补码运算规则:*符号代入一起计算,根据首位结果判断符号。减法转为加法进行运算例:X=-1101 Y=110 求:X+Y=-0000111 解:X补=11110011 Y#=00000110/7imooii 求反力上00000110一1#Y k k _ -X Y X rL r
10、L rL11111001 oO o计算机中数的表示计算机中的数值信息分整数与实数两神整数与实数在计算机中的表示及存储方式完全不同*整数:说小数点固定隐含在个位数的右面,所以整数也叫做“定点数”实数:小数点位置不固定称为“浮点数”在CPU中分别用定点和浮点运算器处 理前-贝22整数的表示计算机中数的表示整数的一般表示方法点第一位为符号位,数值部分(尾数)用补码 表示数符(1位)尾数(ml)位T T符号位 数值部分为字长)前-贝23整数的表示计算机中数的表示整数分类*有符号整数:米普通带符号整数米存储:第一位为符号位,其余位按补码规则存放米例:15 00001111-15-11110001(设字长
11、8位)无符号整数:米全部为正整数,没有负数米存储:没有符号位,全部为数值位表示范围:字长II位那无符号数:0 2n.i米一般:8位:0-255,16位:0-65535*有符号数:34 2mLi米一般:8位:128127,16位:-32768 32767前一页24实数的表示计算机中数的表示数学上的实数有两种表示形式*实数形式:米例:56.72、-0.00125*指数形式:米例:0.5672 X102=5.672 X101=0.05672 X10 3-0.125X10 2=-12.5X10 4米注意:指数形式的表示不是唯一的。*科学计数法:米指数尾数是纯小数且第一位小数不为0的指数形式。米例:56
12、.72 0.5672义 HP-0.00125-0.125X10 225实数的表示计算机中数的表示计算机中以指数形式中的科学计数法表示实 数阶符 mT T T T指数符号 指数 符号 数值例:N=-33.5D=.10001.1B=.0.100011-2101T T阶码8位 尾数24位(字长32位)说明:浮点法编码随使用的系统而不同 例:Pentium尾数使用原码阶码使用偏移码前-贝26文字信息在计算机 中 的 表示西文字符用ASCH码存放 C+使用扩充ASCH码,共有256个字符,编码从0255。文 字 时 包括大小写英文字母及数字、标点符号和一 些控制字符,前32个为不可见字符。一个英文字符占
13、一个字节8位二进制编码例:A一编码为:01000001B=41H=65Da一编码为:01100001B=61H=97D 0编码为:00110000B=30H=48D前一页2782字符的编码1000001010on100101110111 II 0000NULDLESP0P、P0001SOLDC1!1AQaq0010STXDC2cc2BRbr|0011ETXDC3#3CScs|0100EOTDC4$4DTdt0101ENQNAK%5EUeLI0110ACKSYN&6FVfY0111BELETBc7GWgw|1000BSCAN(8HXh其1001HTEM)9IYiy1010LFSUB*JZJz I
14、1011VTESC+K-k1100FFFSNAn 1|miSIUS/?O-pDEL|标准A s c n码字符集、页/乙月k文字信息在计算机 中 的 表示中文字符用机内码存放泰机内码由国家统一制定编码标准 中文字符事汉字编码的种类:米GB2312.80:6763个简化字汉字和682个图形符号米GBK-95:21003个汉字,简化字+繁体字+CJK米GB18030.2000:超过27000个汉字米台湾标准:BIG5繁体字 一个中文字符占两个字节,且为与英文字符 区别,每个字符第一位为1 C+一般语句不接受中文字符,仅在输出或 字符串中可以使用前一页29第一节基本数据类型数据类型概述 常量与变量数据
15、类型概述数据是程序处理的对象不同的数据处理方式不同数据根据使用及存储方式分成各种数据类型 每种数据类型允许进行的操作不同数据类型分成两大类基本型:每种类型拥有不同的内存空间构造型:用于成批处理数据,由基本型 数据组成前-贝31数据类型概述C+的数据类型基本类型整型字符型浮点型枚举型构造类型数组类型结构体类型共用体类型指针类型空类型说明:*每种类型可分成若干子类型。*各种类型用不同关键字表示。金关键字是由系统指定用于表示特殊含义的单词,用户禁止使用(参见教材P6)。23c+的基本数据类型nsK 33类型位宽字节数据范围布尔型bool81true(l)9false(0)字符型char81-128
16、127整型short int162-32768 32767int324-214783648 214783647unsigned int3240 429467295(232-1)long int324-2147483648-214783647unsigned long int3240 429467295(232-1)实型float3243.4E-38 3.4E+38double6481.7E-308 1.7E+308_ long double6481.7E-308 1.7E+308常量与变量C+中的常量与变量的定义与数学基本 相同常量株常量是在程序执行的过程中,其值不变的 量,常为数值或字符事例
17、:3.5,-12,nWen变量变量就是值在程序执行的过程中可变的量,常用符号表示事例:X前一页34C+中的常量C+数值常量C+常量根据数据类型的不同分类整常量:*短整型和整型为默认类型例:12,0,-20(short),68046,-40825(int)长整型数后加口或1)表示:例:12L,-121*无符号数后加U(或11):例:35u,34UL,171u*允许直接使用八进制和十六进制数米数字前加0表示八进制数。例:020,米数字前加Ox表示十六进制数。例:0 x 35,0XABCL 米程序中使用八和十六进制时一般视为无符号数*注意:(082,ox l2,Ox agfl等都是错误的)前一页35
18、C+中的常量浮点常量:春一般形式:3.1425,.15,-3.84琳指数形式:le,-12.3E3等;f注意:(12,El,12E,E2等都是错误 的)布尔型常量:*只有false和true两个值,无定界符前一页36C+字符常量C+中的常量字符常量:靠字符型常量是用单引号括起来的一个字符。例:A S字符型常量以ASCII码存储,占1个字节,用 8个二进制位表示。米例:,AE叵/不可见或不能输入的字符用转义字符表示点转义字符由加一个字符或W3个数字组成例:n,1 101 1,012x 41 今错误例:AB,x 123,0X41、f010r刖一页C+转义字符(表2.2)C+中的常量字符形式功 能n
19、换行t横向跳到下一个输出区*反斜扛字符,单引号字符双引号字符ddd 或 Odd8进制数对应的ASCH码字符x hh16进制数对应的ASCH码字符前一页他副38C+字符串常量C+中的常量字符串常量:字符串常量是使用双引号括 起来的字符序列。(可包括空格)/例:How do you do.、nA145x 6ax 6f n说明:双引号中不能出现双引号、单引号、反斜线、换行符等#如果需要出现,必须使用转义字符.例.good,n hellon okn,表示字符串:good和hellook同样,程序中如表示文件路径应为:C:my Documects file.cppH39C+字符串常量C+中的常量字符串存
20、储:逐个字符存放,每个字符占用1字节,存储 相应的ASCH码 n个字符时系统要分配n+1个字节空间,因 为系统自动在最后加一个“串终止符”一0例疆网A”a注意:char c;CHINA)0 aX前一页C+符号常量C+中的常量符号常量(标识符常量)的定义:,用标识符(用户自起名称)代表一个常量事目的:增加程序可读性、通用性和方便性符号常量声明格式:关键字e常量名常斐 1415926 J.三:P禺忘目定名真值const数据类型说明符号常量名=常量值 const double PI=3.141592642C+中的变量 变量定义变量遵循“先定义,后使用”的原则*定义任务:指定变量名称、数据类型及存储类
21、型变量命名规则1.必须遵守标识符原则2.严格区分字符大小写3.不能与“关键字”重名O标识符规则:只能使用字母、数字和下划线I首字只能是字母或下划线I标识符的最多字符个数与系统有关(VC+为247)刖一页44变量的声明(定义)C+中的变量变量声明格式:数据类型名变量名1,变量名2,;例1:int a;定义整型变量afloat vohime;定义浮点型变量vohime double x l;定义双精度变量x l char_lB;/定义字符变量Bbool flag;字义布尔型变量flag例2:下列标识符中错误的是乙isReady _1_2A PAN.,ho?sp-ptr o3L h(var)6str
22、 Itree9_l float前一页45C+变量类型整型C+中的变量基本型:类型名:int*短整型:类型名:short int或short*长整型:类型名:long int或long无符号型:米含义:存储时最高位是数值而不是符号米类型名:unsigned米分类:无符号短整型,类型名:unsigned short 无符号长整型,类型名:unsigned long前一页46C+变量类型C+中的变量实型单精度型:类型名:float,有效位数7位双精度型:类型名:double,有效位数15位事长双精度型:类型名:long double,有效位数15位字符型:字符型:类型名:char 有符号字符型:类型
23、名:singed char 无符号字符型:类型名:unsigned char金注意:4有无符号仅影响转换成整型时,每一位是否处理成符号位 夕字符型变量只能存储一个字符,C+没有字符串型变量刖一页47C+变量类型C+中的变量说明:4布尔型变量只有false和true两个值*_例:int a,b.A,B;或 int a;int b;int A;int B;*不同类型变量也可在一行定义char D;float d;前一页48变量的存储C+中的变量变量存储:点变量声明后系统会在内存中分配一定存储 单元用于存放变量的值变量名a 5 存储单元事各种类型的变量在内存中分到的字节数是固定的 4变量所分空间第一
24、个字节的地址称为变量的地址各类型数据存储编码亦不同。前一页数据表49变量的存储C+中的变量O整数按补码存放数据表例:short int a=3-11B0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 1 I 1数符 尾数工15位int c=-15-1111B数符 尾数一31位,按补码规则求反加一前一页国用傕圄50变量的存储O实数按浮点数用原码存放数据表C+中的变量例:float f=-25.75=-11001.11B=-0.1100111 X 21010000010 1 1 000000 0 0 000000001100111J u
25、 J阶符阶码数符O字符型按ASCH码存放例:char c=!a0000:注意:字符数据可用ASCII码和整型数据进行混合运算。前-贝51变量的初值C+中的变量变量赋初值:就是指在定义变量的同时给变量一个值。事格式:米变量说明:初值米变量说明(初值)例:char c=,af;bool b=true;short int a(3);float f(-71.875);前一页52C+程序实例#include /no2.2-2.cpp void main()计算const double PI=3.14159;float v,area,r,h;coutvv”请输入半径:”;cin r;h=3.2;area=
26、pi*r*r;v=PI*r*r*h;cout vv底面积=vv areaHn|v endl;输出结果前一页Eaa 54常量与变量运行结果:C+程序实例请输入半径:2.5底面积=19.635柱体体积=62.8318前一页55第二节运算符与表达式基本运算符与表达式 算术运算符与表达式 关系运算符与表达式 逻辑运算符与表达式 赋值运算符与表达式 条件运算符与表达式 逗号运算符与表达式 C+常用库函数基本运算符与表达式运算符是数据处理的工具运算符和运算量一起组成表达式运算符基本要素事符号与功能卡运算量数目要求:分单目、双目和三目 优先级:共15级琳结合性:分从左至右、从右至左前一页57基本运算符与表达
27、式运算符与表达式C+运算符与表达式的分类 算术运算符与算术表达式 关系运算符与关系表达式 逻辑运算符与逻辑表达式 条件运算符与条件表达式 位运算运算符与位运算表达式 赋值运算符与赋值表达式 逗号运算符与逗号表达式刖一页58算术运算符与表达式运算符与表达式 算术运算符+*/%(取余)优先级:*、/、同级,比+、高 结合性:自左至右人注意:整数相除,结果取整小数舍去例:5/3=1 3/5=0%仅用于整数,且符号与左边对象相同 例:5%3=2-3%5=-3 3%-5=3刖一页59自增+自减运算符运算符与表达式 格式:a+或+a 等价于 a=a+1*a 或一a 等价于a=a-1优先级:比*、/高结合性
28、:从右至左人注意:+a或-也先自力口(减),用新值参与计算 a+或a-先参与计算,然后自加(减)例:若a=1则(+a)+3值为5,a值为2(a+)+3值为4,a值为2刖一页60简单赋值运算符与表达式运算符与表达式赋值表达式一般形式:变量=表达式例:x=10n=y+5优先级:倒数第二级结合性:从右至左值:等号左边对象被赋值后的值类型:等号左边对象的类型前一页61复合赋值运算符运算符与表达式有10种复合运算符:+=,=,*=,/=,%=,=,=,&=,八二,1=例:a+=3等价于a=a+3a/=x等价于a=a/5注意:复合赋值右边为表达式时,等同于表 达式有括号。例:x*=y+8 等价于 x=x*
29、(y+8)刖一页62赋值运算符举例运算符与表达式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 相当于:a=a+(a=a-a*a)若a=5,则表达式值为-40页 一 前63逗号运算和逗号表达式运算符与表达式 逗号运算符格式:表达式1,表达式2,.求解顺序及结果:先求解1,再求解2,最终结果为表达式2的值优先级:倒数第一级 结合性:从左至右例 a=3*5.a*4最终结果为60a=15前一页64关系运算符与关系表达式关系运算符:用
30、于比较运算即判断条件是否成立 运符号与优先级:一八 v v=:=!=算 优先级相同(高)优先级相同(低)符关系运算符优先级低于算术运算符与结合性:从左至右表 结果:逻辑值,即只能为l(tme)或O(false)3 例:设a=2,b=3,c=4,x=1,y=2式 贝!I:ab 值为False(O)c b)&(x y)值为False前-贝66逻辑运算符与逻辑表达式运算符与表达式午注意:L bool值参与计算时,以0为假;以1为真2.求出的表达式值,以0为假;以非0为真3.混合运算优先级:括号、单目、算术、关系、逻辑刖一页逻辑运算符与逻辑表达式运算符与表达式练习:赢设 a=3 b=4 c=5 x=1
31、 y=2,求出下列表达式的值!(a+b)+c-l&b+c/2表达式值为truet=(m=ab)&(c=x b)&(+x)y)表达式值为False,a值为4,x值为1午注意:&左式值为0,|左式值为1时,右式将不再计算。刖一页68条件运算符与条件表达式运算符与表达式 一般形式:表达式1?表达式2:表达式3表达式1必须是bool类型执行顺序:-先求解表达式1,-若表达式1的值为true,则求解表达式2,表达式2的值为最终结果-若表达式1的值为false,则求解表达式3,表达式3的值为最终结果刖一页69条件运算符与条件表达式运算符与表达式实例:字设 a=2,b=3,x=l,y=2c=(ab)?x+a
32、:y+ac值为4说明:*条件运算符优级高于赋值运算符,低于逻辑运算事结合方向为自右至左E注意:表达式2、3的类型可以不同,条件表达式 的最终类型为2和3中较高的类型。刖一页70位运算运算符与表达式运算符与表达式位运算指深入字节内部,按单个二进 制位进行运算运算规则德对运算量按每一个二进制位进行运算运算特点:出每位运算结果只有0和1两种相邻两个位之间不存在进位问题前-贝71位运算运算符与表达式运算符与表达式运算符:点逻辑位运算:米&(按位与)*I(按位或)米人(按位异或)米(取反,单目运算符)事移位运算:*(右移)刖一页72sizeof运算符运算符与表达式语法形式sizeof(类型名)sizeo
33、f(表达式)结果值:“类型名”所指定的类型或“表达式”的 结果类型所占的字节数。例:sizeof(int)值为4sizeof(double)值为8设:int x=10 则:sizeof(x)值为4前-贝85第三节混合运算与类型转换混合运算中的优先级 不同类型数据转换混合运算中的优先级运算符优先级括号单目运算符 算术运算符 左移与右移 关系运算 位运算 逻辑运算 条件运算 赋值运算 逗号运算高低87混合运算中的优先级高 低()+(取正),.(取负)右左右右右右右右右右右右左左右-左右左左左左左左左左左左右右左运算符优先级前-贝88混合运算与类型转换数据类型转换不同类型数据进行混合运算时,C+编
34、译器会自动进行类型转换。为了避免不同的数据类型在运算中出 现混淆,应尽量使用同种类型数据。类型转换方式琳隐式转换一 C+自动进行的转换米算术转换米赋值转换米输入输出转换森强制转换一用户指定的转换前-贝89混合运算与类型转换数据类型转换隐式类型转换一运算中的自动转换规则:低类型数据转换为高类型数据类型排名:实型、整型、字符型特别规定:只要有实型数结果即为double型人注意:转换逐运算符进行而不是步到位双精度浮点型(double)无符号长整型(unsigned long)单精度浮点型(float)刖一页90混合运算与类型转换例:数据类型转换10+faf+2*1.25-5/3L运算顺序如下:10+
35、卬+2*1.25-5/3LI10H997升2繇055,题I107107M915次 制瓯I109.5-JL/3L109.5-1.0108.5前一页91混合运算与类型转换数据类型转换嘛赋值转换米编译系统自动将右值转换为左边对象的类型O 米规则:短f长:扩充,长f短:截去 例:short a,b=65;int m,n=65536;unsigned short ul,u2=65535;float x,y=7.989;char ch;数据的类型转换混合运算与类型转换:强制类型转换:*强制类型转换的作用是将表达式的结果类 型转换为类型说明符所指定的类型。事语法形式:(类型说明符)表达式 类型说明符(表达式
36、)米例:float c;int a=3,b=6;c=a/b;c=(float)a/(float)b;结果:c=0 c=0.5点注意:无括号时强制转换仅对后面第一个 运算量有效上例:c=(float)a+a/b结果为:c=3.0前-贝93C+常用库函数库函数是C+系统编制的函数,按类别 存放于系统文件夹。C+常用库函数各类库函数说明集中在头文件中。使用内部函数时必须在程序中用 a include”包含相应类型头文件。常用内部函数及头文件分类数学函数一math.h”琳字符处理函数一ctype.h字符串处理函数一string.h 或输入输出函数一“iostream.h 龈其他函数一stdlib.h,
37、9前-贝94C+常用库函数C+常用库函数函数可实现运算符无法进行的运算 点例:将下面数学式子写成C程序表达式xJ+b|V2cosa(pow(x,y)+fabs(b)/sqrt(2*cos(a)注意:程序开头要加上:#include 95系统函数应用举例使用C+系统函数题目:(no2.3-2.cpp)哀从键盘输入一个角度值,求出该角度的正弦值、余弦值和正切值。分析:系统函数中提供了求正弦值、余弦值和正 切值的函数:sin()cos()、tan(),函数的说明在头文件math.h中。刖一页96#include#includeconst double pi(3.14159265);void main
38、()double a,b;cin a;b=a*pi/180;cout nsin(H a H)=H sin(b)endl;cout ncos(H a H)=H cos(b)endl;cout Htan(H a H)=H tan(b)endl;前一页运行结果:30sin(30)=0.5 cos(30)=0.866025 tan(30)=0.57735前一页1节第简单输入输出输入输出基本概念数据的输出 数据的输入输入输出基本概念I/O流基本概念C+数据输入输出由I/O流操作实现I/O流:内存与输入输出设备间的数据流动 I/O流运算符事提取运算符:米功能:从数据流中取数据至内存米含义:计算机内存得到数
39、据,为输入来插入运算符:VV米功能:向流中添加数据米含义:计算机内存送出数据,为输出标准输入输出流事cout 一标准输出流,指输出至屏幕事Cin一标准输入流,指从键盘输入数据前-贝100数据的输出用cout输出数据:一般格式:一cout VV输出项1 VV输出项2.功能:将VV后各输出项依次输出到屏幕上说明:靠输出项可以是常量、变量或表达式*输出项间无分隔符连续输出*字符型数据不输出定界符*bool型 true 输出 1,false 输出 0靠 实数输出自动取6位有效数字,无小数时小数点不输出,若整数部分超出6位改用指数形式表示*输出项不会自动换行可用转义字符5或endl格 式符控制换行101
40、数据的输出用cout输出数据例:cout 1.2345678 nnn;cout 12345678.9 nnn;cout 1 2;cout 3 ftf 4+5 endl;cout ”Visual C+n 6.0 endl;int a=5,b=6;cout Ha=H a Hb=H b endl;输出为:1.234571.23457e+007123 9Visual C+6a=5.b=6刖一页102数据的输出特殊情况下可控制输出格式 控制方法:在输出流中插入操纵符 操纵符头文件为:.iomanip.h操纵符名一含义dec数据用十进制表示hex数据用十六进制表示oct数据用八进制表示endl插入换行符,
41、并刷新流setw(int)设置输出数据宽度setprecision(int)设置浮点数精度简单的U O格式控制03数据的输出格式控制实例例1:八、十六进制的输出,设11=100cout 十进制:n dec n endl;cout 八进制:n oct n endl;cout 十六进制:n hex n endl;结果为:十进制:100八进制:144十六进制:64、注意:进制操纵符作用域为从定义点至 程序结束或遇到另一个进制操纵符。舸用 104数据的输出格式控制实例例2:控制输出宽度f使用setwdouble f=123.45;cout setw(10)1234567890 endl;cout se
42、tw(10)f endl;cout setw(8)f endl;cout setw(4)f endl;结果为:1234567890123.45123.45123.45前一页105数据的输出意注 格式控制实例3设置宽度大于实际宽度时,右对齐输出 设置宽度小于实际宽度时,设置无效。setw只对后面紧跟数据有效。例:cout setw(8)f x endl;f的宽度为8而x未设宽度,为实际长度刖一页106数据的输出格式控制实例例3:控制输出精度f使用setpredsion double pi=3.1415926535;double x=123456789.123456789;cout Hpi=pi
43、H x=x endl;cout pi=setprecision(10)pi;cout H x=x endl;cout setprecision(5)pi=pi n x=n x endl;cout setprecision(1)Hpi=pi endl;结果为:pi=3.14159 x=1.23457e+008*=3.141592654 x=123456789.9=3.1416 x=1.2346e+008=31*1 ppp107数据的输出意注 格式控制实例默认状态下setprecision设置的是有效位 数(不含小数点)。指定过实数格式为小数(fix)或指数(scientific)格式后设置的是小
44、数位数 setprecision作用域为从定义点至程序结 束或遇到另一个setpredsion操纵符。刖一页108数据的输入 一般格式:e cin 输入项输入项功能:*从键盘输入数据并按顺序依次存入相应输入项说明:*输入项应为变量等在内存中拥有存储空间的量*多项数据输入时用空格或回车做分隔符例:int i 9 j;char ch;cin i j;键盘输入:12 45或1245结果为:i=12 j=45前一页109数据的输入说明:字符输入时无须输入定界符,且多个字符 数据间及与其它类型数据间均可无分隔符,回车和空格不被输入例:int i,j;char ch;cin i ch j;输入:12c45和12 c 45效果相同前一页110数据的输入说明:琳键盘数据多于输入项时,多余数据做下一次输入数据输入时不可使用格式控制、,W1和指定分 隔符,但进制控制除外*例 cin hex i;cin j;cout ni=n i ,j=n j endl;输入:20 30输出:i=32,j=48前一页