999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C++教學中編程習慣的培養

2019-10-31 07:00:03何雪英
電腦知識與技術 2019年22期
關鍵詞:教學

何雪英

摘要:C++是國內大多數高校的計算機專業都開設的一門專業基礎課,然而在這門課的教學中,很少有人重視編程習慣的培養。為此,本文通過介紹一些良好的編程風格,結合筆者在實踐方面的經驗,對培養學生的編程習慣提出了一些建議和看法,以使得學生在學習程序設計初期就養成良好的編程習慣。

關鍵詞:C++教學;編程習慣;編程風格;高質量代碼

中圖分類號:G642? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2019)22-0126-02

開放科學(資源服務)標識碼(OSID):

1 引言

C++作為一門優秀的面向對象的程序設計語言,是絕大多數高校計算機專業開設的一門必修課。然而在這門課的教學中,教師往往只重視學生語法學習和算法能力的培養,認為只要學生所編寫的程序可以通過調試并能得到正確結果就可以了,卻忽視了最基本的編程習慣的培養。實際上,良好的編程習慣在增加程序的可讀性、可維護性和可重用性,提高程序的質量等方面,具有非常重要的作用。因此,幫助學生認識到編程習慣的重要性并注意培養他們這方面的能力,使學生在學習高級語言程序設計初期就接受規范編程的教育非常重要,這樣可以使得我們的大學生在走出校園前就已經具備了良好的編程素養,為以后進一步的學習和應用打下良好的基礎。本文從標識符的命名、注釋、代碼布局、類的聲明和函數設計規則5個方面介紹了一些好的編程規范,并提出具體可行的實踐方法,希望能夠幫助學生培養良好的編程習慣, 寫出高質量的代碼。

2編程習慣

養成良好的編程習慣,就是在程序設計過程中要遵循好的程序設計規范,也就是編程風格。包括標識符的命名、注釋、代碼布局、類的聲明和函數設計規則等。

2.1標識符命名

標識符包括常量名、變量名、函數名以及對象名等。標識符的命名應做到既簡單直觀又能見名知意。名字太簡單不宜于閱讀者理解程序,因此建議除了循環變量可以使用“i,j”等簡單的名字外,其他盡量使用精煉且有意義的名字,可以采用英文單詞或其組合,便于記憶和理解,切忌采用漢語拼音命名。如比較著名的匈牙利命名法,每個標識符的開頭以其數據類型的縮寫命名,然后再加上代表該標識符含義或作用的英文單詞簡寫共同組成。如定義用于計數的整型變量為iCount,定義用于表示性別的字符型變量為cSex等。另外,建議對局部變量小寫,符號常量、宏大寫[1]。

2.2 注釋

注釋是指程序設計者在編寫代碼時所添加的一些說明性語句,只是起到一個解釋說明的作用,對程序本身的執行并沒有影響。它是提高程序可讀性的必要手段,不僅可以幫助閱讀者很快地了解程序的功能和結構,對程序設計者本人也是很重要的,有時候我們閱讀自己編寫沒有注釋的代碼,如果間隔時間比較久,理解起來也會很費勁甚至難以讀懂,更不用說去閱讀他人編寫的代碼了。因此,養成良好的編程習慣,注釋必不可少。

程序的注釋可分為序言性注釋和功能性注釋[2]。序言性注釋是對程序整體性的介紹,通常放在程序開頭,內容一般包括:介紹各模塊的用途和功能;對函數參數及調用形式進行描述;有關數據相關屬性的描述,如名稱、用途、約束等;有關開發信息簡介,如模塊設計者、修改者、修改說明及日期等。功能性注釋位于源程序中,通常使用縮進、空行或括號,來區分源程序和注釋,對程序段的功能進行描述。這里需要注意的是功能性注釋描述的是程序要“做什么”,而不是“怎么做”;描述的對象是一段程序, 而非每一條語句。

2.3 代碼布局

程序中代碼的布局對于程序的可讀性和可維護性也有很大影響,適當的利用縮進、空格、空行等能使程序更整潔美觀,層次結構更清晰,方便閱讀和維護[3-4]。對比圖1(良好的代碼布局)和圖2(不良的代碼布局),前者的優勢顯而易見。

