欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C語言分支語句-總結(jié)筆記-創(chuàng)新互聯(lián)

分支語句

C語言是結(jié)構(gòu)化的編程語言。C語言對生活中的事情進行抽象,總結(jié)為順序、判斷、循環(huán)關(guān)系。

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、科爾沁網(wǎng)站維護、網(wǎng)站推廣。

概述:

判斷(分支)語句:

  • if
  • switch

循環(huán)語句:

  • while
  • for
  • do while

go to

1.什么是語句

C語言的語句可以分為一下幾類:

  1. 表達(dá)式語句
  2. 函數(shù)調(diào)用語句
  3. 控制語句
  4. 復(fù)合語句
  5. 空語句

本次介紹的是控制語句。

控制語句用于控制程序的執(zhí)行流程,以實現(xiàn)程序的各種結(jié)構(gòu)方式(C語言有三種結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))

可以分為三類:

  • 條件判斷語句(分支語句):if語句、switch語句;
  • 循環(huán)語句:do while語句、while語句、for語句;
  • 轉(zhuǎn)向語句:break語句、goto語句、continue語句、return語句

下面我們將逐一介紹

2.分支語句(選擇結(jié)構(gòu)) 2.1 if語句

在你面前有兩個選擇或者多個選擇時。example:周一、三、五選擇吃火鍋,二四六選擇吃蓋飯,周日隨緣。那么這個例子就需要進行選擇,在C語言中可以使用if語句實現(xiàn)。

//語法結(jié)構(gòu)
//單個if
if (表達(dá)式)
    語句;

//if與else
if (表達(dá)式)
    語句;
else
    語句二;

//多個選擇時,可以用else if
if (表達(dá)式)
    語句一;
else if (表達(dá)式)
    語句二;
else 
    語句三;
  • 對于單if語句,如果if語句后面的表達(dá)式成立,則執(zhí)行if下面的代碼。
  • 對于else if語句,如果 if 語句的表達(dá)式成立則執(zhí)行 if 下面的代碼,否則執(zhí)行 else 后面的語句。
  • 對于多個選擇。自上而下按順序判斷,如果有滿足 if 或 else if 的表達(dá)式時,執(zhí)行相應(yīng)的語句。if 和 else if 語句沒有滿足條件的,則執(zhí)行else的語句
  • else 或 else if 與最近的 if配套,不能只看縮進關(guān)系。每個判斷后,語句如果包含多個(多行),應(yīng)使用 { }代碼塊.

代碼演示:

//one

#includeint main()
{int age = 0;
    scanf("%d", &age);
    if (age< 18)
    {printf("未成年人\n");
        printf("禁止吸煙\n");
    }
    return 0;
}
//two

#includeint main()
{int age = 0;
    scanf("%d",&age);
    if (age<18)
        printf("未成年");
    else
        printf("已成年");
    
	return 0;
}
//three

#includeint main()
{
    int age = 0;
    scanf("%d",&age);
    if (age< 18)
        printf("未成年");
    else if (age>=18 && age<=30)
        printf("青年");
     else if (age>30 && age<=50)
        printf("中年");
     else
         printf("老年");
    return 0;
}

以上年齡劃分僅為演示代碼。

總結(jié):

  • 如果語言表達(dá)式為真,則語句執(zhí)行。
  • C語言中用 0 表示假,用非 0 表示真。

如果條件成立,要執(zhí)行多條語句,要使用代碼塊,上面代碼 one 中就是使用了代碼塊。一對 { } 就是一個代碼塊。

#includeint main()
{if(表達(dá)式)
   {語句列表1;
   }
    else
   {語句列表2;
   }
    return 0;
}
2.1.1 懸空else

看以下代碼:

#includeint main()
{
    int a = 0;
    int b = 2;
    if (a==1)
        if (b==1)
            printf("I am so happy today");
    else 
        printf("I am so sad today");
	return 0;
}

