當前位置:首頁 » 編程語言 » c語言函數視頻教程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言函數視頻教程

發布時間: 2023-06-10 08:21:10

Ⅰ 跪求c語言函數調用的詳細過程,函數之間是怎麼傳遞的,到底是怎麼發生調用的,最好是視頻

表達方式與以往數學學習中不同(如運算符等),這就要求不氣餒,不明白的地方多問多想,鼓足勇氣進行學習,待學完後面的章節知識,前面的問題也就迎刃而解了,這一方面我感覺是我們同學最欠缺,大多學不好的就是因為一開始遇到困難就放棄,曾經和好多同學談他的問題,回答是聽不懂、不想聽、放棄這樣三個過程,我反問,這節課你聽過課嗎?回答又是沒有,根本就沒聽過課,怎麼說自己聽不懂呢?相應的根本就沒學習,又談何學的好?
學習C語言始終要記住「曙光在前頭」和「千金難買回頭看」,「千金難買回頭看」是學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。學習C語言就是要經過幾個反復,才能前後貫穿,積累應該掌握的C知識。
那麼,我們如何學好《C程序設計》呢?
一.學好C語言的運算符和運算順序
這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、13級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序.
二.學好C語言的四種程序結構
(1)順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。 順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。
(2) 分支結構
順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
①if(條件)

這種分支結構中的分支體可以是一條語句,此時「」可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;
②if(條件)

else

