C語言基礎知識歸納_第1頁
C語言基礎知識歸納_第2頁
C語言基礎知識歸納_第3頁
C語言基礎知識歸納_第4頁
C語言基礎知識歸納_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言基礎知識1. 每個C程序有且只有一個主函數main(),且程序必須從main()函數開始執(zhí)行,并在main()函數中結束。2. 在C語言中,用e來表示科學計數法時,規(guī)定在e的前面必須有數字,后面必須為整數。3. 用單引號括起來的一個字符常量只能存放一個字符;C語言中沒有字符串變量,只能用字符數組來存儲字符串。4. 外部變量在編譯時由系統(tǒng)分配永久的內存空間,所以外部變量的類型不是自動存儲類別。5. 在一個函數內的復合語句中定義的變量,只能在這個復合語句范圍內有效。6. 用sizeof(int)計算int類型數據的字節(jié)數。7. C語言運行時,首先系統(tǒng)檢查語法的正誤,再運行程序的語法;語言中,

2、可以在一個函數中嵌套一個函數,但是不能在一個函數中定義一個函數;只有在函數外部定義的函數才是外部函數;語言的子程序有過程和函數兩種。8. 預處理命令行的位置沒有規(guī)定,只是習慣放在前面;在源文件中的可以有多條預處理命令,但一行只能寫一條;宏名的大寫只是習慣性的表示;宏替換不僅不占用運行時間還不分配內存空間。9. 函數的作用是檢查文件是否結束,當結束時返回的值為非零,否則為零。10. 當定義了數組后,在給其賦值時,不能直接把字符串賦給數組名。11. 在賦值表達式中,賦值運算符“”右側不能為表達式;在求余運算符中的兩側都必須為整型;在強制類型轉換時,類型名應用括號括起來。12. 靜態(tài)局部變量,只有當

3、程序結束后,其值才釋放。13. 當調用函數時,實參是一個數組名,則向函數傳送的是數組每一個元素的地址。14. 算法的特點為有零個或多個輸入,有一個或多個輸出,當相同的輸入時,其結果相同;算法正確的程序最終一定會結束。15. 在C語言中,預處理命令行都以“#”開頭;當需要時才用#include<stdio.h>預處理的作用就是實現(xiàn)宏定義和條件編譯。16. 當數組元素的下標超出了定義的下標范圍時,系統(tǒng)不給出“下標越界”的字樣,而是得出錯誤的答案,因此在編程時務必檢查下標是否越界。17. 共用體變量不能作為函數的參數,也不能使函數帶回共用體變量。18. 指向函數的指針變量的定義形式為:數

4、據類型 (*指針變量)(); ,因此其為指向函數的指針變量。19. 用C語言編寫的代碼程序是源程序,只有通過編譯、連接才能進行。20. 在說明為static時,其生存期得到延長,而其作用域并沒有改變,在定義后系統(tǒng)會自動幫它賦值為0,static為關鍵字不能被用作它用。21. 頻繁地使用空語句會降低程序的可讀性和運算速度。22. 運算符%兩邊都應是整數,賦值語句左邊應該是變量,而非表達式,強制轉換語句強制類型應加括號。23. 在邏輯運算符中,其兩側的運算符對象為任意合法的表達式即可。24. 函數fread(&Iarray,2,16,fp)的功能是,從fp所指的數據文件中讀取16次2字節(jié)的

5、數據存儲到數組Iarray中。25. 整個流式文件也可以隨機存取數據,C語言文件中有好多函數可以達到寫入數據時,未經輸入數據,達到不覆蓋的目的,在進行寫操作時,系統(tǒng)會自動關閉文件。26. 使用putchar、getchat、puts、gets、printf、scanf函數時,必須在程序的開頭出現(xiàn)包含頭文件#include”stdio.h”的命令行,而使用字符串處理函數時,必須在程序的開頭出現(xiàn)包含頭文件#include”string.h”命令行,而使用數學函數時,必須在程序的開頭出現(xiàn)包含頭文件#include”math.h”的命令行。27. 一個斜杠及小于等于127任意數字按一個字符計算,一個斜

