① C語言中函數調用是什麼意思,調用有什麼作用
如果在設計c語言程序中,反復要用到一個組合計算的程序段,比如:
void main()
{
int a,b,c,x,y,z,j,k,l;
...
c=a+b; c-=(a-b)/2; //計算c=(a+b)-(a-b)/2
...
z=x+y; z-=(x-y)/2; //計算z=(x+y)-(x-y)/2
...
l=j+k; l-=(j-k)/2; //計算l=(j+k)-(j-k)/2
...
}
由於它們的計算公式相同,就採用一個函數來替代相似的語句:
int fun(int a,int b) { int c; c=a+b; c-=(a-b)/2; return c; } //按照公式計算並返回結果
這樣程序就變成了:
int fun(int a,int b) { int c; c=a+b; c-=(a-b)/2; return c; }
void main()
{
int a,b,c,x,y,z,j,k,l;
...
c=fun(a,b);
...
z=fun(x,y);
...
l=fun(j,k);
...
}
*這樣的效果是:重復利用了函數的代碼,節省程序的代碼量(尤其是計算公式很復雜的情況更突出),程序簡潔易讀,便於統一修改計算公式和方法。
*還有一個優點就是:你調用函數時,無須知道演算法的細節,按照函數調用規則就可以使用了,比如,標准c提供的函數double sin(double x),你只要知道這是個計算正弦函數值的函數即可,拿來可用而不必去看具體標准函數庫是怎樣計算的。
*你的函數如果寫得正確、經典的話,完全可以封裝成標准函數拿給其他人使用,甚至可以不提供源代碼就可以。
*沒有返回值的函數又可以叫子程序
② C語言函數什麼意思
函數是一個獨立的程序段,它執行具體的,明確的任務。也就是說函數是我們預先編寫好的一段處理某個具體問題的代碼。
C語言中我們通常會使用函數來執行一系列指令。一次函數調用將在一個程序內的任何一個給定點上執行一系列指令。函數可以根據需要被多次調用。如果一個程序中會多次的執行同一個任務,那麼函數的使用將會大大的減少程序的代碼量,而且包含函數的程序還便於維護和修改程序,因為我們只需要修改函數就可以對程序中的多處進行修改了。
③ 什麼是內部函數執行程序
估計是針對動態庫文件的。希望給個圖片!
④ C 語言從主函數開始執行到主函數結束是什麼意思誰給我具體解釋下
通俗點說就是函數的執行時逐行掃描讀取語句的,機器在執行你的程序時候會先找到你的main函數(主函數)
然後從主函數開始一行行讀你的語句,碰到你寫的子函數時,機器對主函數的掃描暫停,轉到你的子函數具體代碼處再次一行行讀並執行你的子函數語句,等子函數讀完了就回到你原來暫停的主函數那裡,繼續讀剩下的主函數,直到主函數的最後一個字元讀完,程序結束。
⑤ 在c語言中「可執行程序」是什麼意思
C語言中的可執行程序就是將用文本信息表示的程序翻譯成計算機認識的二進制代碼串。
首先,我們先用C語言把源代碼寫好,然後交給C語言編譯器。C語言編譯器內部分為前端和後端。
(1)編譯器前端
前端負責將C語言代碼進行詞法和語法上的解析,然後可以生成中間代碼。
中間代碼這部分不是必須的,但是它能夠為程序的跨平台移植帶來諸多好處。比如,同樣的一份C語言源代碼在一台計算機上編譯完之後,生成一套中間代碼。
然後針對不同的目標平台(比如要將這一套代碼分別編譯成 ARM 處理器的二進制機器碼、MIPS 處理器的二進制機器碼以及 x86 處理器的二進制機器碼),只需要編寫相應目標平台的編譯器後端即可。
所以,這么做就可以把編譯器的前端與後端剝離開來(這在軟體工程上又可稱為解耦合),不同處理器廠商可以針對自家的處理器特性,對中間代碼生成到目標二進制代碼的過程再度進行優化。
(2)編譯器後端
接下來,由C語言編譯器後端生成源文件相應的目標文件。
目標文件在 Windows 系統上往往是.obj文件,而在 Unix/Linux 系統上往往是.o文件,C語言的源文件在所有平台上都統一用.c文件表示。
(3)鏈接器
最後,對於各個獨立的目標文件,通過連接器將它們合並成一個最終可執行文件。
(5)函數執行程序是什麼意思擴展閱讀:
起初,C語言沒有官方標准。1978年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。布萊恩·柯林漢(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本書,名叫《The C Programming Language》。
這本書被 C語言開發者們稱為K&R,很多年來被當作 C語言的非正式的標准說明。人們稱這個版本的 C語言為K&R C。
K&R C主要介紹了以下特色:
結構體(struct)類型
長整數(long int)類型
無符號整數(unsigned int)類型
把運算符=+和=-改為+=和-=。因為=+和=-會使得編譯器不知道使用者要處理i = -10還是i =- 10,使得處理上產生混淆。
即使在後來ANSI C標准被提出的許多年後,K&R C仍然是許多編譯器的最 准要求,許多老舊的編譯器仍然運行K&R C的標准。
1970到80年代,C語言被廣泛應用,從大型主機到小型微機,也衍生了C語言的很多不同版本。
1983年,美國國家標准協會(ANSI)成立了一個委員會X3J11,來制定 C語言標准。
1989年,美國國家標准協會(ANSI)通過了C語言標准,被稱為ANSI X3.159-1989 "Programming Language C"。因為這個標準是1989年通過的,所以一般簡稱C89標准。有些人也簡稱ANSI C,因為這個標準是美國國家標准協會(ANSI)發布的。
1990年,國際標准化組織(ISO)和國際電工委員會(IEC)把C89標準定為C語言的國際標准,命名為ISO/IEC 9899:1990 - Programming languages -- C 。因為此標準是在1990年發布的,所以有些人把簡稱作C90標准。不過大多數人依然稱之為C89標准,因為此標准與ANSI C89標准完全等同。
1994年,國際標准化組織(ISO)和國際電工委員會(IEC)發布了C89標准修訂版,名叫ISO/IEC 9899:1990/Cor 1:1994 ,有些人簡稱為C94標准。
1995年,國際標准化組織(ISO)和國際電工委員會(IEC)再次發布了C89標准修訂版,名叫ISO/IEC 9899:1990/Amd 1:1995 - C Integrity ,有些人簡稱為C95標准。
C99標准
1999年1月,國際標准化組織(ISO)和國際電工委員會(IEC)發布了C語言的新標准,名叫ISO/IEC 9899:1999 - Programming languages -- C ,簡稱C99標准。這是C語言的第二個官方標准。
參考資料:網路-c語言
⑥ 編程里所說的函數是什麼意思
Function,譯為方法或函數.
函數中的代碼執行後可以實現你某種目的,或者得到想要的數據.
比如:
function demo(){
alert("Hey,girl!");
}
這個函數的目的就是彈出一個提示框,內容是向妹子say HI。
其實編程中很多東西是完全抽象的,不要台鑽牛角尖,按照自己可接受的方式去理解它就好.
⑦ win10內部函數執行程序怎麼解決
出現這個現象有方面的,一是硬體,即內存方面有問題,二是軟體,這就有多方面的問題了。
一:先說說硬體:
一般來說,電腦硬體是很不容易壞的。內存出現問題的可能性並不大(除非你的內存真的是雜牌的一塌徒地),主要方面是:1。內存條壞了(二手內存情況居多)、2。使用了有質量問題的內存,3。內存插在主板上的金手指部分灰塵太多。4。使用不同品牌不同容量的內存,從而出現不兼容的情況。5。超頻帶來的散熱問題。你可以使用MemTest 這個軟體來檢測一下內存,它可以徹底的檢測出內存的穩定度。
二、如果都沒有,那就從軟體方面排除故障了。
先說原理:內存有個存放數據的地方叫緩沖區,當程序把數據放在緩沖區,需要操作系統提供的「功能函數」來申請,如果內存分配成功,函數就會將所新開辟的內存區地址返回給應用程序,應用程序就可以通過這個地址使用這塊內存。這就是「動態內存分配」,內存地址也就是編程中的「游標」。內存不是永遠都招之即來、用之不盡的,有時候內存分配也會失敗。當分配失敗時系統函數會返回一個0值,這時返回值「0」已不表示新啟用的游標,而是系統向應用程序發出的一個通知,告知出現了錯誤。作為應用程序,在每一次申請內存後都應該檢查返回值是否為0,如果是,則意味著出現了故障,應該採取一些措施挽救,這就增強了程序的「健壯性」。若應用程序沒有檢查這個錯誤,它就會按照「思維慣性」認為這個值是給它分配的可用游標,繼續在之後的執行中使用這塊內存。真正的0地址內存區儲存的是計算機系統中最重要的「中斷描述符表」,絕對不允許應用程序使用。在沒有保護機制的操作系統下(如DOS),寫數據到這個地址會導致立即當機,而在健壯的操作系統中,如Windows等,這個操作會馬上被系統的保護機制捕獲,其結果就是由操作系統強行關閉出錯的應用程序,以防止其錯誤擴大。這時候,就會出現上述的內存不能為「read」錯誤,並指出被引用的內存地址為「0x00000000「。內存分配失敗故障的原因很多,內存不夠、系統函數的版本不匹配等都可能有影響。因此,這種分配失敗多見於操作系統使用很長時間後,安裝了多種應用程序(包括無意中「安裝」的病毒程序),更改了大量的系統參數和系統檔案之後。
0X000000該內存不能為read的解決方法
⑧ 編程里所說的函數是什麼意思
Function,譯為方法或函數.函數中的代碼執行後可以實現你某種目的,或者得到想要的數據.
⑨ 什麼是函數體執行
函數體是函數定義中用一對大括弧括住的部分。函數體分為定義序列和語句序列兩部分,定義序列在前,語句序列在後。函數體中的語句必須得到調用程序時傳給它的參數值(由函數調用中的實際參數,傳遞給函數定義中函數首部的形式參數)比如:寫了函數調用
pow(3.1,4.3)
而函數定義 pow的首部是
double pow(double a, doubleb)
則實際參數3.1被傳給了形式參數a;實際參數4.3則被傳給了形式參數b;
這樣一來pow函數體中的語句序列才可以得到執行了。
⑩ 函數執行程序怎麼關閉
大家知道,在一個大型復雜的系統中,有時會調用一些外部程序來幫助我們完成某些特定功能。 我們常用的函數有兩個,WinExec(),ShellExecute(),因為ShellExecute()函數主要用於Win32下,功能也強大一些,故而本文只對後者進行討論。