[#include

using namespace std;

int main( )

{

int i;

int sum = 0;

cin >> i;

while (i <= 10)

{

sum = sum + i;

i++;

}

cout << “sum=” << sum << endl;

return 0;

} #include

using namespace std;

int main( )

{int i, sum=0;

cin>>i;

while (i<=10)

{sum=sum+i;

i++;}

cout << “sum=”sum << endl;

return 0;

}

圖1? 良好的代碼布局 圖2? 不良的代碼布局 ]

(1)代碼行的書寫:每條語句最好單獨占用一行,不在一行上書寫多個語句,也不將一條語句分成幾行來寫。這樣既方便對相關內容進行注釋,又增加了程序的可讀性。

(2)縮進和對齊:對于嵌套的層次結構采用鋸齒形的書寫方式,根據語句間的邏輯關系進行語句的對齊和縮進。邏輯上屬于順序結構的語句要對齊,邏輯上屬于嵌套的語句要往里縮進,可以利用tab鍵進行縮進和對齊。這樣的程序,層次分明,邏輯結構一目了然,可讀性強。

(3)空格和空行:過于擁擠的程序,可讀性自然大大降低。空格和空行是程序中主要的分隔符,合理地使用它們,會使程序看起來整潔美觀,從而增進程序的可讀性。

(4) 大括號的位置

