欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言入門(mén)篇--學(xué)習(xí)選擇,if,switch語(yǔ)句以及代碼塊

 更新時(shí)間:2021年08月26日 16:21:46   作者:yycure  
本篇文章是基礎(chǔ)篇,適合c語(yǔ)言剛?cè)腴T(mén)的朋友,本文主要帶大家學(xué)習(xí)一下C語(yǔ)言的選擇,if,switch語(yǔ)句及代碼塊,幫助大家快速入門(mén)c語(yǔ)言的世界,更好的理解c語(yǔ)言

1.什么是語(yǔ)句

語(yǔ)句:C語(yǔ)言中由一個(gè) ; 隔開(kāi)的就是一條語(yǔ)句。

例如:

int a = 10;
printf("haha\n");
10;
'A';
 ; //空語(yǔ)句,啥都不執(zhí)行

2.選擇語(yǔ)句(分支語(yǔ)句)

2.1if語(yǔ)句&注意事項(xiàng)

在這里插入圖片描述

2.1.1語(yǔ)法結(jié)構(gòu)

(1)
if (表達(dá)式)
{
	代碼塊;
}
(2)
//二選一
if (表達(dá)式)
{
	代碼塊1;//表達(dá)式為真
}
else
{
	代碼塊2;//表達(dá)式為假
}
(3)
//多分支 多選一   
if (表達(dá)式1)
{
	代碼塊1;
}
else if (表達(dá)式2)
{
	代碼塊2;
}
else
{
	代碼塊3;
}

說(shuō)明:

  • 1.if語(yǔ)句是選擇分支語(yǔ)句,只要滿足一個(gè)條件則其他語(yǔ)句就不執(zhí)行了。
  • 2.if后( )判斷的是( )中表達(dá)式返回的結(jié)果。在C語(yǔ)言中,0為假,非0為真。
  • 3.條件判斷為防止誤寫(xiě)為if (flag=6),可寫(xiě)成 if (6==flag)。
  • 4.一個(gè){ }就是一個(gè)代碼塊,盡量使用{ },使邏輯更加清楚,以示其是完整的代碼塊,不容易出錯(cuò)。否則可能會(huì)出現(xiàn)編譯不通過(guò)或輸出結(jié)果錯(cuò)誤的情況。

如:

(1)編譯不通過(guò)

//error,編譯不通過(guò)

int main()
{
	if (a > 10)
		i++;
		j++;//error,編譯不通過(guò)
	else
		j++;
	return 0;
}

//推薦寫(xiě)法,帶全{ }

int main()
{
	if (a > 10)
	{
		i++;
		j++
	}

	else
	{
		j++;
	}
	return 0;
}
(2)懸空else問(wèn)題

//未加全{ },出現(xiàn)懸空else

int main()
{
	int a = 0;
	int b = 2;
	if (1 == a)
	if (2 == b)
		printf("hehe\n");
	else
		printf("haha\n");
	return 0;
}

輸出:

在這里插入圖片描述

//推薦寫(xiě)法,加全{ }

int main()
{
	int a = 0;
	int b = 2;
	if (1 == a)
	{
		if (2 == b)
		{
			printf("hehe\n");
		}
	}
	else
	{
		printf("haha\n");
	}
	return 0;
}

輸出:

在這里插入圖片描述

(3).if語(yǔ)句多分支例子:
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age<18)
	{
		printf("少年\n");
	}
	else if (age >= 18 && age<30)
	{
		printf("青年\n");
	}
	else if (age >= 30 && age<50)
	{
		printf("中年\n");
	
	}
	else if (age >= 50 && age<80)
	{
		printf("老年\n");
	}
	else
	{
		printf("長(zhǎng)命百歲\n");
	}

	system("pause");
	return 0;
}

2.1.2懸空else

#include <stdio.h>
int main()
{
    int a = 1;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("hehe\n");
    else//懸空else
        printf("haha\n");
    return 0; 
}
輸出:hehe

說(shuō)明:

  • 1.此處的else即為懸空else。
  • 2.if else 語(yǔ)句嵌套時(shí),else采取就近原則匹配最近的if。
  • 3.寫(xiě)代碼時(shí)盡量把{ }帶上,避免懸空else的出現(xiàn),導(dǎo)致輸出結(jié)果錯(cuò)誤,例子詳見(jiàn) 2.1.1 (2)懸空else問(wèn)題。

2.2switch語(yǔ)句&注意事項(xiàng)

2.2.1語(yǔ)法結(jié)構(gòu)

//switch語(yǔ)句是C語(yǔ)言中經(jīng)典多分支語(yǔ)句
switch (整型表達(dá)式)
	{
	case 常量表達(dá)式1:
		語(yǔ)句;
	case 常量表達(dá)式2:
		語(yǔ)句;
		...
	case 常量表達(dá)式n:
	default:
		語(yǔ)句;
	}

