按照复杂度分类:
空语句 ;
简单语句
复杂语句 { }
选择语句
循环语句
转移语句
一 选择语句
一)if语句
if (条件)
{
语句1
语句2
……
}
// 1 if是关键字
// 2 if后面 跟圆括号
// 3 圆括号里面写条件 条件必须要能够转化为bool
// 4 圆括号后面跟大括号
// 5 大括号里面写语句
注意:一个if语句 只管后面一个语句
复合语句也是一个语句
//eg:
int a;
if ((a = 3),0)
{
cout << "a = " << a << endl;
}
cout << "a = " << a << endl;
if (条件) // 如果 条件为真
{
}
else // 否则
{
}
eg:
int a = 5;
if (a > 6)
{
cout << "a > 6" << endl;
}
else
{
cout << "a <= 5" << endl;
}
if (true)
{
}
else if (true)
{
}
eg:
int a = 5;
if (a > 6)
{
cout << "a > 6" << endl;
}
else if (a < 5)
{
cout << "a < 5" << endl;
}
eg:
int a = 5;
if (a > 3)
{
cout << "a > 3" << endl;
}
else if (a < 9)
{
cout << "a < 9" << endl;
}
if (true)
{
}
else if (true)
{
}
else
{
}
int a = 5;
if (a > 5)
{
cout << "a > 5" << endl;
}
else if (a < 5)
{
cout << "a < 5" << endl;
}
else
{
cout << "a == 5" << endl;
}
嵌套:一个if语句里面有其他if语句
int a = 5;
if (a > 3 )
{
if (a < 6)
{
cout << " 3 < a < 6" << endl;
}
}
else和if的匹配关系
从else开始,向上找到第一个没有被匹配的if,即为当前else匹配的if
一个if只能匹配一个else
else必须匹配if
二)switch语句
switch (表达式)表达式的要求:必须要能够计算出整型数值
{
case 值:
break;
default:
break;
}
根据表达式的值 找到对应的case 执行语句
/*switch (表达式)
{
case 值1:
语句1
语句2
……
break;
case 值2:
语句1
语句2
……
break;
default:
break;
}*/
int num;
cin >> num;
int n;
cin >> n;
switch (num)
{
case 1:
switch (n)
{
case 8:
cout << "888" << endl;
break;
default:
break;
}
break;
case 2:
cout << "22222" << endl;
break;
case 3:
cout << "33333" << endl;
break;
default:
cout << "重新输入" << endl;
break;
}
二 循环语句
将重复的事情 写在一个指令里
一)while循环
1 初始值
2 改变量
3 条件
1 有初始值 2 判断条件是否为真 为真则执行循环 否则跳过 3 继续第2步
while (条件)
{
// 循环体
}
int a = 3;
while (a >= 1)
{
cout << "执行了一次循环" << endl;
a--;
}
二 do while循环
do
{
// 循环体
} while (条件);
不论条件是否为真 都会执行一次循环
如果条件为真 继续循环
为假 结束循环
三 for循环
// 关键字 (初始值;条件;改变量){// 循环体}
for (int i = 0; i < 10; i++)
{
cout << "i = " << i << endl;
}
// 表达式可以不写 但是;一定要写
for (;;)//死循环
{
}
四 循环嵌套
1 外层循环执行一次 内层循环执行一遍
for (int i = 0; i < 5; i++)
{
cout << "i = " << i << endl;
for (int j = 0; j < 5; j++)
{
cout << "j = " << j << " ";
}
cout << endl;
}
2 外层循环控制内层循环
通过控制内层循环的循环条件
for (int i = 1; i < 9; i++)
{
cout << "i = " << i << endl;
for (int j = 1; j <= i; j++)
{
cout << "j = " << j << " ";
}
cout << endl;
}
五 转移语句
break;
用于循环和switch语句中 作用:跳出(当前语块)
for (int i = 1; i < 9; i++)
{
cout << "i = " << i << endl;
for (int j = 1; j <= i; j++)
{
cout << "j = " << j << " ";
break;
}
cout << endl;
}
continue;
用于循环语句 作用:继续(结束当前这次循环 继续下一次循环)
for (int i = 1; i < 9; i++)
{
if (0 == i % 2)
{
continue;
}
cout << "i = " << i << endl;
}
goto;
无条件转移
int a = 0;
cout << "111111111" << endl;
cout << "222222222" << endl;
HERE: cout << "333333333" << endl;
cout << "444444444" << endl;
cout << "555555555" << endl;
cout << "666666666" << endl;
a++;
if (a < 10)
{
goto HERE;
}