6、杠及任意一個字符按一個字符計算。28. 一個C程序可以有一個或多個程序文件,也可以有一個或多個函數,所以一個C語言程序可以實現(xiàn)多種算法。29. 根據C語言規(guī)定,注釋語句可以換行寫,并且一個“/*”和其后緊跟的第一個“*/”中間的部分是注釋內容,且注釋內容不參及程序的運行。例如:b=0; /*b=20;給b賦值*/ 則b=0; 。30. sizeof是求字節(jié)數的運算符,包括0,而strlen是求字符串的實際長度的函數,不包括0,以0作為結束。31. 在函數聲明時,其中的形參變量、個數、函數的類型必須一致。32. C語言源程序經編譯后生成后綴為.obj的目標程序;C程序經過編譯、連接步驟之后才能形

7、成一個真正可執(zhí)行的二進制機器指令文件;用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中。并不是源程序中的所有行都參加編譯。在條件編譯形式下,相關內容只在滿足一定條件時才進行編譯。33. switch括號后的表達式可以使任何表達式;case后的表達式必須是常量表達式,常量表達式中不能出現(xiàn)變量,且類型必須是整數、字符型或枚舉型。34. C程序必須由一個或一個以上的函數組成;函數調用可以作為一個獨立的語句存在;若函數有返回值,必須通過return語句返回。35. 在C語言中,數據只能從實參單向傳遞給形參,稱為“按值”傳遞?!驹趯崊鬟f到形參時,是數值傳遞,而不是地址傳遞,形參

8、中值的改變不會影響實參中的值?!?6. 可以用typedef聲明新的類型名來代替已有的類型名,而不能增加新的類型。37. 在沒有限制輸出寬度時,一般浮點數的小數位數是6位,不管輸出格式是%f或lf%均如此。38. C語言中,函數的隱含存儲類別是無存儲類別。39. 當實參傳遞到形參時,地址傳遞時形參的改變影響實參。40. 串的長度指的是串中的字符的個數,且其字符個數可以為零。41. C語言中數據類型有整型、實型、字符型等,實行數據分為單精度型和雙精度型兩種。42. 整型數組只能一個一個地輸入或輸出,而在字符型數組中可以對字符串整體地輸入及輸出。43. C語言中,文件型指針變量的定義形式為:FIL

9、E *文件型指針名; 。C語言中對二進制文件的訪問速度比文本文件快;C語言中,隨機文件以二進制代碼形式存儲數據;C語言中的文本文件以ASCII碼形式存儲數據。44. 因為#define是宏定義的標志,而不是C語句,而printf是輸出函數,因此其是C語句。45. 在實參傳遞給形參時,地址傳遞時能夠改變,而數值傳遞時則不變。46. 在scanf函數中,必須含有輸入項,并且需含有及之一一對應的轉換說明符,在scanf函數的格式字符前可以加入一個正整數指定輸入數據的寬度,但不可以實數指定小數位的寬度,輸入項是地址表達式。47. switch語句使用注意事項:(1)switch語句及if語句不同,僅能

10、判斷一種關系:是否恒等;(2)switch語句中case子句的常量可以使整型常量、字符型常量、枚舉型數據,或是整型常量表達式,不允許變量;(3)在同一個switch中,case子句的常量不能相同,在嵌套的switch語句中,不同層次的switch之間,可有相同的常量;(4)default子句可以省略。例如:default:printf(“En”);(5)case和default子句只能在switch語句中使用,且case和default只起標號作用,可出現(xiàn)在switch中的任何位置;(6)case和default子句后面的語句序列允許由多個可執(zhí)行語句組成,且不必用“”括起來,也可以為空語句;(

11、7)switch語句中可省略break語句,但省略后會改變流程。48. break語句是限定轉向語句,它使流程跳出所在的結構,把流程轉向所在結構之后。continue語句被稱為繼續(xù)語句。該語句的功能是使本次循環(huán)提前結束,即跳過循環(huán)體中continue語句后面尚未執(zhí)行的循環(huán)體語句,繼續(xù)進行下一次循環(huán)的條件判別。49. 在C語言中,一個程序必須有一個main()函數,但是其文件就不一定,因為其可以通過鏈接來實現(xiàn)多個子函數放到這個主函數中,主函數的位置是不固定的,可以根據自己的愛好和習慣來使用,在C語言中任何函數都不能調用主函數,且及函數的位置有關。 在C程序的函數中不能定義另一個函數。50. 在用

