02A基本数据运算与输入输出.ppt

上传人:本田雅阁 文档编号:2124885 上传时间:2019-02-19 格式:PPT 页数:63 大小:921.51KB
返回 下载 相关 举报
02A基本数据运算与输入输出.ppt_第1页
第1页 / 共63页
02A基本数据运算与输入输出.ppt_第2页
第2页 / 共63页
02A基本数据运算与输入输出.ppt_第3页
第3页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《02A基本数据运算与输入输出.ppt》由会员分享,可在线阅读,更多相关《02A基本数据运算与输入输出.ppt(63页珍藏版)》请在三一文库上搜索。

1、第2章 基本数据运算与输入输出(A),C+程序设计,2,主要内容,如何用计算机计算圆面积(2.1-2.4) 标识符(2.5) 基本数据类型(2.9) 变量定义(2.6) 常量(2.8,2.9.1) I/O流控制(3.12) 小结及作业,C+程序设计,3,2.1 如何用计算机计算圆面积,问题描述 计算机从键盘读入圆的半径,输出其面积 程序将使用变量保存半径和面积,并用一个表达式计算面积 解决思路 读入半径 利用圆面积公式计算面积 输出面积,C+程序设计,4,2.1 如何用计算机计算圆面积,程序主函数框架 程序清单,int main() / Step 1: Read in radius / Ste

2、p 2: Compute area / Step 3: Display the area ,#include using namespace std; int main() / Step 1: Read in radius double radius; cout radius; / Step 2: Compute area double area = radius * radius * 3.14159; / Step 3: Display the area cout “The area is “ area endl; return 0; ,console in/out,C+程序设计,5,2.2

3、 标识符,字符集 字符是指计算机中使用的字母、数字、单词和符号 用于构造有意义语句的一组字符,这也是任何一种语言的特点 C+程序的字符集 26 个大、小写字母:az,A Z 10 数字:09 其他符号:+ - * / % ,C+程序设计,6,2.2 标识符,标识符 由字符集元素组成的一串字符,为变量、常量及函数等程序实体命名 分为系统预定义标识符(如预编译指令)和用户自定义标识符(如变量名,函数名) 标志符命名规则 由字母、下划线、数字组成,且第一个符号不能是数字 中间不能有空格 C+是大小写敏感,即大写和小写字母是不同的 最好使用英文单词或其组合,切忌使用汉字或汉语拼音 不能使用保留字作为标

4、志符(参见附录A) 采用见名思义的原则: sum、name、sex,不要太长,一般以不超过31个字符为宜,C+程序设计,7,2.2 标识符,保留字 又称关键字(Keyword),是预先定义好的标识符,对C+编译程序有特殊含义 在程序中用到的其他名字(标识符)不能与C+的关键字相同 关键字也不能重新定义 不同开发环境如VC、BC会对保留字有不同扩充 C/C+保留字参见教材附录A C+关键字(P492),C+程序设计,8,2.3 基本数据类型,中学阶段数学课学习的数据类型及运算 实数(R)、复数(C) 355.5,76.8 有序实数对:2+3i 整数(I)、小数 35, -68 3.5 , 0.8

5、 自然数(N),正整数(Z) 0,1,2,3, 有理数、无理数 正数、负数 常数:,e,C+程序设计,9,2.3 基本数据类型,C+语言中的数据类型,C+程序设计,10,2.3 基本数据类型,C+语言中数据为什么要区分类型? 不同类型的数据代表不同的 数据表示形式 合法的取值范围 可参与的运算种类 占用内存空间大小 对程序当中所用到的所有数据都必须指定其数据类型 从基本数据类型到抽象数据类型 无数据类型 void 基本数据类型 构造数据类型 抽象数据类型,C+程序设计,11,2.3 基本数据类型,基本数据类型:系统事先规定了的数据类型(内置类型) int,整数,在目前绝大多数机器上占4个字节

