程式的編譯和程式的執行是兩個完全不同的過程。程式的編譯過程是按照源**的文字順序一句一句進行編譯的,而程式的執行和過程則是按照語法規則和邏輯關係進行的。乙個程式的編寫首先得先通過編譯器的編譯。編譯器在編譯變數的時候是不對變數進行賦值的,變數的賦值是在程式的執行時被賦值的。例如下面的**就不能通過編譯:
const int n=10;
int ar[n]=
編譯的時候n的值並不知道,執行的時候n才被賦值。
2.函式由四部分組成:函式的返回型別+函式名(形參)
3.程式的編寫必須考慮兩個因素:時間複雜度和空間複雜度。
在計算機中的儲存可以分為四中:硬碟、記憶體、快取記憶體、cpu中的暫存器。同樣編譯器在編譯的時候也會考慮這兩個要素。例如對於下面的**:
void printf-array (int ar[10],int n)在經過編譯器的預編譯後就會變成下面的**:void printf-array (int *ar,int n)。如果嚴格按照之前的**進行執行的話,就要傳遞整個陣列過去,這是乙個非常浪費時間和空間的做法。優化後則只需要傳遞陣列元素的指標過去,這將大大節省程式執行的時間和占用的空間。編譯器的這種做法也叫做陣列名的退化。
4.return語句之後的語句是執行不到的。return後面是不能在有語句的。return意味著函式即將結束。
C語言學習
c語言學習 2013 3 26 1 編寫strcat s,t 函式,功能 將t指向的字串複製到s指向的字串的尾部。程式設計思路 1 通過while迴圈找到字串s的結束符。2 從找到的結束符開始將t複製到s,同時移動二者的指標。2 編寫函式strend s,t 如果字串t出現在字串s的尾部,該函式返回...
c語言學習
今天總結一些c 語言方面的知識 變數的概念 其值在作用域內可以改變的量稱為變數。乙個變數應該有乙個名字,並在記憶體中佔據一定儲存空間。區域性變數和全域性變數 區域性變數是在函式內作定義說明的,其作用域僅限函式內,離開該函式再使用這種變數是非法的。全域性變數也稱為外部變數,是在函式外部定義的變數,它不...
c語言學習
計算機工作基本原理 現代計算機可分為幾個部件 cpu 處理單元 擔負著絕大部分的計算工作。ram 隨機訪問儲存器 作為乙個工作區來儲存程式和檔案。硬碟 永久儲存器 即使在計算機關機時也能記下程式和檔案。以及各種外圍裝置 如鍵盤,滑鼠和監視器 用來提供人與計算器之間的通訊。cpu工作過程 從記憶體中獲...