定义
C++是一种面向对象的计算机程序设计语言,由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现,最初它被称作“C with Classes”(包含类的C语言)。
贝尔实验室 20世纪80年代初期发明并实现。
用途
主要运用于文字处理程序以及电子表格,编译器,操作系统和大型游戏等等。
C++和C的区别
C语言是结构化和模块化的语言,面向过程。
C++是C语言的继承,保留了优点,进一步扩充和完善了C语言,成为一种面向对象的程序设计语言。
开发工具
记事本+命令行
Visual c++6.0 经典开发工具,但会与操作系统有所冲突。
Code::Blocks 开源免费,一般专业人员使用。
Dev C++ 操作简单,适用于初学者。
C++程序开发过程
分析问题。根据问题,分析需求,确定解决方法,选择适合的工具来描述。
编辑>源程序.cpp
预处理>编译器>目标程序.obj
连接程序>将一个或者多个目标程序与库函数进行连接>可执行文件.exe
运行调试>运行可执行文件。
C++程序
程序基本格式
C++ 程序由头文件、名字空间和主函数组成。
输入输出
C++中使用对象cin作为标准输入流对象,cin与提取操作符>>连用。
语法格式:cin >> 对象1 >> 对象2>>...>>对象n;
该语句是从输入设备上提取n个数据分别给对象1、对象2、...、对象n。
C++中使用对象cout作为标准输出流对象,cout与插入操作符<<连用。
语法格式:cout << 对象1 << 对象2<<...<<对象n;
该语句是依次从将对象1、对象2、...、对象n插入到输出中,从而实现了对象在显示器上的输出。
程序注释
在代码中添加一段说明和解释,方便阅读。
单行注释 以//开头。
int main()
{// 这是一个注释
cout << "Hello World" << endl;
return 0;
}
多行注释 使用/* */将内容括起来。
int main()
{
/*
这是我写的C++代码
是我写的第一个程序代码哦!
*/
cout << "Hello World" << endl;
return 0;
}
数据类型
字符集
字符集是构成C++程序语句的最小元素。字符集由英文字母 A~Z, a~z,数字 0-9以及特殊字符构成。
基本数据类型
类别 | 数据类型定义名 | 表示范围(存储值的范围) | 字节数 | 有效位数 |
---|---|---|---|---|
bool | bool | false, true (0,1) | 1 | |
char | [signed] char | '\x80'~'\x7F' (-128~127) | 1 | |
unsigned char | '\x00'~'\xFF' (0~255) | 1 | ||
wchar_t | '\x0000'~'\xFFFF'(0~65535) | 2 | ||
int | [signed] int | -231~231-1 (-2147483648~2147483647) | 4 | |
signed [int] | -231~231-1 | 4 | ||
unsigned [int] | 0~232-1 (0~4294967295) | 4 | ||
[signed] short [int] | -215~215-1 (-32768~32767) | 2 | ||
[signed] long [int] | -231~231-1 | 4 | ||
unsigned short [int] | 0~216-1 (0~65535) | 2 | ||
unsigned long [int] | 0~232-1 | 4 | ||
float | float | ±3.4e±38 | 4 | 7 |
double | ±1.7e±308 | 8 | 15 | |
long double | ±1.7e±4932 | 10(或8) | 19 | |
void | void |
常量
数值(文字常量)
数值是指直接参加运算的数,又称文字常量。
文字是指在程序中直接用符号表示的数值。
常量是指在程序运行过程中,其值不能被改变的量,一般用于记录程序中不可更改的数据。
所谓常量,其实是特殊的变量,固定不变的值,有且只有一次赋值。
整型数
整型常量是整数类型的数据,用来存储整数数值,没有小数的值。
十进制
整型数据的默认表示形式,不需要加任何前缀。数学中的数据就是用十进制表示的。十进制使用的数字有0、1、2、3、4、5、6、7、8、9。如:123、456、1、-123都是十进制整数。
八进制
以数字0作为前缀, 数字为0、1、2、3、4、5、6、7。如:0123表示八进制数123即(123)8。其值为:1×8^2+2×8^1+3×8^0,等于64+16+3=83(十进制83)。-017表示八进制数(-17)8,即十进制数-15。
十六进制
以0x或0X开头, 数字有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中英文字母A~F代表的值为10~15。 如:0x12B表示十六进制数(12B)16,其值为:1×162+2×161+11×160,等于十进制数299。-0x17等于十进制数-23。 十六进制使用的英文字母除了使用大写字母外还可以使用a、b、c、d、e、f小写字母,并且大小写可以混用。
浮点型数
浮点型数,就是我们平常使用的实型数,由整数部分和小数部分组成。浮点数 数据类型用来存储含小数数值。
表示形式
通常有两种表示形式。
(1) 十进制数形式,由0~9和小数点组成。如:23.456、-12.3等。
(2) 指数形式,如:1.3e4、-12.5e-4分别表示1.3×10的4次方和-12.5×10的负4次方
基本格式
十进制浮点型数|基本整型数1 E 基本整型数2
| 是 符号或
E或者e 是 底数10
基本整型数2 是 指数
浮点数默认为双精度浮点型,在内存中占8个字节,取值范围为±1.7e±308。
如果带有后缀F或f, 则为float类型,在内存中占4个字节,取值范围为±3.4e±38。
字符型数
字符数是用英文单引号' '括起来的一个字符。如:'a','A'等。
它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。
字符串
字符串数值简称字符串,是使用一对双引号" "括起来的字符序列。
例如, 英文串: "This is a string\n"用于表示一串连续的字符。
字符串与字符比较的区别:
字符只能是单个字符,字符串则可是零个或多个字符。如:'abd'是不合法的。但""是合法的,表示空串。
字符占一个字节的内存空间,字符串占内存字节数等于字符串的长度加1。系统自动在字符串末尾添加'\0'作为结束标记。如:'a'在内存中占用一个字节;而"a" 在内存中占用两个字节,分别存放a和\0。
布尔型数
即布尔类型的两个值true和false,该常量用于区分一个条件的真假。