1.控制語句
①if()…else… (條件語句)
②for()… (迴圈語句)
③while()… (迴圈語句)
④do ... while() (迴圈語句)
⑤continue (結束本次迴圈語句)
⑥break (中止執行switch或迴圈語句)
⑦switch (多分支選擇語句)
⑧return (從函式返回語句)
⑨goto (最好不使用)
2.函式呼叫語句
3.表示式語句4.空語句
可以用{}把一些語句和宣告括起來成為復合語句(又稱語句塊)。
5.復合語句
賦值運算子
復合的賦值運算子
x 運算子 = 表示式等價於x=x 運算子 表示式
賦值表示式
變數 賦值運算子 表示式(表示式又可以是另乙個表示式eg.a=(b=8);)
賦值表示式不能作為左值。如(a=b)=3*4和a=(a=b)=3*4錯誤。
a+=a-=a*a 正確
將賦值表示式作為表示式的一種可以在其他語句中進行賦值操作:printf("%d",a=b);
賦值過程中的型別轉換
如果運算子兩側型別一樣直接進行賦值,如果不一致,但都是算術型別時,在賦值時要進行型別轉換(有可能精度會有損失,
高位截斷或小數字精度丟失)
賦值表示式和賦值語句
賦值表示式是表示式,它可以出現在其他表示式中,可以在條件判斷等語句中進行賦值操作。
變數賦初值
int a=3,b=3,c=3;不能寫成int a=b=c=3;
標準輸入輸出函式(使用前#include):
putchar()輸出乙個字元
getchar()輸入乙個字元
printf()格式輸出
scanf()格式輸入
puts()輸出字串
gets()輸入字串
兩種#include指令形式的區別是:用尖括號形式(如)時,編譯系統從存放c編譯系統的子目錄中去找所要包含的檔案(如:stdio. h),這稱為標準方式。如果用雙撇號形式(如、tdio. h"),在編譯時,編譯系統先在使用者的當前目錄(一般是使用者存放源程式檔案的子目錄)中尋找要包含的檔案.若找不到,再按標準方式查詢。如果用#include指令是為了使用系統庫函式,因而要包含系統提供的相應標頭檔案,以用標準方式為宜,以提高效率。如果使用者想包含的標頭檔案不是系統提供的相應標頭檔案,而是使用者自己編寫的檔案(這種檔案一般都存放在使用者當前目錄中),這時應當用雙擻號形式,否則會找不到所需的檔案。如果該標頭檔案不在當前目錄中,可以在雙撤號中寫出檔案路徑(如#include "c\temp\file1.h"),以便系統能從中找到所需的檔案。
scanf(格式控制,位址列表)
1.輸入資料時格式必須和格式控制一樣才能識別(除變數外,格式控制中的其他字元也要輸入)。
2.格式控制後是變數位址,而不是變數名。
3.用%c輸入字元時,空格和轉義字元都作為有效字元輸入(連續輸入兩個字元不能用空格隔開)。
4.在輸入數值資料時,如輸入空格,回車,tab鍵或遇到非法字元(不屬於數值的字元),認為該資料結束。
scanf函式中用到的格式字元:
格式字元
說明d,i
用來輸入有符號十進位制整數
u用來輸入無符號十進位制整數
o用來輸入無符號八進位制整數
x,x用來輸入無符號十六進製制整數,大小寫作用相同
c用來輸入單個字元
s用來輸入字串,將字串送到乙個字元陣列中,在輸入時以非空白字元開始,以第乙個空白字元結束。字串以串結束標誌『\0』作為最後乙個字元。
f用來輸入實數,可用小數形式或指數形式輸入
e,e,g,g
與f作用相同,e與f、g可以相互替換(大小寫作用相同)
scanf中的格式附加字元
字元說明
l用於輸入長整形資料(可用%ld,%lo,%lx,%lu)以及double型資料(用%lf或%le)
h用於輸入短整形資料(可用%hd,%ho,%hx)
域寬指定輸入資料所佔寬度(列數),域寬應為正整數
*表示本輸入項在讀入後不賦給相應等變數
printf(格式控制,輸出列表)
格式控制使用雙撇號括起來的乙個字串,稱轉換控制字串,簡稱格式字串,包含以%開頭的格式宣告和普通字元。
輸出列表與格式宣告一一對應,可以是常量,變數或表示式。
格式字元:
1.d格式符
用來輸出有符號十進位制整數,可以在格式宣告中指定輸出資料的域寬,如%5d(資料顯示在五列區域的右側)
若輸出long(長整形)資料則為%ld,輸出long long(雙長整形)資料則為%lld
2.c格式符
用來輸出乙個字元。乙個整數如果在0~127範圍內可以用%c使之按照對應字元形式輸出,如果整數較大就會將其最後乙個位元組的資訊以字元形式輸出。
3.s格式符
用來輸出乙個字串
4.f格式符
用來輸出實數(包括單精度,雙精度,雙長精度)以小數形式輸出,有幾種用法:
(1)基本型,用%f
不指定輸出資料長度,由系統根據資料的實際情況決定資料所佔的列數。系統處理的一般方法是:實數中的整數部分全部輸出,小數部分輸出6位
(2)指定資料寬度和小數字數,用%m.nf
如果把小數部分指定為0,則不僅不輸出小數,而且小數點也不輸出。
(3)輸出資料向左對齊,用%-m.nf
5.e格式符
指定以指數形式輸出實數,要控制寬度也可以用%m.ne的形式進行格式宣告,e也要用e,但是輸出時e也會相應變成e
6.i格式符
與d作用相同,按十進位制整數資料實際長度輸出,一般習慣用%d而不用%i
7.o格式符
以八進位制整數形式輸出
8.x格式符
以十六進製制數形式輸出整數
9.u格式符
用來輸出無符號型資料,以十進位制整數形式輸出
10.g格式符
用來輸出浮點數,系統自動選擇f或e格式輸出,選擇其中長度較短的格式,不輸出無意義的0
格式宣告的一般形式:
% 附加字元 格式字元
printf函式中用到的格式字元
格式字元
說明d,i
以帶符號的十進位制形式輸出整數(正數不輸出符號)
o以八進位制無符號形式輸出整數(不輸出前導符0)
x,x以十六進製制無符號形式輸出整數(不輸出前導符0x),用x則輸出十六進製制數的a~f時以小寫形式輸出。用x時,則以大寫字母輸出
u以無符號十進位制形式輸出整數
c以字元形式輸出,只輸出乙個字元
s輸出字串
f以小數形式輸出單、雙精度,隱含輸出6位小數
e,e以指數形式輸出實數,用e時指數以e表示,用e時指數以e表示
g,g選用%f或%e格式中輸出寬度短的一種格式,不輸出無意義的0,用g時,若以指數形式輸出,則指數以大寫表示
printf函式中常用的格式附加字元
字元說明
l用於長整型整數,可加在格式符d、o、x、u前面
m(乙個正整數)
資料最小寬度
n(乙個正整數)
對實數,表示輸出n位小數,對字串,表示擷取的字元個數
-輸出的數字或字元在域內向左靠
注意:輸出物件的型別應該與宣告的輸出格式相匹配,否則將出現錯誤。
除了x,e,g外,其他格式字元必須用小寫字母。
格式控制字串內可包含轉義字元。
如果要輸出%可用兩個連續的%%輸出
C語言學習筆記(三) 函式
c語言學習筆記 三 函式 函式的過載 函式名相同,函式的引數型別或者引數的數量不同 int max2 int a,int b int max3 int a,int b,int c 這就是函式的過載,編譯器會自動選擇使用哪個函式 函式的重寫 c 子類的虛函式重寫父類的虛函式,函式名相同,函式的引數型別...
C語言學習(三)
程式的模組化設計 程式設計練習 課外話 挫折是人生的常態,在我們遭遇疫情,不應一味放大痛苦讓其充塞心靈。我們要學會調適心弦,坦然面對,全國人民團結一致,就一定會戰勝疫情。祖國加油 武漢加油 你的答案 陣列程式的模組化設計 所謂陣列,是有序的元素序列。1 若將有限個型別相同的變數的集合命名,那麼這個名...
C語言學習筆記之陣列(三)
定義字元陣列和數值型的陣列格式是一樣的,資料型別為char型。如char a 10 這就定義了長度為10的陣列,每個元素都存放乙個字元。對字元的初始化,最容易理解的是用 初始化列表 把各個字元一次賦給陣列中的元素。例如 char a 10 把這十個字元一次賦給a 0 a 9 如果定義字元陣列不進行初...