個(gè)人介紹:本人為山大研究生, 是材料科學(xué)與工程學(xué)院的工科生, 并出于興趣自學(xué)了兩種主流編程語(yǔ).
輔導(dǎo)成果:我的優(yōu)勢(shì):思維活躍 吃透的知識(shí)已經(jīng)當(dāng)做常識(shí)記在腦子中 講解角度立體。 因?yàn)槭?
結(jié)合自身自學(xué)經(jīng)驗(yàn),總結(jié)新手容易出現(xiàn)的問(wèn)題(如臨時(shí)變量的處理 、形參與實(shí)參賦值的方式等,同時(shí)將使用數(shù)字交換的經(jīng)典案例代碼并詳細(xì)講解),并將這些問(wèn)題設(shè)置為講解重點(diǎn),從高級(jí)語(yǔ)言的角度,稍微結(jié)合編譯器底層處理數(shù)據(jù)的方式制作詳解課件,以使學(xué)生便于記憶的同時(shí),可以較為淺顯地明白編譯器對(duì)程序的解釋方式,從而加深印象。
為每一個(gè)重點(diǎn)編寫可執(zhí)行的實(shí)例代碼,如果有可能的話需要一個(gè)可以使用的DEBUG環(huán)境,這樣一來(lái)可以使學(xué)員更直觀地了解每行代碼是如何對(duì)內(nèi)存進(jìn)行操作的,更加方便理解。
1.C程序中函數(shù)的組成結(jié)構(gòu)
《返回值類型》 (函數(shù)名)(參數(shù)列表...) 參數(shù)列表中每個(gè)參數(shù)為 《形參值類型》(形參名) 的聲明形式
{
函數(shù)執(zhí)行體
返回語(yǔ)句(如果返回值為 v oi d可省略)
}
講解時(shí),說(shuō)明從該課程一開(kāi)始所使用的 in t mai n()即為由運(yùn)行環(huán)境所調(diào)用的一個(gè)函數(shù)
此處事例代碼為一個(gè)比較大小的程序,聲明為
i nt max(int a, int b); / / a>b輸出1 a
ma in函數(shù)中調(diào)用時(shí)使用這種格式
max(5,3);
使用盡可能少的本節(jié)知識(shí)點(diǎn) ,只從表面上講解形參和實(shí)參的關(guān)系,形參實(shí)參的傳遞機(jī)制為本節(jié)最后一個(gè)重點(diǎn),此處示例著重展示返回值的獲取
2.局部變量的作用域(和函數(shù)嵌套調(diào)用一起講 ,在嵌套調(diào)用講完時(shí)在示例代碼中插入兩個(gè)與全局變量同名的main局部變量 ,同時(shí)給學(xué)生自主思考程序執(zhí)行結(jié)果的時(shí)間)
詳細(xì)說(shuō)明函數(shù)中的局部變量將“覆蓋”掉全局變量,如果有可使用的debug環(huán)境,可以設(shè)置斷點(diǎn)逐步讓學(xué)員觀察內(nèi)存中變量的變化。
該例使用的代碼和上例相同,不過(guò)此次在調(diào)用函數(shù)時(shí)使用如下代碼
int a=5; / /聲明在全局
int b=3; / /聲明在全局
..........
max(a,b);
演示完成后再聲明同名的局部變量,給學(xué)生自主思考程序執(zhí)行結(jié)果的時(shí)間,之后介紹函數(shù)執(zhí)行塊中的局部覆蓋全局的語(yǔ)法。
在可以使用Debug的情況下,示例代碼中添加一部分暫時(shí)不需要學(xué)生理解的代碼(但是需要向?qū)W生說(shuō)明代碼的作用):這段代碼所聲明的函數(shù)中聲明并賦值了一個(gè)局部變量,然后返回這個(gè)局部變量的地址,可以簡(jiǎn)單拓展介紹C函數(shù)的棧內(nèi)存自動(dòng)釋放機(jī)制。
3.重中之重:C語(yǔ)言函數(shù)參數(shù)傳遞機(jī)制
該例使用的示例代碼為兩個(gè)函數(shù)
voi d exchan ge(int a, int b);
v oid exc hangep(int 星a, int 星b);
兩個(gè)函數(shù)都試圖交換 a b 兩個(gè)數(shù)值,第一個(gè)執(zhí)行結(jié)果失敗,第二個(gè)成功。
通過(guò)這個(gè)例子 ,詳細(xì)說(shuō)明C程序中函數(shù)參數(shù)傳遞機(jī)制為值復(fù)制,并指明這是新手常見(jiàn)錯(cuò)誤之一,之后簡(jiǎn)單介紹使用函數(shù)操作一整個(gè)數(shù)組的方式。
給出一個(gè)結(jié)構(gòu)及其復(fù)雜的數(shù)學(xué)計(jì)算式,但是這個(gè)數(shù)學(xué)計(jì)算式由多個(gè)結(jié)構(gòu)不算很復(fù)雜的子式相互加減而成,首先使學(xué)生們分組打草演算式子的結(jié)果,簡(jiǎn)單地比賽速度,從而引出計(jì)算模塊化的思維對(duì)于復(fù)雜工程維護(hù)成本的降低作用,以此引入簡(jiǎn)單的模塊化程序設(shè)計(jì)思想,說(shuō)明函數(shù)即為模塊化的重要工具,之后開(kāi)始講課。
使用盡可能多的疑問(wèn)語(yǔ)氣,讓學(xué)員自行預(yù)測(cè)程序的執(zhí)行結(jié)果,由于程序執(zhí)行后結(jié)果顯而易見(jiàn),而且預(yù)測(cè)問(wèn)題絕大多數(shù)難度不高,很容易讓學(xué)生有一種控制和預(yù)測(cè)程序的滿足感,從而能夠較為長(zhǎng)效提升學(xué)生的注意力