C++程序设计基础(第5版)(上)_第1页
C++程序设计基础(第5版)(上)_第2页
C++程序设计基础(第5版)(上)_第3页
C++程序设计基础(第5版)(上)_第4页
C++程序设计基础(第5版)(上)_第5页
已阅读5页,还剩3103页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

C++程序设计基础

本课程根据高级语言程序设计的基本体系,学习结构化程序设计和面向对象程序设计的基本概念和方法,内容包括C++语言的基本语法;程序流程控制;数据的表示和应用;两种程序模块——函数和类;C++面向对象的重要特征,包括类、继承、多态和虚函数等。课程内容提要预备知识

第一台电子计算机

(ENIAC,ElectronicNumericalIntegratorAndCalculator)5000次加法/秒重量28吨占地170m218800只电子管1500个继电器功率150KW第一代(1946~1956)电子管5千~4万(次/秒)第二代(1957~1964)晶体管几十万~百万(次/秒)第三代(1965~1970)集成电路百万~几百万(次/秒)第四代(1971~90年代)集成电路几百万~几亿(次/秒)

计算机发展的几个阶段新一代的计算机把信息采集、存储处理、通信和人工智能结合在一起的计算机系统。计算机硬件基本组成数据流地址控制流(外)存储器(内)存储器中央处理器(CPU)控制器输入设备输出设备运算器微机硬件的基本配置主机箱显示器软盘驱动器光盘驱动器键盘鼠标打印机

计算机硬件基本组成计算机硬件基本组成

计算机系统的组成硬件系统软件系统主机外部设备系统软件应用软件中央处理器内存储器输入设备输出设备外存储器操作系统语言处理系统系统服务程序数据库管理系统文字处理软件表格处理软件辅助设计软件实时控制软件运算器控制器只读存储器随机存储器计算机硬件基本组成

十进制 R=10,数字集0,1,2,3,4,5,6,7,8,9二进制 R=2,数字集0,1八进制 R=8,数字集0,1,2,3,4,5,6,7十六进制R=16,数字集0,…,9,A,B,C,D,E,F逢R进一,借一当R进制的概念

二进制概念128瓦32瓦64瓦16瓦8瓦4瓦1瓦2瓦11111000信息复制的精确性运算规则简单电子线路制造计算机成为可能程序和指令指令是对计算机进行程序控制的最小单位。所有的指令的集合称为计算机的指令系统。程序是为完成一项特定任务而用某种语言编写的一组指令序列。机器指令格式操作码操作数机器执行什么操作执行对象(具体数、存放位置)

信息的存储单位位(Bit):度量数据的最小单位字节(Byte):最常用的基本单位K字节 1K=1024byteM(兆)字节 1M=1024KG(吉)字节 1G=1024M

T(太)字节 1T=1024Gb7b6b5b4b3b2b1b010010101=27+24+22+20=149计算机语言介绍自然语言

人与人之间用来表达意思,交流思想的工具。是由语音、词汇和语法构成的一定系统。程序设计语言

人指挥计算机工作的工具。是由字、词和语法规则构成的指令系统。程序设计语言分类机器语言:面向机器的指令系统汇编语言:以类英语缩写来编程序高级语言:不面向机器,用接近人类语言的描述方式构成的指令系统翻译程序汇编程序:把汇编源程序转换为机器语言的程序编译器:把高级语言程序转换为机器语言或汇编语言的翻译程序计算机可以看作一个语言系统工具高级语言低级语言线路语言人可以使用不同层次的语言与计算机交互程序设计语言分类计算机可以看作一个语言系统人可以使用不同层次的语言与计算机交互程序设计语言分类工具高级语言低级语言线路语言计算机可以看作一个语言系统人可以使用不同层次的语言与计算机交互程序设计语言分类工具高级语言低级语言线路语言计算机可以看作一个语言系统人可以使用不同层次的语言与计算机交互程序设计语言分类工具高级语言低级语言线路语言指令比较汇编语言描述moveax,DWORDPTRa_$[ebp]leaeax,DWORDPTRa_$[eax+eax*2]movecx,DWORDPTRb_$[ebp]addecx,ecxsubeax,ecxinceaxmovDWORDPTRa_$[ebp],eax以下指令实现把表达式3a-2b+1的计算结果放到变量a中:C++描述

a=3*a-2*b+1;机器语言描述8b45fc8d04408d4df803c92bc1408945fcC++程序的开发过程编译错开始