那么上面的代碼輸出是什么呢?

答案是沒有輸出。因為 else 是與最近的 if 配套的,不能只看縮進,else 與 (b==1) 這層 if 搭配。由于判斷 a=1 的 if 條件已經(jīng)不成立了,所以根本不會運行 表達(dá)式一后面的執(zhí)行語句。

改正

//適當(dāng)?shù)氖褂?{ } 可以是代碼的邏輯更清晰
//要有良好的寫代碼的習(xí)慣和讓人舒服的風(fēng)格
#includeint main()
{
	int a = 0;
	int b = 2;
	if (a == 1)
	{
		if (b == 2)
			printf("I am so happy today");
		else
			printf("I am so sad today");
	}
	return 0;
}
2.1.2 if風(fēng)格對比
//代碼1
if (condition)
{
	return x;
}
return y;

//代碼2
if (condition)
{
	return x;
}
else 
{
	return y;
}

其實上面兩個代碼的作用是一樣的,代碼二邏輯更為清晰。像我一樣的初學(xué)者,建議代碼二。

//代碼三
int main()
{
    int num = 1;
    if (5 == num)
    {
        printf("I am happy");
    }
	return 0;
}

if 的判斷語句這樣寫的話,如果出現(xiàn)少些一個等號這樣的錯誤,會直接報錯導(dǎo)致程序運行不了,防止條件判斷語句變?yōu)?賦值語句,程序能運行但是有 bug。

2.1.3小練習(xí)
//判斷一個數(shù)是否為奇數(shù),是的話就輸出。
int main()
{
    int num = 0;
    scanf("%d",&num);
    if (num %2 == 1)
        printf("%d\n",num);
	return 0;
}
//打印0~100之間的奇數(shù)
//這里會用到循環(huán),主要看if
int main()
{
	int main()
{
	int i = 0;
	while (i<= 100)
	{
		if (i % 2 == 1)
		{
			printf("%d\n",i);
		}
		i++;
	}

	return 0;
}
2.2 switch語句

switch語句也是分支語句的一種。常常用于多分支的結(jié)構(gòu)。

比如:按照輸入的數(shù)字輸出對應(yīng)的星期幾,那么我們也可以用 7個 if 語句判斷實現(xiàn)。但是代碼冗雜,這是哦我們可以使用 switch 語句。

switch (整形表達(dá)式)
{語句項;
}

語句項是什么?

//語句項是一些case語句
case 整型常量表達(dá)式:
	語句;

通過代碼來看一下:

#includeint 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;
}

那么結(jié)果是什么呢?

如果輸入6,會發(fā)現(xiàn)輸出 星期六 星期天。

why?

是因switch語句的執(zhí)行順序是判斷成功自上而下一次執(zhí)行。也就是說輸入 6 的時候。case 6 成立輸出星期六,但是沒有終止,因此會輸出星期天。

以上情況可以用break解決

#includeint main()
{
    int day = 0;
    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;
}

那么如果我們現(xiàn)在要求:輸入1~5輸出“工作日”,輸入6或7輸出“休息日”。

代碼:

int main()
{
    int day = 0;
    scanf("%d",&day);
    switch (day)
    {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("工作日");
            break;
        case 6:
        case 7:
            printf("休息日");
            break;
    }
    return ;
}

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

2.2.x default子句

如果我們輸入的條件與case都不一致怎么辦?

答:使用default子句,當(dāng)case子句的條件都不滿足的時候,便會執(zhí)行 default 子句。

#includeint 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;
           }
    case 4:
            m++;
            break;
    default:
            break;
   }
    printf("m = %d, n = %d\n", m, n);
    return 0;
}
//輸出
m = 5  n = 3

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

當(dāng)前名稱:C語言分支語句-總結(jié)筆記-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://chinadenli.net/article40/ddihho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、微信公眾號網(wǎng)頁設(shè)計公司、網(wǎng)站排名做網(wǎng)站、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化