中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

什么是C語言分支和循環

發布時間:2021-10-19 11:43:04 來源:億速云 閱讀:188 作者:iii 欄目:開發技術

這篇文章主要講解了“什么是C語言分支和循環”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“什么是C語言分支和循環”吧!

一、什么是語句

我們常在一條代碼的末尾加一個分號 “;” ,C語言中分號前的就是一條語句,例如

int a = 0;//這是一條語句
printf("%d\n",a);這又是一條語句

很簡單的概念。

那么,如果單放一個分號,分號前什么也不寫,算不算一條語句呢?

答:當然也算,這是需要注意的一個小點。

二、分支語句

分支語句又叫選擇結構,就比如你如果認真學習,你就能找到好工作;如果你整天打游戲,那就等于你選擇了畢業后失業。是好好學習,還是打游戲,這就是你的選擇,你的選擇會帶來相應的結果,這就是分支語句。

分支語句:

  • if

  • switch

1.if語句

if語句的結構:

if(條件)
    語句(帶來的結果);
else
    語句(帶來的結果);

如果滿足if括號里的條件,則實行if下面的語句,否則執行else下面的語句。

上面是一種結構,還有一種叫多分支結構:

if(條件)
   (語句);
else if(條件)
   (語句);
else(條件)
   (語句);

其實就是在上一種結構上,多了一個選擇else if。

接下來我舉一個完整的例子,以體重為例

#include <stdio.h>

int main()
{
 int weight = 0;
 scanf(“%d\n”,&weigth);
 if(weight<100)
    {
    printf("瘦子");
    }
 else if(weight>100 && weight<150)
    {
    printf("正常")
    }`在這里插入代碼片`
 else
    {
    printf("偏重")
    }
    return 0;
 }

這里就是讓你輸入體重

  • 如果滿足if(體重小于100),那么輸出:瘦子

  • 如果滿足else if()體重在100至150之間,那么輸出:正常

注意:當我們想表達體重大于100,小于150,我們通常會寫(100<weight<150),但在C語言中,這是錯誤的。正確書寫應該為(weight>100 && weight<150)。

這個符號&&成為邏輯與運算符,只有當兩個式子都為真的時候,它才會表達為真,與高中我們學的“或且非”的原理一樣。

在我們這個例子就是,當weight同時滿足小于150和大于100的時候,它才會判斷為真,然后輸出結果

  • 如果上面都不滿足,就輸出else的語句:偏重。

除此之外,還有個新手常犯的錯誤,我們看以下代碼

