C++语言复习笔记
零.HelloWorld
1.注释:
2.别名
类型 |
内容 |
|
using |
using t=double; |
typedef |
typedef double weight; |
3.HelloWorld
#include
#define var auto
using namespace std;
int main()
{
cout << "HelloWorld!"<< endl;
return 0;
}
一.基本数据类型
类型 |
内容 |
整型 |
short,int,long,long long |
符号 |
signed,usigned |
字符 |
char |
浮点 |
float,double,long double |
布尔 |
bool |
字符串 |
字符串常量,字符数组,string类 |
引用 |
int &num=a; |
二.常量
1.字面量
类型 |
内容 |
|
字符 |
'A' |
字符串 |
C风格 |
整数 |
十进制:0-9,八进制:0+0-7数字,十六进制:0X+0~9或A-F |
字符前缀 |
u:char16_t,U:char32_t,L:wchar_t,u8:char |
整型后缀 |
L:long,LL:long long,U:unsigned |
浮点 |
一般:12.5,-13.89,指数:0.534E+2 |
2.符号常量
const 类型 常量名称=值;
const double PI=3.14156;
三.变量
定义
int a=0;
int a(0);
int a={0};
四.运算
运算类型 |
内容 |
备注 |
基本运算符 |
+,-,*,/,% |
|
自运算 |
i++,++i,i--,--i |
先增后赋值和先赋值后增 |
赋值运算符 |
= |
|
符合赋值 |
+=,-=,/=,%= |
运算后赋值 |
逗号运算 |
表达式1,表达式2 |
|
关系运算 |
<,>,<=,>=,== |
|
逻辑运算 |
&&,!,II |
短路特性 |
三元运算 |
表达式1?表达式2:表达式3 |
|
位运算 |
I,&,! |
|
sizeof运算 |
sizeof(类型名) |
|
五.类型转换
1.隐式类型转换
char->short->int->long->long long->float->double
bool->0或1
2.显式类型转换
int(2.668)
static_cast(0.668)
六.基本I/O
cin>>变量名1>>变量名2
cout<<变量名1<<变量名2
七.程序结构
1.选择
if(bool运算)
{
语句
}
else
{
语句
}
if(bool运算1)
{
语句1
}
else if(bool运算2)
{
语句2
}
...
else
{
语句
}
switch(变量)
{
case 常量1:
语句1;
break;
case 常量2:
语句2;
break;
...
case 常量n:
语句n;
break;
}
2.循环
//while
while(bool运算)
{
语句
}
//do-while
do
{
语句
}while(bool运算);
//for
for(初始化语句;表达式1;表达式2)
{
语句
}
//goto
goto 标签名;
标签名:
3.循环控制
语句 |
作用 |
|
continue |
结束本次循环 |
break |
结束循环 |
八.函数
1.定义
返回值类型 函数名(形参表)
{
}
2.调用
void f2(string str)
{
cout<
3.递归
long long int f(long long int n)
{
if(n==1)return 1;
else return f(n-1)*n;
}
4.参数传递
类型 |
内容 |
|
值传递 |
void fun(变量类型 变量名1,...变量类型 变量名n) |
引用传递 |
void fun(变量类型 &变量名1,...变量类型 &变量名n) |
5.内联函数
inline double fun(double r)
{
return PI*r*r;
}
6.默认参数值
//有默认参数形参必须在形参列表最右边
void fun(int a=0,int b=666)
{
return a+b;
}
九.数组
1.定义
数据类型 数组名[长度];
数据类型 数组名1维长度...;
2.一维数组初始化
int a[3]={1,2,3};
int a[]={1,2,66,7};
3.二维数组初始化
int a2={1,2,3,4,5,6};
int a2={{1,2,3},{4,5,6}};
int a[][4]={{1},{0,6},{0,0,11}};
十.指针
1.定义
数据类型*变量名=地址;
2.取址与取值
3.运算
符号 |
内容 |
|
++ |
指向下一个数据 |
-- |
指向上一个数据 |
+n |
指向第n个数据 |
-n |
指向第n个数据 |
== |
判断指针是否为空:p==NULL |