编译连接错连接运行运行错结束编辑源程序是是是否否否编写程序的要求正确性可读性高效率用简洁明了的方式编写程序计算机和编译器是很好的教员阅读所用的语言版本手册用标准类库第1章基本数据与表达式

1.1概述 1.2C++的字符集与词汇 1.3C++的基本数据类型与存储形式 1.4数据对象与访问 1.5表达式 1.6数据输入和输出

小结

程序设计语言人指挥计算机工作的工具,是由字、词和语法规则构成的指令系统程序设计 根据特定的问题,使用某种程序设计语言,设计出计算机执行的指令序列主要完成两方面工作:数据描述 (2)数据处理1.1.1程序设计与程序设计语言1.1概述问题:输入圆的半径,求圆的周长和面积

数据描述:

半径,周长,面积均用实型数表示数据处理:

输入半径r; 计算周长=2*π*r

; 计算面积=π*r2; 输出半径,周长,面积;1.1.2一个简单的C++程序1.1概述例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){

doubler,girth,area;constdoublePI=3.1415;

cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}数据描述例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area;constdoublePI=3.1415;

cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}数据处理例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area;constdoublePI=3.1415;

cout<<"Pleaseinputradius:\n";cin>>r;

girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}输入数据例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area;constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;

girth=2*PI*r;area=PI*r*r;

cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}计算周长和面积例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area;constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;

cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}输出计算结果例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area;constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}注释行例1-1

方法一,用结构化方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;intmain(){doubler,girth,area;constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}//countthegirthandareaofcircle//thisisasimpleprogram注释第一种形式:以”//”开始至行末例1-1

方法一,用结构化方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;intmain(){doubler,girth,area;constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}/*thisisasimpleprogramcountthegirthandareaofcircle*/注释第一种形式:以”//”开始至行末第二种形式:/*字符串*/例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}预编译指令在程序编译之前把指定文件内容复制到此处例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}使用标准命名空间例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}函数头例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}函数返回值类型main函数一般用int类型例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}函数名main

主函数名,系统预定义例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}参数表没有参数不能省略圆括号例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}函数体花括号相括的语句序列各语句以分号结束一行可以写多个语句一个语句可以分多行书写例1-1

方法一,用结构化方法编程,求圆的周长和面积

//countthegirthandareaofcircle#include<iostream>usingnamespacestd;intmain(){doubler,girth,area; constdoublePI=3.1415;cout<<"Pleaseinputradius:\n";cin>>r;girth=2*PI*r;area=PI*r*r;cout<<"radius="<<r<<endl;cout<<"girth="<<girth<<endl;cout<<"area="<<area<<endl;}函数是程序基本运行单位,一般形式为:类型函数名(参数表){

语句序列}例1-2

用面向对象方法编程,求圆的周长和面积

分析“圆”是抽象的类类型建立具体的圆(对象)半径?圆的周长?面积?实例化例1-2

用面向对象方法编程,求圆的周长和面积

分析圆类

数据成员

半径

成员函数

置半径值 求圆的半径

求周长

求面积实例化例1-2

用面向对象方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;classCircle{doubleradius;public:voidSet_Radius(doubler){radius=r;}doubleGet_Radius(){returnradius;}doubleGet_Girth(){return2*3.14f*radius;}doubleGet_Area(){return3.14f*radius*radius;}};intmain(){CircleA,B;A.Set_Radius(6.23);cout<<"A.Radius="<<A.Get_Radius()<<endl;cout<<"A.Girth="<<A.Get_Girth()<<endl;cout<<"A.Area="<<A.Get_Area()<<endl;B.Set_Radius(10.5);cout<<"B.radius="<<B.Get_Radius()<<endl;cout<<"B.Girth="<<B.Get_Girth()<<endl;cout<<"B.Area="<<B.Get_Area()<<endl;}例1-2

用面向对象方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;classCircle{doubleradius;public:voidSet_Radius(doubler){radius=r;}doubleGet_Radius(){returnradius;}doubleGet_Girth(){return2*3.14*radius;}doubleGet_Area(){return3.14*radius*radius;}};intmain(){CircleA,B;A.Set_Radius(6.23);cout<<"A.Radius="<<A.Get_Radius()<<endl;cout<<"A.Girth="<<A.Get_Girth()<<endl;cout<<"A.Area="<<A.Get_Area()<<endl;B.Set_Radius(10.5);cout<<"B.radius="<<B.Get_Radius()<<endl;cout<<"B.Girth="<<B.Get_Girth()<<endl;cout<<"B.Area="<<B.Get_Area()<<endl;}Circle类定义例1-2