6、float,单精度浮点数,一般是4个字节长,VC 内缺省显示为 6 位有效数字 double,双精度浮点数,一般是8个字节长,VC 内缺省显示为 14 位有效数字 char 字符,一般是1个字节长 用来表示 256 个ASCII字符,或者0255的整数,注意,数据类型标识符为小写字母 int 大小范围与机器有关,C+程序设计,12,2.3 基本数据类型,基本数据类型修饰符:short、long、signed、unsigned short short int,短整数,一般2个字节长,通常简写为short long long int,长整数,VC中一般是4个字节长,通常简写为long long d

7、ouble,长双精度(高精度)浮点数,一般是10个字节长。 signed 用来修饰char、int、short和long,说明他们是有符号的整数(正整数、0和负整数),一般缺省都是有符号的,所以这个修饰符通常省略 unsigned 用来修饰 char、int、short 和 long,说明他们是无符号的整数(正整数和0),C+程序设计,13,一、无符号的整型数据 大于或等于零的正整数,无符号的短整型,分类,无符号的基本整型,无符号的长整型,unsigned short int,标识符,unsigned int,unsigned long int,2,对应内存空间的大小,4,4,0216-1,取

8、值范围,同上,0232-1,注意,1、 的含义 2、标识符为小写字母 3、int 与机器有关,2.3 基本数据类型,C+程序设计,14,二、有符号的整型数据 包括负整数、零、正整数,有符号的短整型,分类,有符号的基本整型,有符号的长整型,signed short int,标识符,signed int,signed long int,2,对应内存 空间的大小,4,4,取值范围 -215215,2.3 基本数据类型,-231231,同上,有符号整数在计算机内存中是以补码形式存储,C+程序设计,15,1. 求整数的补码规则,例如: (10)补= (-10)补=,2. 由补码推出原码,2.3 基本数据

9、类型,下面以一个字节存储有符号整数为例分析其取值范围,C+程序设计,16,补码,原 码,取值范围,-128 127,-27 27-1,2.3 基本数据类型,C+程序设计,17,三、实型:一律作为有符号的数据使用,2.3 基本数据类型,分类 标志符 字节数 缺省有效精度,单精度实数 float 4 6位,双精度实数 double 8 14位,实数作为有符号的数据使用 ,可表示为小数形式和指数形式,但在计算机内部都用浮点方式来实现存储 定点小数:小数点位置固定,位于符号位和第一个数值位之间,如 -0.34,表示的是纯小数; 浮点数:小数点的位置是可以浮动的数,如,浮点数通用表示是将实数分为阶码和尾

10、数两部分: S 为尾数(正负均可),一般规定用纯小数形式,r为基数,对二进制而言,r=2, j为阶码(正负均可) ,但必须是整数,C+程序设计,18,2.3 基本数据类型,理论上浮点数在计算机中的存储格式为,C+程序设计,19,浮点数在VC6中实际的存储方式为 float 型,2.3 基本数据类型,double 型,阶码:决定数的大小,对应浮点数:2-128 2127,尾数:决定数的精度,C+程序设计,20,例:float 71.3125 转换为二进制为:1000111.0101,将其规范化之后成为:1.000111010126 ,这里的规范化是指移动小数点使小数点的左边只有一个“1”。 内存

11、里实际存储实数的三部分信息:符号(如+)、指数(如6)和尾数(即小数点右边的位,如0001 1101 0100),而小数点左边的1并不存储。 0 10000101 0001 1101 01 0000000000000 (42 8E A0 00),2.3 基本数据类型,符号位 指数位 小数部分 指数偏移量 单精度浮点数 1位31 8位30-23 23位22-00 127 双精度浮点数 1位63 11位62-52 52位51-00 1023,尾数部分占的位数愈多,实数的有效数字愈多,即有效精度愈高。指数部分占的位数愈多,则能表示的数值范围愈大。 实数在操作中存在误差,例如:把 111111.111

12、 作为 float 型数据,输出的结果是 111111.109,C+程序设计,21,四、字符型 采用 ASCII 码字符集,即用 1 个字节存放字符的 ASCII 码值,2.3 基本数据类型,分类 标志符 内存空间 取值范围,有符号字符型 signed char 1 -128127,无符号字符型 unsigned char 1 0255,C+程序设计,22,2.3 基本数据类型,C+程序设计,23,2.4 变量,变量:在程序运行中其值可以改变的量 变量是存储信息的单元,它对应某个内存空间 变量名代表其存储空间,程序能在变量中存储值和取出值 变量的定义: 数据类型 变量名1=初值,变量名2=初值

