也有在牛客网和洛谷刷题,按顺序写的,目前还没有什么可以总结的题型。
C++入门
1 C++初识
1.1 第一个C++程序
编写一个c++程序总共分为4个步骤
- 创建项目
- 创建文件
- 编写代码
- 运行程序
#include<iostream>
using namespace std;
int main()
{
system("pause");
return 0;
}
1.2注释
作用:在代码中加一些说明解释,方便自己或者其他程序员阅读代码
两种格式:
1.单行注释://描述信息
- 通常放在一行代码上方,或者一条语句的末尾,
对
该
行
代
码
说
明
\textcolor{ProcessBlue}{对该行代码说明}
对该行代码说明
2.多行注释:/*描述信息*/
- 通常放在一段代码的上方,
对
该
段
代
码
做
整
体
说
明
\textcolor{ProcessBlue}{对该段代码做整体说明}
对该段代码做整体说明
提 示 \textcolor{Green}{提示} 提示:编译器在编译代码时,会忽略注释的内容
#include<iostream>
using namespace std;
int main()
{
//cout<<"mdltxdy"<<endl;
cout<<"hello world"<<endl;
/*
cout<<"Liquor"<<endl;
cout<<"CX330"<<endl;
*/
return 0;
}
1.3变量
作用:给一段指定的内存空间起名,方便操作这段内存
语法:数据类型 变量名 = 初始值;
示例:
#include<iostream>
using namespace std;
int main()
{
//变量的定义
//语法:数据类型 变量名 = 初始值;
int a = 10;
cout<<"a = "<<a<<endl;
return 0;
}
1.4常量
作用:用于记录程序中不可更改的数据
1.#define宏常量:#define 常量名 常量值
-
通
常
在
文
件
上
方
定
义
\textcolor{ProcessBlue}{通常在文件上方定义}
通常在文件上方定义,表示一个常量
2.const修饰的变量:const 数据类型 常量名 = 常量值
- 通 常 在 变 量 定 义 前 加 关 键 字 c o n s t \textcolor{ProcessBlue}{通常在变量定义前加关键字const} 通常在变量定义前加关键字const,修饰该变量为常量,不可修改
示例:
//1.宏常量
#define day 7
int main()
{
cout<<"一周有"<<day<<"天"<<endl;
//day =8//报错,宏常量不可以修改
//2.const修饰的变量
const int month = 12;
//month = 24;//报错,const修饰的变量也称为常量
cout<<"一年有"<<month<<"月"<<endl;
return 0;
}
1.5关键字
作用:关键字是C++中预先保留的单词(标识符)
- **在定义变量或者常量的时候,不要用关键字
C++关键字如下:
asm | do | if | return | typedef |
---|---|---|---|---|
auto | double | inline | short | typeld |
bool | dynamic_cast | int | signed | typename |
break | else | long | sizeof | union |
case | enum | mutable | static | unsigned |
catch | explicit | namespace | static_cast | using |
char | export | new | struct | virtual |
class | extern | oprator | switch | void |
const | false | private | template | volatile |
const_cast | float | protected | this | wchar_t |
continue | for | public | throw | while |
default | friend | register | true | |
delete | goto | reinterpret_cast | try |
提示:在给变量或者常量起名称的时候,不要用c++的关键字,否则会产生歧义
1.6标识符命名规则
作用:C++规定给标识符(变量、常量)命名时,有一套自己的规则
- 标识符不能是关键字
- 标识符只能由字母、数字、下划线组成
- 第一个字符必须为字母或下划线
- 标识符中字母区分大小写
建议:给标识符命名时,争取做到见名知意的效果,方便自己和他人的阅读
2 数据类型
C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存
2.1整型
作用:整形变量表示的是
整
数
类
型
c
o
n
s
t
\textcolor{ProcessBlue}{整数类型const}
整数类型const的数据
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-2^15 - 2^15-1) |
int(整型) | 4字节 | (-2^31 - 2^31-1) |
long(长整型) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 - 2^31-1) |
long long(长长整型) | 8字节 | (-2^63 - 2^63-1) |
2.2 sizeof关键字
作用:利用sizeo关键字可以
统
计
数
据
类
型
所
占
内
存
大
小
\textcolor{ProcessBlue}{统计数据类型所占内存大小}
统计数据类型所占内存大小
语法:sizeof(数据类型 / 变量)
示例:
int main()
{
cout<<"short 类型所占内存空间为:"<<sizeof(short)<<endl;
cout<<"int 类型所占内存空间为:"<<sizeof(int)<<endl;
cout<<"long 类型所占内存空间为:"<<sizeof(long)<<endl;
cout<<"long long 类型所占内存空间为:"<<sizeof(long long)<<endl;
short a = 10;
cout<<"short占用内存空间为:"<<sizeof(a)<<endl;
return 0;
}
2.3 实型(浮点型)
作用:用于
表
示
小
数
\textcolor{ProcessBlue}{表示小数}
表示小数
浮点型变量分为两种:
1.单精度float
2.双精度double
两者的区别在于表示的有效数字范围不同。
数据类型 | 占用空间 | 有效数字范围 |
---|---|---|
float | 4字节 | 7位有效数字 |
double | 8字节 | 15-16位有效数字 |
示例:
#inlude<iostream>
using namespace std;
int main()
{
//1.单精度 float
//2.双精度 double
//默认情况下输出一个小数,会显示出6位有效数字
float f1=3.14f;//后面加一个f告诉它他是单精度,否则默认它是双精度
cout<<"f1 = "<<f1<<endl;
double d1=3.14;
cout<<"d1 = "<<d1<<endl;
//统计float和double占用内存空间
cout<<"float占用的内存空间为"<<sizeof(float)<<endl;
cout<<"double占用的内存空间为"<<sizeof(double)<<endl;
//科学计数法
float f2=3e2;//3*10^2
cout<<"f2 = "<<f2<<endl;
float f3=3e-2;//3*0.1^2
cout<<"f3 = "<<f3<<endl;
return 0;
}
2.4字符型
作用:字符型变量用于显示单个字符
语法:char ch = 'a'
注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
- C和C++中字符型变量只占用 1 个 字 节 \textcolor{ProcessBlue}{1个字节} 1个字节
- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元
示例:
int main()
{
//字符型变量的创建方式
char ch = 'a';
cout<<ch<<endl;
//字符型变量所占的内存大小
cout<<sizeof(char)<<endl;
//字符型变量常见的错误
//ch="abc";//错误,不可以用双引号
//ch='abc';//错误,单引号内只能引用一个字符
//字符型变量所对应的ASCII码,
//a对应97,A对应65
cout<<(int)ch<<endl;
}