這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求ax^2+bx+c=0的根
分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:
d=b*b-4*a*c;
if(d>=0)
{x1=(-b+sqrt(d))/2a;
x2=(-b-sqrt(d))/2a;
printf(「x1=%8.4f,x2=%8.4f\n」,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(「x1=%8.4f+%8.4fi\n」r, i);
printf(「x2=%8.4f-%8.4fi\n」r,i)
}
③嵌套分支語句:其語句格式為:
if(條件1) ;
else if(條件2)
else if(條件3)
……
else if(條件n)
else
嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常復雜,對於程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。
④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。
(3)循環結構:
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do ?Cwhile循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環。常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。
在學完這三個循環後,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和 continue語句進行控制的。
順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。
(4)模塊化程序結構
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。 因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。
三.掌握一些簡單的演算法
編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就要求掌握演算法,根據我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的演算法,在掌握這些基本演算法後,要完成對問題的分析就容易了。如兩個數的交換、三個數的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些演算法的內在含義
結語:當我們把握好上述幾方面後,只要同學們能克服畏難、厭學、上課能專心聽講,做好練習與上機調試,其實C語言並不難學
C源程序的關鍵字---------------------------------------------------------------------------------------
所謂關鍵字就是已被C語言本身使用, 不能作其它用途使用的字。例如關鍵字不能用作變數名、函數名等
由ANSI標準定義的C語言關鍵字共32個 :
auto double int struct break else long switch
case enum register typedef char extern return union
const float short unsigned continue for signed void
default goto sizeof volatile do if while static
根據關鍵字的作用,可以將關鍵字分為數據類型關鍵字和流程式控制制關鍵字兩大類。
1 數據類型關鍵字
A基本數據類型(5個)
void :聲明函數無返回值或無參數,聲明無類型指針,顯式丟棄運算結果
char :字元型類型數據,屬於整型數據的一種
int :整型數據,通常為編譯器指定的機器字長
float :單精度浮點型數據,屬於浮點數據的一種
double :雙精度浮點型數據,屬於浮點數據的一種
B 類型修飾關鍵字(4個)
short :修飾int,短整型數據,可省略被修飾的int。
long :修飾int,長整形數據,可省略被修飾的int。
signed :修飾整型數據,有符號數據類型
unsigned :修飾整型數據,無符號數據類型
C 復雜類型關鍵字(5個)
struct :結構體聲明
union :共用體聲明
enum :枚舉聲明
typedef :聲明類型別名
sizeof :得到特定類型或特定類型變數的大小
D 存儲級別關鍵字(6個)
auto :指定為自動變數,由編譯器自動分配及釋放。通常在棧上分配
static :指定為靜態變數,分配在靜態變數區,修飾函數時,指定函數作用域為文件內部
register :指定為寄存器變數,建議編譯器將變數存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數
extern :指定對應變數為外部變數,即標示變數或者函數的定義在別的文件中,提示編譯器遇到此變數和函數時在其他模塊中尋找其定義。
const :與volatile合稱「cv特性」,指定變數不可被當前線程/進程改變(但有可能被系統或其他線程/進程改變)
volatile :與const合稱「cv特性」,指定變數的值有可能會被系統或其他進程/線程改變,強制編譯器每次從內存中取得該變數的值
2 流程式控制制關鍵字
A 跳轉結構(4個)
return :用在函數體中,返回特定值(或者是void值,即不返回值)
continue :結束當前循環,開始下一輪循環
break :跳出當前循環或switch結構
goto :無條件跳轉語句
B 分支結構(5個)
if :條件語句
else :條件語句否定分支(與if連用)
switch :開關語句(多重分支語句)
case :開關語句中的分支標記
default :開關語句中的「其他」分治,可選。
C 循環結構(3個)
for :for循環結構,for(1;2;3)4;的執行順序為1->2->4->3->2...循環,其中2為循環條件
do :do循環結構,do 1 while(2); 的執行順序是 1->2->1...循環,2為循環條件
while :while循環結構,while(1) 2; 的執行順序是1->2->1...循環,1為循環條件
以上循環語句,當循環條件表達式為真則繼續循環,為假則跳出循環。
[編輯本段]新標准
在ANSI標准化後,C語言的標准在一段相當的時間內都保持不變,盡管C++繼續在改進。(實際上,Normative Amendment1在1995年已經開發了一個新的C語言版本。但是這個版本很少為人所知。)標准在90年代才經歷了改進,這就是ISO9899:1999(1999年出版)。這個版本就是通常提及的C99。它被ANSI於2000年三月採用。
在C99中包括的特性有:
對編譯器限制增加了,比如源程序每行要求至少支持到 4095 位元組,變數名函數名的要求支持到 63 位元組 (extern 要求支持到 31)
預處理增強了。例如:
宏支持取參數 #define Macro(...) __VA_ARGS__
使用宏的時候,參數如果不寫,宏里用 #,## 這樣的東西會擴展成空串。(以前會出錯的)
支持 // 行注釋(這個特性實際上在C89的很多編譯器上已經被支持了)
增加了新關鍵字 restrict, inline, _Complex, _Imaginary, _Bool
支持 long long, long double _Complex, float _Complex 這樣的類型
支持 <: :> <% %> %: %:%: ,等等奇怪的符號替代
支持了不定長的數組。數組的長度就可以用變數了。聲明類型的時候呢,就用 int a[*] 這樣的寫法。不過考慮到效率和實現,這玩意並不是一個新類型。所以就不能用在全局裡,或者 struct union 裡面,如果你用了這樣的東西,goto 語句就受限制了。
變數聲明不必放在語句塊的開頭,for 語句提倡這么寫 for(int i=0;i<100;++i) 就是說,int i 的聲明放在裡面,i 只在 for 裡面有效。(VC沒有遵守這條標准,i 在 for 外也有效)
當一個類似結構的東西需要臨時構造的時候,可以用 (type_name) 這有點像 C++ 的構造函數
初始化結構的時候現在可以這樣寫:
struct hehe[] = ;
struct hehe = // 3,4 是對 .c,.d 賦值的
字元串裡面,\u 支持 unicode 的字元
支持 16 進制的浮點數的描述
所以 printf scanf 的格式化串多支持了 ll / LL (VC6 里用的 I64) 對應新的 long long 類型。
浮點數的內部數據描述支持了新標准,這個可以用 #pragma 編譯器指定
除了已經有的 __line__ __file__ 以外,又支持了一個 __func__ 可以得到當前的函數名
對於非常數的表達式,也允許編譯器做化簡
修改了對於 / % 處理負數上的定義,比如老的標准里 -22 / 7 = -3, -22 % 7 = -1 而現在 -22 / 7 = -4, -22 % 7 = 6
取消了不寫函數返回類型默認就是 int 的規定
允許 struct 定義的最後一個數組寫做 [] 不指定其長度描述
const const int i; 將被當作 const int i; 處理
增加和修改了一些標准頭文件, 比如定義 bool 的 <stdbool.h> 定義一些標准長度的 int 的 <inttypes.h> 定義復數的 <complex.h> 定義寬字元的 <wctype.h> 有點泛型味道的數學函數 <tgmath.h> 跟浮點數有關的 <fenv.h>。<stdarg.h> 里多了一個 va_ 可以復制 ... 的參數。<time.h> 里多了個 struct tmx 對 struct tm 做了擴展
輸入輸出對寬字元還有長整數等做了相應的支持
相對於c89的變化還有
1、增加restrict指針
C99中增加了公適用於指針的restrict類型修飾符,它是初始訪問指針所指對象的惟一途徑,因此只有藉助restrict指針表達式才能訪問對象。restrict指針指針主要用做函數變元,或者指向由malloc()函數所分配的內存變數。restrict數據類型不改變程序的語義。
如果某個函數定義了兩個restrict指針變元,編譯程序就假定它們指向兩個不同的對象,memcpy()函數就是restrict指針的一個典型應用示例。C89中memcpy()函數原型如下:
代碼: void *memcpy (void *s1, const void *s2, size_t size);
如果s1和s2所指向的對象重疊,其操作就是未定義的。memcpy()函數只能用於不重疊的對象。C99中memcpy()函數原型如下:代碼: void *memcpy(void *restrict s1, const void *restrict s2,size_t size);
通過使用restrict修飾s1和s2 變元,可確保它們在該原型中指向不同的對象。
2、inline(內聯)關鍵字
內聯函數除了保持結構化和函數式的定義方式外,還能使程序員寫出高效率的代碼.函數的每次調用與返回都會消耗相當大的系統資源,尤其是當函數調用發生在重復次數很多的循環語句中時.一般情況下,當發生一次函數調用時,變元需要進棧,各種寄存器內存需要保存.當函數返回時,寄存器的內容需要恢復。如果該函數在代碼內進行聯機擴展,當代碼執行時,這些保存和恢復操作旅遊活動會再發生,而且函數調用的執行速度也會大大加快。函數的聯機擴展會產生較長的代碼,所以只應該內聯對應用程序性能有顯著影響的函數以及長度較短的函數
3、新增數據類型
_Bool
值是0或1。C99中增加了用來定義bool、true以及false宏的頭文件夾<stdbool.h>,以便程序員能夠編寫同時兼容於C與C++的應用程序。在編寫新的應用程序時,應該使用
<stdbool.h>頭文件中的bool宏。
_Complex and _Imaginary
C99標准中定義的復數類型如下:float_Complex; float_Imaginary; double_Complex; double_Imaginary; long double_Complex; long double_Imaginary.
<complex.h>頭文件中定義了complex和imaginary宏,並將它們擴展為_Complex和_Imaginary,因此在編寫新的應用程序時,應該使用<stdbool.h>頭文件中的complex和imaginary宏。
long long int
C99標准中引進了long long int(-(2e63 - 1)至2e63 - 1)和unsigned long long int(0 - 2e64 - 1)。long long int能夠支持的整數長度為64位。
4、對數組的增強
可變長數組
C99中,程序員聲明數組時,數組的維數可以由任一有效的整型表達式確定,包括只在運行時才能確定其值的表達式,這類數組就叫做可變長數組,但是只有局部數組才可以是變長的.
可變長數組的維數在數組生存期內是不變的,也就是說,可變長數組不是動態的.可以變化的只是數組的大小.可以使用*來定義不確定長的可變長數組。

Ⅱ c語言中如何實現模塊化

C語言中用函數來實現程序模塊。

模塊化程序設計是將一個大的任務分解成若干個小任務,再將小任務分解成更小的任務,直到每一個任務都只完成一個獨立功能。這樣的每個任務都叫做模塊,C語言中模塊是用函數來實現的。

Ⅲ C語言中函數的作用

C語言中的函數的作用是可以將一段經常需要使用的代碼封裝起來,在需要使用時可以直接調用。

示例:

語言的函數定義和函數聲明

#include<stdio.h>

//使用函數前,需要在main函數前對使用的函數進行聲明

int getMax(int, int);

void main() {

int t=getMax(12, 21);

printf("%d ", t);

getchar();

}

int getMax(int a, int b) {

if (a > b) {

return a;

}

else {

return b;

}

}

(3)c語言函數視頻教程擴展閱讀

scanf 函數

函數原型:int scanf(char *format [,argument,...])

功能:從標准輸入設備(一般指鍵盤)實現格式化輸入

返回值:成功返回讀入的數據項個數

函數參數:format 格式化字元串

argument 輸入數據項的地址列表

常用格式類型參考printf函數的個格式類型

用法舉例:

從標准輸入設備中輸入一個整數到整形變數a中,輸入一個浮點數到浮點型變數b中

int a=0;

float b=0;

scanf("%d%f",&a,&b);

上面程序執行後,從鍵盤輸入: 19 18.6 ,程序將 19賦值給變數a, 18.6賦值給變數b 。

Ⅳ C語言入門知識

char a[20],b[20],c[20];上面的a,b,c都是數組變數,在定義時已經為其分配棧內存,而char (*str1)[20],(*str2)[20],(*str3)[20]; 只是分配了4個位元組的內存來保存指針變數(即變數本身),而指針的值(即指向)還沒有,所以這些指針還不能保存數據!--------------char (*str1)[20],(*str2)[20],(*str3)[20]; str1 str2 str3均為指針,都指向長度為20的char數組.你只定義了指針,但是沒有對其進

Ⅳ c語言視頻教程哪個好

C語言相關課程網路雲資源在線觀看

鏈接:

提取碼: hvef

C語言是一門面向過程、抽象化的通用程序設計語言,廣泛應用於底層開發。

Ⅵ C語言考試教程◆全國計算機等級考試二級C語言視頻教程(完整版) 下載

計算機等級考試二級C語言

首先我們先看下軟體展示圖,最後是軟體!

圖:

3、未來教育2017二級msoffice模擬軟體

以其模式的高專業度,題庫權威度而聞名業界,它聚合歷年真題加以分析從而提出權威預測,效果非常不錯。

2、捷成全國計算機等級考試練習系統。

上機考試系統提供了歷屆考試題100套,並附有試題分析和參考答案,可以幫助考生熟悉考試模式,提高應試能力,測試實際操作和應變能力,自己評定成績,對正式考試時能否通過進行初步的估計。

1、全國計算機等級考試超級模擬軟體。

匯聚了多年開發全國計算機等級考試模擬軟體的豐富經驗,並綜合有經驗的命題專家、教授和全國各地考點一線教師的建議基礎上研製而成。本套軟體採用模擬考試形式,以大量的習題練習,強化考生的應考能力。

Ⅶ C語言函數的遞歸調用把我給弄糊塗了,有誰知道相關的C語言講解視頻嗎,自己看書看不懂

這里有C的視頻教程不過個人覺得沒什麼用
我怎麼也看不進
到是自己後來看看各種資料要好的多
http://hi..com/wuguohu/blog/item/7a9ed516a75aa618962b4312.html

Ⅷ C語言教程的內容是

C語言學習從入門到精通的一套經典視頻教程,本課程通過高清晰的視頻、概念詳解、實例精講、習題測試讓你很快的掌握C語言的相關知識,並領略運用到實例中去。在針對一些用戶認為C語言比較難學的情況下,本課程從初中級用戶的角度出發,進行合理的內容安排,突出學、練、用、鞏固相結合的特點,以通俗易懂的語言,豐富多彩的實例,詳細介紹了使用C語言進行程序開發應該掌握的各方面知識。本課程主要給大家講解了C語言概述,演算法,數據類型,運算符與表達式,常用的數據輸入、輸出函數,選擇結構程序設計,循環控制,數組,函數,指針,結構體和共用體,位運算,預處理,模塊化編程,編程規范,C語言常見問題及分析,習題測試等內容。所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的講解,可以使讀者輕松領會C語言程序開發的精髓,快速提高開發技能。

課程內容詳盡,實例豐富,非常適合作為單片機及編程初學者的學習課程,也可作為大中院校相關專業在校學生及畢業生的教學輔導課程、短期C語言培訓課程,是C語言編程愛好者從入門到深入的經典課程。
課程共分為15講,每節課的內容大綱如下:

第1課 C語言概述
1、幾種常見的程序設計語言
2、C語言出現的歷史背景
3、C語言的特點
4、簡單的C程序介紹
5、C程序的上機步驟
6、習題測試
第2課 程序的靈魂-演算法
1、程序設計過程
2、演算法的基本概念
3、演算法的特徵
4、演算法的表示方法(流程圖)
5、結構化程序設計方法
6、習題測試
第3課 C語言的數據類型
1、預備知識
2、C語言的數據類型
3、常量與變數
4、不同數據類型之間的轉換
5、運算符號和表達
6、習題測試
第4課 C語言順序程序設計
1、C語句概述
2、賦值語句
3、數據的輸入輸出
4、字元數據輸入輸出
5、格式輸入輸出
6、順序程序舉例
7、習題測試
第5課 C語言選擇程序設計
1、關系運算符和關系表達式
2、邏輯運算符和邏輯表達式
3、if 語句---條件判斷
4、條件運算符
5、switch 語句
6、選擇程序舉例
7、習題測試
第6課 C語言的循環控制
1、概述
2、goto語句及與if語句構成循環
3、while語句
4、do …while語句
5、for語句
6、循環的嵌套
7、幾種循環的比較
8、break語句和contiune語句
9、程序舉例
10、習題測試
第7課 C語言數組
1、一維數組
2、二維數組及多維數組
3、字元數組和字元串
4、程序舉例
5、習題測試
第8課 函數
1、概述
2、函數定義的一般格式
3、函數的返回值
4、函數的調用
5、函數參數及其傳遞方式
6、函數的嵌套與遞歸調用
7、數組作為函數參數
8、變數的存儲屬性
9、內部函數和外部函數
10、習題測試
第9課 C語言預處理命令
1、編譯預處理
2、宏定義
3、文件包含
4、條件編譯
5、習題測試
第10課 指針
1、指針的概念
2、指針變數
3、指針與數組
4、指針與字元串
5、指針與函數
6、返回指針值的函數
7、指針數組和多級指針
8、習題測試
第11課 結構體與共用體
1、結構類型與結構變數的定義
2、結構變數的引用與初始化
5、結構數組
6、指向結構類型數據的指針
7、用指針處理鏈表
8、共用體
9、枚舉類型
10、用typedef定義別名
11、程序舉例
12、習題測試
第12課 位運算
1、位運算概述
2、位運算符的使用方法
3、習題測試
第13課 單片機C語言的模塊化編程
1、模塊化編程的優點
2、C語言源文件(*.c)文件和頭文件(*.h)的的作用
3、模塊化編程設計步驟
4、程序實例
5、模塊化程序的移植
6、習題測試
第14課 C語言編程規范
1、編碼規范概述
2、編程排版規范
3、編程注釋規范
4、命名規則
5、可讀性規范
6、變數與結構規范
7、函數與過程規范
8、編程效率規范
9、質量保證規范
10、宏規范
11、代碼編輯
12、編譯
13、審查
14、代碼測試
15、維護
16、習題測試
第15課 C語言編程常見出錯問題及分析
1、C語言的一些基本概念
2、位(bit)和位元組(byte)
3、變數和數據存儲
4、數據文件
5、字元串操作
6、數組
7、指針和內存分配
8、函數
9、編譯預處理
10、標准庫函數
11、系統調用
12、可移植性
13、編程風格和標准
14、程序的編寫和編譯
15、調試