最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

1.什么是語句

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

例如:

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

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

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

在這里插入圖片描述

2.1.1語法結(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;
}

說明:

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

如:

(1)編譯不通過

//error,編譯不通過

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

//推薦寫法,帶全{ }

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

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

//未加全{ },出現(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;
}

輸出:

在這里插入圖片描述

//推薦寫法,加全{ }

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語句多分支例子:
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("長命百歲\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

說明:

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

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

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

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

說明:

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

2.2.2switch語句中的break

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

例子:

(1)無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語句中的default語句

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

說明:

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

eg:

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

輸出:

在這里插入圖片描述

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

輸出:

在這里插入圖片描述

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

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

輸出:

在這里插入圖片描述

2.2.4switch語句的嵌套

例子:(可以自己嘗試做一下輸出結(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;
}

輸出:

在這里插入圖片描述

說明:

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

3.代碼塊

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

(1)error

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

輸出:

在這里插入圖片描述

(2)編譯通過

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

輸出:

在這里插入圖片描述

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

相關(guān)文章

  • VC6實(shí)現(xiàn)激活后臺(tái)窗口最佳方法

    VC6實(shí)現(xiàn)激活后臺(tái)窗口最佳方法

    這篇文章主要介紹了VC6實(shí)現(xiàn)激活后臺(tái)窗口最佳方法,實(shí)例分析了VC操作后臺(tái)窗口的技巧,需要的朋友可以參考下
    2015-06-06
  • 用C語言實(shí)現(xiàn)通訊錄

    用C語言實(shí)現(xiàn)通訊錄

    這篇文章主要為大家詳細(xì)介紹了用C語言實(shí)現(xiàn)通訊錄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • C語言五子棋小游戲?qū)崿F(xiàn)代碼

    C語言五子棋小游戲?qū)崿F(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了C語言五子棋小游戲?qū)崿F(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • C++17使用std::optional表示可能存在的值

    C++17使用std::optional表示可能存在的值

    本文主要介紹了C++17使用std::optional表示可能存在的值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • C/C++實(shí)現(xiàn)控制臺(tái)輸出不同顏色字體的方法

    C/C++實(shí)現(xiàn)控制臺(tái)輸出不同顏色字體的方法

    這篇文章主要介紹了C/C++實(shí)現(xiàn)控制臺(tái)輸出不同顏色字體的方法,涉及C++控制臺(tái)文字屬性相關(guān)設(shè)置操作技巧,需要的朋友可以參考下
    2017-09-09
  • C迷途指針詳解

    C迷途指針詳解

    這篇文章主要介紹了C迷途指針,迷途指針又稱為懸空指針、野指針,其對C程序的安全性與穩(wěn)定性影響巨大,本文對其原理與檢測方法做了較為詳盡的分析,需要的朋友可以參考下
    2014-09-09
  • 使用?C++20?Modules?導(dǎo)入?Boost?模塊的方法(問題記錄)

    使用?C++20?Modules?導(dǎo)入?Boost?模塊的方法(問題記錄)

    C++20?引入的?Modules?特性為?C++?開發(fā)帶來了諸多好處,如加快編譯速度、減少頭文件重復(fù)包含等問題,本文將詳細(xì)介紹如何使用?C++20?Modules?導(dǎo)入這些?Boost?模塊,感興趣的朋友一起看看吧
    2025-02-02
  • C語言遞歸應(yīng)用實(shí)現(xiàn)掃雷游戲

    C語言遞歸應(yīng)用實(shí)現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了C語言遞歸應(yīng)用實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 最新評論

    肃南| 喀喇沁旗| 达日县| 土默特左旗| 罗城| 五莲县| 沧源| 沽源县| 冷水江市| 桦川县| 桓仁| 宝应县| 伊通| 昌图县| 金乡县| 闸北区| 彭州市| 深水埗区| 九江县| 永仁县| 大港区| 太仓市| 岐山县| 顺平县| 大同县| 东山县| 宝丰县| 乐都县| 阿巴嘎旗| 鄂伦春自治旗| 临朐县| 开化县| 芮城县| 吉木萨尔县| 松江区| 民和| 香港| 龙里县| 邛崃市| 都昌县| 隆尧县|