




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言頭文件編程規(guī)范 /*/*/*版權(quán)所有 (C)2012, 于林峰(九江學(xué)院)/*/*文件名稱: 頭文件/*文件標(biāo)識(shí): /*內(nèi)容摘要: 線性鏈表的"順序"表示和實(shí)現(xiàn)/*其它說明: /*當(dāng)前版本: V1.0/*作 者: 于林峰/*完成日期: 2012年07月02日/*-/* 修改記錄1:/ 修改歷史記錄,包括修改日期、修改者及修改內(nèi)容/* 修改日期:2012年10月02日/* 版 本 號(hào):/* 修 改 人:于林峰/* 修改內(nèi)容:頭文件的包含、函數(shù)結(jié)果狀態(tài)碼、 /*/* 修改記錄2:/*/*/#ifndef_UNIHEADER_H_#define_UNIHEA
2、DER_H_#pragma once#include <ctype.h>#include <io.h>/ eof()#include <iostream.h>#include <limits.h>/ INT_MAX 等#include <malloc.h>/ malloc() 等#include <math.h>/ floor(), ceil(), abs()#include <process.h>/
3、 exit()#include <stdio.h>/ EOF(=Z 或 F6), NULL#include <stdlib.h>/ atoi() 等#include <string.h>/*/* */*標(biāo)識(shí)符命名基本規(guī)則(根據(jù)中興公司 C/C+ 編程規(guī)范) */* */* - */* */* 1. 標(biāo)識(shí)符要采用英文單詞或其組合,便于記憶和閱讀 */* 切忌使用漢語拼音來命名。 */* */* 說明:標(biāo)識(shí)符應(yīng)當(dāng)直觀且可以拼讀,可望文知義,避免使人產(chǎn)生誤解。 */*程序中的英文單詞一般不要太復(fù)雜,用詞應(yīng)當(dāng)準(zhǔn)確。 *
4、/* */* 2. 標(biāo)識(shí)符只能由26個(gè)英文字母,10個(gè)數(shù)字,及下劃線的一個(gè)子集來組成, */* 并嚴(yán)格禁止使用連續(xù)的下劃線, */* 下劃線也不能出現(xiàn)在標(biāo)識(shí)符頭或結(jié)尾(預(yù)編譯開關(guān)除外)。 */* */* 說明:這樣做的目的是為了使程序易讀。 */*因?yàn)?variable_name 和 variable_name 很難區(qū)分, */*下劃線符號(hào)'_'若出現(xiàn)在標(biāo)識(shí)符頭或結(jié)尾, */*容易與不帶下劃線'_'的標(biāo)識(shí)符混淆。 */* */* 3. 標(biāo)識(shí)符的命名應(yīng)當(dāng)符合"min-length &&
5、; max-information"原則。 */* */* 說明:較短的單詞可通過去掉"元音"形成縮寫, */*較長(zhǎng)的單詞可取單詞的頭幾個(gè)字母形成縮寫, */*一些單詞有大家公認(rèn)的縮寫,常用單詞 的縮寫必須統(tǒng)一。 */*協(xié)議中的單詞的縮寫與協(xié)議保持一致。 */*對(duì)于某個(gè)系統(tǒng)使用的專用縮寫應(yīng)該在某處做統(tǒng)一說明。 */* */* 正例:如下單詞的縮寫能夠被大家認(rèn)可: */*temp 可縮寫為 tmp */*flag 可縮寫為 flg */*statistic 可縮寫為 stat */*increment 可縮寫為 inc */*message
6、可縮寫為 msg */* */*規(guī)定的常用縮寫如下: */*常用詞縮寫常用詞縮寫 */*ArgumentArgMaximumMax */*BufferBufMessageMsg */*ClearClrMinimumMin */*lockClkMultiplexMux */*CompareCmpOperating SystemOS */*ConfigurationCfgOverflowOvf */*ContextCtxParameterParam */*DelayDlyPointerPtr */*DeviceDevPreviousPrev */*DisableDisPriorityPrio */
7、*DisplayDispReadRd */*EnableEnReadyRdy */*ErrorErrRegisterReg */*FunctionFnctScheduleSched */*HexadecimalHexSemaphoreSem */*High Priority TaskHPTStackStk */*I/O SystemIOSSynchronizeSync */*InitializeInitTimerTmr */*MailboxMboxTriggerTrig */*ManagerMgrWriteWr */* */* 4. 程序中不要出現(xiàn)僅靠大小寫區(qū)分的相似的標(biāo)識(shí)符。 */* */
8、/* 5. 盡量避免名字中出現(xiàn)數(shù)字編號(hào),如Value1、Value2等,除非邏輯上的確需要編號(hào) */* */* 6. 常用變量類型前綴如下: */* i: intb: BOOL */* f: floath: HANDLE */* d: doublew: unsigned short 或 WORD */* c: chardw: DWORD或 unsigned long */* uc: unsigned char 或 BYTEa: 數(shù)組,array of TYPE */* l: longstr: 字符串 */* p: pointert: 結(jié)構(gòu)類型 */* */* 以上前綴可以進(jìn)一步組合。 */*
9、在進(jìn)行組合時(shí),數(shù)組和指針類型的前綴指示符必須放在變量類型前綴的首位。 */* */* 7. 完整的變量名應(yīng)由"前綴" + "變量名主體"組成, */* 變量名的主體應(yīng)當(dāng)使用"名詞"或者"形容詞名詞",且首字母必須大寫。 */* */* 說明:各種前綴字符可能組合使用。在這種情況下,各前綴順序?yàn)椋?*/*變量作用域前綴、變量類型前綴。 */* 正例: */* float g_ fValue; / 類型為浮點(diǎn)數(shù)的全局變量 */ /* char *pcOld
10、Char; / 類型為字符指針的局部變量 */* */*/*/* */* 常量 */* */* - */* */* 1. 宏、常量名都要使用大寫字母, 用下劃線 '_' 分割單詞。 */* 預(yù)編譯開關(guān)的定義使用下劃線 '_' 開始。 */* */* 正例:如 DISP_BUF_SIZE、MIN_VALUE、MAX_VALUE 等等。 */* */ /*/ 函數(shù)結(jié)果狀態(tài)代碼#define TRUE 1/ 布爾類型值#define FALSE 0/ 布爾類型值#define OK 1/ 函數(shù)類型值函數(shù)結(jié)果狀態(tài)代碼#define ERR
11、OR 0/ 函數(shù)類型值函數(shù)結(jié)果狀態(tài)代碼#define INFEASIBLE-1/ 函數(shù)類型值函數(shù)結(jié)果狀態(tài)代碼/#define OVERFLOW-2/ 因?yàn)樵?math.h 中已定義 OVERFLOW 的值為 3,故注釋掉此行#define LIST_INIT_SIZE10/ 順序線性鏈表存儲(chǔ)空間的初始分配量#define LIST_INCREMENT2/ 順序線性鏈表存儲(chǔ)空間的分配增量/*/* */* 宏定義 */ /*/* - */* */* 1. 宏、常量名都要使用大寫字母, 用下劃線 '_' 分割單詞。 */* 預(yù)編譯開關(guān)的定義使用下劃線 '
12、;_' 開始。 */* */* 正例:如 DISP_BUF_SIZE、MIN_VALUE、MAX_VALUE 等等。 */* */*/*/* */* 數(shù)據(jù)類型 */ /* */* - */* */* 1. 結(jié)構(gòu)名、聯(lián)合名、枚舉名由前綴T_ 開頭。 */* */* 2. 事件名由前綴EV_ 開頭。 */* */* 3. 結(jié)構(gòu)和聯(lián)合必須被類型化。 */* */* 正例: */*typedef struct */* */*char acNameNAME_SIZE; */*WORD wScore; */* T_Student; */*T_Student *ptStudent; */*
13、*/*/typedef int Status;/ Status 是函數(shù)的類型,其值是函數(shù)結(jié)果狀態(tài)代碼,如 OK 等typedef int Boolean;/ Boolean 是布爾類型,其值是 TRUE 或 FALSE/*/* 定義抽象數(shù)據(jù)類型 ElemType(元素類型) 在本程序中為整型/* 可以有如下抽象數(shù)據(jù)類型 /* ElemType 是元素類型;SElemType 是堆棧元素類型/*QElemType 是隊(duì)列元素類型;TElemType 是樹元素類型*/typedef int ElemType;/*/* 定義抽象數(shù)據(jù)類型 ElemType(元素類型) 在本程序中為雙精度型/* 注意與
14、 main() 中的內(nèi)容呼應(yīng)/* 若 typedef char Elemtype; 時(shí),對(duì)不同長(zhǎng)度的字符串該如何處理?本數(shù)據(jù)結(jié)構(gòu)不再適用?*/ typedef double Elemtype;/*/* 給順序線性鏈表加"注釋"用的"標(biāo)記性"結(jié)構(gòu)體:/* 鏈表存放始于何處?鏈表中當(dāng)前有幾個(gè)元素?鏈表最多能存放幾個(gè)元素?*/typedef struct ElemType *piElem;/ 鏈表空間基地址ElemType iLength;/ 鏈表當(dāng)前長(zhǎng)度ElemType iListSize;/ 給鏈表分配的當(dāng)前存儲(chǔ)空間(以 s
15、izeof(ElemType) 為單位) T_SeqList;/ T_SeqList = Sequential List Structure:順序線性鏈表結(jié)構(gòu)體類型/*/* */* 類聲明 */ /* */* - */* */* 1. 類名采用大小寫結(jié)合的方法。 */* 在構(gòu)成類名的單詞之間不用下劃線, */* 類名在開頭加上C,類的成員變量統(tǒng)一在前面加m_ 前綴。 */* */* 說明:C+Builder中的類名在開頭加T。 */* */* 正例: */*void Object:SetValue(int iWidth, int iHeight) */* */*m_iWidth = iWidt
16、h; */*m_iHeight = iHeight; */* */ /* */*/*/* */* 模板 */ /* */*/*/* */* 全局變量聲明 */* */ /*/ /*/* */* 局部函數(shù)原型 */ /* */* - */* */* 1. 用正確的反義詞組命名具有互斥意義的變量或相反動(dòng)作的函數(shù)等。 */* */* 說明:下面是一些在軟件中常用的反義詞組。 */*add/remove;begin/end;create/destroy;insert/delete */*first/last;get/release;increment/decrement;put/get */*add/
17、delete;lock/unlock;open/close;min/max */*old/new;start/stop;next/previous;source/target */*show/hide;send/receive;source/destination;cut/paste */*up/down */* */* 2. 函數(shù)名用大寫字母開頭的單詞組合而成, */* 且應(yīng)當(dāng)使用"動(dòng)詞"或者"動(dòng)詞名詞"(動(dòng)賓詞組)。 */* */* 說明:函數(shù)名力求清晰、明了,通過函數(shù)名就能夠判斷函數(shù)的主要功能。 */*函數(shù)名中不同意
18、義字段之間不要用下劃線連接, */*而要把每個(gè)字段的首字母大寫以示區(qū)分。 */*函數(shù)命名采用大小寫字母結(jié)合的形式,但專有名詞不受限制。 */* */*/ (01)創(chuàng):創(chuàng)建一個(gè)空的線性表Status InitList(T_SeqList *t_pSList);/ t_SList = Sequential List Variant:/ 結(jié)構(gòu)體型順序線性鏈表變量/ (02)銷:銷毀線性表Status DestroyList(T_SeqList *t_pSList);/ (03)清:清空線性表Status ClearList(T_SeqList *t_pSList);/ (04)空:判斷線性表是否為空
19、Status IsListEmpty(T_SeqList t_SList);/ (05)數(shù):返回線性表中元素的個(gè)數(shù)Status ListLength(T_SeqList t_SList);/ (06)值:返回線性表中某個(gè)元素的值Status GetElem(T_SeqList t_SList, int i, ElemType *iElem);/ (07)位:返回線性表中第1個(gè)滿足某種關(guān)系的元素的位序Status LocateElem(T_SeqList t_SList, ElemType iElem, Status (*PolymorphizateLocate)(ElemType, ElemType);/ (08)前:返回線性表中某個(gè)元素的前驅(qū)元素Status PriorElem(T_SeqList t_SList, ElemType iCurElem, ElemType *piPreElem);/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- (二模)晉中市2025年高三高考二模 語文試卷(含A+B卷答案詳解)
- 2.2聲音的特性說課稿2025年初中人教版物理八年級(jí)上冊(cè)
- 微整顧客協(xié)議書
- 需求導(dǎo)向性干預(yù)下行無縫隙護(hù)理在腹腔鏡子宮肌瘤剔除術(shù)圍術(shù)期的干預(yù)效果分析
- 住宅裝修設(shè)計(jì)協(xié)議
- 文化創(chuàng)意產(chǎn)業(yè)內(nèi)容創(chuàng)新與市場(chǎng)推廣方案
- 商業(yè)房產(chǎn)交易居間合同范本
- 提升客戶滿意度服務(wù)質(zhì)量方案
- 提高客戶服務(wù)質(zhì)量與滿意度的實(shí)施方案
- 產(chǎn)品設(shè)計(jì)與生產(chǎn)制造委托協(xié)議
- 2025年兒科常見面試題及答案
- (一模)贛州市2025年高三年級(jí)摸底考試物理試卷(含標(biāo)準(zhǔn)答案)
- 數(shù)學(xué)-湖北省武漢市2025屆高中畢業(yè)生二月調(diào)研考試(武漢二調(diào))試題和解析
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級(jí)下冊(cè)+
- 學(xué)術(shù)英語智慧樹知到答案2024年南開大學(xué)
- 【部編版道德與法治六年級(jí)下冊(cè)】全冊(cè)測(cè)試卷(含答案)
- GB/T 10752-2005船用鋼管對(duì)焊接頭
- 現(xiàn)代商業(yè)空間展示設(shè)計(jì)ppt
- 高家堡副井井筒壁座施工安全技術(shù)措施
- 世界貿(mào)易組織(WTO課件(25頁P(yáng)PT)
- FMEA第五版表格(實(shí)例)
評(píng)論
0/150
提交評(píng)論