1.程序=數(shù)據(jù)+算法;C語言=數(shù)據(jù)+函數(shù);模塊化程序設計;
成都創(chuàng)新互聯(lián)專注于阿圖什企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設,電子商務商城網(wǎng)站建設。阿圖什網(wǎng)站建設公司,為阿圖什等地區(qū)提供建站服務。全流程按需開發(fā),專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務2.面向過程是一種以過程為中心的編程思想
3.首先將復雜的問題分解為一個個容易解決的問題
4.分解過后的問題可以按照步驟一步步完成
5.函數(shù)是面向過程在C語言中的體現(xiàn)
6.解決問題的每個步驟可以用函數(shù)來實現(xiàn)
7.程序中的聲明可以理解為預先告訴編譯器實體的存在,如:變量,函數(shù),等等
8.程序中的定義明確指示編譯器實體的意義
聲明和定義并不相同
extern int a;//聲明是其他文件的變量,不需要分配空間 int a=10;//定義,分配一個空間
9.函數(shù)參數(shù)在本質上與局部變量相同,都是在棧上分配空間
10.函數(shù)參數(shù)的初始值是函數(shù)調用時的實參值
11.函數(shù)參數(shù)的求值順序依賴于編譯器的實現(xiàn),C語言中大多數(shù)運算符對其操作數(shù)求值的順序都是依賴于編譯器的實現(xiàn)的?。?!
12.程序中存在一定的順序點
13.順序點指的是執(zhí)行過程中修改變量值的最晚時刻
14.在程序達到順序點的時候,之前所做的一切操作必須反映到后續(xù)的訪問中
15.每個完整表達式結束時
16.&&,||,?;以及逗號表達式的每個運算對象計算之后
17.函數(shù)調用中對所有實際參數(shù)的求值完成之后(進入函數(shù)體之前)
18.C語言會默認沒有類型的函數(shù)參數(shù)為int
19.C語言中可以定義參數(shù)可變的函數(shù)
20.參數(shù)可變函數(shù)的實現(xiàn)依賴于stdarg.h頭文件
21.va_list變量與va_start,va_end和va_arg配合使用能夠訪問參數(shù)值
22.可變參數(shù)必須從頭到尾按照順序逐個訪問
23.參數(shù)列表中至少要存在一個確定的命令參數(shù)
24.可變參數(shù)宏無法判斷實際存在的參數(shù)的數(shù)量
25.可變參數(shù)宏無法判斷參數(shù)的實際類型
26.va_arg中如果指定了錯誤的類型,那么結果是不可預測的
27.宏是由預處理器直接替換展開的,編譯器不知道宏的存在
28.函數(shù)是由編譯器直接編譯的實體,調用行為有編譯器決定
29.多次使用宏會導致程序代碼量增加
30.函數(shù)是跳轉執(zhí)行的,因此代碼量不會增加
31.宏的效率比函數(shù)要高,因為是直接展開,無調用開銷
32.函數(shù)調用時會創(chuàng)建活動記錄,效率不如宏
33.宏的效率比函數(shù)稍高,但是其副作用巨大,容易出錯
34.函數(shù)存在實參到形參的傳遞,因此無任何副作用,但是函數(shù)需要建立活動形象,效率受影響
35.宏參數(shù)可以是任何C語言實體,宏編寫的_MIN_參數(shù)類型可以是int,float等等,宏的參數(shù)可以是類型名。
36.活動記錄是函數(shù)調用時用于記錄一系列相關信息的記錄
臨時變量域:用來存放臨時變量的值,如K++的中間結果
局部變量域:用來存放函數(shù)本次執(zhí)行中的局部變量
機器狀態(tài)域:用來保存調用函數(shù)之前有關機器狀態(tài)的信息,包括各種寄存器的當前值和返回地址等
實參數(shù)域:用于存放函數(shù)的實參信息
返回值域:為調用者函數(shù)存放返回值
37.遞歸是數(shù)學領域中概念在程序設計中的應用
38.遞歸是一種強有力的程序設計方法
39.遞歸的本質為函數(shù)內部在適當?shù)臅r候調用自身
40.C語言中遞歸函數(shù)必然會使用判斷語句
41.遞歸函數(shù)在需要編寫的時候定義函數(shù)的出口,否則棧會溢出
42.遞歸函數(shù)是一種分而治之的思想
43.不要在函數(shù)中使用全局變量,盡量讓函數(shù)從意義上是一個獨立的功能模塊
44.參數(shù)名要能夠體現(xiàn)參數(shù)的意義
45.如果參數(shù)時指針,且僅作輸入?yún)?shù)用,則應在類型前加const,以防止該指針在函數(shù)體內被意外修改
46.不要省略返回類型,如果函數(shù)沒有返回值,那么應聲明為void類型
47.在函數(shù)體的“入口處”對參數(shù)的有效性進行檢查,對指針的檢查尤為重要
48.語句不可返回指向“棧內存”的“指針”,因為該內存在函數(shù)體結束時被自動銷毀
49.函數(shù)體的規(guī)模要小,盡量控制在80行代碼之內
50.相同的輸入應當產生相同的輸出,盡量避免函數(shù)帶有“記憶”功能
51.避免函數(shù)有太多的參數(shù),參數(shù)個數(shù)盡量控制在4個以內
52.有時候函數(shù)不需要返回值,但為了增加靈活性,如支持鏈式表達,可以附加返回值
53.函數(shù)名與返回值類型在語義上不可沖突
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。