C語言一看就懂的選擇與循環(huán)語句及函數(shù)介紹
選擇語句
什么是選擇語句呢?只要是你學(xué)過編程語言的,就知道選擇語句是程序的靈魂之一,差不多大多是的程序都需要用到這個語句。
一般來說,C語言的選擇語句的結(jié)構(gòu)是,if 、else if、 else
每一個條件后面都需要按照標(biāo)準(zhǔn)的語法格式進行書寫,其次除了else后面不需要加括號條件之后,其他的都需要加入條件。
看一下下面的嚴(yán)格語法,在書寫的過程中,我們需要按照嚴(yán)格標(biāo)準(zhǔn)繼續(xù)編碼,不要隨心所欲的寫代碼,注意格式!
#include <stdio.h> int main() { int coding = 0; printf("你會去敲代碼嗎?(選擇1 or 0):>"); scanf("%d", &coding); if (coding == 1) { printf("堅持,你的夢想就會成功!\n"); } else if (coding == 0) { printf("你的夢想可能不會實現(xiàn)!\n"); } else { printf("輸入錯誤??!\n"); } return 0; }
循環(huán)語句
在計算機中,除了選擇語句比較的比較經(jīng)典,其次就是循環(huán)語句
C語言中如何實現(xiàn)循環(huán)呢?
while語句
#include <stdio.h> int main() { int i = 0; //定義一個初識變量 while (i < 1000)//這里給一個循環(huán)范圍 { i++;//每次遞增,改變條件! if (i == 50) { printf("今天是%d,休息一天!\n", i); continue;//不執(zhí)行后面的代碼! } else if (i == 100) { printf("今天是第%d天,我已經(jīng)完成了C語言的全部知識!\n", i); break;//滿足該條件就跳出循環(huán)! } printf("我已經(jīng)完成了第%d天的代碼編寫!\n", i); } return 0; }
對于循環(huán)而言,跳出條件是比較重要的一個,continue遇到之后,代碼是不執(zhí)行后面的,但是不退出循環(huán),break遇到之后就會跳出循環(huán)!
看到上面的例子,相信你可以清楚的了解到,這些語法的用處和作用了。
for循環(huán)
通過for 循環(huán)我們一樣可以完成上述的工作,我們特別需要記住的是,在寫for循環(huán)的時候,需要注意第一個參數(shù)是:定義條件,第二個參數(shù)是:判斷條件,第三個參數(shù)是:執(zhí)行條件增長(一般需要改變條件)
那么對于while條件來時,括號里面只有一個簡單的條件判斷,參數(shù)條件在循環(huán)體內(nèi)部的!
#include <stdio.h> int main() { int i = 0;; for (int i = 0; i < 1000; i++ ) { if (i == 50) { printf("今天是%d,休息一天!\n", i); continue;//不執(zhí)行后面的代碼! } else if (i == 100) { printf("今天是第%d天,我已經(jīng)完成了C語言的全部知識!\n", i); break;//滿足該條件就跳出循環(huán)! } printf("我已經(jīng)完成了第%d天的代碼編寫!\n", i); } return 0; }
do while
do while 語句創(chuàng)建一個循環(huán),在expression為假或0之前重復(fù)執(zhí)行循環(huán)體中的內(nèi)容。do while語句是一種出口條件循環(huán),即在執(zhí)行完循環(huán)體后才根據(jù)測試條件決定是否再次執(zhí)行循環(huán)。因此,該循環(huán)至少必須執(zhí)行一次。
循環(huán)體可是一條簡單語句或復(fù)合語句。
形式: do
{
statement
}While( expression );
在expression為假或0之前,重復(fù)執(zhí)行statement部分。
大致流程如下:
參考代碼:
#include <stdio.h> int main() { int i = 0; do { i++; printf("我必須要執(zhí)行一次循環(huán)!\n"); }while(i < 1); return 0; }
函數(shù)
函數(shù)有什么用呢?函數(shù)可以簡化我們主函數(shù)的代碼,可以幫助我們編碼更加的機構(gòu)化,使得我們的代碼比較的有邏輯結(jié)構(gòu),一方面可以幫助我們的代碼更有層次感,另一個面也是可以簡化我們的代碼量的!
一般而言,主函數(shù)的代碼量不要超過500行,那么我們可以利用函數(shù)進行封裝
函數(shù)又可以分為:有返回參數(shù)的函數(shù)和沒有返回參數(shù)的函數(shù)(void)
輸入一個數(shù)字,返回0-該數(shù)字里面有多少個奇數(shù)!并打印出來!
#include <stdio.h> int main() { int i = 0; int num = 0;//定義輸入?yún)?shù) int total = 0;//定義計數(shù)器 printf("請輸入一個數(shù)字:"); scanf("%d", &num); for (int i = 0; i <= num; i++) { if (i % 2 == 0) { total+=1; } else { printf("奇數(shù):%d\n", i); } } printf("一共有%d個奇數(shù)",total); return 0; }
在我運行的時候,我發(fā)現(xiàn)這個代碼的運行了較長的時間,這說明時間復(fù)雜度比較高,而且代碼的寫的比較的冗余,所以導(dǎo)致了代碼的長時間運行!后面我們可以采用遞歸,指針地址等方法進行優(yōu)化!
利用函數(shù)進行封裝
//定義函數(shù) int sum_num(int num, int total) { for (int i = 0; i <= num; i++) { if (i % 2 == 0) { total += 1; } else { printf("奇數(shù):%d\n", i); } } return total; } #include <stdio.h> int main() { int num = 0;//定義輸入?yún)?shù) int total = 0;//定義計數(shù)器 printf("請輸入一個數(shù)字:"); scanf("%d", &num); printf("一共有%d個奇數(shù)", sum_num(num, total)); return 0; }
注意在定義函數(shù)的時候要分清楚,是否有返回參數(shù),其次參數(shù)需要定義類型,之間是用逗號隔開的,每一個參數(shù)都需要定義類型
如果,在函數(shù)內(nèi)部定義一些變量,那么在調(diào)用之后就會被銷毀,如果需要在函數(shù)外部定義,就需要考慮到變量的生命周期
后續(xù)的指針和遞歸,包括數(shù)組,在函數(shù)的應(yīng)用比較多,所以尤其需要注意!
到此這篇關(guān)于C語言一看就懂的選擇與循環(huán)語句及函數(shù)介紹的文章就介紹到這了,更多相關(guān)C語言選擇與循環(huán)語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!