文章目錄
成都創(chuàng)新互聯(lián)長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為五華企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,五華網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
目錄
前言
九、分支循環(huán)語(yǔ)句
2.分支語(yǔ)句
3.循環(huán)語(yǔ)句
總結(jié)
歡迎大家和我一起學(xué)習(xí)C語(yǔ)言,一同進(jìn)步。
支持一起學(xué)習(xí),合作。
今天我們繼續(xù)來(lái)學(xué)習(xí)C語(yǔ)言的基礎(chǔ)部分:分支和循環(huán)語(yǔ)句、
九、分支循環(huán)語(yǔ)句
1.C語(yǔ)言是一門(mén)結(jié)構(gòu)化的程序設(shè)局語(yǔ)言。
C語(yǔ)言中由一個(gè)分號(hào)隔開(kāi)的就是一個(gè)語(yǔ)句(注:存在空語(yǔ)句、不是所有的一行最后都要加分號(hào))
分為三個(gè)結(jié)構(gòu):順序結(jié)構(gòu),循環(huán)結(jié)構(gòu),選擇結(jié)構(gòu)。
2.分支語(yǔ)句分為if語(yǔ)句和switch語(yǔ)句。
(1)if語(yǔ)句
第一種結(jié)構(gòu):
? if(表達(dá)式)
? 語(yǔ)句;
如圖所示:當(dāng)表達(dá)式內(nèi)部為真,則執(zhí)行{ }內(nèi)部的語(yǔ)句。
#includeint main()
{
int a = 1;
if (a == 1)
{
printf("Hello world\n");
}
}
?第二種結(jié)構(gòu):
? if( 表達(dá)式)
? 語(yǔ)句1;
? else
? 語(yǔ)句2;
如圖所示:當(dāng)表達(dá)式內(nèi)部為真,則執(zhí)行if的代碼塊,不為真,則執(zhí)行else的代碼塊內(nèi)容。
其中的兩個(gè)等于號(hào)(==)為判斷前后兩個(gè)數(shù)是否相等。圖中a=6不等于1所以執(zhí)行了else的語(yǔ)句。
第三種結(jié)構(gòu):(用于多分支)
? if(表達(dá)式1)
? 語(yǔ)句1;
? else if(表達(dá)式2)
? 語(yǔ)句2;
..........(此處省略n個(gè)else if)...........
? else
? 語(yǔ)句3;
如圖所示:(其中的else可以省略)
第四種結(jié)構(gòu):(分支語(yǔ)句可以嵌套使用)
? if(表達(dá)式1)
? {
? if(表達(dá)式2)
? 語(yǔ)句1;
? }
? else
? 語(yǔ)句2;
如果是一個(gè) if 要執(zhí)行多條語(yǔ)句時(shí),要用{ }括起來(lái)。
下面時(shí)一個(gè) if 分支語(yǔ)句的例子:
#includeint main()
{
int age = 20;
if (age< 18)
{
printf("未成年人\n");
}
if (age >18 && age< 28)
{
printf("青年\n");
}
else
{
printf("壯年及老年\n");
}
return 0;
}
此時(shí),打印的結(jié)果為青年。
(2)switch語(yǔ)句(常用于多分支)
? 下面用一個(gè)例子引出吧。
#includeint main()
{
int day = 0;
scanf("%d", &day);
switch(day)
{
case 1:
printf("工作日\(chéng)n");
case 2:
printf("工作日\(chéng)n");
case 3:
printf("工作日\(chéng)n");
case 4:
printf("工作日\(chéng)n");
case 5:
printf("工作日\(chéng)n");
case 6:
printf("休息日\(chéng)n");
case 7:
printf("休息日\(chéng)n");
}
return 0;
}
switch后面的括號(hào)里面必須是整型,case后面的一定為整型常量表達(dá)式。
switch后面括號(hào)里的內(nèi)容相當(dāng)于是選擇進(jìn)入的入口,而case是不同的入口,圖中的day就是去選擇要從哪里進(jìn)入。注意,switch語(yǔ)句里的內(nèi)容,不是許多個(gè)門(mén)一起擺在面前去判斷,而是選擇了之后要一直走下去,例如,day=2,則會(huì)從case 2:進(jìn)入,并且直到執(zhí)行完case 7:的內(nèi)容后才結(jié)束。
所以break就派上了用場(chǎng),case比作入口,那么break就是出口。
如圖,當(dāng)給每一個(gè)case加上break;之后與之前對(duì)比。
可見(jiàn)break的用處。
一個(gè)星期中不是工作日,就是休息日,所以我們還可以把代碼簡(jiǎn)化。?
int main()
{
int day = 0;
scanf("%d", &day);
switch(day)
{
case 6:
printf("休息日\(chéng)n");
break;
case 7:
printf("休息日\(chéng)n");
break;
default:
{
printf("工作日\(chéng)n");
}
}
return 0;
}
default是在輸入的數(shù)據(jù)不在case的范圍內(nèi)時(shí),執(zhí)行default內(nèi)的語(yǔ)句。
例如,我們輸入3,在case中找不到入口,就執(zhí)行了default,打印了工作日。這樣也簡(jiǎn)化了代碼。有時(shí)候也可以防止用戶輸入的字符不在范圍內(nèi)而不執(zhí)行的事故。我們可以在default中輸入 :? ? ? ? printf(“輸入錯(cuò)誤”);的代碼,當(dāng)用戶輸入錯(cuò)誤是,會(huì)打印出輸入錯(cuò)誤四個(gè)字。
3.循環(huán)語(yǔ)句(1)while循環(huán)語(yǔ)句
? while( 表達(dá)式)
{
? n條語(yǔ)句;
}
下面是一個(gè)while循環(huán)的例子:
如圖,打印了無(wú)數(shù)個(gè)hehe。
while后面的括號(hào)內(nèi)是用來(lái)判斷的,因?yàn)?在C語(yǔ)言中代碼真,所以一直循環(huán)。
下面是另一個(gè)例子:
i++中的++符號(hào),代表 i 加1;在循環(huán)中就代表,每循環(huán)一個(gè) i 加一個(gè)1。
第一次循環(huán)之后 i =1,打印了一個(gè)hehe,第二次循環(huán)之后 i =2,打印了第二個(gè)hehe,此時(shí) i<2不成立,所以不再進(jìn)行循環(huán),循環(huán)結(jié)束??偣泊蛴?個(gè)hehe。
下面給大家?guī)?lái)一個(gè)輸入密碼的小程序:
#include#includeint main()
{
int password[20] = { 0 };
while (scanf("%s", password) != EOF)
{
getchar();
if (strcmp(password, "123456") == 0)
{
printf("恭喜,密碼正確\n");
break;
}
else
{
printf("密碼錯(cuò)誤,請(qǐng)重新輸入 \n");
}
}
}
(2)for循環(huán)(我們最常用的循環(huán))
當(dāng)我們學(xué)完這個(gè)就可以簡(jiǎn)單定義可以輸入密碼的次數(shù)了。
for循環(huán)的結(jié)構(gòu):
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
? n條語(yǔ)句;
}
其中表達(dá)式1:初始化i,表達(dá)式2:判斷,表達(dá)式3:調(diào)整。
下面是for循環(huán)的例子:
如圖,打印了4遍HELLO WORLD
原理:i=0,中間的為判斷,i<4成立,進(jìn)入循環(huán),打印HELLO WORLD,i++,判斷i<4,在循環(huán),循環(huán)4次后,i=4,i<4不成立,結(jié)束循環(huán)。
不可以在for循環(huán)內(nèi)修改變量,防止for循環(huán)失去控制,
建議for循環(huán)的循環(huán)控制變量采取”前閉后開(kāi)”的寫(xiě)法。{例:( i=1;i<9 ;表達(dá)式3 ) }
下面是錯(cuò)誤的寫(xiě)法。
if后的( )為賦值操作,令i=2;在每次打印前,都讓i變成了2,循環(huán)后i+1變成了3,進(jìn)入循環(huán)又賦值為2,所以i始終小于4,程序一直循環(huán),打印了無(wú)數(shù)個(gè)2 。
所以要注意區(qū)分==和=的區(qū)別。
總結(jié)今天就將道這里了,學(xué)了分支和循環(huán)結(jié)構(gòu)。明天我們繼續(xù)學(xué)習(xí)數(shù)組,操作符。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧
文章名稱:【C語(yǔ)言學(xué)習(xí)篇】入門(mén)C語(yǔ)言(3)-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article0/ceopoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、網(wǎng)站營(yíng)銷、定制開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容