用面向对象方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;classCircle{

doubleradius;

public:voidSet_Radius(doubler){radius=r;}doubleGet_Radius(){returnradius;}doubleGet_Girth(){return2*3.14*radius;}doubleGet_Area(){return3.14*radius*radius;}};intmain(){CircleA,B;A.Set_Radius(6.23);cout<<"A.Radius="<<A.Get_Radius()<<endl;cout<<"A.Girth="<<A.Get_Girth()<<endl;cout<<"A.Area="<<A.Get_Area()<<endl;B.Set_Radius(10.5);cout<<"B.radius="<<B.Get_Radius()<<endl;cout<<"B.Girth="<<B.Get_Girth()<<endl;cout<<"B.Area="<<B.Get_Area()<<endl;}数据成员例1-2

用面向对象方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;classCircle{

doubleradius;

public:

voidSet_Radius(doubler){radius=r;}doubleGet_Radius(){returnradius;}doubleGet_Girth(){return2*3.14*radius;}doubleGet_Area(){return3.14*radius*radius;}};intmain(){CircleA,B;A.Set_Radius(6.23);cout<<"A.Radius="<<A.Get_Radius()<<endl;cout<<"A.Girth="<<A.Get_Girth()<<endl;cout<<"A.Area="<<A.Get_Area()<<endl;B.Set_Radius(10.5);cout<<"B.radius="<<B.Get_Radius()<<endl;cout<<"B.Girth="<<B.Get_Girth()<<endl;cout<<"B.Area="<<B.Get_Area()<<endl;}成员函数例1-2

用面向对象方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;classCircle{doubleradius;public:voidSet_Radius(doubler){radius=r;}doubleGet_Radius(){returnradius;}doubleGet_Girth(){return2*3.14*radius;}doubleGet_Area(){return3.14*radius*radius;}};intmain(){CircleA,B;A.Set_Radius(6.23);cout<<"A.Radius="<<A.Get_Radius()<<endl;cout<<"A.Girth="<<A.Get_Girth()<<endl;cout<<"A.Area="<<A.Get_Area()<<endl;B.Set_Radius(10.5);cout<<"B.radius="<<B.Get_Radius()<<endl;cout<<"B.Girth="<<B.Get_Girth()<<endl;cout<<"B.Area="<<B.Get_Area()<<endl;}建立对象(类类型变量)例1-2

用面向对象方法编程,求圆的周长和面积

#include<iostream>usingnamespacestd;classCircle{doubleradius;public:voidSet_Radius(doubler){radius=r;}doubleGet_Radius(){returnradius;}doubleGet_Girth(){return2*3.14*radius;}doubleGet_Area(){return3.14*radius*radius;}};intmain(){CircleA,B;

A.Set_Radius(6.23);cout<<"A.Radius="<<A.Get_Radius()<<endl;cout<<"A.Girth="<<A.Get_Girth()<<endl;cout<<"A.Area="<<A.Get_Area()<<endl;

B.Set_Radius(10.5);cout<<"B.radius="<<B.Get_Radius()<<endl;cout<<"B.Girth="<<B.Get_Girth()<<endl;cout<<"B.Area="<<B.Get_Area()<<endl;}通过对象调用类的成员函数

新建项目1.1.3程序的编译执行

新建项目1.1.3程序的编译执行在VC集成开发环境选择新建项目命令1.1.3程序的编译执行在弹出对话框选择文件类型

新建项目输入1.1.3程序的编译执行一个解决方案可以包含多个项目一个项目建立一个解决方案是好习惯

新建项目1.1.3程序的编译执行确认

新建项目1.1.3程序的编译执行确认

新建项目1.1.3程序的编译执行或者选择CLR空项目可以简化操作步骤CLR(CommonLanguageRuntime)公共语言运行时,是一个运行时环境,负责资源管理,并保证应用和底层操作系统之间必要的分离。

新建项目1.1.3程序的编译执行项目结构

新建项目

添加源程序1.1.3程序的编译执行添加源程序

添加源程序1.1.3程序的编译执行选择文件类型输入文件名

编辑程序1.1.3程序的编译执行在编辑窗口输入源程序

编辑程序

编译程序选择编译命令热键F71.1.3程序的编译执行

编辑程序

编译程序编译成功1.1.3程序的编译执行

执行程序

编辑程序

编译程序1.1.3程序的编译执行选择执行命令热键Ctrl+F51.1.3程序的编译执行

执行程序

编辑程序

