基本数据类型运算符与表达式_第1页
基本数据类型运算符与表达式_第2页
基本数据类型运算符与表达式_第3页
基本数据类型运算符与表达式_第4页
基本数据类型运算符与表达式_第5页
已阅读5页,还剩72页未读, 继续免费阅读

下载本文档

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

文档简介

基本数据类型运算符与表达式1第1页,课件共77页,创作于2023年2月本章主要内容(1)熟悉和掌握C++中数据类型的分类及使用,注意它与C数据类型间的区别。(2)熟练掌握C++中各种运算符的使用。(3)熟练掌握C++中表达式的描述和计算。(4)理解和掌握C++中数据的输入和输出。2第2页,课件共77页,创作于2023年2月2.1数据类型C++提供了十分丰富的预定义数据类型,称为基本数据类型。除了基本数据类型外,C++还提供了构造数据类型,包括数组、结构体、共用体(联合体)、枚举和类等。C++可以使用的数据类型如图所示:3第3页,课件共77页,创作于2023年2月2.1.1基本数据类型C++提供的5种基本数据类型各自所占的内存空间是不同的,因此所表示的数据的范围大小也不同。在5种基本数据类型中:字符型用于处理ASCII码字符整型用于处理整型数据浮点型用于处理带小数的实数布尔型用于表示的逻辑的true和false无值型主要用于处理函数和指针4第4页,课件共77页,创作于2023年2月2.1.2类型修饰符C++的类型修饰符包括:signed

有符号型unsigned

无符号型short

短型long

长型5第5页,课件共77页,创作于2023年2月在基本数据类型(除void类型外)前加上类型修饰符后,C++的基本数据类型如表2.2所示:6第6页,课件共77页,创作于2023年2月说明:(1)表中带[]的部分表示是可以省略的,如short[int]可以写为shortint或简写为short,二者的含义是相同的。(2)4种修饰符都可以用来修饰整型和字符型。用signed修饰的类型的值可以为正数或负数,用unsigned修饰的类型的值只能为正数。(3)用short修饰的类型的值一定不大于对应的整数,用long修饰的类型的值一定不小于对应的整数。7第7页,课件共77页,创作于2023年2月2.2常量和变量数据可分为常量和变量两大类。常量(Constant):是指在程序的执行过程中其值不会发生改变的数据。变量(Variable):是指在程序执行过程中其值可以被改变的数据。

8第8页,课件共77页,创作于2023年2月2.2.1常量常量按照不同的数据类型可以分为:字符型常量、整型常量、浮点型常量以及字符串常量等。程序是根据程序中常量的书写格式来区分它是属于哪种类型的常量。9第9页,课件共77页,创作于2023年2月1.整型常量由于整数类型可分为int,shortint等类别,因此整型常量也可分为以上类别。注意:在程序中书写整型常量时没有小数部分。在程序中,用户根据需要分别可以用十进制、八进制和十六进制的形式书写整型常量。

(1)十进制格式:由数字0至9和正、负号组成,书写时直接写出数字,如123,516等。若为longint型的常量,需在常量后加一个字母l或L,例如123L。10第10页,课件共77页,创作于2023年2月(2)八进制格式:以0开头的数字(0至7)序列,如011,010007,0177777等。如011表示八进制数11,即(11)8,它相当于十进制数9。(3)十六进制格式:以0x或0X开头的数字(数字0至9、字母a至f)序列,如0x11,0x78AC,0xFFFF等。如0x11表示十六进制数11,即(11)16,它相当于十进制数17。11第11页,课件共77页,创作于2023年2月2.浮点型常量浮点型常量可以用十进制小数形式或指数形式表示。注意:在程序中无论采用十进制小数形式还是指数形式,在内存中都是以指数形式存储的。12第12页,课件共77页,创作于2023年2月(1)十进制小数形式:一般由整数部分和小数部分组成,也可省略其一,但不能二者皆省。例如:0.345也可表示为.345,45.0也可表示为45.;

如果在实数的数字后面加上字母F或f,表示此数为单精度浮点数;如果加上字母L或l,表示此数为长双精度数。13第13页,课件共77页,创作于2023年2月(2)指数形式:也就是通常所讲的科学记数法的描述形式。