#include <stdio.h>
int main()
{
    int a = 0;/第一行
    int b = 2;/第二行
    if(a == 1)/第三行
        if(b == 2)/第四行
            printf("好的\n");/第五行
    else/第六行
        printf("不好\n");/第七行
    return 0;

可見第三行 if 和第六行的 else 是對齊的,想當然的以為這兩個是對應的,如果是這兩個對應的話,程序執行的步驟應該是

1. 令a = 0,b = 2

2. 到第三行,判斷a是否為2,判斷為否

3. 執行else打印“不好”

但是當我們執行會發現,它什么都沒打印。

因為,else 和 if 對應的原則是,就近原則,其實第六行和第四行它們是挨最近的,所以是這兩處的else和if對應。 因此,程序執行的步驟應該是

1. 令a = 0,b = 2

2. 判斷a是否為1,判斷為否

3. 下一級的if else語句不執行,直接return 0

所以我們平時為避免這類錯誤,應當注意使用大括號“{ }”

#include <stdio.h>
int main()
{
    int a = 0;
    int b = 2;
    if(a == 1)
       {
         if(b == 2)
            printf("好的\n");
        }
    else
       { 
       printf("不好\n");
       }
    return 0;

這樣,它打印出來的就是“不好”。

2.switch語句

switch也是一直分支語句,常用于多分支,例如你輸入1,程序就輸出一月,你輸入2,程序就輸出二月,以此類推,用 if 語句寫比較麻煩,所以就誕生了switch語句。

switch語句:

switch(整型常量表達式)
{
   語句項
 }

語句項又是什么呢?

語句項是一些case語句,放在例子中為比較好理解

#include <stdio.h>
int main()
{
    int day = 1
	;
    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;
}

該程序執行過程

1.int day = 1 這個值可以隨機

2.進入switch語句

3.判斷day的值與哪個case相同

4.輸出該case下的語句

此外,該代碼中的break,為終止語句

何為終于語句?

答: 就是程序執行到break,就終止了,很好理解。在switch語句中,實際上程序是判斷執行哪個case,判斷到了,就直接跳到那個case那邊,之后接著執行下面的代碼,是不會終止的。就等于十條斑馬線,你一跳,跳到了第三條,但之后你還要走完后面的七條。

所以break語句在這里的作用就是你跳到了第三條斑馬線,就讓你停下來,不讓你走了

還有一種情況:如果表達的值與所有case標簽的值都不匹配怎么辦?

答:其實不匹配在C語言中也不會被報錯,只是什么都不輸出。

當 switch表達式的值并不匹配所有case標簽的值時,我們可以用default子句 來規定其輸出什么,其實和case語句類似

default:
{
}
             break;

三、循環語句

循環語句有以下幾種

  • while

  • for

  • do while

1.while循環

循環,顧名思義就是程序去重復執行一個指令,我們可以用此非常簡短的寫出我們需要的東西。
我們發現生活中很多的實際的例子是:同一件事情我們需要完成很多次。
那我們怎么做呢? C語言中給我們引入了:while語句,可以實現循環。

while的語法結構

while(表達式)
循環語句;

當我們一直循環,直到滿足了表達式所規定的條件,程序才會跳出。

比如我們實現在屏幕上打印1-10的數字

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

它運行的步驟是

1.令i = 1

2.判斷 i 是否小于等于10

3.判斷為真,則進入循環。

4.先打印 i 的數值

5.再i + 1

6.再判斷 i 是否小于等于10

7.以此類推

2.循環語句中的break與continue

break作用:

break在while語句中,起直接終止所有循環的作用。

continue作用:

continue在while語句中,起終止本次循環的作用,就是在本次循環中,碰到continue后面的語句就不執行,直接跳到while判斷。

舉個例子能更好理解

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

大家猜猜此時程序運行之后 打印的值是多少?

答案是:1、2、3、4

該程序執行步驟:

1.令 i = 1

2.判斷 i 是否小于等于10

3.判斷為真,進入循環

4.在循環內判斷 i 是否等于 5

5.不等于 則跳過 if 的語句項continue

6.打印 i 的值

7.i + 1

8.再次循環

9.當循環到i 等于 5 的時候 進入 if 語句

10.執行continue 跳過本次循環(不執行后面的打印和 i + 1)

11.直接判斷 i 是否小于等于 10 (此時 i 還等于5)

12.再次進入 if 重復 9、10、11的動作

相信這樣大家能夠更加理解continue的作用。

3.for循環

為什么有了 while 循環還要多個 for 循環呢?

首先我們看for循環的語法:

for(表達式1,表達式2,表達式3)
   循環語句:

表達式1

依舊舉個例子闡述:

(打印1-10的數字)

#include <stdio.h>
int main()
{
 int i = 0;
 //for(i=1/*初始化*/; i<=10/*判斷部分*/; i++/*調整部分*/)
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0;
 }

這段代碼首先將 i 初始化為1,之后判斷 i 是否小于等于10,是則進入循環,執行完整個代碼之后再i++(i自增1),再重復上述動作直到 i 大于10停止循環。

那么可見for與while循環是類似的,但我們應該在什么時候用for什么時候用while呢?

答:對一個數組進行循環時,如果每輪循環都是在循 環處理完后才將循環變量增加的話,使用for循環比較方便。
如果循環處理的過程中就要將循環變量增加時,則使用while循環比較方便。

感謝各位的閱讀,以上就是“什么是C語言分支和循環”的內容了,經過本文的學習后,相信大家對什么是C語言分支和循環這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肥东县| 广宁县| 惠水县| 邵武市| 阿合奇县| 麻城市| 开原市| 油尖旺区| 北辰区| 新昌县| 收藏| 甘德县| 涿鹿县| 长阳| 蓝山县| 荆州市| 沁水县| 新疆| 南康市| 密云县| 罗平县| 闽清县| 本溪| 丰城市| 中西区| 桐庐县| 深水埗区| 揭东县| 武山县| 新乡县| 南充市| 阳曲县| 颍上县| 汉寿县| 揭阳市| 钟山县| 德格县| 高台县| 祥云县| 兴文县| 沙洋县|