编译程序1.1.3程序的编译执行1.1.3程序的编译执行等待输入数据

执行程序

编辑程序

编译程序1.1.3程序的编译执行运行结果

所有的语言系统都是由字符集和规则集组成的

“字符”是语言的不可分解的最基本语法单位

由字符可以组成“词”,由词组成“表达式”、“句子”,又由各种句子构成“函数”、“程序”

1.2C++的字符集与词汇C++语言的字符集是ASCII码的子集,有:26个小写字母:

abcdefghijklmnopqrstuvwxyz26个大写字母:

ABCDEFGHIJKLMNOPQRSTUVWXYZ10个数字:

0123456789其他符号: 空格!″#%&′()*+-/:;<=>?[\]^_{|}~.1.2C++的字符集与词汇

单词是语言中有意义的最小语法单位。根据形成规则,一个单词由一个或多个字符组成。1.2C++的字符集与词汇1.关键字

又称保留字关键字是系统预定义的单词。C++不允许对关键字重定义。1.2C++的字符集与词汇C++常用的关键字:autobreakcasecharclassconstcontinuedefaultdeleteelseenumexplicitexternfloatforfriendgotoifinlineintlongnewoperatorprivateprotectedpublicregisterreturnshortsignedsizeofstaticstructswitchthistypedefunionunsignedvirtualvoidwhile2.标识符

由程序员定义的命名符

1.2C++的字符集与词汇语法:以字母或下划线开始,由字母、数字和下划线组成的符号串注意:breakmainint

等不能用于命名程序中的自定义函数、变量、常量(1)不能使用关键字作用户标识符;(2)C++中,字母大小写敏感;(3)C++没有规定标识符的长度,不同编译系统有不同的识别长度;(4)标识符尽可能做到见文知义。Aa

和aa是两个不同的标识符2.标识符

由程序员定义的命名符

1.2C++的字符集与词汇语法:以字母或下划线开始,由字母、数字和下划线组成的符号串例1-3

判断以下标识符的正确性:合法标识符有: ax1no_1_a2csumNamename不合法标识符有: 2ax+y

a,ba&bconst2.标识符

由程序员定义的命名符

1.2C++的字符集与词汇语法:以字母或下划线开始,由字母、数字和下划线组成的符号串例1-3

判断以下标识符的正确性:合法标识符有: ax1no_1_a2csumName

name不合法标识符有: 2ax+y

a,ba&bconst它们是不同的标识符2.标识符

由程序员定义的命名符1.2C++的字符集与词汇语法:以字母或下划线开始,由字母、数字和下划线组成的符号串例1-3

判断以下标识符的正确性:以数字开头合法标识符有: ax1no_1_a2csumNamename不合法标识符有: 2ax+y

a,ba&bconst2.标识符

由程序员定义的命名符

1.2C++的字符集与词汇语法:以字母或下划线开始,由字母、数字和下划线组成的符号串例1-3

判断以下标识符的正确性:合法标识符有: ax1no_1_a2csumNamename不合法标识符有: 2ax+y

a,b

a&bconst非法符号2.标识符

由程序员定义的命名符1.2C++的字符集与词汇语法:以字母或下划线开始,由字母、数字和下划线组成的符号串例1-3

判断以下标识符的正确性:关键字合法标识符有: ax1no_1_a2csumNamename不合法标识符有: 2ax+y

a,ba&bconst

3.运算符

运算符是对数据进行操作的简洁表达,以单词的形式调用系统预定义函数1.2C++的字符集与词汇例如:

+

加 -

减 *乘 /

>

大于 <

小于 >=

大于或等于

==

等于 !=

不等于 <=

小于或等于4.分隔符

用于在程序分隔不同的语法单位,便于编译系统的识别1.2C++的字符集与词汇常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等不同性质的单词连接,单词本身也起到分隔符的作用例如:

inta,b,c; a=b+c;必须用空格作分隔符常用的分隔符有:空格,逗号,分号,冒号,括号,注释符等不同性质的单词连接,单词本身也起到分隔符的作用4.分隔符

用于在程序分隔不同的语法单位,便于编译系统的识别1.2C++的字符集与词汇例如:

inta,b,c; a=b+c;运算符也用作分隔符5.常数

常数由数据的书写形式定义它的类型和值基本类型常数在程序运行时直接参与运算,不占用内存存储例如:

5003.141590.263e-10'N'1.2C++的字符集与词汇例如:

5003.141590.263e-10'N'整数

