C語言的分支和循環(huán)語句你了解嗎
1、什么是語句?
C語句可分為以下五類:
- 表達式語句
- 函數(shù)調(diào)用語句
- 控制語句
- 復合語句
- 空語句
控制語句用于控制程序的執(zhí)行流程,以實現(xiàn)程序的各種結(jié)構(gòu)方式,它們由特定的語句定義符組成,C語言有九種控制語句。
可分成以下三類:
1. 條件判斷語句也叫分支語句:if語句、switch語句;
2. 循環(huán)執(zhí)行語句:do while語句、while語句、for語句;
3. 轉(zhuǎn)向語句:break語句、goto語句、continue語句、return語句。
2、分支語句(選擇結(jié)構(gòu))
2.1、if語句
語法結(jié)構(gòu):
//單分支
if(表達式)
語句;
if(表達式)
語句1;
else
語句2;
//多分支
if(表達式1)
語句1;
else if(表達式2)
語句2;
else
語句3;else的匹配:else是和它離的最近的if匹配的。
2.2、switch語句
switch是一種多分支語句
switch(整型表達式)
{
case 整形常量表達式:
語句;
}2.2.1、switch語句中的break
switch語句需要搭配break才能實現(xiàn)真正的分支
#include <stdio.h>
int 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;
}當需要:
1. 輸入1-5,輸出的是“weekday”;
2. 輸入6-7,輸出“weekend”
所以我們的代碼就應該這樣實現(xiàn)了:
#include <stdio.h> //switch代碼演示
int main()
{
int day = 0;
switch(day)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("weekday\n");
break;
case 6:
case 7:
printf("weekend\n");
break;
}
return 0;
}break語句 的實際效果是把語句列表劃分為不同的分支部分。
編程好習慣
在最后一個 case 語句的后面加上一條 break語句。(之所以這么寫是可以避免出現(xiàn)在以前的最后一個 case 語句后面忘了添加 break語句)。
2.2.2default子句
當所有case條件都不滿足時就會執(zhí)行default語句
3、循環(huán)語句
3.1、while循環(huán)
while 語法結(jié)構(gòu)
while(表達式)
循環(huán)語句;while語句執(zhí)行的流程:

在屏幕上打印0-10的數(shù)字。
#include<stdio.h>int main(){ int i = 0; while(i<=10) { printf("%d ", i); i = i+1; } return 0;}#include<stdio.h>
int main()
{
int i = 0;
while(i<=10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}3.1.1while中的break和continue
break:跳出整個循環(huán)
continue:跳過一次循環(huán)
3.2、for循環(huán)
3.2.1、語法
for(表達式1; 表達式2; 表達式3)
循環(huán)語句;表達式1
表達式1為初始化部分,用于初始化循環(huán)變量的。
表達式2
表達式2為條件判斷部分,用于判斷循環(huán)時候終止。
表達式3
表達式3為調(diào)整部分,用于循環(huán)條件的調(diào)整。
for循環(huán)的執(zhí)行流程

3.2.2、break和continue在for循環(huán)中
與while循環(huán)相同
3.2.3、for語句的循環(huán)控制變量
1、不要在循環(huán)體內(nèi)修改循環(huán)變量防止死循環(huán)
2、采用前閉后開區(qū)間寫法
for(i=0;i<10;i++)
{}3.2.4、for循環(huán)的變種
#include <stdio.h>
int main()
{
for(;;)
{
printf("hehe\n");
}
//for循環(huán)中的初始化部分,判斷部分,調(diào)整部分是可以省略的,但是不建議初學時省略,容易導致問 題。 return 0;
}3.3do…while()循環(huán)
3.3.1、語法
do
循環(huán)語句;
while(表達式);3.3.2、執(zhí)行流程

3.3.3、 do語句的特點
先執(zhí)行一次循環(huán)體
3.3.4、break和continue
同for循環(huán)
4、goto語句
語法格式:
again: goto again;
使用場景:
跳出多層循環(huán)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C語言中函數(shù)棧幀的創(chuàng)建和銷毀的深層分析
在C語言中,每一個正在運行的函數(shù)都有一個棧幀與其對應,棧幀中存儲的是該函數(shù)的返回地址和局部變量。從邏輯上講,棧幀就是一個函數(shù)執(zhí)行的環(huán)境:函數(shù)參數(shù)、函數(shù)的局部變量、函數(shù)執(zhí)行完后返回到哪里等等2022-04-04
C++類繼承之子類調(diào)用父類的構(gòu)造函數(shù)的實例詳解
這篇文章主要介紹了C++類繼承之子類調(diào)用父類的構(gòu)造函數(shù)的實例詳解的相關(guān)資料,希望通過本文大家能夠掌握C++類繼承的相關(guān)知識,需要的朋友可以參考下2017-09-09
怎么用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))
這篇文章主要介紹了用C++提取任意一張圖片的特征(從內(nèi)存讀取數(shù)據(jù))的相關(guān)資料,需要的朋友可以參考下2017-05-05
解析C++編程中如何使用設(shè)計模式中的狀態(tài)模式結(jié)構(gòu)
這篇文章主要介紹了如何在C++編程中適用設(shè)計模式中的狀態(tài)模式結(jié)構(gòu),狀態(tài)模式強調(diào)將特定狀態(tài)相關(guān)的邏輯分散到一些類的狀態(tài)類中,需要的朋友可以參考下2016-03-03