数符数字部分指数部分其中,数字分部分和指数部分缺一不可,指数部分以E或e开始,E或e表示后面的数是以10为底的幂.如:10-4可表示为1e-4,但不能写成e-4,如:-0.00726可以表示为-0.726e-2,-7.26e-3,-72.6e-4等形式,它们所起的作用是相同的。14第14页,课件共77页,创作于2023年2月3.字符型常量字符型常量分为普通的字符常量和转义字符常量。(1)普通的字符常量用一对单引号括起来的一个字符就是字符型常量,如‘s’,‘Y’都是合法的字符常量。15第15页,课件共77页,创作于2023年2月注意:①单引号只是字符与其他部分的分隔符,不是字符的一部分,并且不能用双引号代替单引号,如"Y"不代表字符常量。②字符常量只能包括一个字符,如'ab'是不合法的。③在单引号中的字符不能是单引号或反斜杠,'''和'\'都是非法的字符常量④字符常量区分大小写,如'Y'和'y'表示两个不同的字符常量。16第16页,课件共77页,创作于2023年2月(2)转义字符常量在C++中,有一些字符用于控制输出或编译系统本身保留,无法作为字符常量来表示。C++规定,采用反斜杠后跟一个字母来代表一个控制字符,反斜杠后的字符不再作原有的字符使用,而具有新的含义。转义字符在屏幕上是不能显示的。C++中常用的转义字符如表2.3所示。17第17页,课件共77页,创作于2023年2月4.字符串常量用一对双引号括起来的一个或多个字符的序列称为字符串常量或字符串。字符串以双引号为定界符,双引号不作为字符串的一部分,可以将转移字符加入字符串,转义字符占用一个字节。如:"Hello""A""GoodMorning!""Isay\n"都是合法的字符串常量。18第18页,课件共77页,创作于2023年2月字符串中的字符的个数称为该字符串的长度。字符串常量要用字符数组来存放。在存储时,系统自动在字符串的末尾加以字符串结束标志,即转义字符"\0"。如"Hello"在内存中占用6个字节,"Isay\n"占用7个字节。19第19页,课件共77页,创作于2023年2月字符串可以写在多行上,必须用续行符反斜线"\"表示下一行字符是这一行字符的延续。例如:cout<<''Thisisa\book.'';该语句输出结果为:Thisisabook.20第20页,课件共77页,创作于2023年2月5.符号常量常量也可用一个标识符来表示,称为符号常量。符号常量的一般定义格式如下:

#define符号名常量值例如:#defineMAX30//不是语句,末尾不加分号main(){......}此处,#define语句定义MAX为30,凡在程序中出现MAX的地方都代表30,它可与常量进行运算。21第21页,课件共77页,创作于2023年2月使用符号常量可以使得符号的含义更加清楚,在需要改变常量值时,只需改变第一行中的常量值即可,程序中所有的MAX的值都会相应地改变。注意:(1)它不同于变量,在其作用域内其值不能改变和赋值。上例中如再用MAX=40;这一语句进行赋值则是错误的。(2)符号常量名一般用大写,而变量名用小写,以示区别。22第22页,课件共77页,创作于2023年2月程序中常量的表示方法在程序中的常量有以下3种表示方法。(1)在程序中直接写入常量例如:-200,3.4E-10,'A','1',0x120,045,5.35,1000linti;chars;floatf;i=20;s='a';f=2.0;23第23页,课件共77页,创作于2023年2月(2)利用#define定义宏常量

#define宏名常数例如:#definePI3.14…………s=2*PI*r;…………24第24页,课件共77页,创作于2023年2月(3)利用const定义正规常数

const数据类型标识符常数名=常量值;说明:①const必须放在被修饰类型符和类型名的前面。②数据类型是一个可选项,用来指定常数值的数据类型,如果省略了该数据类型,那么,C++编译程序认为它是int类型。25第25页,课件共77页,创作于2023年2月2.2.2变量1.变量的概念变量是用于保存程序运算过程中所需要的原始数据、中间运算结果和最终结果的其值可以改变的量。2.定义变量每一变量都要先定义、后使用;定义变量3种格式:[修饰符]数据类型标识符变量名列表;[修饰符]数据类型标识符变量名=初始化值;[修饰符]数据类型标识符变量名1[=初始值1],变量名2[=初始值2],……;26第26页,课件共77页,创作于2023年2月说明:(1)此处的类型标识符表示要定义的变量所属的数据类型,它可以是前面介绍的的数据类型标识符中的一种。例如int,double,bool等。(2)变量名是每个变量的名称,由用户自己命名,要遵循命名规则。(3)定义变量时,可以在类型前面加上一些修饰符来表示这些变量的使用方法。

C++中常用的变量定义修饰符如表2.4所示。27第27页,课件共77页,创作于2023年2月如:chara,b; //定义字符型变量aexternintc; //c在其它函数中已经定义,这里只是用到该变量,对该变量进行声明staticinti=1000;//定义静态整型变量i,i的初始值为1000floata=2,b=3,c;//定义变量a,b,c,且a、b的初始值分别为2,328第28页,课件共77页,创作于2023年2月3.变量的初始化在定义变量的同时可以给变量赋一个初值,称为变量的初始化。方法是在定义变量时,在变量名的后面写上“=初值”。29第29页,课件共77页,创作于2023年2月例如:inta=3,b=3*(2+9);在对多个变量赋于同一初值时,必须分别指定。应当写成:inta=3,b=3,c=3;或者:inta,b,c=3;a=b=c;而不能写成:inta=b=c=3;30第30页,课件共77页,创作于2023年2月4.定义变量的位置变量的定义一般可有以下3种位置。(1)在函数体内部在函数体内部定义的变量称为局部变量,这种局部变量只在进入定义它的函数体时起作用,离开该函数体后该变量就消失(被释放),即不再起作用。因此,不同函数体内部可以定义相同名称的变量,而互不干扰。31第31页,课件共77页,创作于2023年2月如:voidfunc1(void){ inty; y=2;}voidfunc2(void){ inty; y=-100;}

本例中两个函数体内部都分别定义了变量y,但它们都只能在各自的函数体内起作用,互不干扰,都是局部变量。32第32页,课件共77页,创作于2023年2月(2)形式参数当定义一个有参函数时,函数名后面括号内的变量统称为形式参数。intis_in(char*a,charb){while(*a)if(*a==b)return1;elsea++;return0;}

本例中函数is_in()后面括号内的变量a和b是该函数的形式参数,它们都只能在该函数体内起作用,是该函数的局部变量。33第33页,课件共77页,创作于2023年2月(3)全局变量在所有函数体的外部定义的变量,其作用范围是整个程序,并在整个程序运行期间有效。【例2-1】全局变量的使用。34第34页,课件共77页,创作于2023年2月2.3运算符和表达式2.3.1算术运算符和算术表达式算术运算符就是对数据进行算术运算的运算符。如:加、减、乘、除等,是在程序中使用最多的一种运算符,C++的算术运算符如表2.5所示。35第35页,课件共77页,创作于2023年2月1.自增和自减运算符自增(++)和自减(--)的作用是使变量的值增1或减1。运算符(++)和(--)既可放在变量的前面,也可放在变量的后面,但作用的效果是不同的,如表2.6所示。【例2-2】自增和自减运算符的使用。36第36页,课件共77页,创作于2023年2月2.数据类型转换C++中类型转换有两种方式,即隐式类型转换和显式类型转换。(1)隐式类型转换在表达式中经常会有不同类型的数据进行运算,此时编译器会自动将它们转换为相同类型后再进行运算,赋值时将所赋值转换成被赋值变量类型,这种由编译器自动完成的类型转换称为隐式类型转换。隐式类型转换是按照从低到高的顺序进行的,如图2-2所示。37第37页,课件共77页,创作于2023年2月低高38第38页,课件共77页,创作于2023年2月例如:e=5*'b'+3.14-3L/2.0的顺算顺序如下:①进行5*'b'的运算,先将'b'转换成整数98,运算结果为490。②进行490+3.14的运算,将490和3.14转换成double型,结果为493.14。③计算3L/2.0,首先转换为double型,结果为1.5。④进行493.14-1.5的运算,结果为double型的491.64。39第39页,课件共77页,创作于2023年2月(2)显式类型转换显式类型转换,也称为强制类型转换,指编程人员利用类型转换运算符显式地将某一数据从一种数据类型转换为另一种数据类型。 类型名(表达式)或 (类型名)表达式【例2-3】显式类型转换。40第40页,课件共77页,创作于2023年2月2.3.2赋值运算符和赋值表达式赋值运算符的用法格式为:变量名赋值运算符常量、变量或表达式说明:被赋值的目标即赋值运算符左边的量必须是变量,而不能是常量或表达式。也就是说,常量或表达式是不能被赋值的。C++中的赋值运算符如表2.7所示。41第41页,课件共77页,创作于2023年2月(3)意区分赋值运算符“=”与数学上的“等号”intx,y; //定义变量x,y为int类型变量x=10; //将变量x赋值为10x=x+20; //将30赋给变量xy=x++; //将x的值赋给y(值为30),变量x值变成31。y-=x+5; //等价于y=y-(x+5);表达式值为-6,y值为-6x%=y+10//等价于x=x%(y+10);表达式为3,y值为342第42页,课件共77页,创作于2023年2月2.3.3sizeof运算符sizeof运算符的功能是求某一数据类型或某一变量在内存中所占空间的字节数。

sizeof(变量名或数据类型)

或

sizeof变量名或数据类型sizeof运算符的应用如【例2-4】所示。43第43页,课件共77页,创作于2023年2月2.3.4关系运算符和关系表达式关系运算符就是对两个量之间进行比较,判断比较结果的运算符。C++的关系运算符如表2.8所示。44第44页,课件共77页,创作于2023年2月由关系运算符将两个表达式连接形成的运算式子称为关系表达式,一个关系表达式的值是一个逻辑值。

表达式关系运算符表达式其中:表达式可以是算数表达式、关系表达式、逻辑表达式、赋值表达式或字符表达式。当关系表达式成立时,其值为真(1);当关系表达式不成立时,其值为假(0)。45第45页,课件共77页,创作于2023年2月假设a=1,b=20,c=3,则:a<b 表达式成立,其值为1b==c 表达式不成立,其值为0(a+b)!=c 表达式成立,其值为146第46页,课件共77页,创作于2023年2月2.3.5逻辑运算符和逻辑表达式逻辑运算符是对两个逻辑量间进行运算的运算符,如表2.9所示。47第47页,课件共77页,创作于2023年2月由逻辑运算符将两个表达式连接形成的式子称为逻辑表达式。对于参加逻辑运算的操作数,系统认为“非0”为真,“0”为假。逻辑表达式的结果只能为逻辑真(1)或逻辑假(0)各种逻辑运算的“真值表”如表2.10所示。48第48页,课件共77页,创作于2023年2月注意:(1)C++中,在给出一个逻辑表达式的最终计算结果值时,用1表示真,用0表示假。但在进行逻辑运算的过程中,凡是遇到非零值时就当真值参加运算,遇到0值时就当假值参加运算。(2)在逻辑表达式的求值过程中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的值时才执行该运算符。49第49页,课件共77页,创作于2023年2月2.3.6条件运算符在C++中只提供了一个三目运算符——即条件运算符“?:”,其一般形式为:表达式1?表达式2:表达式3条件运算的运算规则是:首先判断表达式1的值,若其值为真(非0),则取表达式2的值为整个表达式的值;若其值为假(0),则取表达式3的值为整个表达式的值。如:若a=3,b=4,则条件表达式a>b?a:b的值为4。50第50页,课件共77页,创作于2023年2月2.3.7位运算符1.位运算符及其运算规则位是计算机表示信息的最小单位,一般用0和1表示。位运算符是指能进行二进制位运算的运算符。位运算符的运算对象必须为整数。C++提供的位运算符如表2.11所示。51第51页,课件共77页,创作于2023年2月位运算的运算规则为:(1)按位与&:两个运算量相应的位都是1,则该位的结果值为1,否则为0。(2)按位或|:两个运算量相应的位只要有一个是1,则该位的结果值为1,否则为0。(3)按位异或^:两个运算量相应的位不同,则该位的结果值为1,否则为0。52第52页,课件共77页,创作于2023年2月(4)按位取反~:将运算量的每一位取反,即将1变0,0变1。(5)按位左移<<:将操作数中的每一位向左移动指定的位数,移出的位被舍弃,空出的位补0。(6)按位右移<<:将操作数中的每一位向右移动指定的位数,移出的位被舍弃,空出的位补0或补符号位,这要由机器决定53第53页,课件共77页,创作于2023年2月2.复合位运算符位运算符与赋值运算符结合可以形成复合位运算符。如表2.12所示:54第54页,课件共77页,创作于2023年2月2.3.8逗号运算符逗号运算符“,”的运算优先级是所有运算符中最低的。使用逗号运算符可以将多个表达式组合成一个表达式。

表达式1,表达式2,……,表达式N在计算逗号表达式的值时,应按照从左至右的顺序依次分别计算各个表达式的值,而整个逗号表达式的值和类型是由最右边的表达式决定的。如:inta=3,b=4;则表达式a++,b++,a+b的值为9。55第55页,课件共77页,创作于2023年2月2.3.9运算符的优先级与结合性当一个表达式中包含多个运算符时,要确定运算的结果必须首先确定运算的先后顺序,即运算符的优先级和结合性。C++中运算符的优先级和结合性如表2.13所示。56第56页,课件共77页,创作于2023年2月各类运算符,它们的优先级按照从高到低的次序可以排列为:单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符C++中,对表达式求值时,先按优先级确定运算次序,再将优先级相同的运算符按结合性进行运算。57第57页,课件共77页,创作于2023年2月2.4数据的输入与输出在C++语言中,数据的输入和结果的输出是分别使用系统所提供的输入流对象cin和输出流对象cout来完成的。在使用过程中,只要在程序的开头嵌入相应的头文件“iostream.h”即可。58第58页,课件共77页,创作于2023年2月2.4.1数据的输出cout输出流对象cout输出数据语句的一般格式为:

cout<<数据1<<数据2<<……<<数据n;说明:(1)cout是系统预定义的一个标准输出设备(一般代表显示器);“<<”是输出操作符,用于向cout输出流中插入数据(2)cout的作用是向标准输出设备上输出数据,被输出的数据可以是常量、已有值的变量或是一个表达式。【例2-5】cout语句的使用59第59页,课件共77页,创作于2023年2月(3)可以在cout输出流中插入C++中的转义字符。如:cout<<"thevalueofa:\n";cout<<a;表示输出完字符串Inputthevalueofa:后,在下一行输出变量a的值。(4)可以将多个被输出的数据写在一个cout中,各输出项间用“<<”操作符隔开即可,但要注意cout首先按从右向左的顺序计算出各输出项的值,然后再输出各项的值。如:cout<<"valueofa:"<<a<<"valueofb:"<<b<<"Theresultis:"<<sqrt(a*a+b*b);再如:设变量i的值为10,则cout<<i<<","<<i++<<","<<i++;的输出结果为:12,11,10(5)一个cout语句也可拆成若干行书写,但注意语句结束符“;”只能写在最后一行上。如:对于上面的语句也可写成如下形式:60第60页,课件共77页,创作于2023年2月cout<<"valueofa:"//注意行末无分号

<<a<<"valueofb:"<<b<<"Theresultis:"<<sqrt(a*a+b*b);//在此处书写分号(6)在cout中,实现输出数据换行功能的方法:既可使用转义字符“\n”,也可使用表示行结束的流操作子endl。如:cout<<"ThisisfirstLine.\n"<<"Thisissecondline.";上面语句可等价地写为:cout<<"ThisisfirstLine."<<endl<<"Thisissecondline.";61第61页,课件共77页,创作于2023年2月(7)在cout中还可以使用流控制符控制数据的输出格式,但使用这些流控制符时,要在程序的头上嵌入头文件#include<iomanip.h>。常用的流控制符及其功能如表2.14所示。表2.14I/O流的常用控制符控制符功能dec十进制数输出hex十六进制数输出oct八进制数输出setfill(c)在给定的输出域宽度内填充字符csetprecision(n)设显示小数精度为n位setw(n)设域宽为n个字符setiosflags(ios::fixed)固定的浮点显示62第62页,课件共77页,创作于2023年2月setiosflags(ios::scientific)指数显示setiosflags(ios::left)左对齐setiosflags(ios::right)右对齐setiosflags(ios::skipws)忽略前导空白setiosflags(ios::uppercase)十六进制数大写输出setiosflags(ios::lowercase)十六进制数小写输出setiosflags(ios::showbase)按十六/八进制输出数据时,前面显示前导符0x/0;63第63页,课件共77页,创作于2023年2月①设置域宽:所谓域宽就是被输出数据所占的输出宽度(单位是字符数)。设置域宽可以使用流控制符setw(n)和cout的方法cout.width(n)

其中n为正整数,表示域宽。但是,cout.width(n)和setw(n)二者都只对下一个被输出的数据有作用,若一个输出语句内有多个被输出的数据,而要保持一定格式域宽时,需要在每一输出数据前加上cout.width(n)或setw(n)。此外,当参数n的值比实际被输出数据的宽度大时,则在给定的域宽内,数据靠右输出,不足部分自动填充空格符;若被输出数据的实际宽度比n值大时,则数据所占的实际位数输出数据,设置域宽的参数n不再起作用。64第64页,课件共77页,创作于2023年2月【例2-6】cout流控制符setw的使用。#include<iostream.h>#include<iomanip.h>voidmain(){inta=21,b=999;cout<<setw(3)<<a<<setw(4)<<a<<setw(5)<<a<<endl; cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout<<setw(3)<<a+b<<setw(4)<<a+b<<setw(5)<<a+b<<endl;}其输出结果是:︼21︼︼21︼︼︼21//程序中第一个cout的输出结果999︼999︼︼999//程序中第二个cout的输出结果10201020︼1020//程序中第三个cout的输出结果 65第65页,课件共77页,创作于2023年2月②设置域内填充字符:在默认情况下,当被输出的数据未占满域宽时,会自动在域内靠左边填充相应个数的空格符。但我们也可以设置在域内填充其他的字符,方法是利用cout的fill方法cout.fill(c)或setfill(c)。cout.fill(c)上和setfill(c)可以对所有被输出的数据起作用。【例2-7】在例2-6的基础上增加域内填充字符的功能。#include“iostream.h”#include“iomanip.h”voidmain(){inta=21,b=999;cout.fill(‘#’);//设置域内填充字符为#字符

cout<<setw(3)<<a<<setw(4)<<a<<setw(5)<<a<<endl;cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout.fill(‘%’);//将域内填充字符改为%字符cout<<setw(3)<<a+b<<setw(4)<<a+b<<setw(5)<<a+b<<endl;}66第66页,课件共77页,创作于2023年2月其输出结果是:#21##21###21//程序中第一个cout的输出结果, 未占满域宽的部分填充#字符。999#999##999//程序中第二个cout的输出结果10201020%1020//程序中第三个cout的输出结果, 未占满域宽的部分填充%字符。当采用流控制符设置填充字符时,上面程序代码也可等价地改为:#include<iostream.h>#include<iomanip.h>voidmain(){int

a=21,b=999;cout<<setw(3)<<setfill(‘#')<<a<<setw(4)<<a<<setw(5)<<a<<endl;cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout<<setw(3)<<setfill(‘%')<<a+b<<setw(4)<<a+b<<setw(5)<<a+b<<endl;}67第67页,课件共77页,创作于2023年2月③设置输出数据的进位计数制:在默认情况下,被输出的数据按十进制格式输出。但可以使用流控制符hex和oct控制数据的输出格式为十六进制和八进制,一旦设置成某种进位计数制后,数据的输出就以该种数制为主,可利用流控制符dec将数制重新成十进制。【例2-8】在例2-7的基础上增加设置输出数据进位计数制的功能。#include<iostream.h>#include<iomanip.h>voidmain(){inta=21,b=999;//设置以十六制格式输出数据cout<<setw(3)<<setfill('#')<<hex<<a<<setw(4)<<a<<setw(5)<<a<<endl;cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout<<setw(3)<<setfill(‘%’)<<a+b<<setw(4)<<a+b<<setw(5)<<a+b<<endl; //设置以八制格式输出数据cout<<setw(3)<<setfill('#')<<oct<<a<<setw(4)<<a<<setw(5)<<a<<endl;cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout<<setw(3)<<setfill('%')<<a+b<<setw(4)<<a+b<<setw(5)<<a+b<<endl; //设置以十制格式输出数据cout<<setw(3)<<setfill('#')<<dec<<a<<setw(4)<<a<<setw(5)<<a<<endl;cout<<setw(3)<<b<<setw(4)<<b<<setw(5)<<b<<endl;cout<<setw(3)<<setfill('%')<<a+b<<setw(4)<<a+b<<setw(5)<<a+b<<endl;} 68第68页,课件共77页,创作于2023年2月程序的输出结果为:#15##15###15//以十六进制格式输出数据3e7#3e7##3e73fc%3fc%%3fc#25##25###25//以八进制格式输出数据17471747#174717741774%1774#21##21###21//以十进制格式输出数据999#999##99910201020%102069第69页,课件共77页,创作于2023年2月④设置浮点数的输出格式:对于浮点数,既可以用小数格式输出,也可以用指数格式输出。这可以分别通过setiosflags(ios::fixed)和setiosflags(ios::scientific)来控制。【例2-9】已知圆的半径r=6.779,计算并输出圆的周长和面积,要求分别用指数和小数两种格式输出。#include<iostream.h>#include<iomanip.h>voidmain(){constdoublepi=3.14159;doubler=6.779,c,s;c=2.0*pi*r;//计算圆的周长

s=pi*r*r;//计算圆的面积70第

温馨提示

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

评论

0/150

提交评论