對于大括號的位置一般有兩種風格:一種風格是“{”獨占一行,如圖3所示。另一種風格是將“{”放在一行的最后。如圖4所示。

[if (condition )

{

…/ / programe code

} if (condition){

…/ / programe code

} 圖3? ?大括號的位置 圖4? 大括號的位置 ]

推薦使用圖3的風格,很顯然,這種風格更直觀,更易區分出程序塊的位置,且便于檢查配對情況。

2.4 類的聲明

在類的聲明中,具有不同訪問屬性(private、public、protected)的成員的出現順序可以任意,但一個成員只能具有一種訪問屬性[5]。但在實際應用時,習慣將public類型成員放在其他類型成員的前面,這樣方便閱讀,因為用戶更關心類提供的接口或服務。

在規模較大的項目中,通常把類的聲明放在頭文件中(*.h),類的實現放在*.cpp文件中,類的使用放在主函數文件中,在*.cpp文件和主函數文件中使用#include包含*.h文件。

2.5 函數

在面向對象的程序設計中,函數是對功能的抽象,通常將相對獨立的、經常使用的功能抽象為函數。由于函數可被重復使用,而且使用時只需了解函數的功能和調用方法,無須關注函數的實現細節,因而提高了代碼的重用率和程序開發的效率,同時也便于多人的分工協作和維護。

函數設計總的原則是應該功能單一、規模小。下面重點論述函數的參數、返回值和內部實現的一些規則。

2.5.1函數參數的規則

(1)完整定義參數。不要省略參數類型和參數名,沒有參數時,使用void填充。

(2)參數個數不要太多。

(3)參數名要恰當,順序要合理。例如:對于字符串復制函數strcpy的兩個參數,如果僅命名為str1、str2,很難區分出拷貝順序,而采用dstStr、srcStr這種能夠區分目的參數和源參數的命名方式,拷貝順序一目了然。

void strcat(char *str1, char *str2)? ?//不良的代碼習慣

void strcat(char *dstStr, char *srcStr)? ?//良好的代碼習慣

2.5.2函數返回值的規則

(1)不要省略函數返回值的類型。沒有返回值時,聲明為void。

(2)確保返回值類型與聲明的函數類型一致。

2.5.3函數實現規則

(1)盡量少用全局變量,確保函數的單入口和單出口。

(2)盡量少用靜態局部變量。相同的輸入產生相同的輸出。

(3)主函數盡量簡短。通常只有幾個函數調用語句,只是實現對其他功能函數的調用,而這些函數的定義全在主函數外實現。

3 實踐方法

針對以上介紹的良好的編程風格,如何融匯到日常的C++的教學中,使學生在學習編程之初就養成良好的編程習慣,筆者提出了自己的一些建議和看法,并付諸了教學實踐,效果顯著。

3.1 提高對編程習慣重要性的認識

要想讓學生認識到好的編程習慣的重要性,首先要在思想上引起學生的重視,才有可能付諸實踐。

(1)把編程習慣體現在課堂上。教師的課件、教案都嚴格遵循好的編程風格;并且教師在講課的過程中,要把編程習慣融入每個具體的實例中,讓學生時刻都能感受到編程習慣的優勢和重要性。

(2)把用人單位尤其是一些大型軟件公司對編程的要求告訴學生,并找一些實例給學生看,讓學生感受什么是好的代碼風格。

(3)設計一定數量的綜合性實驗,讓學生分工合作完成。因為合作的過程中要讀其他同學的代碼,在這個過程中學生能親身感受到不好的代碼風格給自己帶來的種種困難,從而認識到養成良好編程習慣的重要性。

3.2 納入考核標準

在實驗成績計算辦法中增加編程習慣所占的比重。無論是平時布置的電子作業,還是最終的考試答題中,都要求學生必須遵守這些編程習慣,并且占一定的分值。

4 結束語

以上所述,只是筆者在多年的C++教學中總結出來的一些心得和體會,實際上在編程習慣方面還有很多其他約定俗成的風格,還有很多值得我們挖掘和探討的問題,編程習慣的培養任重而道遠。

參考文獻:

[1]何靈敏,許翔,等.C++教學中編程習慣的養成[J].計算機教育,2011.

[2]嚴軼群,劉濤.淺論C語言學習方法和編程風格[J].蘭州工業高等專科學校學報,2009.

[3]王志超.大學生編程習慣的培養[J].吉林教育,2009.

[4]李寧.論C語言中高質量代碼編寫的規范問題[J].電腦知識與技術,2015.

[5]鄭莉,董淵,等.C++語言程序設計[M].清華大學出版社,2006.

【通聯編輯:王力】

猜你喜歡
教學
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
「微寫作」教學實踐的思考
“以讀促寫”在初中寫作教學中的應用
如何讓高中生物教學變得生動有趣
甘肅教育(2020年12期)2020-04-13 06:25:34
談高中音樂欣賞教學中的“聽、看、想、說、動”
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
對識譜教學的認識與思考
《可以預約的雪》教學探索與思考
中學語文(2015年6期)2015-03-01 03:51:42
對高等數學教學的一些思考
主站蜘蛛池模板: 久久国产精品无码hdav| 欧美日本在线一区二区三区| 在线亚洲精品自拍| 精品视频福利| 亚洲水蜜桃久久综合网站| 亚洲无卡视频| 嫩草在线视频| 国产在线欧美| 美女裸体18禁网站| 成人久久18免费网站| 亚洲一区二区视频在线观看| 国产人成午夜免费看| 国产精品第5页| 亚洲精品在线观看91| 91青青视频| 国产第四页| 一本一本大道香蕉久在线播放| 免费看a毛片| 久久一本日韩精品中文字幕屁孩| 欧美亚洲国产一区| 国产精品吹潮在线观看中文| 色综合综合网| 日韩欧美国产中文| 亚洲国产天堂久久综合| 国产91成人| 亚洲精品成人福利在线电影| 国产乱人乱偷精品视频a人人澡| 色爽网免费视频| 丁香婷婷在线视频| 国产精品成| 亚洲天堂成人在线观看| 国产成人综合亚洲欧美在| 欧美性爱精品一区二区三区 | 91在线激情在线观看| 内射人妻无码色AV天堂| 精品一区二区三区四区五区| 亚欧乱色视频网站大全| 白丝美女办公室高潮喷水视频 | 国产亚洲视频中文字幕视频| 国产va在线观看免费| 成年人视频一区二区| 国产精品播放| 国产欧美中文字幕| 福利一区在线| 色AV色 综合网站| 亚洲香蕉在线| 999国内精品久久免费视频| 动漫精品中文字幕无码| 婷婷色婷婷| 日韩欧美国产另类| 亚洲天堂啪啪| 国产精品性| 久久精品电影| 中文字幕在线观| 国产性生交xxxxx免费| 波多野结衣中文字幕久久| 亚洲精品无码AV电影在线播放| 国产内射一区亚洲| 亚洲男人天堂2020| 91麻豆国产视频| 日韩毛片免费观看| 日本尹人综合香蕉在线观看| 热久久这里是精品6免费观看| 国产91视频免费| 2019年国产精品自拍不卡| 日韩亚洲高清一区二区| 日本高清免费不卡视频| 日韩久久精品无码aV| 国产精品亚洲五月天高清| 久久久精品国产亚洲AV日韩| 91美女视频在线| 91在线视频福利| 91精品视频播放| 国产幂在线无码精品| 婷婷六月在线| 婷婷激情亚洲| 国产美女在线免费观看| 久草视频中文| 国产理论精品| 视频国产精品丝袜第一页| 国产精品片在线观看手机版 | 日韩在线成年视频人网站观看|