一、选择结构
if (score > 600) //第一选择分支
{
cout << "恭喜您考上了一本大学!" << endl;
}
else if (score > 500) //第二选择分支,先看满足第一选择否
{
cout << "恭喜您考上了二本大学!" << endl;
}
else if (score > 400) //第三选择分支,先看满足第一否,再看满足第二否
{
cout << "恭喜您考上了三本大学!" << endl;
}
else //最后选择分支,前面分支均为满足条件
{
cout << "很遗憾,您未能考上大学。" << endl;
}
1. if 嵌套
if (score > 600) // 第一大分支
{
cout << "恭喜您考上了一本大学!" << endl;
if (score > 700) //第一大分支里,1号小分支
{
cout << "恭喜您考上了北京大学!" << endl;
}
else if (score > 650) //第一大分支里,2号小分支
{
cout << "恭喜您考上了清华大学!" << endl;
}
else //第一大分支里,3号小分支
{
cout << "恭喜您考上了人民大学!" << endl;
}
}
else if (score > 500) // 第二大分支
{
cout << "恭喜您考上了二本大学!" << endl;
}
else if (score > 400) // 第三大分支
{
cout << "恭喜您考上了三本大学!" << endl;
}
else // 第四大分支
{
cout << "很遗憾,您未能考上大学。" << endl;
}
c=(a > b ? a : b); //返回a、b中值较大的变量
(a > b ? a : b) = 100; //c++中,三目运算符返回的是变量,可以继续赋值
二、循环结构
1. switch(表达式)
switch中表达式类型只能是整型或者字符型
switch 不可以判断区间
2. do{ }
while();
do...while循环嵌套if,满足条件才输出
//do...while遍历100到999
//do...while循环嵌套if,满足条件才输出
// do
// {
// a = num % 10; //获取个位 //定义变量来接受个十百位,进行后续判断
// b = num / 10 % 10; //获取十位
// c = num / 100; //获取百位
// if (a*a*a + b*b*b +c*c*c == num)
// {
// cout << num << " ";
// }
// num++;
// } while (num < 1000);
3. for循环
for (int i = 0; i < 10; i++)
{
cout << i << " ";
}
两者等价 (int =0; //执行一次、 1.再执行i<10、 2.再执行循环体、3再执行i++
(123123123...执行,直到1不满足为止)
int j = 0;
for (; ; )
{
if (j >= 10)
{
break;
}
cout << j << " ";
j++;
}
三、跳转结构
1. break
(1). switch :终止case并跳出switch
(2). 循环语句(do..while、while、for) : 跳出当前循环语句
(3). 嵌套循环 :跳出最近内层循环语句
(嵌套循环,退出内层循环,不影响外层循环)
2.continue
在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
for (int i = 0; i < 50; i++)
{
if (i % 2 == 0)
{
continue; //会跳过下面语句,继续循环
//break; //直接跳出整个for循环
}
cout << i << endl;
}
3. goto
(如果标记的名称存在,执行到goto语句时,会跳转到标记的位置)
cout << "1.xxxxxxxxx" << endl;
cout << "2.xxxxxxxxx" << endl;
goto FLAG;
cout << "3.xxxxxxxxx" << endl;
FLAG: //这是冒号:,确认它是标记
cout << "4.xxxxxxxxx" << endl;