亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一篇文章帶你了解C語言的選擇結構

 更新時間:2022年01月17日 14:39:47   作者:侯稼澍  
這篇文章主要為大家介紹了C語言的選擇結構,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

一、if-else語句

1.單選擇

單選擇通過if語句就可以實現(xiàn),if語句的語法及執(zhí)行流程如下:

if(表達式)
{
     代碼塊(表達式返回值為真時執(zhí)行)
}

當程序運行到if語句時,會由表達式進行判定,諾表達式的返回值為真,則進入代碼塊執(zhí)行語句,為假便跳過代碼塊繼續(xù)執(zhí)行。(當代碼塊語句僅有一句時,可以省略大括號。)

舉一個簡單的例子

例:判斷10是否為3的倍數(shù)

 
int main()
{
	int i = 10;
		if (i % 3 == 0) //表達式結果為假 
			printf("是");//代碼塊內(nèi) 未執(zhí)行
	return 0;
}

 2.雙選擇

雙選擇通過if-else語句實現(xiàn),if-else語句的語法及執(zhí)行流程如下:

(else的匹配:else是和它相距的最近的if匹配的)

if(表達式)
{
   語句一(表達式返回值為真時執(zhí)行)
}
else
{
   語句二(表達式返回值為假時執(zhí)行)
}

 

當程序運行到if語句時,會由表達式進行判定,表達式的返回值為真,則執(zhí)行語句1,為假便塊執(zhí)行語句2。

舉一個簡單的例子

例:判斷學生分數(shù)及格 

#include<stdio.h>
int main()
{
	int i = 0;
	scanf("%d", &i);
	if (i >= 60)
		printf("及格");
	else
		printf("不及格");
	return 0;
}

3.多選擇

通過else if語句實現(xiàn)的多選擇,else if語句的語法及執(zhí)行流程如下:

if(表達式1)
{
   語句1 (表達式1返回值為真時執(zhí)行)
}
else if(表達式2)
{
   語句2 (表達式返回值為真時執(zhí)行)
}
else if(表達式3)
{ 
    語句3(表達式返回值為真時執(zhí)行)
}
else 
{
   代碼塊(以上表達式均為假時執(zhí)行)
}

 

當程序運行到if語句時,會由表達式進行判定,表達式1的返回值為真,則進入if下的代碼塊執(zhí)行語句1,為假便進入表達式2。當然if-else可以實現(xiàn)的分支不止這四種,通過增加else if 語句的數(shù)量便可以實現(xiàn)更多的選擇。

舉一個簡單的例子

例:年齡分段

#include <stdio.h>
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");
    }
    return 0;
}

二.switch語句

switch語句也是一種分支語句。 常常用于多分支的情況。else if 語句也能實現(xiàn)多分支情況,但在某些情況下使用else if來實現(xiàn),會使代碼過于復雜。

比如:

輸入1,輸出星期一

輸入2,輸出星期二

輸入3,輸出星期三

輸入4,輸出星期四

輸入5,輸出星期五

輸入6,輸出星期六

輸入7,輸出星期日

如果使用else if 

#include<stdio.h>
int main()
{
	int day = 0;
	scanf("%d", &day);
	if (1 == day)
		printf("星期一");
	else if (2 == day)
		printf("星期二");
	else if (3 == day)
		printf("星期三");
	else if (4 == day)
		printf("星期四");
	else if (5 == day)
		printf("星期五");
	else if (6 == day)
		printf("星期六");
	else
		printf("星期日");
	return 0;
}

 那么這個代碼便會太過復雜,而使用switch就會很多

switch語句的語法及執(zhí)行流程如下:

switch(整型表達式)
{
    //在一個 switch 中可以有任意數(shù)量的 case 語句。
    case 整形常量表達式:
    語句;
}

case  是一個入口,按照輸入整型表達式的值進入,后按照順序依次運行。

單使用switch語句是無法實現(xiàn)分支的,需要搭配break使用才能實現(xiàn)真正的分支。

