分支和循環語句

分支和循環語句

分支語句

switch

switch 允許嵌套使用

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <windows.h>
int main()
{
    int n = 1;
	int m =  2;
	switch (n)
	{
	case 1:m++;
	case 2:n++;
		case 3:
			switch (n)
			{     //switch 允許嵌套使用
			case 1:n++;
			case 2:m++; n++; break;//此處的break僅僅是跳出對應的switch語句
			}
		case 4:m++; break;
		default:
			break;

	}
	printf("m=%d\nn=%d\n", m, n);
system("pause");
return 0;
}

在這裏插入圖片描述

default 語句
匹配那些不能匹配到case 的語句。

if else 語句

0表示假 非0表示真 真則執行語句
else 是與緊鄰的if匹配
在語句裏面要注意 else 後面直接跟語句,要加條件必須else if.

循環語句

for 循環語句

關於for語句後面加了分號
加分號,表示這個循環是空語句,除了執行for()括號裏的,什麼都不幹,然後就執行下一行。

不加分號,那for循環後面的printf語句就是for循環的一部分,跟着for一起執行,但前提是for循環裏的條件要滿足。

分號代表語句結束。

例如:
for(i=0;i<100;i++);

就等於:

for(i=0;i<100;i++{}

一個很坑人的代碼

int main()
{
	int i = 0; int k = 0;
	for (i = 0, k = 0; k = 0; i++, k++)
		k++;
	return 0;
}   //一次循環都不執行

for (i = 0, k = 0; k = 0; i++, k++) 注意那裏是賦值語句k=0不是判斷
==一個等號賦值語句0 爲假因此一次循環都不執行 ==

① 不可在for循環內修改循環變量,防止for循環失去控制。

② 建議for語句的循環控制變量的取值採取半開半閉的寫法

while 循環語句

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
     int i = 1;
	while (i <= 10)
	{
		printf("%d  ", i);
		i++;
		if (5 == i) 
			break;
	}
	system("pause");
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 1;
	while (i <= 10)
	{
		if (5 == i)
			continue;    //死循環
		printf("%d  ", i);     
		i++;
	}
	system("pause");
return 0;
}

兩個輸出的結果均爲1-4
不同的是第二個是一個死循環打印4後 執行i++ i=5
程序到if (5 == i);
continue;
i一直爲5

continue 直接跳到了判斷部分

在此與for的continue 進行一個對比

1.for的continue 結束本次循環 跳到調整部分 先調整再判斷
而while的continue 直接跳到了判斷部分

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i = 0;
	for (i = 1; i <= 10; i++)

	{    if (5 == i)
	    continue;
		printf("%d\n", i);
	}
	system("pause");
return 0;
}

在這裏插入圖片描述
2.for與while 相比較三個表達式在一起 更加方便看比較常用。
不會因爲循環部分過長導致判斷部分和條件調整部分而隔開。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章