很长时间没有再复习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
|