舉一個例子:

#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
    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");
    }
    return 0;
}

輸入值分別為2 4時,輸出結果如下:

 與想要實現(xiàn)的效果相差甚遠,而搭配break使用就能解決這個問題。

#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
    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;
    }
    return 0;
}

 

 break語句 的實際效果是把語句列表劃分為不同的分支部分。

 switch除了搭配break語句使用,往往也會搭配 default語句

如果表達的值與所有的case標簽的值都不匹配時,所有的語句都會被跳過。程序并不會終止,也不會報錯,因為這種情況在C中并不認為是個錯誤。

諾并不想忽略不匹配所有標簽的表達式的值時,可以在語句列表中增加一條default子句。

當 switch 表達式的值并不匹配所有 case 標簽的值時,這個 default 子句后面的語句就會執(zhí)行。

 例如:

#include <stdio.h>
int main()
{
    int day = 0;
    scanf("%d", &day);
    switch (day)
    {
    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;
    default:
        printf("輸入錯誤");
    }
    return 0;
}

 switch 語句可以有一個可選的 default case,出現(xiàn)在 switch 的結尾。default case 可用于在上面所有 case 都不為真時執(zhí)行一個任務。default case 中的 break 語句不是必需的。

總結

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • OpenCV圖像處理基本操作詳解

    OpenCV圖像處理基本操作詳解

    這篇文章主要為大家詳細介紹了OpenCV圖像處理基本操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03
  • C語言中結構體(struct)的幾種初始化方法

    C語言中結構體(struct)的幾種初始化方法

    相信大家都知道struct結構體是C語言中非常重要的復合類型,初始化的方法很多,那么小編下面對這些方法進行總結,便于自己和大家以后查閱,有需要的可以參考借鑒。
    2016-08-08
  • 基于C語言實現(xiàn)學生管理系統(tǒng)

    基于C語言實現(xiàn)學生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了基于C語言實現(xiàn)學生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言執(zhí)行時,程序控制臺輸出窗口 一閃而過問題及解決

    C語言執(zhí)行時,程序控制臺輸出窗口 一閃而過問題及解決

    這篇文章主要介紹了C語言執(zhí)行時,程序控制臺輸出窗口 一閃而過問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 淺談分詞器Tokenizer

    淺談分詞器Tokenizer

    分詞器的工作就是分解文本流成詞(tokens).在這個文本中,每一個token都是這些字符的一個子序列。一個分析器(analyzer)必須知道它所配置的字段,但是tokenizer不需要,分詞器(tokenizer)從一個字符流(reader)讀取數(shù)據(jù),生成一個Token對象(TokenStream)的序列
    2021-06-06
  • 帶你了解C++this指針的用法及其深究

    帶你了解C++this指針的用法及其深究

    這篇文章主要介紹了C++中this指針的用法,對初學者而言是非常重要的概念,必須加以熟練掌握,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • C語言判斷字符是否為可打印字符的方法

    C語言判斷字符是否為可打印字符的方法

    這篇文章主要介紹了C語言判斷字符是否為可打印字符的方法,分別為isprint()函數(shù)和isgraph()函數(shù)的使用,需要的朋友可以參考下
    2015-08-08
  • C++?QT?QThread啟動、停止、暫停和恢復的實現(xiàn)

    C++?QT?QThread啟動、停止、暫停和恢復的實現(xiàn)

    本文主要介紹了C++?QT?QThread啟動、停止、暫停和恢復的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • C++二叉樹結構的建立與基本操作

    C++二叉樹結構的建立與基本操作

    二叉樹是數(shù)據(jù)結構中的樹的一種特殊情況,有關二叉樹的相關概念,這里不再贅述,如果不了解二叉樹相關概念,建議先學習數(shù)據(jù)結構中的二叉樹的知識點
    2013-10-10
  • C++實現(xiàn)學生宿舍管理系統(tǒng)

    C++實現(xiàn)學生宿舍管理系統(tǒng)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)學生宿舍管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論