2016-03-12
19:04:41
現有的命名方式有多少種?請各舉一例:
1.匈牙利命名法
這種命名技術是由一位能幹的 microsoft 程式設計師查爾斯·西蒙尼(charles simonyi) 提出的。匈牙利命名法通過在變數名前面加上相應的小寫字母的符號標識作為字首,標識出變數的作用域,型別等。這些符號可以多個同時使用,順序是先m_(成員變 量),再指標,再簡單資料型別,再其他。
匈牙利命名法關鍵是:識別符號的名字以乙個或者多個小寫字母開頭作為字首;字首之後的是首字母大寫的乙個單詞或多個單詞組合,該單詞要指明變數的用途。
例如:m_lpszstr, 表示指向乙個以0字元結尾的字串的長指標成員變數。
2.駝峰命名法
混合使用大小寫字母來構成識別符號的名字。其中第乙個單詞首字母小寫,餘下的單詞首字母大寫。
函式名中每乙個邏輯斷點都有乙個大寫字母來標記。
例如: printemployeepaychecks() 。
3.帕斯卡(pascal)命名法
只不過駝峰命名法是第乙個單詞首字母小寫,而帕斯卡命名法則是第乙個單詞首字母大寫。因此這種命名法也有人稱之為「大駝峰命名法」。
例如: displayinfo(); username。
4.下劃線命名法
4.1函式的命名
函式名使用下劃線分割小寫字母的方式命名: 裝置名_操作名();
操作名一般採用:謂語(此時裝置名作為賓語或者標明操作所屬的模組)或者謂語+賓語/表語(此時裝置名作為主語或者標明操作所屬的模組) 等形式。
例如: tic_init(); adc_is_busy(); uart_tx_char();
中斷函式的命名直接使用裝置名_isr() 的形式命名。
例如: timer2_isr()。
4.2變數的命名
變數的命名也採用下劃線分割小寫字母的方式命名。命名應當準確,不引起歧義,且長度適中。
例如:int length; uint32 test_offset;
單字元的名字也是常用的,如i, j, k等,它們通常可用作函式內的區域性變數。tmp常用做臨時變數名。
區域性靜態變數,應加s_詞冠(表示static)。
例如:static int s_lastw;
全域性變數(尤其是供外部訪問的全域性變數),應加g_詞冠(表示global)。
例如:void (* g_capture_hook)(void)。
4.3常量及巨集的命名
採用下劃線分割大寫字母的方式命名,一般應以裝置名作為字首, 防止模組間命名的重複。
例如: #define timer0_mode_reload 2
#define timer2_count_retrieve(val) ((uint16)(65536 - (val)))
當然,看作介面的巨集可以按照函式的命名方法命名,
例如:#define timer2_clear() (tf2 = 0)
#define timer0_is_expired() (tf0)
第二次作業
execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...
第二次作業
第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...
第二次作業
檔名稱 516.cpp 作 者 闕文榮 完成日期 2016 年 3 月 11 日 版 本 號 v1.1 對任務及求解方法的描述部分 用while語句控制輸出 輸入描述 略 問題描述 現在北京有一套房子,200萬,假設房價每年 10 乙個軟體工程師每年固定能賺40萬。他想買這套房子,多大的 率能夠忍受...