說(shuō)明:

  • 1.switch語(yǔ)句是匹配跳轉(zhuǎn),case只有判斷功能,無(wú)分支功能;
    case匹配到哪個(gè)位置就跳轉(zhuǎn)到哪個(gè)位置,從匹配位置開(kāi)始往后執(zhí)行;
    case語(yǔ)句加break后則可實(shí)現(xiàn)分支。
  • 2.整型表達(dá)式包含 int,char,long long,short 類(lèi)型, int a=10; a>10;(1+2);等表達(dá)式。
  • 3.常量表達(dá)式如97、'7'等。

2.2.2switch語(yǔ)句中的break

作用:在switch語(yǔ)句中break語(yǔ)句可以實(shí)現(xiàn)分支作用。

例子:

(1)無(wú)break
switch (3)
	{
	case 1:
		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");

	}

輸出:

在這里插入圖片描述

(2)有break
switch (3)
	{
	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;
	}

輸出:

在這里插入圖片描述

(3)需求改變
int main()
{
	int day = 3;
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("weekday\n");
		break;
	case 6:
	case 7:
		printf("weekday\n");
		break;

	}
}

輸出:

在這里插入圖片描述

2.2.3switch語(yǔ)句中的default語(yǔ)句

作用:當(dāng)表達(dá)式的值與case都不匹配時(shí),則執(zhí)行default的語(yǔ)句。

說(shuō)明:

  • 1.default語(yǔ)句可以出現(xiàn)在任何一個(gè)case語(yǔ)句出現(xiàn)的地方。
  • 2.switch后表達(dá)式的值與case都不匹配時(shí),不管default的語(yǔ)句在switch里的哪一個(gè)位置,都執(zhí)行default的語(yǔ)句,一個(gè)switch語(yǔ)句中只可出現(xiàn)一個(gè)default。
  • 3.default語(yǔ)句可以不寫(xiě),但做為一種良好的編程習(xí)慣,可以在case語(yǔ)句中加上default,并且在其后加上break。

eg:

(1)default在最后
int main()
{
	switch ('r')
	{
	case 'w':
		printf("工作日\(chéng)n");
		break;
	case 'r':
		printf("休息日\(chéng)n");
		break;
	case's':
		printf("加班日\(chéng)n");
	default:
		printf("輸入有誤\n");
		break;
	}
	return 0;
}

輸出:

在這里插入圖片描述

(2)default在中間
int main()
{
	switch ('r')
	{
	case 'w':
		printf("工作日\(chéng)n");
		break;
	default:
		printf("輸入有誤\n");
		break;
	case 'r':
		printf("休息日\(chéng)n");
		break;
	case's':
		printf("加班日\(chéng)n");
		break;
	}
	return 0;
}

輸出:

在這里插入圖片描述

(3)case未匹配到,執(zhí)行default語(yǔ)句

int main()
{
	switch ('N')
	{
	case 'w':
		printf("工作日\(chéng)n");
		break;
	default:
		printf("輸入有誤\n");
		break;
	case 'r':
		printf("休息日\(chéng)n");
		break;
	case's':
		printf("加班日\(chéng)n");
		break;
	}
	return 0;
}

輸出:

在這里插入圖片描述

2.2.4switch語(yǔ)句的嵌套

例子:(可以自己嘗試做一下輸出結(jié)果)

int main()
{
  int n = 1;
  int m = 2;
  switch (n)
 {
  case 1:
      m++;
  case 2:
      n++;
  case 3:
      switch (n)
     {
      case 1:
          n++;
      case 2:
          m++;
          n++;
          break;
     }
  case 4:
      m++;
      break;
  default:
      break;
 }
  printf("m = %d, n = %d\n", m, n);
  return 0;
}

輸出:

在這里插入圖片描述

說(shuō)明:

  • 1.switch語(yǔ)句支持嵌套使用。
  • 2.當(dāng)前套使用時(shí),switch語(yǔ)句中的break僅是跳出離其最近的switch語(yǔ)句。

3.代碼塊

1.一個(gè){ }就是一個(gè)代碼塊。
2.凡是在代碼塊里定義的變量叫做臨時(shí)變量,函數(shù)也是代碼塊,因?yàn)楹瘮?shù)也用{ }括起來(lái)了。
3.凡是在代碼中定義的變量都叫局部變量,只在本代碼塊內(nèi)有效。

(1)error

int main()
{
	int flag = 6;
	if (6 == flag)
	{
		int x = 10;//x在本代碼塊{}內(nèi)定義,出了本代碼塊后x無(wú)效
	}
	printf("%d\n", x);//x在其他代碼塊中不可使用
	return 0;
}

輸出:

在這里插入圖片描述

(2)編譯通過(guò)

int main()
{
	int flag = 6;
	if (6 == flag)
	{
		int x = 10;
		printf("%d\n", x);//x在本代碼塊{}內(nèi)定義,出了本代碼塊后x無(wú)效
	}
	int x = 20;//可以在其他代碼塊定義一個(gè)同名的變量
	printf("%d\n", x);
	return 0;
}

輸出:

在這里插入圖片描述

以上就是C語(yǔ)言入門(mén)篇--學(xué)習(xí)選擇,if,switch語(yǔ)句以及代碼塊的詳細(xì)內(nèi)容,更多關(guān)于C語(yǔ)言的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論