Skip to content

Latest commit

 

History

History
147 lines (125 loc) · 2.35 KB

4_程序流程结构.md

File metadata and controls

147 lines (125 loc) · 2.35 KB

1.if

int score = 95;
if (score < 10) {
    cout << "<10 " << score << endl;
}
else if (score < 90)
    cout << "<90 " << endl;
else if (score < 99)
    cout << "<99 " << endl;
else
    cout << score << endl;

2.三目运算符

string score = 1 ? "100" : "99";
cout << score << endl;

3.switch语句

switch 语句中表达式类型只能是 ==整形== 或 ==字符型==

	//int test = 5;

	//switch (test)
	//{
	//case 4:

	//	cout << 4444 << endl;
	//	break;
	//case 5:

	//	cout << 5555 << endl;
	//	break;
	//default:
	//	cout << test << endl;
	//	break;
	//}

	TestEnum m;

	int key = 0;
	cin >> key;

	m = (TestEnum)key;
	cout << m << endl;
	switch (m)
	{
	case a:
		cout << "a" << endl;
		break;
	case b:
		cout << "b" << endl;
		break;
	case c:
		cout << "c" << endl;
		break;
	default:
		cout << "default" << endl;
		break;
	}

	char n = ' ';
	cin >> n;

	switch (n)
	{
	case 'a':
		cout << "aa" << endl;
		break;
	case 'b':
		cout << "bb" << endl;
		break;
	case 'c':
		cout << "cc" << endl;
		break;
	default:
		cout << "default" << endl;
		break;
	}

4.循环条件

  • while(循环条件){循环语句}
int i = 0;
while (true)
{
    ++i;
    cout << i << endl;
    if (i == 10)
        break;
}
  • do {循环语句} while(循环条件)
    • 与while的区别在于 do ... while 会先执行一次循环语句

    • 案例水仙花数【三位数】:

      • 对数字取模于10,可以获取到个数
      • 先整除于10,再取模于10,得到十位
int num = 100;

do
{
    int a = 0; //个位
    int b = 0; //十位
    int c = 0; //百位

    a = num % 10;
    b = (num / 10) % 10;
    c = num / 100;

    if ((a * a * a + b * b * b + c * c * c) == num) {
        cout << num << endl;
    }

    num++;
} while (num < 1000);
  • for 循环

5.跳转语句

  • break
  • continue
  • goto
	cout << "1" << endl;
	goto FLAG;
	cout << "2" << endl;
FLAG:
	cout << "3" << endl;