常数由数据的书写形式定义它的类型和值基本类型常数在程序运行时直接参与运算,不占用内存存储5.常数1.2C++的字符集与词汇例如:

5003.141590.263e-10

'N'浮点数

常数由数据的书写形式定义它的类型和值基本类型常数在程序运行时直接参与运算,不占用内存存储5.常数1.2C++的字符集与词汇例如:

5003.141590.263e-10'N'字符

常数由数据的书写形式定义它的类型和值基本类型常数在程序运行时直接参与运算,不占用内存存储5.常数1.2C++的字符集与词汇

“类型”是对数据的抽象

类型相同的数据有相同的表示形式、存储格式以及相关的操作

程序中使用的所有数据都必定属于某一种数据类型1.3C++的基本数据类型与存储形式1.3.1C++的数据类型

整型(int) 浮点型(float,double)基本类型 字符型(char) 空类型(void) 用户定义类型枚举类型(enum)

数据类型 数组([]) 结构(struct) 联合(union) 类(class) 指针类型(*)简单类型结构类型1.3.2数据存储::一个二进制位(bit)存储阵列::一个二进制位(bit)存储阵列1.3.2数据存储::一个二进制位(bit)存储阵列1.3.2数据存储::8位一个字节(byte)存储阵列1.3.2数据存储::8位一个字节(byte)存储阵列1.3.2数据存储::16位一个字(word)存储阵列1.3.2数据存储::32位一个字(word)存储阵列1.3.2数据存储0000000001000001::空字符<'\0',char>存储阵列1.3.2数据存储字符'A'<'A',char>0000000001000001::存储阵列1.3.2数据存储整型值65<65,int>0000000001000001::存储阵列1.3.2数据存储1.3.3基本类型

常用数据类型描述1.整型

类型说明字节范围short[int]短整型2-32768~32767signedshort[int]有符号短整型2-32768~32767unsignedshort[int]无符号短整型20~65535int整型4-2147483648~2147483647signed[int]有符号整型4-2147483648~2147483647unsigned[int]无符号整型40~4294967295long[int]长整型4-2147483648~2147483647signedlong[int]有符号长整型4-2147483648~2147483647unsignedlong[int]无符号长整型40~4294967295int十进制(Decimal,base10)示数形式[+]|-Digits[L|l]1.整型

int十进制(Decimal,base10)[+]|-Digits[L|l]0~9数字串第一个数字必须非01.整型

示数形式int[+]|-Digits[L|l]可选Lorl

指定longint十进制(Decimal,base10)1.整型

示数形式int例如:

23 -45 101 +55 23L -45L 101L +55L[+]|-Digits[L|l]十进制(Decimal,base10)1.整型

示数形式int八进制(Octal,base8)OctalDigits[L|l]1.整型

示数形式intOctalDigits

[L|l]0~7数字串必须以数字0为前缀八进制(Octal,base8)1.整型

示数形式intOctalDigits[L|l]例如:

023 0771 045 010八进制(Octal,base8)1.整型

示数形式intOctalDigits[L|l]例如:

023 0771 045 0101.整型

2×81+3×80=19int八进制(Octal,base8)示数形式例如:

023 0771 045 0101.整型

7×82+7×81+1×80=505intOctalDigits[L|l]八进制(Octal,base8)示数形式例如:

023 0771 045 0101.整型

4×81+5×80=37intOctalDigits[L|l]八进制(Octal,base8)示数形式例如:

023 0771 045 0101.整型

1×81+0×80=8intOctalDigits[L|l]八进制(Octal,base8)示数形式十六进制(Hexadecimal,base16)(0x|0X)HexDigits[L|l]1.整型

示数形式int以0x或0X为前缀(0x|0X)HexDigits[L|l]1.整型

int十六进制(Hexadecimal,base16)示数形式十六进制数字串可以为0~9,a~f(或A~F)(0x|0X)HexDigits[L|l]1.整型

int十六进制(Hexadecimal,base16)示数形式(0x|0X)HexDigits[L|l]例如:

0x2a 0x45 0xffL 0xA1e1.整型

int十六进制(Hexadecimal,base16)示数形式(0x|0X)HexDigits[L|l]例如:

0x2a 0x45 0xffL 0xA1e1.整型

2×161+10×160=42int十六进制(Hexadecimal,base16)示数形式(0x|0X)HexDigits[L|l]例如:

0x2a 0x45 0xffL 0xA1e1.整型

4×161+5×160=69int十六进制(Hexadecimal,base16)示数形式(0x|0X)HexDigits[L|l]例如:

