A. c語言源程序是有什麼組成的
所有編程語言本質上都是由演算法+數據結構組成的。
一個C語言源程序,是由一個或多個函數定義順序組成的,其中必須有一個函數名為main的函數,main()函數又稱為主函數。C語言源程序的次要構成成分有:編譯預處理命令、注釋和聲明。
主函數被編譯程序翻譯成一個機器語言形式的主程序段,任何其他函數都將被編譯程序翻譯成機器語言形式的子程序段。
換言之,C語言源程序中的函數,並非數學中時常顯得有些高深莫測的函數,它只是完成特定數據處理任務的、功能上獨立的一個程序段而已。
(1)c語言只能包含一個源文件擴展閱讀:
C語言特有特點
1、C語言是一個有結構化程序設計、具有變數作用域(variable scope)以及遞歸功能的過程式語言。
2、C語言傳遞參數均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
3、不同的變數類型可以用結構體(struct)組合在一起。
4、只有32個保留字(reserved keywords),使變數、函數命名有更多彈性。
5、部份的變數類型可以轉換,例如整型和字元型變數。
6、通過指針(pointer),C語言可以容易的對存儲器進行低級控制。
7、預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
參考資料:網路-C語言
B. 一個C語言程序包括若干C語言源程序嗎源程序文件就是C語言源程序嗎C語言由若乾子程序組成說法對嗎
由函數組成事件,若干個事件組成c語言文件。源程序只有一個,c語言是從main函數開始,main函數結尾的。程序也是從main開始結束的。
C. c語言中頭文件和源文件一定要在同一個文件夾裡面嗎
c語言中頭文件和源文件可以不在同1個文件夾,在引用的時候加入頭文件的絕對路徑就可以。
系統自帶的頭文件,用<>包含;
自定義的頭文件,用""包含;
C程序的頭文件以「.h」為後綴。以下是假設名稱為graphics.h的頭文件:
#ifndefGRAPHICS_H//作用:防止graphics.h被重復引用
#defineGRAPHICS_H
#include<....>//引用標准庫的頭文件
...
#include"..."//引用非標准庫的頭文件
...
voidFunction1(...);//全局函數聲明
...
inline();//inline函數的定義
...
classBox//作用:類結構聲明
{
...
};
#endif
(3)c語言只能包含一個源文件擴展閱讀
c語言中頭文件使用原理
在程序中要使用頭文件,需要使用C預處理指令#include來引用它。前面我們已經看過stdio.h頭文件,它是編譯器自帶的頭文件。
引用頭文件相當於復制頭文件的內容,但是我們不會直接在源文件中復制頭文件的內容,因為這么做很容易出錯,特別在程序是由多個源文件組成的時候。
AsimplepracticeinC或C++程序中,建議把所有的常量、宏、系統全局變數和函數原型寫在頭文件中,在需要的時候隨時引用這些頭文件。
引用頭文件的語法
使用預處理指令#include可以引用用戶和系統頭文件。它的形式有以下兩種:
#include<file>
D. 一個C語言程序中至少應包含一個什麼
一個主函數。即main函數。
main函數是程序的入口,不管它在程序頭文件下面的任何地方,程序執行時都是先調用main函數,再用main函數調用各個函數,舉個形象的例子,有個「做菜」程序,那麼「
做菜
」這個過程就是「主函數」。在主函數中,根據情況,可能還需要調用「買菜,切菜,炒菜」等子函數。
擴展:在源程序中,很多符號都是成對匹配出現的,為避免遺漏必須配對使用的符號,在輸入時,可連續輸入這些起止標識符,然後再在其中進行插入來完成內容的編輯。雖然C語言程序的書寫格式非常自由,但從程序結構清晰,便於閱讀、理解、維護的角度出發,建議在書寫程序時應遵循以下規則,以養成良好的編程習慣。
1、一個說明或一條語句佔一行。
2、用花括弧括起來的部分,通常表示了程序的某一層次結構,左花括弧一般與該結構語句的第一個字母對齊並單獨佔一行;右花括弧同樣單獨佔一行,與該結構開始處的左花括弧對齊。
E. 一個C語言程序,由一個或多個源程序組成。每個源程序都有一個且只有個main函數嗎
一個C語言源程序可以由一個或多個源文件組成。一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。
F. C語言中一個工作空間只能編寫一個源文件嗎
文件可以是多個,函數也可以是多個,但是一個工程只能有一個main。不過我記得一個工作空間可以有多個工程,具體的方法和情形我忘了,不同的工程中是可以有各自的main的。
G. 我看過一個c語言程序包含一個源程序文件的例子,我想看一看一個c語言程序包含多個源程序文件的例子。
程序首先需要編譯,然後連接形成可執行文件。
以 Clang 編譯器為例。
首先,創建 main.c 文件:
#include"printnum.h"
intmain()
{
intnum=42;
printnum(num);
return0;
}
然後,創建printnum.h 文件:
#pragmaonce
voidprintnum(intnum);
其中,#pragma once 告訴編譯器這個頭文件不要重復包含。
接下來,創建printnum.c 文件,實現 printnum 函數:
#include<stdio.h>
voidprintnum(intnum)
{
printf("%d ",num);
}
現在,文件夾里有兩個源文件:main.c 和 printnum.c。
然後我們打開命令行。
先編譯源文件main.c,生成 main.o:
clang-cmain.c-omain.o
再編譯源文件printnum.c,生成 printnum.o:
clang-cprintnum.c-oprintnum.o
最後將 main.o 與 printnum.o 連接生成 main.exe:
clangmain.oprintnum.o-omain.exe
運行 main.exe,輸出 42,成功。