C++基础
1.转义字符
\n换行符、\\反斜杠、\t水平制表符(算上需要的字符一共占8位,作用是可以整齐的输出数据)
2.字符串
单引号是字符,双引号或方括号是字符串
C风格:char 变量名[] = “字符串值”、等号后面双引号
C++风格:string 变量名 = “字符串值”、需要包含头文件#include<string>
3.布尔类型(占一个字节)
4.选择结构
If条件后面不要加分号,加了不管满不满足都会执行if里面的语句
5.三目运算符
格式:表达式1?表达式2:表达式3
表达式1成立返回表达式2,不成立返回表达式3(如果返回的是变量,还可以给变量继续赋值);
例:a与b作比较,将大的值赋给c,写法:c=(a>b?a:b);
6.switch语句
switch(表达式){
case 结果1:执行语句;break;
default:执行语句;break;
}
7.while循环(循环条件的结果为真,就执行循环语句)
while(循环条件){循环语句}
8.生成0~99的随机数:rand()%100 更好的随机数(根据现在的时间来生成随机数):srand((unsigned int)time(NULL)); 注:需要包含头文件:#include<ctime>
9.do…while循环(与while区别:会先执行一次循环语句,再判断循环条件)
do(循环语句){循环条件}
10.for循环
格式:for(起始表达式;条件表达式;末尾表达式){循环语句;}
起始表达式只执行一次
11.嵌套循环(99乘法表练习)
12.break语句(用于跳出选择结构或循环结构)
出现在switch条件语句中,作用是终止case并跳出switch
出现在循环语句中,作用是跳出当前的循环语句
出现在嵌套循环中,跳出最近的内层循环语句
13.continue语句
在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
14.goto语句(可以无条件跳转语句)
格式:goto 标记;
如果标记的名称存在,执行到goto语句时,会跳跳转到标记的位置
例如:(输出为124,标记后面是冒号)
1 xxxxx
2 xxxxx
goto FLAG;
3 xxxxx
FLAG:
4 xxxxx
15.数组
特点:都是相同数据类型,由连续的内存位置组成
格式:1 数据类型 数组名[数组长度];
2 数据类型 数组名[数组长度]={值1,值2,值3...};
3 数据类型 数组名[]={值1,值2,值3...};
数组个数代码:sizeof(arr)/sizeof(arr[0])-1
16.二维数组
格式:1 数据类型 数组名[ 行数 ][ 列数 ];
2 数据类型 数组名[ 行数 ][ 列数 ] = {{数据1,数据2} ,{数据3,数据4}};
3 数据类型 数组名[ 行数 ][ 列数 ] = {数据1,数据2,数据3,数据4};
4 数据类型 数组名[ ][ 列数] = {数据1,数据2,数据3,数据4};
数组行数代码:sizeof(arr)/sizeof(arr[0])
数组列数代码:sizeof(arr[0])/sizeof(arr[0][0])
17.函数
函数的定义(5步):返回值类型-函数名-参数列表-函数体语句-return表达式
值传递的时候,函数的形参会发生改变,并不会影响实参
常见样式(4种):无参无返,有参无返,无参有返,有参有返
函数的声明:提前告诉编译器函数的存在(声明可以写多次,但定义只能有一次)
18.指针
语法:数据类型 * 指针变量名;
例:int * p; p = &a;(p是一个地址)
使用指针(加*代表解引用,可以找到指针指向的内存中的数据)
例:*p=1000;(*p是一个值)
也可以写成:int *p=&a;
指针占用空间大小:在32位操作系统下,指针是占4个字节空间大小,不管是什么数据类型,在64位操作系统下,指针是占8个字节空间大小。
空指针:指针变量指向内存编号为0的空间,用于初始化指针变量,空指针指向的内存是不可以访问的
野指针:指针变量指向非法的内存空间
19.const修饰指针(3种情况)
1 const修饰指针--常量指针 const int *p=&a;
特点:指针的指向可以修改
2 const修饰常量--指针常量 int *const p=&a;
特点:指针的指向不能改,指针指向的值可以改
3 const既修饰指针,又修饰常量 const int * const p=&a;
20.结构体(可以嵌套使用)
结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
格式:struct 结构体名 {结构体成员列表};
通过结构体创建变量的方式有3种:
1 struct 结构体名 变量名
例:struct Student s1;
s1.name="张三";
2 struct 结构体名 变量名={成员1值,成员2值...}
例:struct Student s2={"李四",19,80};
3 定义结构体时顺便创建变量
struct Student{
string name;
int age;
}s3;
21.结构体数组
将自定义的结构体放入到数组中方便维护
格式:struct 结构体名 数组名[元素个数]={{},{},...{}}
22.结构体指针(通过指针访问结构体中的成员)
利用操作符->可以通过结构体指针访问结构体属性
例:student s={"张三",18,100};
student *p=&s;
cout<<p->name<<endl;
23.纯虚函数:virtual 返回值类型 函数名(参数列表)=0;
24.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix