1. 程式人生 > >C語言知識點拾遺

C語言知識點拾遺

十進制 tin 一位 格式控制 轉換成 tchar 提高 存在 知識點

1.註意每條C語句後面要加上分號;

2.把雙精度常量double轉換成單精度常量float,會造成精度損失,出現warning。

3.常量分類有整型常量(整數),實型常量(十進制小數,指數1.23e4代表1.23*10的四次冪),字符常量(普通字符單撇號括起ASCII碼二進制方式存放,轉義字符\開頭)。

4.0x(阿拉伯數字0)開頭表示十六進制,0開頭表示八進制數。\x...輸出以十六進制碼對應的字符,\0...表示表示輸出以八進制碼對應的字符。

5.字符串常量用雙撇括起。

6.符號常量的定義:#define 符號 數值 ,註意此處末尾沒有分號,預編譯時會把所有的字符替換成常數。符號常量時一個臨時符號,不占內存,在預編譯後就不存在,所以不能對其賦新值。與符號變量區別,符號常量常用大寫。

7.變量名實際上是以一個名字代表的存儲地址,對編譯程序連接時編譯系統分配其內存地址。從變量中取值,實際上是尋址再讀取數據。

8.const+符號,用於定義常變量。其有內存,占地址,不可改變值。有名字便可在程序中被引用。

9.標識符用於命名,只能由字母,數字,下劃線三種字符組成,且第一個字符必須為字母或者下劃線。

10.不同類型的數據在內存中占用的單元長度不同,整型變量分配2個或者4個字節,每個字節存放八位數字。

11.整數以其補碼的方式存放,正數的補碼是其二進制形式,從低位開始用起。負數先將其絕對值寫成二進制形式,再對其按位取反,最後在數值上加一。存放整數的存儲單元中,最左邊一位是用來表示符號的。0表示正,1表示負。

12.短整型分配兩位,長整型分配四位,雙長整型longlong分配八位。在不同編譯系統之間轉移要註意不同標準的區別。

13.unsigned表示無符號,表示範圍向右擴展一倍。未聲明默認signed。實型數據不能加。

14.%u表示以無符號形式輸出十進制。

15.‘1‘與整數1不同,前者代表形為1的字符,占1個字節。整數1代表數字,占2或4個字節。

16.輸出一個被定義過的字符串,%d %c 分別表示以十進制形式和字符串形式輸出

17.浮點型表示具有小數點的數,+.314159 1 ,+表示數符,.14159表示小數部分,1表示指數。double型八字節,運算時皆轉換成八字節提高運算精度。

18.在整數的末尾加l或L表示長整型。加上F或f表示float型常量。

19.%為求余運算符。

20.除號用/代替,實數相除的結果為雙精度實數,整數相除的結果為整數,有小數舍去小數。除數與被除數有負值,舍入的方向不確定,多數編譯器向零取整,即取整後的數往零靠近。

21.++i表示在使用i之前先使變量的值加一,i++表示在使用i之後使i的值加一。

22。算術運算符使從左到右,賦值運算符是從右到左。

23.由於字符是以ASCII碼的形式存放的,所以有時候可以與數字進行加減。

24.同一個字符,用小寫表示的ASCII碼比用大寫表示的ASCII碼大32.

25.強制類型轉換符,(類型名)(表達式),都要用括號括起來。a=(int)(x)表示把x的整數部分賦給a,x的數值並不發生變化。

26.C語句,分為五類:控制語句,函數調用語句,表達式語句,空語句(流程轉向點或者循環體)和復合語句。

27.用到較復雜函數要加上另外的庫,如math,或者自己定義函數。

28.復合運算符:在賦值符=前加上其他運算符,a+=3表示a+3再把此值賦給a,即先撤去等號運算完再賦值。若右邊是多項式,則默認為有括號。凡是二元運算符,皆可與=構成復合運算符。

29.賦值運算有效數字右值多於左值時,去除多余的有效數字。發生截斷。整型數據之間的賦值,按存儲單元中的存儲形式直接傳送,實型數據以及實型與整型之間的賦值,是先轉換類型後賦值。

30.兩字節最大表示範圍為

31.if的條件中,可以包含賦值表達式,但不能包含賦值語句。

32.定義變量時就對變量賦初值,可以使程序簡練。int a,b,c=5表示指定a,b,c為整型變量,但只對c初始化賦值為5.如果對多個變量 賦予同一初值,int a=3,b=3,c=3.不能用等號將abc連接起來。

33.用scanf函數輸入,要在變量前面加上&,&a表示變量在內存中的地址,scanf函數從終端輸入數據送到地址為&a的存儲單元。格式要進行聲明,如輸入三個雙精度實數,%lf%lf%lf。

34.printf函數中,不是簡單的用格式聲明,而是在%後面加上了個a.b,表示在輸出時,指定數據占a列,其中小數占b列.

35.prinf函數不用&符,直接在後面加上變量名即可。雙引號括起全部的格式負,包括換行符。

36.格式字符:d表示十進制數,可指定域寬(所占的列數),輸出數據顯示在此X列區域的右側。按右對齊。c表示字符,也可指定域寬。s格式符用來輸出字符串。f格式符用來輸出實數,以小數形式輸出,基本型用%f,只能得到六位小數。指定數據寬度和小數位數,用%m.nf。輸出的數據向左對齊,用%-m.nf。e格式符,%e指定以指數形式輸出實數。如prtinf("%13.2e",123.456);輸出為00001.23e+002

37.如果在格式控制字符串中除了格式聲明以外還有其他字符,則在輸入數據時在對應的位置上應輸入與這些字符相同的字符。如scanf("%f%f%f,&a,&b,&c");則在輸入時,應該輸入a=1,b=2,c=3.而不應該是1 2 3,這樣沒有對變量賦值。註意輸入時要在兩賦值表達式之間加上逗號,與格式符間的逗號對應。

38.在使用%c格式輸入字符時,空格和轉義字符中的字符也是有效字符。數值之間需要插入空格或其他分隔符。在輸入數值時,遇到非法字符則輸入結束。

39.putchar函數,專用於輸出字符。當括號內是0~1127時,會通過ASCII碼輸出字符。getchar只能接收一個字符,輸出多個字符需要多個getchar函數。所以

40.在用鍵盤輸入信息時,並不是在鍵盤上敲一個字符,該字符就立即送到主機中去。字符先存在鍵盤的緩沖器中,按下enter鍵後字符才被一起發送到主機中。所以輸入時註意enter和空格鍵。

C語言知識點拾遺