13、,; 例: float r1=1.5f, r2=0.5f, r3; char ch=A; 变量的初始化:为变量赋初值的过程,用赋值运算符“=”进行 定义的同时进行初始化 单独进行初始化,int a ,b; unsigned long sum ; a = 123, sum=0 ; b = a ;,C+程序设计,24,2.4 变量,变量名的含义 表示分配给变量的存储空间 表示内存空间中存储的数据:变量的值 每个变量都有一个名字、一个数据类型和一个值 注意变量名与变量值的区别,C+程序设计,25,2.4 变量,变量名命名规定 由字母、下划线、数字组成,且第一个符号不能是数字 不要与关键字、保留字重名

14、; 中间不能有空格 C+是大小写敏感,即大写和小写字母是不同的 变量名中不能包含”. ; , “ + -”之类特殊符号 变量名不要与C+中的库函数、类名和对象名相同 不要使用易混淆的字母 某些功能的变量采用习惯命名,如循环变量习惯用i,j,k 采用见名思义的原则: sum、name、sex,不要太长,一般以不超过31个字符为宜 最好使用英文单词或其组合,切忌使用汉字或汉语拼音,C+程序设计,26,2.4 变量,变量名命名风格 下划线和大小写通常用来增强可读性 Unix风格: variable_name Windows风格(匈牙利命名法): chName, strName,指出下列命名的正确性,

15、 错误的指出原因 x_y,x1,X1,x,y 姓名 2x varname,指出下列命名的正确性, 错误的指出原因 _y1 Case,51select, A lot,-vv Sin,cin,cout,string D6Xy, , ,C+程序设计,27,2.4 变量,匈牙利命名法 标识符的名字以一个或者多个小写字母开头,用这些字母来指定数据类型 在标识符内,前缀以后就是一个或者多个第一个字母大写的单词,这些单词指出程序中该对象的用途 常用的数据类型的标准前缀 ch 字符(char) n 整数(integer) b BOOL l 长整数(long) h HANDLE(无符号int) m_ 类成员变量

16、 fn 函数(function) 例如,nCount表示一个计数器的变量,数据类型是整型。,C+程序设计,28,#include using namespace std; int main( ) int price = 30; int num, total; /定义变量,在内存中开辟区间 num=10; /变量赋值,10为常量 total=num*price; cout“total=“total; /输出结果 return 0; ,其中:num=10 total=num*PRICE,是赋值号,不同于数学意义上的等号!,num,total,10,300,2.4 变量,C+程序设计,29,2.5

17、常量,在程序运行时保持不变的值,称为常量 根据常量的数据类型,常量可分为整型常量、实型常量、字符常量、字符串常量、枚举常量 根据常量的声明,常量可分为文字常量和自定义常量 文字常量:在程序中出现的、代表数据的文字 整型文字常量 十进制:78,-132 八进制:以数字0开头,后跟一串八进制数字(注意:数字0),如012 ( ),03256 ( ),0128 () 十六进制:以0x开头,后跟 09、AF 或 af (数字0,字母x),如0x123(), 0xabc (), 01bc ( ) 10 进制数有正负之分,8 进制、16 进制只能表示无符号整数,C+程序设计,30,2.5 常量,整型文字常

18、量 长整型常量 123l、123L、123456l、123456L 无符号型常量 123u、123U 实型文字常量 小数形式,例如:0.123,-5.6,.123,2.0 ,2. 指数形式(科学记数法) 1.5610 -3 1.56E -3, 1.56108 1.56E8,1.56e+8 注意 实数一律用十进制表示:0x2.5 E的左右必须要有数字: E2(1E2),2E(2E+1、2E1) 指数部分必须为整数: 2.5E + 2.5 ,C+程序设计,31,#include using namespace std; int main() int int10,int8,int16; /定义3个整

