① C語言每一個函數完成相對獨立的功能是什麼
函數是C源程序的基本模塊, 通過對函數模塊的調用實現特定的功能。
函數按照來源可大體分為:庫函數和自定義函數,庫函數,由C系統提供,用戶無須定義, 也不必在程序中作類型說明,只需在程序前包含有該函數原型的頭文件即可在程序中直接調用。
自定義函數,由用戶按需要寫的函數,用戶將程序按照功能塊劃分(此處為面向功能的分析方法,以後你可能會接觸到另一種被稱為OOAD的面向對象的劃分),根據不同的功能定義函數,實現此功能。
② C語言的可執行程序是由一系列機器指令構成的
第一課C語言程序設計基礎
本課主要知識點:
1.知識點:C程序基礎
l C語言是一種結構化程序設計語言。三種基本結構:順序、選擇、循環。
例1:(2010-09-11)以下關於結構化程序設計的敘述中正確的是(C)
A)一個結構化程序必須同時由順序、分支、循環三種結構組成
B) 結構化程序使用goto語句會很便捷
C) 在C語言中,程序的模塊化是利用函數實現的
D)由三種基本結構構成的程序只能解決小規模的問題
例2:(2011-03-26)計算機高級語言程序的運行方法有編譯執行和解釋執行兩種,以下敘述中正確的是(A)
A)C語言程序僅可以編譯執行
B)C語言程序僅可以解釋執行
C)C語言程序既可以編譯執行又可以解釋執行
D)以上說法都不對
【解析】計算機不能直接理解高級語言,只能直接理解機器語言,所以必須要把高級語言翻譯成機器語言,計算機才能執行高級語言編寫的程序。翻譯的方式有兩種,一個是編譯,一個是解釋。C語言程序僅可以編譯。
例3:(2011-03-26)以下敘述中錯誤的是( D)
A)C語言的可執行程序是由一系列機器指令構成的
B)用C語言編寫的源程序不能直接在計算機上運行
C)通過編譯得到的二進制目標程序需要連接才可以運行
D)在沒有安裝C語言集成開發環境的機器上不能運行C源程序生成的.exe文件
【解析】C程序開發過程:編輯—>(.c)編譯—>(.obj)鏈接—>可執行文件(.exe)
2.知識點:C語言程序的構成
l C程序是由函數構成的,一個C程序有且僅有一個main函數。一個函數由兩部分組成:函數的首部和函數體。函數體包括聲明部分和執行部分。一個C程序總是從main函數開始執行(即程序的入口),由main函數結束,(即程序的出口)。
例1:(2010-03-12)以下敘述正確的是(B)
A)C語言程序是由過程和函數組成的
B) C語言函數可以嵌套調用,例如:fun(fun(x))
C) C語言函數不可以單獨編譯
D)C語言中除了main函數,其他函數不可作為單獨文件形式存在
例2:(2011-09-11)以下敘述中錯誤的是 (C)
A.C語言編寫的函數源程序,其文件名後綴可以是C
B.C語言編寫的函數都可以作為一個獨立的源程序文件
C.C語言編寫的每個函數都可以進行獨立的編譯並執行
D.一個C語言程序只能有一個主函數
3.知識點:標識符
l 命名規則:
①標識符中只能包含字母(a-z,A-Z),數字(0-9),下劃線(_)。
②第一個字元必須是字母或下劃線。
分類
③用戶自定義的標識符 ⅰ格式合法,ⅱ不能使用關鍵字,ⅲ見名知意
例1:(2010-03-13)以下C語言用戶標識符中,不合法的是(D)
A)_1 B)AaBc C)a_b D)a-b
4.知識點:數據類型
例1:(2010-03-16)以下關於C語言數據類型使用的敘述中錯誤的是(D)
A)若要准確無誤差的表示自然數,應使用整數類型
B)若要保存帶有多位小數的數據,應使用雙精度類型
C)若要處理如「人員信息」等含有不同類型的相關數據,應自定義結構體類型
D)若只處理「真」和「假」兩種邏輯值,應使用邏輯類型
【解析】結構數據類型是根據已定義的一個或多個數據類型用構造的方法來定義的,一個結構類型的值可以分解成若干個「成員」或「元素」,每個「成員」都是一個基本數據類型或又是一個構造類型,C項正確。C語言沒有邏輯類型,故D項錯誤
③ c語言中的函數可不可以單獨進行編譯為什麼
因為C語言中你編寫的函數中用到了基本的比如輸出,定義這些,這些都是頭文件裡面寫好的,如果你要單獨編譯,可以自己把這些東西定義在一個文件中,自己重新寫一遍,另外還得編譯器支持。
④ c語言中的函數可不可以單獨進行編譯
是可以的。
庫函數是把函數放到庫里,供別人使用的一種方式。函數庫是由系統建立的具有一定功能的函數的集合。庫中存放函數的名稱和對應的目標代碼,以及連接過程中所需的重定位信息。用戶也可以根據自己的需要建立自己的用戶函數庫。
使用C語言的語句直接計算sin或cos函數,就需要編寫頗為復雜的程序。因為C語言的語句中沒有提供直接計算sin或cos函數的語句。又如為了顯示一段文字,我們在C語言中也找不到顯示語句,只能使用庫函數printf。
(4)每個函數都可以獨立的編譯擴展閱讀
函數庫的分類
1、字元串、內存和字元函數
需要的包含文件:string.h、mem.h、ctype.h或string.h;
2、數學函數
需要的包含文件:math.h;
3、動態存儲分配
需要的包含文件:alloc.h或stdlib.h ;
⑤ 在C語言程序中,只有main函數才可單獨進行編譯,哪裡錯了
有函數的都可以單獨進行編譯,編譯是指把程序語句翻譯為機器代碼,對於C語言就是把.c文件翻譯為.obj文件。
此外,必須要有main函數的才可以完成連接為exe文件。
⑥ 每個函數都可以被單獨編譯對嗎
A、main函數是不能被任何函數調用的,所以a錯了
B、函數可以單獨編譯,每個函數都能單獨寫成一個文件,所以B對的
C、函數都要通過main函數的調用才能正確的運行,main函數是一個程序的唯一入口
D、函數是不可以嵌套使用的
⑦ vs 如何在項目文件下創建多個c文件並且都有main函數,每個文件都是可獨立的運行的
只能建立多個工程,一個工程下只允許有一個main函數。
所以你在一個項目下建多個工程,才可以有多個main函數,切獨立運行的。
⑧ 1、單選 以下關於函數的敘述中正確的是( )。 A每個函數都可以單獨運行 B在一個函數內部可以定義
答案是A
函數不可套用
函數要依靠min函數進行編譯
不包括min函數
⑨ c++分離式編譯的好處是什麼
1、如果有錯誤能快速找到。
2、實現模塊多用。
分離編譯模式是指:一個程序(項目)由若干個源文件共同實現,而每個源文件單獨編譯生成目標文件,最後將所有目標文件連接起來形成單一的可執行文件的過程。
分離編譯模式是C/C++組織源代碼和生成可執行文件的方式。在實際開發大型項目的時候,不可能把所有的源程序都放在一個頭文件中,而是分別由不同的程序員開發不同的模塊,再將這些模塊匯總成為最終的可執行程序。
這里就涉及到不同的模塊(源文件)定義的函數和變數之間的相互調用問題。C/C++語言所採用的方法是:只要給出函數原型(或外部變數聲明),就可以在本源文件中使用該函數(或變數)。每個源文件都是獨立的編譯單元,在當前源文件中使用但未在此定義的變數或者函數,就假設在其他的源文件中定義好了。每個源文件生成獨立的目標文件(obj文件),然後通過連接(Linking)將目標文件組成最終的可執行文件。
程序編譯的簡要過程包括預處理(Preprocessing)、編譯(Compilation)、匯編(Assembly)和連接(Linking)。
⑩ 以下關於函數的敘述中正確的是 :
B是正確的,可以將一個函數單獨寫在一個文件中,然後對這個文件進行編譯,這樣將所有函數都編譯成目標文件後,再進行鏈接。
A錯,main()函數不可以被其它函數調用,只能被操作系統調用執行
C錯,除了主函數,其它函數不可以單獨運行。
D錯,C語言不允許函數的嵌套定義。