C語言程序設(shè)計 課件 任務(wù)3.3 編程規(guī)范_第1頁
C語言程序設(shè)計 課件 任務(wù)3.3 編程規(guī)范_第2頁
C語言程序設(shè)計 課件 任務(wù)3.3 編程規(guī)范_第3頁
C語言程序設(shè)計 課件 任務(wù)3.3 編程規(guī)范_第4頁
C語言程序設(shè)計 課件 任務(wù)3.3 編程規(guī)范_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

C語言程序設(shè)計基礎(chǔ)與實踐模塊二編程初級應(yīng)用任務(wù)3.3

編程規(guī)范C語言程序設(shè)計基礎(chǔ)與實踐課程組04技能點拓展03技能點詳解02技能點分析目錄CONTENTS任務(wù)3.3編程規(guī)范01問題引入05技能點檢測一問題引入

大江東流,日月交替,大自然生生不息,用規(guī)則演繹著生命的軌跡。火車之所以能夠奔馳千里,是因為它始終離不開兩條鐵軌;風(fēng)箏之所以能高高飛翔,是因為它總是情系著手中的線;宇宙間無數(shù)顆恒星亙古不變地燦爛,是因為它們都按照自己的軌道運行。不以規(guī)矩,不成方圓。我們要編寫一個高質(zhì)量的代碼,就必須遵守一定的規(guī)范,這樣才能保證代碼的易讀性和易維護性。那么規(guī)范化的編程有哪些要求呢?04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)3.3編程規(guī)范二技能點分析1.了解C語言編程的基本規(guī)范2.能夠使用簡化版本對程序注釋3.能夠使用編程規(guī)范編寫代碼學(xué)習(xí)目標1.程序編寫過程種,為什么需要注意代碼的規(guī)范化?2.代碼規(guī)范化主要體現(xiàn)在那幾個方面?3.文件注釋的完整版本的規(guī)范寫法是什么?4.函數(shù)注釋的完整版本的規(guī)范寫法是什么?

學(xué)期預(yù)習(xí)04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)3.3編程規(guī)范三技能點詳解

代碼規(guī)范化的原則是在遵守編譯器要求的代碼規(guī)范下,追求代碼整體清晰、美觀、易閱讀、易排錯,有利于團隊程序開發(fā)。一般來說,規(guī)范化主要從結(jié)構(gòu)、排版、注釋、命名四個方面入手。三技能點詳解——1結(jié)構(gòu)每個C程序通常分為兩個文件。一個文件用于保存程序的聲明,稱為頭文件。另外一個文件用于保存程序的實現(xiàn),稱之為定義文件。C程序的頭文件以“.h”為后綴,C程序的定義文件以“.c”為后綴。/************************************函數(shù)聲明:文件名,版本,歷史信息等信息***********************************//*頭文件包含*/#include

<xxxxx.h>

#include

"xxxxx.h"

/*變量定義*/intnum_man;

/*函數(shù)聲明*/voidsum_add(void);

/*主函數(shù)*/voidmain(void){sum_add();//子函數(shù)使用

}

/************************************函數(shù)聲明:文件名,函數(shù)版本等信息***********************************/voidsum_add(void)/*子函數(shù)*/

