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