19、型变量 int10 = 10; /默认为十进制 int8 = 010; /八进制 int16 = 0x10; /十六进制 cout“int10=“int10endl; cout“int8=“int8endl; cout“int16=“int16endl; return 0; ,输出 int10=10 int8=8 int16=16,2.5 常量,C+程序设计,32,2.5 常量,实型文字常量 单精度 float:一般在内存中占 4 个字节,提供 7 位有效数字 双精度 double:一般在内存中占 8 个字节,提供 15 位有效数字 长双精度 long double:一般在内存中占 10 个字

20、节,提供 19 位有效数字 在C+中,一个实型常数如果没有任何说明,表示double型;若要表示 float 型数,则必须在实数后加上 f 或 F;若要表示 long double 型数,则必须在实数后加上 l 或 L,34.5f / float 型 34.5 / double型(系统默认表示) 34.5L / long double型 34.5l / long double型 34.5e23f / float 型,34.5e23 / double型(系统默认表示) 34.5e23L / long double型 34.523l / long double型 34.5e400 / long d

21、ouble型(范围超过double表示),C+程序设计,33,#include using namespace std; int main( ) float a, b; double c, d; a=0.01; b=3.45678e-2; c=3.45678e-2; d=9.7654e-5; cout“a=“at“b=“bendl; cout“c=“ct“d=“dendl; return 0; ,a=0.01 b=0.0345678 c=0.0345678 d=9.7654e-005 Press any key to continue,2.5 常量,C+程序设计,34,2.5 常量,字符文字常

22、量 用一对英文单引号括起来的单个字符或转义序列 单个字符:如 a, x, $ 转义序列 :以 开头后跟一个字符或几个数字 n 回车键, t tab键 ddd 1-3 位 8 进制数所代表的字符: 101与A 、65表示同一个字符,不需以 0 开头,表示范围为 000 377 (0255) xhh 1-2 位 16 进制数所代表的字符: x41 与 A 、65 表示同一个字符, 242、362 、 xF2 表示 ,必须用x 或 X引导,表示范围为x00 xff (0255) 将一个字符常量赋值给字符变量,实际上并不是把该字符本身放到内存单元中,而是将该字符的相应ASCII码(整型数)存入,即在内

23、存中字符数据以ASCII存储,即以整数表示,C+程序设计,35,2.5 常量,字符文字常量 例:char chVar = b,chVar1=n char chVar2=007; / 1-3 位 8 进制数 char chVar3=xff; / 1-2 位 16 进制数 char chVar4=97; C+中字符数据和整型数据之间可以相互赋值,但要注意其表示的范围合理性 int a=b; / Ok 给一个整型变量赋一个字符值 char b=97; / Ok 给一个字符变量赋一个整型值 coutaendl; 结果为 98 coutbendl; 结果为 a 0 与 0 的区别 常用转义字符:一些特殊

24、字符(无法从键盘输入或者另有它用)用转义字符表示,C+程序设计,36,#include using namespace std; int main() char c1,c2,c3,c4; char n1,n2; c1=a; /字符常量 c2=97; /十进制 c3=x61; /转义字符 c4=0141; /八进制 cout“c1=“c1t“c2=“c2endl; cout“c3=“c3t“c4=“c4endl; n1=n; /转义字符:回车 n2=t; /转义字符:下一个输出区(Tab) cout“使用转义字符n“; cout“c1=“c1n2“c2=“c2n1; cout“c3=“c3n2“

25、c4=“c4n1; return 0; ,输出: c1=a c2=a c3=a c4=a 使用转义字符 c1=a c2=a c3=a c4=a,2.5 常量,C+程序设计,37,2.5 常量,字符串文字常量 用一对 双引号 括起来的一个或多个字符序列,如:“China“ , “C Language“ ,“ “hello!“ 字符串的存储:在内存中,依次存放组成字符串的每个字符的ASCII码值,并且把 空字符0(ASCII码值为0)加到字符串的尾部,作为字符串的结束标志。 字符串的长度: 等于字符的个数 字符串存储时占内存的大小: 字符串的长度+1 不能将字符串常量赋值给字符变量,如 char

