本篇文章记录学习c++的这几日,c++其实就比c多了一点内容,如:类,继承,多态..面向对象的内容,如果你学习过C语言,学C++就非常简单,本文章写的比较简单,适合快速入门
文章目录
- 一、入门基本操作
- 概述
- 安装环境
- c++输入输出
- 数据类型
- 赋值运算,算数运算,关系运算,逻辑运算
- 二、分支结构
- if语句
- if嵌套
- 多条件if语句
- 三目运算符
- switch语句
- 三、循环结结构
- while语句
- do...while语句
- for语句
- 循环嵌套
- goto语句
- 四、函数
- 函数定义和声明
- 变量的作用域
- 函数参数传递
- 函数分文件编程
- 函数递归
- 五、指针
- 指针的概念
- 使用指针
- 指针作为函数的参数
- const修饰指针
- void类型指针
- 内存模型
- 动态分配内存new和delete
- 二级指针
- 函数指针和回调函数
- 六、数组
- 数组的概念
- 一维数组和指针
- 数组作为函数参数
- 动态创建一维数组
- 数组越界
- 二维数组
- 二维数组作为函数参数
- 七、结构体
- 结构体概念
- 结构体指针
- 结构体数组
- 结构体嵌套
- 简单链表
- 八、共用体
- 九、引用
- 引用的基本概念
- 引用作为函数参数
- 引用作为函数返回值
- 十、函数的重载
- 默认函数参数
- 函数重载、
- 十一、类
- 类的概念
- 类的使用
- 构造函数和析构函数
- 拷贝构造函数
- 浅拷贝和深拷贝
- 初始化参数
- const修饰成员函数
- this指针
- 静态成员变量
-
友元
- 重载运算符
- 继承
- 多态
一、入门基本操作
- 概述
c++语言是一门面向对象的编程,它的优点是容易维护,出现问题可以精确定位到。在C语言基础上的特征主要有:类及派生类、共有和私有成员、构造函数和析构函数、友元、内联函数、赋值运算符的重载,等等。
2.安装环境
因为我经常玩Linux,一般在Linux上面开发,先安装编译工具g++,在安装所需要的库就行了,你们也可以用其他环境,只要能编译c++代码就行了。
3.c++输入输出
输出
当前是没有声明缺省空间
#include <iostream> //头文件
int main()
{
std:cout <<"打印的内容";
std:cout <<"打印的内容"<<endl; //endl这个相当于是换行
return 0;
}
声明缺省空间,就可以进行简写
#include <iostream>
using namespace std;//声明缺省命名
int main()
{
cout << "打印的内容"<<endl;
return 0;
}
输入
#include <iostream>
using namespace std;//声明缺省命名
int main()
{
string name;//定义一个变量
cin >> name;//c++里面是不需要占位符的,可直接输出
cout << "name:"<<name<<endl;
return 0;
}
4.数据类型
c++常用的数据类型:整型,浮点型,字符型,字符串型(string),布尔类型,指针类型在
#include <iostream>
using namespace std;
int main()
{
//1.整型
int id;
//2.浮点型
float score; //其中有效位数为7位
double scores;//其中有效位数为15-16位
//3.字符型
char c; //存放到内存里面是ascll码,表示范围0-1297
//4.字符串型
string name="lijianhua";//用+号可以拼接字符串的内容
name = "姓名"+name+"作者";
//5.布尔类型
bool yz;//返回true/false,true=1,false=0;
//布尔类型本质就是一个整形可以用于相加
boo zz;
cout<<yz+zz;
return 0;
}
在c++如何表示二进制,八进制,十六进制?
二进制加上0b或0B,八进制加上0,十六进制加上0x
转义字符 \
在Ascll表中除了字符还有一些不能直接表示的特殊字符,比如: LF/NL,换行符,所以我们要有 \n 进行转义
强制类型转换
#include <iostream>
using namespace std;
//强制转换就是, 把一种数据类型转换成另外一种数据类型
int main()
{
int sum = 17, count = 5;
float mean;
mean = (flaot) sum / count;
cout<<mean;
}
5.赋值运算,算数运算,关系运算,逻辑运算
赋值运算
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
a=b=c=2;//在赋值运算下,是从右自左运算
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
//赋值运算 +=,-=,*=,/=,%=;
c+=b;//表示c = c+b;依次类推,字符串只能用=赋值
}
算数运算
#include <iostream>
using namespace std;
int main()
{
//算数运算就是加减乘除取余
int a=4,b=2,tmp=0;
tmp = a+b;
cout<<"a+b="<<tmp'
tmp = a-b;
cout<<"a-b"<<tmp;
tmp = a*b;
cout<<"a*b="<<tmp;
tmp = a/b;
cout<<"a/b="<<tmp;
tmp = a%b;
cout<<"a%b"<<tmp;
//当多个算数运算一起的时候 是从 左到右依次计算(先乘除后加减),如果有括号,要先算括号里面的
int c=2;
tmp = a+b*c;
cout<<tmp;
return 0;
}
关系运算
#include <iostream>
using namespace std;
int main()
{
//关系运算有>,<,==,>=,<=,!=;一般使用关系运算用()括起来
int a=3,b=4;
bool tmp;
tmp = (a > b);
cout<<tmp;//如果a>b是真的,那就返回true,也就是1,依次类推如果 >=;
tmp = (a >= b);
cout<<tmp;
return 0;
}
逻辑运算
#include <iostream>
using namespace std;
int main()
{
//逻辑运算有 &&,||,!,使用用括号括起来
int a=3,b=4;
bool tmp;
tmp = (a && b);//两个表达式都是真的才返回true
tmp = (a || b);//只要1个表达式为真就返回true
tmp = (!a); //将当前状态进行取反,原本是真进行取反就变成了假
return 0;
}
二、分支结构
1. if语句
#include <iostream>
using namespace std;
int main()
{
int flag;
cout<<"1 == OPEN,0 == CLOSE"<<endl;
cin >>flag;
if(flag)
{
cout<<"打开成功"<<endl;
}
else
{
cout<<"关闭"<<endl;
}
return 0;
}
2. if嵌套
#include <iostream>
using namespace std;
int main()
{
int flag;