很长时间没有再复习C++的基础知识,现在将一些容易遗忘的知识点做一个简单的汇总。
1、注释
❤️分为单行注释和多行注释
//cout<<endl;/*int i=1;cout<<i<<endl;*/
2、常量
❤️宏常量:#define ,宏常量没有类型,一般在预编译阶段进行字符替换,不需要创建堆栈;
❤️const: 表示常量,且不能修改。
#include <iostream>
using namespace std;
#define a 1
int main()
{const int b = 2;int c = a + b;cout << c << endl;
}
3、标识符的四个规则
❤️1,字母区分大小写。
❤️2,需使用字母或者下划线作为开始。
❤️3,只可以用字母、数字和下划线组成。
❤️4,不能是关键字。
4、变量字节数
类型 | 字节数 |
---|---|
char | 1 |
short | 2 |
bool | 1 |
int | 4 |
long | 4 |
long long | 8 |
float | 4 |
double | 8 |
long double | 8 |
指针* | x64:8 x86:4 |
5、转义字符
cout << "taiyang\n";//换行符
cout << "\\\n";//反斜杠
cout << "I\tLove\tMaoMao";//水平制表符
5、数据的输入输出
C++:
int b = 0;
cin >> b;//输入
cout << b << endl;//输出
C#:
Console.Read();//返回int类型
Console.ReadLine(); //返回string类型
Console.Write();//输出数据
Console.WriteLine();//输出数据并换行
Console.ReadKey();//用于暂停程序
python:
x=int(input("x="))
y=int(input("y="))
z=x+y
print("x+y=", z)
7、递增
int b = 1;int c = 2;//后置递增先进行表达式运算,再自增int d = b++ * c;cout << d << endl;//前置递增先自增,再进行表达式的运算int e = ++b * c;cout << e << endl;
8、continue和break
❤️continue:一般在循环结构中使用,表示程序执行到这一步不再执行后续代码,重新执行下一次循环。
❤️break:退出当前循环。
9、VS鼠标变成黑框
❤️按Insert键取消。
10、查看数组地址
❤️&在这里的用法是取地址。还有一个用法是引用。
int b[3] = {1,3,5};
cout << "数组b占用的内存:" << sizeof(b) << endl;
cout << "数组b中第一个元素占用的内存:" << sizeof(b[0]) << endl;
cout << "数组b的首地址:" << (int)b << endl;
cout << "数组b第一个元素的首地址:" << (int)&b[0] << endl;
数组b占用的内存:12
数组b中第一个元素占用的内存:4
数组b的首地址:11532692
数组b第一个元素的首地址:11532692
11、冒泡排序
❤️最经典的排序算法,依次两两对比进行置换。
int b[10] = { 3,21,25,48,5,76,7,28,43,10 };int n = sizeof(b) / sizeof(b[0]);//外循环需要进行9轮对比for (int i = 0; i < n; i++){//进行9-i次对比for (int j = 0; j < n - i - 1; j++){if (b[j] > b[j + 1]){int temp = b[j];b[j] = b[j + 1];b[j + 1] = temp;}}}for (int i = 0; i < 10; i++){cout << b[i] << endl;}
12、值传递
❤️在进行函数调用时,形参发生改变并不会影响实参。原理是因为在内存空间中只是形参的空间内容发生了改变,实参的空间并未受到影响。
int Swap(int b, int c)
{int temp = b;b = c;c = temp;return 0;
}
int main()
{//定义实参int e = 2;int f = 3;int d = Swap(e, f);cout << e << endl;cout << f << endl;
}
结果:
2
3