![数据类型和输入输出_第1页](http://file4.renrendoc.com/view/f56912014e737cf502cf19c2865e4fe7/f56912014e737cf502cf19c2865e4fe71.gif)
![数据类型和输入输出_第2页](http://file4.renrendoc.com/view/f56912014e737cf502cf19c2865e4fe7/f56912014e737cf502cf19c2865e4fe72.gif)
![数据类型和输入输出_第3页](http://file4.renrendoc.com/view/f56912014e737cf502cf19c2865e4fe7/f56912014e737cf502cf19c2865e4fe73.gif)
![数据类型和输入输出_第4页](http://file4.renrendoc.com/view/f56912014e737cf502cf19c2865e4fe7/f56912014e737cf502cf19c2865e4fe74.gif)
![数据类型和输入输出_第5页](http://file4.renrendoc.com/view/f56912014e737cf502cf19c2865e4fe7/f56912014e737cf502cf19c2865e4fe75.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据类型和输入输出第1页,课件共49页,创作于2023年2月目录2.1计算机内的数据表示2.2基本数据类型2.3字面常量2.4变量2.5标识符常量2.6基本输入输出
2第2页,课件共49页,创作于2023年2月2.1.1数制十进制数(Decimal)基数为10,计数规则是逢10进1。二进制数(Binary)基数为2,计数规则是逢2进1。八进制数(Octonary)基数为8,计数规则是逢8进1。十六进制数(Hexadecimal)基数为16,计数规则是逢16进1。3第3页,课件共49页,创作于2023年2月2.1.2机内的数值表示1.机器数的符号及编码符号数字化最高位为符号位用‘0’表示正,‘1’表示负编码:原码、反码、补码2.机器数中小数点的位置定点表示法浮点表示法:IEEE-7544第4页,课件共49页,创作于2023年2月IEEE-754类型长度符号阶码尾数移码量说明单精度32位1位8位23位127隐含1位双精度64位1位11位52位1023隐含1位扩展双精度80位1位15位64位16383没有sem0低位高位w-1位长w5第5页,课件共49页,创作于2023年2月计算公式:V=(-1)s×2E×M当e各位为全0时,E=1-(2e(位数)-1-1);M=m。单精度数:E=-126,V=(-1)s×2-126×m双精度数:E=-1022,V=(-1)s×2-1022×m当e各位不为全0且不为全1时E=e(值)-(2e(位数)-1-1);M=1+m。单精度数:V=(-1)s×2e(值)-127×(1+m)双精度数:V=(-1)s×2e(值)-1023×(1+m)所有位全为0,表示0.0。阶码位全为1,尾数位全为0,表示无穷大。符号位表示正无穷或负无穷。6第6页,课件共49页,创作于2023年2月[实例]
若有一个单精度十进制数80.0(80.0)=(1010000.0)b=1.01×26符号位
指数部分
尾数部分0
10000101010000000000000000000007第7页,课件共49页,创作于2023年2月2.1.3机内非数值编码非数值数据(字符)表示用若干位组成的二进制数来表示一个符号一个二进制数只能与一个符号唯一对应,即符号集内所有二进制数不能相同字符编码方式1.
ASCII码2.汉字编码GB2312—803.
ISO/IEC10646、Unicode编码4.
GBK8第8页,课件共49页,创作于2023年2月2.1计算机内的数据表示2.2基本数据类型2.3字面常量2.4变量2.5标识符常量2.6基本输入输出
9第9页,课件共49页,创作于2023年2月2.2基本数据类型10第10页,课件共49页,创作于2023年2月2.2.1整型(int)二进制编码(补码),在32位计算机中是用4字节(32位长)来存储。
short(短型)long(长型)signed(有符号,缺省值)unsigned(无符号)11第11页,课件共49页,创作于2023年2月整型类别前缀short[int]intlong[int][signed]2字节-32768~327674字节-2147483648~21474836474字节unsigned0~655350~429496729512第12页,课件共49页,创作于2023年2月2.2.2实型浮点型,在C++中,用于表示实型的类型有float(单精度)、double(双精度)和longdouble(长双精度)13第13页,课件共49页,创作于2023年2月2.2.3字符型(char)char字符类型用于表示ASCII编码字符,它有三种不同的类型:char、unsignedchar和signedchar。在ANSI/ISOC++中,还有另一种字符类型wchar_t,表示双字节编码字符,称为宽字符。14第14页,课件共49页,创作于2023年2月2.2.4布尔型(逻辑型)bool占1字节的存储空间任何数值都可自动转换成bool值0可被转换成false任何不等于0的数值都被转换成true15第15页,课件共49页,创作于2023年2月整型类别[signed]unsignedbool1字节,false(0)或true(1)char1字节,-128~1271字节,0~255wchar_t2字节short[int]2字节-32768~327670~65535int4字节-2147483648~21474836470~4294967295long[int]16第16页,课件共49页,创作于2023年2月2.1计算机内的数据表示2.2基本数据类型2.3字面常量2.4变量2.5标识符常量2.6基本输入输出
17第17页,课件共49页,创作于2023年2月2.3字面常量数据分为常量和变量两大类。在C++程序运行过程中,其值始终保持不变的数据称为常量。常量可分字面常量和标识符常量两类。所谓字面常量,是指能直接从其字面形式即可判别其类型的常量,又称直接量。18第18页,课件共49页,创作于2023年2月2.3.1整数常量C++中的整数可用十进制、八进制和十六进制来表示。八进制整数,以数字0开头且由0~7的数字组成的数十六进制整数,以0x或0X开头且由0~9,A~F或a~f组成的数整数常量的后缀:以L或l表示长整型整数,以U或u表示无符号整数,以U(u)和L(l)的组合表示无符号长整型整数。默认时(没有添加后缀),则可能是int或long类型,这取决于该整数的大小。19第19页,课件共49页,创作于2023年2月[示例]#include<iostream>usingnamespacestd;intmain(){cout<<123<<""<<0123<<""<<-0123<<""<<0x15<<""<<-0x15<<""<<0x123<<""<<-0x123<<endl; return0;}20第20页,课件共49页,创作于2023年2月2.3.2实数常量实数即浮点数十进制数和指数两种表示形式十进制数形式由整数部分和小数部分组成(必须有小数点),如0.123,.234,0.0。指数形式,科学计数法(E或e前必须有数字,且指数必须是整数),如123e5或123E5都表示123×105。实数常量的后缀:以F(或f)表示单精度浮点数,以L(或l)表示长双精度浮点数。缺省时,默认为双精度浮点数。21第21页,课件共49页,创作于2023年2月[示例]float型提供7位有效数字,double型提供15位有效数字,longdouble型提供19位有效数字。#include<iostream>usingnamespacestd;intmain(){cout<<sizeof(1.23)<<""<<sizeof(1.23f)<<endl; return0;}22第22页,课件共49页,创作于2023年2月2.3.3字符常量用单引号括起来的字符称为字符常量,如:‘a’,‘x’,‘?’,‘$’
转义字符是以“\”开头的字符序列。当转义字符引导符后接数字时,用来指定字符的ASCII码值。0、‘0’和‘\0’的区别0表示整数‘0’表示数字0字符'\0'表示ASCII码值为0的字符23第23页,课件共49页,创作于2023年2月C++中的转义字符
字符形式值功能
\a 0x07 响铃
\n 0x0A 换行
\t 0x09 制表符(横向跳格)
\v 0x0B 竖向跳格
\b 0x08 退格
\r 0x0D 回车
\\ 0x5C 反斜杠字符“\”\“ 0x22 双引号
\‘ 0x27 单引号
\ddd 1~3位八进制数
\xhh 1~2位十六进制数24第24页,课件共49页,创作于2023年2月[示例]在内存中,字符数据以ASCII码存储,即以整数表示,所以C++中字符数据和整型数据之间可以相互赋值,只要注意其表示的范围合理。#include<iostream>usingnamespacestd;intmain(){ intx1='A',x2='0',x3=0;
charc=97; cout<<x1<<""<<x2<<""<<x3<<""<<c<<endl; return0;}25第25页,课件共49页,创作于2023年2月2.3.4字符串常量由一对双引号括起来的字符序列,简称字符串,如“CHINA”,”a”。
字符串常量中字符的个数称为字符串长度。在C++中,字符串常量总是以‘\0’结束。"CHINA""a"'a'字符常量和字符串常量区别开来
CHINA\0a
\0a26第26页,课件共49页,创作于2023年2月2.3.5布尔常量用关键字false和true来表示,它们与布尔型含义相同。ture→1false→027第27页,课件共49页,创作于2023年2月2.1计算机内的数据表示2.2基本数据类型2.3字面常量2.4变量2.5标识符常量2.6基本输入输出
28第28页,课件共49页,创作于2023年2月2.4变量变量是指在程序执行中其值可以改变的量。变量的作用是存取程序中需要处理的数据,它“对应”于某个内存空间。变量有3个基本要素合法的变量名变量的数据类型变量的数值…………
1243078
1243079
1243080
1243081
1243082
1243083
1243084
1243085
1243086
1243087
1243088
1243089
1243090内存空间内存地址存储单元(1Byte)12变量a的地址变量a的数值29第29页,课件共49页,创作于2023年2月2.4.1变量名命名命名标识符必须遵循下列规则:标识符由大、小写英文字母、数字字符(0~9)和下划线组成,且第1个字符必须为字母或下划线,其后跟零个或多个字母、数字、下划线C++语言中的大、小写是敏感的不能与关键字同名标识符在命名时要考虑标识符的有效长度以及标识符的易读性。匈牙利命名法
30第30页,课件共49页,创作于2023年2月2.4.2变量的定义定义变量的目的是通知编译器为其开辟内存空间。C++变量满足“即用即定义”的编程习惯,但要遵循“先定义,后使用”的原则。在同一个作用域中,不能对同一个变量重新定义。intmyAge,myWeight;doublearea,width,length;<数据类型><变量名1>[,<变量名2>,…];31第31页,课件共49页,创作于2023年2月2.4.3变量赋值和初始化引用变量,就是使用变量名来引用变量的内存空间。变量名是内存空间的一个标识,对变量名的操作也是对其内存空间的操作。给变量赋初值的方法在变量定义后,使用赋值语句来赋初值在变量定义的同时赋给变量初值在多个变量的定义语句中单独对某个变量进行初始化32第32页,课件共49页,创作于2023年2月变量初始化的两种形式实例intnNum1,nNum2=3,nNum3;intnNum1,nNum2(3),nNum3;<数据类型><变量名1>[=<变量1初值>,<变量名2>=<变量2初值>,…];<数据类型><变量名1>[(<变量1初值>),<变量名2>(<变量2初值>),…];33第33页,课件共49页,创作于2023年2月2.1计算机内的数据表示2.2基本数据类型2.3字面常量2.4变量2.5标识符常量2.6基本输入输出
34第34页,课件共49页,创作于2023年2月2.5标识符常量标识符常量,又称符号常量,它用一个标识符来代替一个数值。同变量相似,标识符常量在使用前同样需要先进行声明。在C++中,标识符常量可以有三种形式:const修饰的只读变量#define定义的常量enum类型的枚举常量35第35页,课件共49页,创作于2023年2月2.5.1const只读变量在定义变量时,若使用关键字const来修饰,该变量是只读的,即在程序中对其只能读取不能修改只读变量必须在定义时赋初值const标识符常量的值不能修改const<数据类型><常量名1>=<常量值1>
[,<常量名2>=<常量值2>,…];36第36页,课件共49页,创作于2023年2月[例Ex_PI]标识符常量:const修饰的只读变量#include<iostream>usingnamespacestd;constdoublePI=3.14159265;//PI是一个只读变量intmain(){ doubler=100.0,area; area=PI*r*r; //引用PI cout<<"圆的面积是:"<<area<<"\n"; return0; //指定返回值}37第37页,课件共49页,创作于2023年2月2.5.2#define标识符常量
#definePI3.14159265#define定义一个标识符常量,不是C++语句,因此行尾没有分号。在C++编程中,标识符常量都是用const定义,而不使用#define。#define<常量名><常量值1>38第38页,课件共49页,创作于2023年2月2.5.3枚举常量枚举常量是在由关键字enum指定的枚举类型中定义的,枚举类型属于构造类型,它是一系列的有标识符的整型常量的集合,因此枚举常量实质上是整型标识符常量。用enum一次可以定义多个标识符常量。enum<枚举类型名>{<枚举常量1,枚举常量2,…};39第39页,课件共49页,创作于2023年2月2.5.3枚举常量例如:enumWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat};定义枚举时,其花括号中的名称代表某个整数值,默认时,第一个名称对应整数0,第二个对应1,…也可以规定枚举元素对应的整数值;enumColor{red=5,green,yellow,blue=20,orange};40第40页,课件共49页,创作于2023年2月2.1计算机内的数据表示2.2基本数据类型2.3字面常量2.4变量2.5标识符常量2.6基本输入输出
41第41页,课件共49页,创作于2023年2月2.6基本输入/输出流是C++的一个核心概念,数据从一个位置到另一个位置的流动抽象为“流”。当数据从键盘流入到程序中时,这样的流称为输入流当数据从程序中流向屏幕或磁盘文件时,这样的流称为输出流C++提供了4个标准流对象:cin:处理标准输入,即键盘输入cout:处理标准输出,即屏幕输出cerr、clog:处理标准出错信息,并将信息显示在屏幕上42第42页,课件共49页,创作于2023年2月2.6.1输入流(cin)cin可以获得键盘的多个输入值提取运算符“>>”可以连续写多个,每个提取运算符后面跟一个获得输入值的变量或对象。提取运算符“>>”能自动将cin输入值转换成相应变量的数据类型。从键盘输入的数据的个数、数据类型及顺序,必须与cin中的列举的变量一一匹配。
cin>><对象1>{>><对象2>…};43第43页,课件共49页,创作于2023年2月2.6.2输出流(cout)通过cout可以输出一个整数、实数、字符及字符串。插入运算符“<<”可以连续写多个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全球及中国表面肌电测试系统行业头部企业市场占有率及排名调研报告
- 2025年全球及中国一次锂亚硫酰氯电池行业头部企业市场占有率及排名调研报告
- 2025年全球及中国动态图像粒度粒形分析系统行业头部企业市场占有率及排名调研报告
- 2023年全球及中国无人驾驶接驳小巴行业头部企业市场占有率及排名调研报告
- 2025小饭店员工的劳动合同范本
- 出境旅游合同书
- 2025办公室装修合同书集锦
- 房产股权转让合同
- 存量房买卖合同合同范本
- 陆路货物运输合同承运人定义年
- 2023学年度第一学期高三英语备课组工作总结
- 临建标准化图集新版
- 安监人员考核细则(2篇)
- 生活老师培训资料课件
- 2020年新概念英语第一册lesson97-102单元检测
- 腹主动脉瘤(护理业务学习)
- 注射用醋酸亮丙瑞林微球
- 大学生就业指导PPT(第2版)全套完整教学课件
- 家具安装工培训教案优质资料
- 湖南大一型抽水蓄能电站施工及质量创优汇报
- envi二次开发素材包-idl培训
评论
0/150
提交评论