真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【C語言初階】選擇語句和循環(huán)語句-創(chuàng)新互聯(lián)

  • 目錄:
    一.選擇語句:

    站在用戶的角度思考問題,與客戶深入溝通,找到中牟網(wǎng)站設計與中牟網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站設計、網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、虛擬主機、企業(yè)郵箱。業(yè)務覆蓋中牟地區(qū)。
    1.if else語句
            2.switch語句(附break的使用)

二.循環(huán)語句:

   1.for循環(huán)
           2.while循環(huán)
           3.do while循環(huán)
           4.break和continue在循環(huán)語句中的使用

(一)選擇語句
1.if 語句的基本表達為:

  if(表達式1)
          語句1;

理解起來就是當表達式1為真時,程序執(zhí)行語句1,否則執(zhí)行語句2
我們用代碼來理解一下:

#includeint main() {int i = 2;
	if (i=1)
		printf("hello");
	return 0;
}

按照我們的理解 , i 賦值為 2 , 但是 i f 的表達式為 i = 1 \color{Red}{按照我們的理解,i賦值為2,但是if的表達式為i=1} 按照我們的理解,i賦值為2,但是if的表達式為i=1
所以說這個程序應該什么都不打印,結果真的是這樣嗎?我們看看結果:
在這里插入圖片描述
這里居然把hello打印出來了,為什么呢?是這樣的,i=1本身為真了,所以就打印hello了.
在if語句里面表達式應該用賦值運算符來看,而不應該用關系運算符(點擊就可以看)

我們盡量寫成 i f ( 1 = = i ) , 因為當我們寫成 i f ( 1 = i ) 時 \color{Purple}{我們盡量寫成if(1==i),因為當我們寫成if(1=i)時} 我們盡量寫成if(1==i),因為當我們寫成if(1=i)時
這個語句編譯器會報錯 , 因為 i 怎么能賦值給 1 呢 ? \color{Purple}{這個語句編譯器會報錯,因為i怎么能賦值給1呢?} 這個語句編譯器會報錯,因為i怎么能賦值給1呢?
所以我們應該寫成下面這樣:

#includeint main() {int i = 2;
	if (1==i)
		printf("hello");
	return 0;
}

這樣就什么都不會打印,如何寫成if(2==i),就會打印hello
1.1 if語句還有多語句的:

if(表達式1)                  if(表達式1)
     語句1;                         語句1;
     else                      else if(表達式2)
     語句2;                       語句2;
                               else
                                 語句3;

當一個分支語句有多個if else語句時,if 總是和最近else匹配
來個栗子:

#includeint main() {int m = 1;
	int n = 2;
	if (2==m)//為假了,不會執(zhí)行后面的if else語句了,所以什么都不會打印
	if (1==n)
		printf("hello");
	else
		printf("world");
	return 0;
}

2. s w i t c h 語句 \color{red}{switch語句} switch語句的基本表達式為:

switch(整型表達式)
  {
  case 整型常量表達式:
       語句;
  case 整型常量表達式:
       語句;
       ~~~
  }        

接下來我們用代碼來感受一下switch的使用:

#includeint main() {int month = 0;
	scanf("%d", &month);
	switch (month)
	{case 1://記住case后面的為整型常量的表達式,如果寫成1.0這種就不行
		printf("一月\n");
	case 2:
		printf("二月\n");
	case 3:
		printf("三月\n");
	case 4:
		printf("四月\n");
	case 5:
		printf("五月\n");
	case 6:
		printf("六月\n");
	case 7:
		printf("七月\n");
	case 8:
		printf("八月\n");
	case 9:
		printf("九月\n");
	case 10:
		printf("十月\n");
	case 11:
		printf("十一月\n");
	case 12:
		printf("十二月\n");
	}
	return 0;
}

我們的目的呢?希望輸入數(shù)字幾,就打印幾月出來.但結果時這樣嗎?
當我們輸入1會得到什么呢?
在這里插入圖片描述
這里month為1,就會從case 1進去,依次打印后面的月份,如果我們要想達到目的,應該在printf后面加上break, b r e a k 的作用就是結束 s w i t c h 的循環(huán) , 就是說不在執(zhí)行下面的 c a s e 語句 \color{Red}{break的作用就是結束switch的循環(huán),就是說不在執(zhí)行下面的case語句} break的作用就是結束switch的循環(huán),就是說不在執(zhí)行下面的case語句,代碼結果如下:

#includeint main() {int month = 0;
	scanf("%d", &month);
	switch (month)
	{case 1:
		printf("一月\n");
		break;
	case 2:
		printf("二月\n");
		break;
	case 3:
		printf("三月\n");
		break;
	case 4:
		printf("四月\n");
		break;
	case 5:
		printf("五月\n");
		break;
	case 6:
		printf("六月\n");
		break;
	case 7:
		printf("七月\n");
		break;
	case 8:
		printf("八月\n");
		break;
	case 9:
		printf("九月\n");
		break;
	case 10:
		printf("十月\n");
		break;
	case 11:
		printf("十一月\n");
		break;
	case 12:
		printf("十二月\n");
		break;
	}
	return 0;
}