{

//子函數(shù)體}1)空行

空行起著分隔程序段落的作用,空行得體將使程序的布局更加清晰。兩個相對獨立的程序塊、定義變量后必須要加空行。比如上面幾行代碼完成的是一個功能,下面幾行代碼完成的是另一個功能,那么它們中間就要加空行。voidDemoFunc(void){ uint8_ti;

//局部變量和語句間空一行

/*功能塊1*/

for(i=0;i<10;i++) {

//... }

//不同的功能塊間空一行

/*功能塊2*/

for(i=0;i<20;i++) {

//... }}三技能點詳解——2排版2)空格

在兩個以上的關(guān)鍵字、變量、常量進行對等操作時,它們之間的操作符之前、之后或者前后要加空格;(1)逗號、分號只在后面加空格。inta,b,c;(2)比較操作符,賦值操作符"="、"+=",算術(shù)操作符"+"、"%",邏輯操作符"&&"、"&",位域操作符"<<"、"^"等雙目操作符的前后加空格。if

(current_time>=MAX_TIME_VALUE)a=b+c;a*=2;a=b^2;(3)"!"、"~"、"++"、"--"、"&"(地址運算符)等單目操作符前后不加空格。*p='a';//內(nèi)容操作"*"與內(nèi)容之間flag=!isEmpty;//非操作"!"與內(nèi)容之間p=&mem;//地址操作"&"與內(nèi)容之間i++;//"++","--"與內(nèi)容之間(4)"->"、"."前后不加空格。p->id=pid;//"->"指針前后不加空格(5)if、for、while、switch等與后面的括號間應(yīng)加空格,使if等關(guān)鍵字更為突出、明顯,函數(shù)名與其后的括號之間不加空格,以與保留字區(qū)別開。if(a>=b&&c>d)三技能點詳解——2排版3)對齊

成對的符號一定要成對書寫,如()、{}。不要寫完左括號然后寫內(nèi)容最后再補右括號,這樣很容易漏掉右括號,尤其是寫嵌套程序的時候。{和}分別都要獨占一行。#include

<stdio.h>intmain(void){

if(…)

return0;}三技能點詳解——2排版4)代碼行

一行代碼只做一件事情,如只定義一個變量,或只寫一條語句。這樣的代碼容易閱讀,并且便于寫注釋。if、else、for、while、do等語句自占一行,執(zhí)行語句不得緊跟其后。#include

<stdio.h>

intmain(void){

if(…-){

while(…-)}

return0;}三技能點詳解——2排版三技能點詳解——3注釋行注釋一行注釋采用//…,多行注釋必須采用/*…*/。在一般情況下,源程序有效注釋量必須在20%以上。/*變量定義*/intnum_man;//班級男生人數(shù)0~50之間

a=a+1;//a自身加1(沒有必要)文本注釋主要針對整個文件進行的注釋,這個注釋內(nèi)容較多,便于閱讀者快速了解文件的相關(guān)信息。/****************************************************************Copyright(C),2021-2023,C語言項目開發(fā)組*文件名:main.c*內(nèi)容簡述:實現(xiàn)小球沿著不同方向碰撞墻壁,并實現(xiàn)反彈。*文件歷史:*版本

日期

作者

說明*1.02021-12-01課題組

實現(xiàn)小球的碰撞轉(zhuǎn)向*2.02022-06-12課題組

采用函數(shù),優(yōu)化程序****************************************************************/

針對一些練習(xí)用的小函數(shù),不需要填寫全部信息,可以采用簡化版本。/****************************************************************內(nèi)容簡述:根據(jù)給定的年、月、日計算是星期幾?需要采用基姆拉爾森算法。*Weekday=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7****************************************************************/三技能點詳解——3注釋函數(shù)注釋主要針對一個函數(shù)進行的注釋,這個注釋內(nèi)容較多,便于閱讀者快速了解函數(shù)的相關(guān)信息。在函數(shù)實現(xiàn)之前,應(yīng)該給出和函數(shù)的實現(xiàn)相關(guān)的足夠而精練的注釋信息。內(nèi)容包括本函數(shù)功能介紹,調(diào)用的變量、常量說明,形參說明,特別是全局變量。/***************************************************************函數(shù)名:voidPositionBall(intx,inty)*功

能:在不同位置繪制小球*輸

入:小球的x方向的坐標window_left--window_right*小球y方向的坐標window_top--window_bottom*輸

出:無**************************************************************/針對一些練習(xí)用的小程序,不需要如此嚴格,可以采用簡化版本。/***************************************************************功

能:根據(jù)輸入年月日,計算星期**************************************************************/三技能點詳解——3注釋命名主要是標識符的命名,命名要清晰、明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產(chǎn)生誤解。temp可縮寫為tmp;

flag可縮寫為flg;

message可縮寫為msg;statistic可縮寫為stat;

increment可縮寫為inc;

unsigned

chardat01;//修改unsignedcharliv_date;voidSet00(unsigned

charc);//修改voidSetName(unsignedcharc);

intClass_width;//局部整形變量,教室寬度charStudent_name;//全局字符型變量,學(xué)生名字函數(shù)命名,單詞詞間首字母大寫,voidCommInit();三技能點詳解——4命名案例1.2.1簡化規(guī)范根據(jù)給定的年、月、日計算是星期幾?需要采用基姆拉爾森算法,算法公式如下Weekday=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7。針對一些練習(xí)用的小程序,我們采用簡化規(guī)范,簡化規(guī)范主要體現(xiàn)在注釋上面。三技能點詳解——5案例見教材內(nèi)容!案例1.2.2標準規(guī)范

針對一些能夠進行拓展的程序,我們需要較為詳細的注釋,確保程序的可讀性和可移植性,我們進行標準的規(guī)范。

實現(xiàn)小球沿著不同方向碰撞墻壁,并實現(xiàn)反彈。三技能點詳解——5案例見教材內(nèi)容!04技能點拓展03技能點詳解02技能點分析目錄CONTENTS01問題引入05技能點檢測任務(wù)3.3編程規(guī)范四技能點拓展——1頭文件路徑在引用頭文件時,不要使用絕對路徑。如果使用絕對路徑,當需要移動目錄時,必須修改所有相關(guān)代碼,繁瑣且不安全;使用相對路徑,當需要移動目錄時,只需修改編譯器的某個選項即可。#include“/project/inc/hello.h”//不應(yīng)使用絕對路徑#include“../inc/hello.h”//可以使用相對路徑在引用頭文件時,使用<>來引用預(yù)定義或者特定目錄的頭文件,使用“”來引用當前目錄或者路徑相對于當前目錄的頭文件。#include

<stdio.h>

//標準頭文件#include

<projdefs.h>

//工程指定目錄頭文件

#include“global.h”//當前目錄頭文件#include“inc/config.h”//路徑相對于當前目錄的頭文件為了防止頭文件被重復(fù)引用,應(yīng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論