26、ch = “abcd“ ; 一个字符占一个内存单元,含有一个字符的字符串占2个内存单元,区分“A“与A,0 、 “0“与0,C+程序设计,38,2.5 常量,用户自定义常量 若希望变量的内容自初始化后一直保持不变,此时可以定义一常量 若程序中多处都要用到一个常数,此时应定义一常量以避免常数值的不一致性 const float pi=3.14159; 常量定义时必须初始化,此后程序中对其只能读不能修改 常量名不能放在赋值语句的左边 const float pi; pi = 3.14159; 常量在编译时求值 const int nSize=100*sizeof(int); const int n

27、Max = fnMax(15,23); /fnMax用户自定义函数,C+程序设计,39,2.5 常量,用户自定义常量 #define C+ 为兼容 C 而保留 #define 称为编译预定义指令,其语法格式为 #define 常量名 字符串 #define PI 3.1415926 常量名与字符串之间用空格分隔,行末不用分号,在编译预处理阶段进行字符串直接替换 在C+ 编程中,常量定义应使用 const 不用 define,C+程序设计,40,#include using namespace std; #define PI 3.1415926 /自定义常量 int main() const i

28、nt PRICE=30; /自定义常量,在程序中保持不变 int num, total; /定义变量,在内存中开辟区间 num=10; /变量赋值, 10 为文字常量 total=num*PRICE; cout“total=“total; /输出结果 float fR, fArea; /定义变量,在内存中开辟区间 fR = 3.5f; /变量赋值, 3.5f 为文字常量 fArea = fR*fR*PI; cout“Area=“fArea; /输出结果 return 0; ,num,total,10,300,2.5 常量,C+程序设计,41,#include using namespace s

29、td; #define PI 3.14156 #define S “China“ int main() const float pi=3.14156; /变量作为常量使用 cout“PI=“PIendl; cout“10*PI=“10*PIendl; coutSendl; / PI=PI+3; / pi=pi+4; cout“PI=“PIendl; cout“pi=“piendl; return 0; ,输出: PI=3.14156 10*PI=31.4156 China PI=3.14156 pi=3.14156,2.5 常量,C+程序设计,42,2.5 常量,/用计算机计算圆的面积: #i

30、nclude using namespace std; int main() const double PI = 3.1415926; / Step 1: Read in radius double radius; cout radius; / Step 2: Compute area double area = radius * radius * PI; / Step 3: Display the area cout “The area is “ area endl; return 0; ,C+程序设计,43,2.6 I/O流控制,程序在执行期间,接收外部信息的操作称为程序的输入(Inpou

31、t);而把程序向外部发送信息的操作称为程序的输出(Output)。 在C+中没有专门的输入输出语句,所有输入输出是通过输入输出流来实现的。 要使用C+提供的输入输出时,必须在程序的开头增加两行: #include using namespace std; 包含输入输出流的头文件为 iostream.h,有关包含文件的作用,在编译预处理部分(第5章)作详细介绍。,C+程序设计,44,int a,b; cinab; /程序运行至此停下,等待从键盘输入变量值,键盘输入:3 5 或:3 5 均可。,输入语句自动过滤空白字符!,3,键盘,5,键盘,输入语句:cin 输入十进制整数和实数: cin .,2

32、.6 I/O流控制,C+程序设计,45,float c,d; cincd;,char ch1,ch2; cinch1ch2;,若输入:ab 则ch1为a, ch2为b。,若输入:a b 则ch1为a, ch2为b。,字符型变量过滤空白字符,cin格式过滤空白字符!,输入语句:cin 浮点型数据同整型数据一样 字符型数据,2.6 I/O流控制,C+程序设计,46,float a; int i1,i2; char ch1,ch2; cini1ai2ch1ch2;,输入:34 5.678 1a b ,i2: 1,在缺省的情况下,cin自动跳过输入的空格,换言之,cin不能将输入的空格赋给字符型变量;

