本節(jié)引言:
在上一節(jié)中,對C語言的基本語法進(jìn)行了學(xué)習(xí),類比成學(xué)英語的話,我們現(xiàn)在?
只是會單詞而已,組成一個(gè)個(gè)句子還需要學(xué)習(xí)一些語法,本節(jié)學(xué)習(xí)的就是兩對?
輸入輸出函數(shù),三個(gè)基本程序結(jié)構(gòu),以及三個(gè)流程跳轉(zhuǎn)關(guān)鍵字的使用。
用于?單個(gè)字符?的輸入/輸出
和上面的單個(gè)字符輸入輸出不同,當(dāng)我們想用printf()和scanf()兩個(gè)函數(shù)的?
時(shí)候就需要將頭文件包括到源文件中,經(jīng)常看到的#include
PS:橙色部分是必須有的,灰色部分可以自選~
Tips:
修飾符與格式符較多,開始的不容易掌握,建議自己編寫程序來驗(yàn)證?
與理解他們的具體作用,寫多了,就會了。
和printf差不多,不過scanf是講數(shù)據(jù)傳送到某個(gè)內(nèi)存空間中。
PS:一個(gè)好的建議是除了?%格式字符?外不要寫其他的字符(包括空格),?小編推薦一個(gè)學(xué)C語言/C++的學(xué)習(xí)裙【 六二七,零一二,四六四 】,無論你是大牛還是小白,是想轉(zhuǎn)行還是想入行都可以來了解一起進(jìn)步一起學(xué)習(xí)!裙內(nèi)有開發(fā)工具,很多干貨和技術(shù)資料分享!
不然輸入的時(shí)候你就會錯(cuò)的莫名其妙!
可能看圖還是有些疑惑,寫個(gè)簡單的例子幫助理解:
/* 該代碼演示的scanf的用法,特別注意第三點(diǎn),別在 scanf里亂添加空格,逗號等符號,不然輸入的時(shí)候 就需要把他們按格式寫上,不然會造成莫名奇妙的問題 */ #include
int main()? ?
{? ?
? ? int a,b,c;?
? ? //1.正常的scanf的用法? ?
? ? scanf("%d%d%d",&a,&b,&c);? ?
? ? printf("a = %d b = %d c = %d\n",a,b,c);?
? ? //2.使用*抑制符跳過輸入的某個(gè)值? ?
? ? scanf("%3d%*2d%2d%3d",&a,&b,&c);? ?
? ? printf("a = %d b = %d c = %d\n",a,b,c);?
? ? //3.最好不要在scanf里面寫逗號和空格之類的,不然輸入? ?
? ? //輸入的時(shí)候必須把這些都寫上? ?
? ? scanf("%d,%d,%d",&a,&b,&c);? ?
? ? printf("a = %d b = %d c = %d\n",a,b,c);? ?
? ? return 0;? ?
}? ?
運(yùn)行結(jié)果:
順序結(jié)構(gòu)與判斷結(jié)構(gòu)if的使用
break?語句?
只能用在循環(huán)語句與switch(開關(guān))中,用于跳出switch或者跳出循環(huán);?
而在多層循環(huán)中,僅僅跳出一層循環(huán)!
continue?語句?
跳過循環(huán)體的剩下的執(zhí)行部分,直接進(jìn)入下一次循環(huán)
goto?語句
盡量別用,因?yàn)樗且环N無條件的轉(zhuǎn)移語句,或者說指定跳轉(zhuǎn)語句,?
胡亂的跳轉(zhuǎn)會導(dǎo)致程序的邏輯層次不清,降低代碼易讀性,給看代碼的?
人帶來麻煩!
最后說一點(diǎn)很重要的,循環(huán)嵌套的時(shí)候要保證程序的正確性,如果沒有?
跳出循環(huán)程序會一直執(zhí)行,也就是常說的死循環(huán)!