一 程序流程结构
1.1 选择结构
选择结构主要有if语句,三目运算符,switch语句
1.1.1 if语句
单行if语句: if(条件)
{ 条件满足执行的语句; }
多行if语句:if(条件1)
{ 条件1满足执行的语句; }
else if(条件2)
{条件2满足执行的语句;}...
else
{ 都不满足执行的语句;}
1.1.2 三目运算符
作用: 通过三目运算符实现简单的判断
语法:表达式1 ? 表达式2 :表达式3;
解释:
如果表达式1的值为真,执行表达式2,并返回表达式2的结果;
如果表达式1的值为假,执行表达式3,并返回表达式3的结果。
1.1.3 switch语句
语法:
switch(表达式)
{
case 结果1:执行语句;break;
case 结果2:执行语句;break;
...
default:执行语句;break;
}
注:1.case里如果没有break,那么程序会一直向下执行
2.switch不可以判断区间,且switch表达式中只能是整型或者字符型
1.2 循环结构
选择结构主要有while循环语句,do…while循环语句,for循环语句
1.2.1 while循环语句
语法:while(循环条件)
{ 循环语句;}
案例:猜数字
系统随机生成一个1到100之间的数字,玩家进行猜测,如果猜错,提示玩家数字过大或过小,如果猜对恭喜玩家胜利,并且退出游戏。
#include <iostream>
using namespace std;
int main()
{
int a = 0;
int b = 48;//用b代表随机数
cout << "请输入你的猜测:" << endl;
while(1)
{
cin >> a;
if (a > b)
{
cout << "你的猜测大了" << endl;
}
else if (a < b)
{
cout << "你的猜测小了" << endl;
}
else
{
cout << "你的猜对了" << endl;
break;
}
}
system("pause");
return 0;
}
1.2.2 do…while循环语句
语法:do{ 循环语句 }
while(循环条件);
案例:水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
例如:1^3 + 5^3+ 3^3 = 153,求出所有3位数中的水仙花数
#include <iostream>
using namespace std;
int main()
{
int a = 100;
do
{
int b = a / 100;
int c = (a / 10) % 10;
int d = a % 10;
if ( b * b * b + c * c * c + d * d * d == a)//c++没有单独的幂运算符
{
cout << a <<endl;
}
a++;
} while (a < 1000);
system("pause");
return 0;
}
1.2.3 for循环语句
语法:for(起始表达式;条件表达式;末尾循环体)
{ 循环语句; }
案例:敲桌子
从1开始数到数字100, 如果数字个位含有7,或者数字十位含有7,或者该数字是7的倍数,我们打印敲桌子,其余数字直接打印输出。
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i < 101; i++ )
{
if ((i % 10) == 7 || (i / 10 ) == 7 || (i % 7) == 0)
cout << i << endl;
}
system("pause");
return 0;
}
1.2.4 嵌套循环
作用: 在循环体中再嵌套一层循环,解决一些实际问题
案例:九九乘法表
利用嵌套循环,实现打印出九九乘法表
#include <iostream>
using namespace std;
int main()
{
for(int i = 1; i < 10; i++)
{
for (int j = 1; j <= i; j++)
{
cout << i << "*" << j << "=" << i * j << " " ;
}
cout << endl;
}
system("pause");
return 0;
}
1.3 跳转结构
选择结构主要有break语句,continue语句,goto语句
1.3.1 break语句
作用: 用于跳出循环结构和switch的选择结构
break使用的时机:
- 出现在switch语句中,作用是终止case并跳出switch
- 出现在循环语句中,作用是跳出当前的循环语句,即中止循环
- 出现在嵌套循环中,跳出最近的内层循环语句
1.3.2 continue语句
作用: 在循环语句中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环
eg:
int main()
{
for (int i = 0; i < 100; i++)
{
if (i % 2 == 0)
{
continue;
}
cout << i << endl;
}//打印[0,99]之间的奇数
system("pause");
return 0;
}
1.3.3 goto语句
作用: 可以无条件跳转语句
语法:goto 标记;
eg:
int main() {
cout << "1" << endl;
goto FLAG;
cout << "2" << endl;
cout << "3" << endl;
cout << "4" << endl;
FLAG:
cout << "5" << endl;//只打印5
system("pause");
return 0;
}
参考黑马程序员C++教程