33、 回车键也是作为输入字符之间的分隔符,也不能将输入的回车键字符赋给字符型变量。,a: 5.578,i1: 34,ch1: a,ch2: b,2.6 I/O流控制,输入语句:cin 不同类型数据混合输入,C+程序设计,47,若要把从键盘上输入的每一个字符,包括空格和回车键都作为一个输入字符赋给字符型变量时,必须使用函数cin.get(),其格式为: cin.get();,cin.get() 从输入行中取出一个字符,并将它赋给字符型变量,该语句一次只能从输入行中提取一个字符。,char c1; cin.get(c1);,char ch1,ch2,ch3; cin.get(ch1); cin.get

34、(ch2); cin.get(ch3);,则:ch1:A,ch2:空格,ch3:B,输入:A B,并且在输入缓冲区中保留回车键!,2.6 I/O流控制,C+程序设计,48,输入语句:cin 输入十六进制或八进制数据:缺省情况下,系统约定输入的整型数是十进制数据;当要求按八进制或十六进制输入数据时,在 cin 中必须指明相应的数据类型:hex 为十六进制,oct 为八进制,dec 为十进制。,int i,j,k,l; cinhexi; /指明输入为十六进制数 cinoctj; /指明输入为八进制数 cink; /输入仍为八进制数 cindecl; /指明输入为十进制数 当执行到语句cin时,若输

35、入的数据为: 11 11 12 12,结果:i: 17,j: 9,k: 10,l: 12,2.6 I/O流控制,C+程序设计,49,2.6 I/O流控制,输入语句:cin 使用非十进制数输入时,要注意以下几点 八进制或十六进制数的输入,只能适用于整型变量,不适用于字符型变量,实型变量 当在cin中指明使用的数制输入后,则所指明的数制一直有效,直到在接着的cin中指明输入时所使用的另一数制为止。如上例中,输入k的值时,仍为八进制。 输入数据的格式、个数和类型必须与cin中所列举的变量类型一一对应。一旦输入出错,不仅使当前的输入数据不正确,而且使得后面的提取数据也不正确。,cina b;,cina

36、b;,int a, b;,cinab;,C+程序设计,50,输出语句:cout 与输入 cin 对应的输出是cout 输出流 当要输出一个表达式的值时,可使用 cout 来实现,其一般格式为: cout .; 其中运算符 “” 称为插入运算符,它将紧跟其后的表达式的值,输出到显示器当前光标的位置。,2.6 I/O流控制,C+程序设计,51,int a=6; float f1=12.4; char s1 =“abcd“; coutatf1ts1endl;,t为转义字符Tab, endl为回车或n,显示器,显示器,显示器,6,12.4,abcd,2.6 I/O流控制,C+程序设计,52,cout

37、将双引号中的字符串常量 按其原样输出,char ch1=a,ch2=b; cout“c1=“ch1t“c2=“ch2endl;,c1=a, c2=b ,int i1=4,i2=5; float a=3.5; cout“a*i1=“a*i1endl“a*i2=“a*i2endl;,a*i1=14 a*i2=17.5,2.6 I/O流控制,C+程序设计,53,2.6 I/O流控制,使用控制符 用于对I/O流的格式进行控制 在头文件 iomanip.h中定义的对象 可以直接将控制符插入流中,C+程序设计,54,2.6 I/O流控制,输出语句:cout 输出八进制或十六进制数:控制符是 hex, oc

38、t和dec,分别对应16进制、8进制和10进制数的显示 当在 cout 中指明使用的数制输出后,则所指明的数制一直有效,直到在接着的 cout 中指明输出时所使用的另一数制为止,如下例中,输出 j 的值时,仍为八进制。,cout dec iendl; cout hexiendl; cout oct iendl; cout j endl;,1001 3e9 1751,int i=1001,j=127; cout dec iendl; cout hexiendl; cout oct iendl;,1001 3e9 1751 177,C+程序设计,55,2.6 I/O流控制,输出语句:cout 设置

