版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基本数据类型与输入输出第1页,课件共26页,创作于2023年2月标识符的构成规则以大写字母、小写字母或下划线(_)开始。由以大写字母、小写字母、下划线(_)或数字0~9组成。大写字母和小写字母代表不同的标识符。标识符不能使用关键字。例:
i jkmyStr Binary_Tree _123
以下的标识符为非法的:
2_Treestruct -VV C++语言是大小写敏感语言,所以以下均是一些合法的、且是不同的标识符:
Friend FRIEND my_carmyCar(骆驼表示法)第2页,课件共26页,创作于2023年2月2.2基本的数据类型一个程序要运行,就要先描述其算法;描述一个算法应首先说明算法中要用到的数据,数据以变量或常量的形式来描述。每个变量或常量都有数据类型。变量的数据类型的一个重要作用就是告诉编译器要为变量分配多少个字节的内存空间。如:在16位计算机中,int2个字节、float4、double8C++数据类型分为基本数据类型和非基本数据类型两种:第3页,课件共26页,创作于2023年2月2.2基本的数据类型(续)基本类型枚举enum指针type*空类型void整型int字符型逻辑型bool实型(符点)单精度float双精度double数组type[]结构struct联合union数据类型单字符型char宽字符型wchar_t非基本类型类class注:关于基本数据类型在内存中的描述可以看P14表2-2,程序中可用sizeof(数据类型)来确定某数据类型长度。第4页,课件共26页,创作于2023年2月2.2基本的数据类型(续)C++还为基本数据类型预定义了4个类型修饰前缀它们分别是:
short //短整型,仅修饰int long //长型,修饰int,double
signed //有符号,修饰char,int
unsigned //无符号,修饰char,int注意:当用修饰前缀来修饰int时,允许省略关键字int。另外,关键字signed和unsigned还可以与long及short组合起来修饰整型数据。例:unsignedlongul; //ul被说明成一个无符号长整型量
longdoubleHuge; //Huge被说明成一个长的双精度
//型量,其值可达-3.4E4932~1.1E4932第5页,课件共26页,创作于2023年2月2.3常量1、整型常量(整型常数)(1)十进制整型常量的表示形式与日常数学相同;(2)八进制整型常量由字符0~7组成,起始字符必须是0;(3)十六进制整型常量由字符0~9及a~f组成,起始的两个字符必须是0x,其中,字母字符大小写意义相同。例:
123//十进制表示的壹百贰十叁
0173 //八进制表示的壹百贰十叁
0x7b //十六进制表示的壹百贰十叁第6页,课件共26页,创作于2023年2月2、实型常数实型数值常量仅用十进制表示。(1)小数形式:数字和小数点组成。(必须要有小数点)如:0.123,3.14159(2)指数形式:314159e-5。
注意:e和E之前要有数字,且E后的指数必须为整数。如:e3,1e3.5不是合法的指数形式。
2.3常量(续)第7页,课件共26页,创作于2023年2月3、字符常量(1)字符常量由单个字符构成,其基本表示形式为一对单引号括起来的一个字符。例:'a' 'M' '5' '$' ''注意:在内存中,字符数据以ASCII码存储,即以整数表示。(2)转义字符其表示方式为反斜杠“\”后跟一个无前缀0的八进制或十六进制常量,常量的值为欲表示之字符常量的ASCII码。例:'A'、'\101'、'\x41'均表示字符常量A(字符常量A的ASCII码值为65)。2.3常量(续)第8页,课件共26页,创作于2023年2月(3)几个特殊的转义字符
\a //响铃
\n //换行
\t //水平制表符
\v //垂直制表符
\b //退格
\r //回车
\\ //反斜杠(“\”)
\'' //双引号(“''”)
\' //单引号(“'”)2.3常量(续)第9页,课件共26页,创作于2023年2月4、字符串常量字符串常量是由一对双引号括起来的字符序列,例如:
"HELLO"注意:C++语言所采用的字符串在串中不包含长度信息,而用一个ASCII值为0的字符来标识串的结束位置。因此,串所占用的存储空间比其实际字符个数要多一个字节。例如:上述字符串常量所占的内存如下图所示。特别注意:'\0'又叫字符串结束符,是C++约定的字符串结束符。2.3常量(续)HELLO'\0'比较:(1)"\0"和'\0' (2)"0"和'0'第10页,课件共26页,创作于2023年2月5、枚举常量枚举常量可通过建立枚举类型来定义。enum枚举类型名{枚举常量值列表};如:enumCOLOR{RED,BLUE,GREEN,WHITE,BLACK};注:(1)COLOR是类型名(自定义),不是变量。(2)RED、BLUE等都是枚举常量,在内存中以正数形式存储。若无专门赋值,第一个枚举值为0,第二个为1。(3)可以给枚举常量赋值,enumCOLOR{RED=100,BLUE=20,GREEN};2.3常量(续)第11页,课件共26页,创作于2023年2月(1)变量定义变量就是其值可变的量。一个变量是一块用标识符(叫做变量名)所标识的存储单元,用于存放可由程序修改的值。C++语言中的变量必须“先定义,后使用”。定义变量也叫做说明(Declare)变量,说明变量的一般形式为:type var_name
<,var_name...>;type为数据类型;var_name为标识符,即程序员为变量所取的名字。例:inti,j; //定义两个整型变量
charch;//定义一个字符型变量
doubledfResult;//定义一个双精度型变量2.4变量第12页,课件共26页,创作于2023年2月变量具有4种基本属性:
1.用变量名标识;
2.占据一定的存储单元;
3.有且仅有一个值;
4.新值将取代旧值。2.4变量(续)00000010001101110237}i20002001inti;i=0x0237;i=0x1356;第13页,课件共26页,创作于2023年2月(2)变量赋值与初始化☆用赋值运算符“=”给变量赋值
intwidth;width=5;☆定义时直接给变量一个初始值,称为变量的初始化
intwidth=5;☆定义时可初始化多个变量
intwidth=5,length=10;☆定义时不需要对每个变量都初始化
doublearea,radius=23;2.4变量(续)第14页,课件共26页,创作于2023年2月(3)typedef
用typedef为一个已有的类型名提供一个别名。语法形式:typedef已有类型名
新类型名;例:typedefdoubleprofit;//定义double的别名
typedefintINT,integer;//定义int的两个别名
INTa;//等价inta;注意:
typedef没有实际定义一个新的数据类型,而为一个已有的类型名提供一个别名。2.4变量(续)第15页,课件共26页,创作于2023年2月2.5常量定义若程序中想让变量的内容初始化以后就保持不变,可以定义一个常量。语法形式:const
类型名标识符=常量表达式;如:constfloatpi=3.1415926;注:(1)常量在定义时必须初始化;(2)程序中不能对常量重新赋值;(3)分配存储空间第16页,课件共26页,创作于2023年2月1、I/O书写格式☆标准输入流cin格式:
cin>>variable<>>variable...>;
其中,符号“>>”叫做抽取运算符,它的作用是从输入流
cin(缺省为控制台)中获取一个与变量variable之类型相匹配的值,并将该值赋给变量variable。例:
cin>>i; cin>>x>>y>>z;
注意后一种用法:在响应串联方式的输入时,所输入的各数值必须用空白字符(空格键、Tab键或回车键)分隔开来。2.5I/O流控制第17页,课件共26页,创作于2023年2月☆标准输出流cout格式:
cout<<expression<<<expression…>;
其中,符号“<<”叫做插入运算符,它的作用是向输出流
cout中传递表达式expression的值。例:cout<<2*3; cout<<2<<""<<3;注意:在串联方式输出中,各表达式常常需要人为地加上某些分隔符号,比如上面第二个输出中实际上是输出了3个常量:2、3以及由两个空格构成的字符串常量,字符串常量在这里起到分隔两个数值的作用。若无该字符串常量,则输出将变成:232.5I/O流控制(续)第18页,课件共26页,创作于2023年2月2、使用流控制符(在头文件iomanip.h定义)流的默认格式不满足要求,则要用控制符对I/O流的格式进行控制。如:C++默认的浮点数输出是6位有效位,想让小数点后保留2位,怎么办?(1)控制浮点数值显示☆
setprecision(n):控制输出流显示浮点数的有效位数☆
setprecision(n)与setiosflags(ios::fixed)控制小数点右边的数字个数;这里setiosflags(ios::fixed)是用定点方式表示实数。☆
setiosflags(ios::scientific)控制指数表示法的小数位数。2.5I/O流控制(续)第19页,课件共26页,创作于2023年2月//*********************//**ch2_1.cpp**//*********************#include<iostream.h>#include<iomanip.h>//要用到格式控制符voidmain(){doubleamount=22.0/7;cout<<amount<<endl;cout<<setprecision(0)<<amount<<endl<<setprecision(1)<<amount<<endl<<setprecision(2)<<amount<<endl<<setprecision(3)<<amount<<endl<<setprecision(4)<<amount<<endl;
2.5I/O流控制(续)第20页,课件共26页,创作于2023年2月
cout<<setiosflags(ios::fixed);cout<<setprecision(8)<<amount<<endl;cout<<setiosflags(ios::scientific)<<amount<<endl;cout<<setprecision(6);//重新设置成原默认设置}注:(1)浮点数表示输出中,setprecision(n)表示有效位数,有效位数最小为1;(2)定点表示的输出中,setprecision(n)表示小数位数。(3)指数形式输出中,setprecision(n)表示小数位数。(4)小数位数截短显示时,进行4舍5入。2.5I/O流控制(续)第21页,课件共26页,创作于2023年2月(2)设置值的输出宽度:setw(n)控制符☆
实际输出值的宽度大于n,按实际宽度输出☆实际输出值的宽度小于n,在输出值前补空格,如:
cout<<setw(8)<<10<<20<<endl;结果为:□□□□□□1020☆若要每个值的宽度都为8,则每个值都要设置。
cout<<setw(8)<<10 <<setw(8)<<20<<endl;2.5I/O流控制(续)第22页,课件共26页,创作于2023年2月(3)设置填充字符setw可用来确定显示的宽度,用空格来补充。用setfill控制符确定一个的别的填充符号。2.5I/O流控制(续)//*********************//**ch2_3.cpp**//*********************#include<iostream.h>#include<iomanip.h>voidmain(){cout<<setfill('*')<<setw(2)<<21<<endl<<setw(3)<<21<<endl<<setw(4)<<21<<endl;cout<<setfill('');//恢复默认设置}第23页,课件共26页,创作于2023年2月(4)左右对齐输出
setiosflags(ios::left)和setiosflags(ios::right)控制输出左右对齐。2.5I/O流控制(续)//*********************//**ch2_4.cpp**//*********************#include<iostream.h>#include<iomanip.h>voidmain(){cout<<setiosflags(ios::right)<<setw(5)<<1<<setw(5)<<2<<setw(5)<<3<<endl;cout<<setiosflags(ios::left)<<setw(5)<<1<<setw(5)<<2<<setw(5)<<3<<endl;}第24页,课件共26页,创作于2023年2月(5)显示小数点和符号如cout<<10.0/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新建GPU芯片模压成型生产线技改可行性研究报告
- 2026-2027学年 北师大版数学七年级上学期期中模拟测试基础卷
- 氧化铝环保脱硫脱硝系统建设可行性研究报告
- 2026督查局面试题目及答案
- 2026公安国考面试题及答案
- 2026管网电工面试题及答案
- 2026护士质控面试题及答案
- 2026健康监督面试题及答案
- AI在证券监管中的伦理边界探讨
- 人工智能与证券投资顾问
- 类器官科普教学课件
- 2025年仓储管理作业指导手册
- 学校改造方案分析
- 2025山东聊城冠县事业单位初级综合类岗位招聘工作人员26人历年真题汇编带答案解析
- COPD患者戒烟行为干预方案
- 钢管扣件买卖合同协议
- 2025山东兖矿化工有限公司委托山东化工技师学院培养技能操作岗位员工招生200人笔试历年常考点试题专练附带答案详解2套试卷
- 供热企业运检人员专业知识习题集
- 神经调控课件
- GB/T 222-2025钢及合金成品化学成分允许偏差
- 老年患者护理风险与安全管理
评论
0/150
提交评论