12、fprintf輸入時,要將其轉換為二進制數形式放到文件中。51. 由C語言構成的指令序列稱為C源程序,源程序文件的后綴為“.c”。而目標程序為“.obj”,可執(zhí)行程序為“.exe”。52. 在C語言中,合法的標識符可以由字母、數字和下劃線組成,且第一個字符必須為字母或下劃線。53. C語言規(guī)定必須以main作為主函數名。程序要從main()函數開始執(zhí)行,最后在main()函數中結束。54. 賦值運算符左側的操作數必須是一個變量。55. 在C語言中,函數的實參單元及形參單元在內存中分配不同的存儲單元。56. 在一個C語言源程序文件中所定義的全局變量,其作用域為:由具體定義位置和extern說明來

13、決定范圍。【全局變量是在函數外部任意位置上定義的變量,它的作用域是從變量定義的位置開始,到整個源文件結束止。當全局變量定義在后,引用它的函數在前時,應該在引用它的函數中用extern對此全局變量進行說明,以便通知編譯程序該變量是一個已在外部定義了的全局變量,這時全局變量的作用域從extern說明處起,延伸到該函數末尾?!?7. C語言中,凡是以“#”號開頭的行,都成為“編譯預處理”。對C原程序進行編譯前,由編譯預處理程序對這些變異預處理命令進行處理。58. typedef語句的作用僅僅是用“標識符”來表示已存在的“類型名”,并未產生新的數據類型。59. 共用體變量中的所有成員共享一段公共存儲區(qū)

14、,所有成員的首地址相同。在每一個時刻所有的成員中只有一個有效,即只有最后一個被賦值的成員有效,其余的成員無效。60. C語言中注釋可以出現(xiàn)在任意位置;C語言一行內可以寫多個語句,一個語句可以寫在多行上;C語言編寫的程序可以放在多個程序文件中。61. 標識符只能由數字、字母和下劃線組成,并且只能以字母和下劃線開頭。62. 在用基本輸出語句printf時,格式說明及輸出項的個數應該相同。如果格式說明的個數少于輸出項的個數,多余的輸出項不予輸出,如果格式說明個數多余輸出項個數,則對于多余的格式項輸出不定制或0。63. 二維數組定義和初始化允許省略行下標,不允許省略列下標。64. 預處理命令行是在系統(tǒng)

15、對原程序進行編譯之前進行處理的,不是在程序執(zhí)行的過程中。65. gets和getchar函數用于從標準輸入設備終端讀入字符串和字符,并非從磁盤文件讀入。66. 動態(tài)變量和靜態(tài)變量都是內存變量,而寄存器變量不保存在內存上,而是直接存儲在CPU的寄存器中。變量的存儲類別有自動、靜態(tài)、寄存器、外部。67. C語言的源程序是由函數構成的,其基本單位是函數,每一個函數完成相對獨立的功能,其中至少包括一個主函數;C語言的書寫格式自由,一行可寫多條語句,一條語句也可寫在不同行上;C語言規(guī)定每個語句以分號結束??呻S時添加注釋,對程序沒影響。68. 由高級語言編寫的程序稱為“源程序”,由二進制代碼表示的程序稱為“目標程序”。由匯編語言編寫的程序稱為“匯編程序”。對于計算機本身來說,它只能接收和處理由0到1的代碼構成的二進制指令和數據。所以計算機能識別的程序是“目標程序”。而計算機可以直接執(zhí)行的是可執(zhí)行程序,即后綴為.exe的程序。69. C語言源程序不能表示二進

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論