39、值的输出宽度:在输出的数据项之间进行隔开的另一种办法是指定输出项的宽度 setw(6)指明其后的输出项占用的字符宽度为6,即括号中的值指出紧跟其后的输出项占用的字符位置个数,并向右对齐,setw 是“set width”的缩写,int i=4,j=12,m=7,k=2; cout setw(6) isetw(10)jendl; cout setw(5)msetw(10)j*kendl;,_ _ _ _ _ 4_ _ _ _ _ _ _ _ 12 _ _ _ _ 7 _ _ _ _ _ _ _ _ 24,C+程序设计,56,使用setw() 应注意以下三点: 1、在程序的开始位置必须包含头文件i

40、omanip.h,即在程序的开头增加: #include 2、括号中必须给出一个表达式(值为正整数),它指明紧跟其后输出项的宽度。 3、该设置仅对其后的一个输出项有效。一旦按指定的宽度输出其后的输出项后,又回到原来的缺省输出方式,2.6 I/O流控制,C+程序设计,57,2.6 I/O流控制,输出语句:cout 控制浮点数值显示 setprecision(n) 控制输出流显示浮点数的数字个数,C+默认的流输出数值有效位是6 setprecision(n) 与setiosflags(ios:fixed) 联合控制小数点右边的数字个数 setprecision(n) 与 setiosflags(i

41、os:scientific) 联合控制指数表示法的小数位数 VC6中setiosflags(ios:scientific) 与setiosflags(ios:fixed)不能连续使用,否则后者失效,double fSum = 22.0/7; cout fSum endl; cout setprecision(0) fSum endl; cout setprecision(2) fSum endl; cout setiosflags(ios:fixed) setprecision(4) fSum endl; cout setiosflags(ios:scientific) setprecisio

42、n(6) fSum endl;,C+程序设计,58,2.6 I/O流控制,输出语句:cout 设置填充字符:缺省时流使用空格符来保证字符间的正确间隔,setfill 用于设置非空字符来填充,int i=4,j=12,m=7,k=2; coutsetfill(*); cout setw(6) isetw(10)jendl; cout setw(5)msetw(10)j*kendl; cout setfill( );,C+程序设计,59,2.6 I/O流控制,输出语句:cout 强制显示小数点和符号: 要强制显示小数点,用 setiosflags(ios:showpoint) 标志 要强制显示正数

43、前的正号,用 setiosflags(ios:showpos) 标志,float fSum = 10.0/5; cout fSumendl; cout setiosflags(ios:showpoint) fSumendl; cout setiosflags(ios:showpos) fSumendl;,pos: positive,C+程序设计,60,2.6 I/O流控制,输出语句:cout ios:right, ios:left ios:uppercase, ios:lowercase ios: skipws 忽略前导空白 printf 与 scanf C 语言中的标准输入输出函数 包含在头

44、文件 stdio.h 中 C+ 语言中已被 I/O 流完全替代,C+程序设计,61,2.6 I/O流控制,printf 与 scanf printf 的简单使用 %d或%i :输出用十进制表示的int型数据 %u:输出用十进制表示的 unsigned 型数据 %o:输出用八进制表示的 unsigned 型数据 %x:输出用十六进制表示的 unsigned 型数据 %f :以小数形式输出实数,并且自动按四舍五入形式保留6位小数; 如果输出的实数本身不足6 位小数,则在小数后面自动补数字0,以凑足6 位。 %e或%E :以指数形式输出实数 %g:以小数或指数形式最合适的方式输出浮点数 %c :输出

45、一个字符 %s: 输出字符串,C+程序设计,62,2.6 I/O流控制,#include int main() int a=10,b= -1; unsigned x=65535; printf(“a=%dt a=%it“ , a, a); printf(“a=%ot a=%xt a=%Xn“,a,a,a); printf(“b=%dt b=%in“,b,b); printf(“x=%ut x=%ot x=%xt x=%Xn“,x,x,x,x); printf(“b=%ot b=%xt b=%Xt x=%dn“, b,b,b,x); return 0; ,C+程序设计,63,小结与作业,这一节我们主要学习了。 C+语言中的保留字 基本数据类型 变量 常量 I/O流 作业 教材P46:习题 2.12.4,2.12,2.172.19,2.24 教材P72:习题 3.24,3.26 预习实验指导书实验二 预习教材第2章:2.92.15,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1