0x2a 0x45 0xffL 0xA1e1.整型

15×161+15×160=255int十六进制(Hexadecimal,base16)示数形式(0x|0X)HexDigits[L|l]例如:

0x2a 0x45 0xffL 0xA1e1.整型

10×162+1×161+14×160=2590int十六进制(Hexadecimal,base16)示数形式例如

1>3 false 2+3==3+2 true1.整型

bool逻辑类型只有两个值:truefalse1.整型

enum枚举类型,用户自定义的数据类型,用标识符表的序号表示的数据。//例1-4#include<iostream>usingnamespacestd;enumcolour{red,yellow,blue,white,black};intmain(){colourc;c=red;cout<<"red:"<<c<<endl;c=blue;cout<<"blue:"<<c<<endl;c=black;cout<<"black:"<<c<<endl;}1.整型

enum//例1-4#include<iostream>usingnamespacestd;enumcolour{red,yellow,blue,white,black};intmain(){colourc;c=red;cout<<"red:"<<c<<endl;c=blue;cout<<"blue:"<<c<<endl;c=black;cout<<"black:"<<c<<endl;}1.整型

enum类型标识符枚举常量枚举类型变量

float 4字节 单精度浮点型 double 8字节 双精度浮点型longdouble 8字节 长双精度浮点型2.浮点型

常用示数方式[+|-]Digits.Digits[F|f|L|l]2.浮点型

[+|-]Digits.Digits[F|f|L|l]数字串常用示数方式2.浮点型

[+|-]Digits.Digits[F|f|L|l]只允许省略其中一个数字串常用示数方式2.浮点型

[+|-]Digits.Digits[F|f|L|l]可选的类型说明符常用示数方式2.浮点型

[+|-]Digits.Digits[F|f|L|l]例如:

-2.343.141629.00.230.23常用示数方式2.浮点型

科学示数方式[+|-]Digits.Digits[Exponent][F|f|L|l]2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l]科学示数方式2.浮点型

尾数,数字串[+|-]Digits.Digits[Exponent][F|f|L|l]有指数部分时不能省略尾数部分科学示数方式2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l]可选择的指数部分科学示数方式2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l]指数部分的表示形式(e|E)[+|-]Digits科学示数方式2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits以字母e或E开始指数部分的表示形式科学示数方式2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits可选符号指数部分的表示形式科学示数方式2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits整数数字串指数部分的表示形式科学示数方式2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits例如:

1.23E100.23E-445.e+23-23.68E12 1.23E10F0.23E-4f45.e+23L-23.68E12L指数部分的表示形式科学示数方式2.浮点型

[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits例如:

1.23E100.23E-445.e+23-23.68E12 1.23E10F0.23E-4f45.e+23L-23.68E12L指数部分的表示形式科学示数方式2.浮点型

1.23×1010[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits例如:

1.23E100.23E-445.e+23-23.68E12 1.23E10F0.23E-4f45.e+23L-23.68E12L指数部分的表示形式科学示数方式2.浮点型

0.23×10-4[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits例如:

1.23E100.23E-445.e+23-23.68E12 1.23E10F0.23E-4f45.e+23L-23.68E12L指数部分的表示形式科学示数方式2.浮点型

0.23×10-4(单精度)[+|-]Digits.Digits[Exponent][F|f|L|l](e|E)[+|-]Digits例如:

1.23E100.23E-445.e+23-23.68E12 1.23E10F0.23E-4f45.e+23L-23.68E12L指数部分的表示形式科学示数方式2.浮点型

45.0×1023(双精度)char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算3.字符型表示方式'character'字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算3.字符型表示方式'character'字符,或八进制、十六进制值的转义符字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算3.字符型表示方式'character'例如:

'A''4'','''''字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算3.字符型表示方式'character'例如:

'A''4'','''''空格符字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算3.字符型表示方式例如:

'A''4'','''''空字符'character'字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算例如:

'a'<'b'

'0'>'2'

'B'+1 '2'+13.字符型表示方式'character'字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算例如:

'a'<'b'

'0'>'2'

'B'+1 '2'+13.字符型表示方式结果为1(逻辑真)'character'字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整型数据密切相关,以ASCII值参与运算例如:

'a'<'b'

'0'>'2'

'B'+1 '2'+13.字符型表示方式结果为0(逻辑假)'character'字符,八进制或十六进制值的转义符char

字符一般用ASCII编码

C++的字符型与整

温馨提示

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

最新文档

评论

0/150

提交评论