在這里插入圖片描述
(二).循環(huán)語句
循環(huán)語句:在不少實際問題中有許多具有規(guī)律性的重復操作,因此在程序中就需要重復執(zhí)行某些語句。一組被重復執(zhí)行的語句稱之為循環(huán)體,能否繼續(xù)重復,決定循環(huán)的終止條件。循環(huán)結構是在一定條件下反復執(zhí)行某段程序的流程結構,被反復執(zhí)行的程序被稱為循環(huán)體。循環(huán)語句是由循環(huán)體及循環(huán)的終止條件兩部分組成的。
1.1 f o r 循環(huán) \color{red}{for循環(huán)} for循環(huán)的基本表達式

for(表達式1;表達式2;表達式3)
{
         語句;
}

注意:
表達式1:一般為賦值表達式,給控制變量賦初值;
表達式2:關系表達式或邏輯表達式,循環(huán)控制條件;
表達式3:一般為賦值表達式,給控制變量增量或減量。
語句:循環(huán)體,當有多條語句時,必須使用復合語句。
表達式的中間用分號隔開,表達式3后面不加分號
這是它的執(zhí)行順序:
在這里插入圖片描述
1-2-3-4-2-3依次類推,直到i=11時,退出循環(huán),于是打印1到10.
我們來一個題來練練手:

輸入一個數(shù):
   輸出這個數(shù)的階乘:   
#includeint main() {int i = 1;
	int n = 1;
	int fact = 1;//不能初始化為0,不然結果也是0
	scanf("%d", &n);
	for (i = 1;i<=n;i++) {fact = fact * i;
	}
	printf("%d", fact);
	return 0;
}
運行的步驟為:
如果我們輸入5
1.當i=1時,小于5,fact=1*1=1;
2.i++,此時i為2,也小于5,fact=1*2=2;
3.i++,此時i為3,也小于5,fact=2*3=6;
4.i++,此時i為4,也小于5,fact=6*4=24;
5.i++,此時i為5,滿足條件,fact=24*5=120;
6.i++,此時i為6,不滿足條件,退出循環(huán).

1.2 for循環(huán)嵌套if語句中的break和continue
上面已經(jīng)說到了,break就是跳出循環(huán)體,那continue有什么作用呢?
C語言中continue語句的作用是結束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,然后進行下一次是否執(zhí)行循環(huán)的判定。需要注意的是continue語句只結束本次循環(huán),而不是終止整個循環(huán)。
我們用代碼來理解一下它們的用法:

#includeint main() {int i = 0;
	for (i = 1; i< 10; i++) {if (5 == i)
			break;//當i為5時,跳出循環(huán),不會再打印5了
		printf("%d ", i);
	}
	return 0;
}

在這里插入圖片描述
如果把break換成continue會發(fā)生什么呢?

#includeint main() {int i = 0;
	for (i = 1; i< 10; i++) {if (5 == i)
			continue;//當i為5時,continue跳過后面代碼,來到for語句
		printf("%d ", i);
	}
	return 0;
}

應該打印1 2 3 4 6 7 8 9,結果是不是呢?我們來看看:
在這里插入圖片描述
果然我們理解的,還是對的,我們真棒!
2. w h i l e 循環(huán) \color{red}{ while循環(huán)} while循環(huán)

whlie(表達式){
        語句;
      }  

while和for本質(zhì)上都是循環(huán),只是表達式放的位置不同,故相同代碼,運行結果可能也會不同
先來一個簡單的代碼,計算1加到100的總和:

#includeint main() {int i = 0;
	int sum = 0;
	while (i<= 100) {sum = sum + i;
		i++;//和for循環(huán)不同,調(diào)整語句不在括號里面
	}
	printf("sum=%d", sum);
	return 0;
}

在這里插入圖片描述
如果我們用上述for循環(huán)嵌套里面的break,continue來編寫while會怎么樣呢?結果會不會一樣呢?
break代碼:

#includeint main() {int i =1;
	while (i< 10) {if (5 == i)
			break;
		printf("%d ", i);
		i++;
	}
	return 0;
}

在這里插入圖片描述
這里可以看出,當使用break時,for和while代碼一樣時,運算結果也一樣.
continue代碼:

#includeint main() {int i =1;
	while (i< 10) {if (5 == i)
			continue;
		printf("%d ", i);
		i++;
	}
	return 0;
}

在這里插入圖片描述
這里可以看出,程序陷入了死循環(huán),因為當i為5時,continue跳過后面的代碼,返回到while的判斷句,5小于10,恒成立,依次類推,程序陷入了死循環(huán).
所以說for和while因為調(diào)整語句的位置不同,兩個循環(huán)還是存在差異的,做題時,根據(jù)自己的喜好來看吧,隨便哪一個都行,或者兩個都可以相互嵌套使用的.
3. d o \color{red}{do} do w h i l e \color{red}{while} while循環(huán)
do while 循環(huán)是 while 循環(huán)的變體。在檢查while ()條件是否為真之前,該循環(huán)首先會執(zhí)行一次do 之內(nèi)的語句 ,然后在while()內(nèi)檢查條件是否為真,如果條件為真的話,就會重復do while這個循環(huán),直至while ()為假。 和 while循環(huán)有相似之處,但使用方法完全不同。
do while用的很少,這里就不多說了。
最后,感謝大家的蒞臨。😘
請?zhí)砑訄D片描述

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧


名稱欄目:【C語言初階】選擇語句和循環(huán)語句-創(chuàng)新互聯(lián)
標題URL:http://weahome.cn/article/gpood.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部