C++相关
运算符
算术运算符:+,-,*,/,+=,-=,++,–,%
num++和++num的区别
1.如果两者单独写在一行,两者无区别
2.如果两者参与操作、输出、判断,两者有区别。例子如下
int nNum=0;
cout<<nNum++<<endl //等价于 cout<<nNum<<endl; nNum++;
cout<<++nNum<<endl //等价于 nNum++; cout<<nNum<<endl;
比较运算符:>,<,>=,<=,==
输出结果为布尔值,即要么true(输出1)要么false(输出0)
逻辑运算符:&&,||,!
用于逻辑处理,即与运算,或运算,非运算
三目运算符:?
表达式为:表达式1?表达式2:表达式3
先求解表达式1,
若其值为真(非0)则将表达式2的值作为整个表达式的取值,
否则(表达式1的值为0)将表达式3的值作为整个表达式的取值。
例如:
max=(a>b)?a:b
就是将a和b二者中较大的一个赋给max。
条件判断语句
if语句
if(条件判断语句)
{
为真时执行语句
}
else if(条件判断语句)
{
为真时执行语句
}
else
{
前两者都不为真时执行语句
}
循环语句
for循环
for(int i=0;i<=10;i++)//常见标准for循环
{
需要循环语句
}
while循环
while(为真时进入循环)
{
需要循环语句
}
do while循环
do{ //该语句至少循环一次
需要循环语句
}while(为真时继续循环)
break和continue的区别
break:是跳出当前循环,即结束整个循环
continue:是跳出当前这一轮的循环,不继续执行该次循环剩下的代码,接着进行下次循环
数组
一维数组
定义:数据类型+数组名[索引]={};
int nSum[5]={}; //{}中不初始化默认为0
二维数组
定义:数据类型+数组名[索引1][索引2]
int nSum[5][10]={}; //{}中不初始化默认为0
数组输出
for(int i=0;i<5;i++)
{
std::cout<<nSum[i]<<endl;
}
//二维数组则循环嵌套输出
其他
判断键盘输入代码
#define KEY_DOWN(vk_code) (GetAsyncKeyState(vk_code)&0X8000?1:0)
int main()
{
KEY_DOWN(VK_DOWN) //按下小键盘↓键
//VK_RETURN 回车键
//VK_ESCAPE ESC键
}
光标回正代码,等价于不闪烁的清屏效果
CONSOLE_CURSOR_INFO cursor; //定义结构体 控制台光标信息
cursor.bVisible = 0; //设置不显示
cursor.dwSize = 1;
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor); //设置光标信息
COORD coord = { 0,0 };
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
Sleep(100);
判断常量和变量等于时
使用 0 == num 而不是 num == 0
好处是判断时当把 == 误输入成 = 时,前者会报错,后者则不会,这样能正常找到错误
清屏代码
system("cls");