1. 程式人生 > 實用技巧 >P6628 [省選聯考 2020 B 卷] 丁香之路 尤拉路+最小生成樹

P6628 [省選聯考 2020 B 卷] 丁香之路 尤拉路+最小生成樹

流程控制

1.if語句

if()

{

}

else if()

{

}

else

{

}

如果沒有花括號

else與其最近的沒有配對的if配對

2.switch語句

switch可以表示對個分支

switch case需要注意的幾個點

1.case後面只能跟常量表達式

2.case後面的常量表達式的值只能是唯一

3.要加break,如果沒有加break,會從當前語句一直執行到switch語句結束為止

4.defalut語句,表示case都沒有匹配上,那麼執行default語句,如果有case匹配上,那麼執行case語句

總結

switch語句用來表示多分支,通過case後面的常量表達式來進行分支的匹配,如果都沒有匹配上,則執行default語句,如果沒有default語句,那麼switch直接結束

int day = 8;
	switch (day)
	{
		case 1:printf("週一");break;
		case 2:printf("週二");break;
		case 3:printf("週三");break;
		case 4:printf("週四");break;
		case 5:printf("週五");break;
		case 6:printf("週六");break;
		case 7:printf("周天");break;
		default:printf("不知道是周幾"); break;
	}
	while (1);
	return 0;

switch語句是可以轉為if語句的

而當if語句表示範圍的時候是不能轉為switch語句的

for語句

for(表示式1;表示式2;表示式3)

{

迴圈主體

}

表示式123都可以省略,;不能省略

注意死迴圈

while迴圈

只有一個表示式,不能省略

do while語句

do

{

}while(表示式);

break——結束當前迴圈,並跳出迴圈

continue——結束本次迴圈,並跳到表示式3

for (int i = 0; i < 10; i++)
	{
		
		if (i == 5)
		{
			continue;
		}
		printf("%d\n", i);
		
	}
	for (int k = 0; k < 10; k++)
	{
		if (k == 5)
		{
			break;
		}
		printf("%d\n", k);
	}
	while (1);
	return 0;

以上兩個跳轉語句只能跳出一層迴圈

for (int i = 1; i < 5; i++)
	{
		for (int k = 1; k < 5; k++)
		{
			if (k == 3)
			{
				continue;
			}
			printf("%d\n", k*i);
		}
		printf("\n");
	}




for (int i = 1; i < 5; i++)
	{
		for (int k = 1; k < 5; k++)
		{
			if (k == 3)
			{
				break;
			}
			printf("%d\n", k*i);
		}
		printf("\n");
	}

死迴圈——goto跳轉語句

	int a = 0;
LOGO:
	a++;
	printf("%d\n", a);
	goto LOGO;
//程式碼的效果是一個死迴圈