P6.標(biāo)識(shí)符的命名規(guī)則和規(guī)范
標(biāo)識(shí)符的命名規(guī)則和規(guī)范?
標(biāo)識(shí)符概念:
1) C語(yǔ)言 對(duì)各種變量、函數(shù)等命名時(shí)使用的字符序列稱(chēng)為標(biāo)識(shí)符?
2) 凡是自己可以起名字的地方都叫標(biāo)識(shí)符?
標(biāo)識(shí)符的命名規(guī)則:
1) 由26個(gè)英文字母大小寫(xiě),0-9 ,_或 $ 組成?
2) 數(shù)字不可以開(kāi)頭。?
3) 不可以使用關(guān)鍵字和保留字,但能包含關(guān)鍵字和保留字。?
4) C語(yǔ)言中嚴(yán)格區(qū)分大小寫(xiě),長(zhǎng)度無(wú)限制。?
5) 標(biāo)識(shí)符不能包含空格。
判斷下面變量名是否正確:
hello // √?
hello12 // √?
1hello // ×?
h-b // ×?
x h //×?
h$4 //√?
int //×?
double //×?
stu_name //√
標(biāo)識(shí)符命名規(guī)范:
1) 程序中不得出現(xiàn)僅靠大小寫(xiě)區(qū)分的相似的標(biāo)識(shí)符 int x, X; 變量x 與X 容易混淆?
2) 所有宏定義、枚舉常數(shù)、常量(只讀變量)全用大寫(xiě)字母命名,用下劃線(xiàn)分隔單詞 比如: const double TAX_RATE = 0.08; //TAX_RATE 只讀變量? #define FILE_PATH "/usr/tmp"?
3) 定義變量別忘了初始化。定義變量時(shí)編譯器并不一定清空了這塊內(nèi)存,它的值 可能是無(wú)效的數(shù)據(jù), 運(yùn)行程序,會(huì)異常退出.?
4) 變量名、函數(shù)名:多單詞組成時(shí),第一個(gè)單詞首字母小寫(xiě),第二個(gè)單詞開(kāi)始每個(gè) 單詞首字母大寫(xiě):xxxYyyZzz [駝峰法,小駝峰, 比如 short stuAge = 20;] ?比如: tankShotGame 大駝峰 [TankShotGame]

我的源碼:
/*
標(biāo)識(shí)符命名規(guī)則和規(guī)范
概念:
1.C語(yǔ)言中,對(duì)各種變量,函數(shù)等命名時(shí)使用的字符序列稱(chēng)為標(biāo)識(shí)符
2.凡是自己可以起名字的地方都叫標(biāo)識(shí)符
關(guān)鍵字:被C語(yǔ)言賦予了特殊含義,用做專(zhuān)門(mén)用途的字符串
下面幾句都是廢話(huà)。。。
特點(diǎn):關(guān)鍵字中所有字母都為小寫(xiě),這句話(huà)沒(méi)用(但C89是這樣的)
因?yàn)椋?999.12.16日,ISO推出了C99標(biāo)準(zhǔn),該標(biāo)準(zhǔn)新增了5個(gè)C語(yǔ)言關(guān)鍵字,其中有個(gè) Bool
后面2011年12.8日ISO推出了C11,新增7個(gè)C語(yǔ)言關(guān)鍵字,都是 _ 開(kāi)頭的
*/
//-------------------------->>>>>>>>>>>>>>>>>
/*規(guī)則:
1.由26個(gè)英文字母大小寫(xiě),0-9,_或$組成
2.數(shù)字不能開(kāi)頭
3.不可以使用關(guān)鍵字和保留字。但能包含關(guān)鍵字和保留字(包含在單詞中)
4.C語(yǔ)言中嚴(yán)格區(qū)分大小寫(xiě),長(zhǎng)度無(wú)限制
5.標(biāo)識(shí)符不能包含空格
*/
/*
標(biāo)識(shí)符命名規(guī)范:
1.程序中不得出現(xiàn)僅靠大小寫(xiě)區(qū)分的 相似的標(biāo)識(shí)符 (比如:int x,X; 變量x和X容易混淆 )
2.所有宏定義、枚舉常量、常量(常量也叫只讀變量) 全都用大寫(xiě)字母命名,用下劃線(xiàn)分隔單詞
--比如:const double TAX_RATE = 0.08;//TAX_RATE 只讀變量
-- #define FILE_PATH "/usr/tmp"
3.定義變量別忘了初始化。定義變量時(shí) 編譯器并不一定清空了這塊內(nèi)存,它的值可能是無(wú)效的數(shù)據(jù),運(yùn)行程序,會(huì)異常退出。
4.變量名、函數(shù)名。由多個(gè)單詞組成時(shí),第一個(gè)單詞字母小寫(xiě),第二個(gè)單詞開(kāi)始,每個(gè)單詞首字母大寫(xiě)。xxxYyyZzz【這叫駝峰命名法,
駝峰法。是小駝峰,例如:short stuAge = 13; 大駝峰是這樣的? TankShotGame】
*/
#include <stdio.h>
#include <stdlib.h>//停留窗口函數(shù) system("pause");在這個(gè)頭文件中
void main(){
char name[9] = "xiaoying";
char stuGender[4] = "男";
char tankShotGame[13] = "坦克大戰(zhàn)";
int stuAge = 13;
double sal;//沒(méi)有初始化
printf("%s是一個(gè)%s人,今年%d歲,學(xué)習(xí)編程,寫(xiě)了一款叫%s的游戲\n",name,stuGender,stuAge,tankShotGame);
//輸出沒(méi)有初始化的name2
printf("sal=%f",sal);//運(yùn)行程序,會(huì)異常退出
//暫留窗口
system("pause");
}

鍵盤(pán)輸入語(yǔ)句?
介紹:在編程中,需要接收用戶(hù)輸入的數(shù)據(jù),就可以使用鍵盤(pán)輸入語(yǔ)句來(lái)獲取。?
?步驟 :?
1) include <stdio.h>?
2) 使用scanf 函數(shù)?
3) 使用適當(dāng)?shù)母袷絽?shù)接收輸入 案例演示: 要求:可以從控制臺(tái)接收用戶(hù)信息,【姓名,年齡,薪水, 性別 (male(m) / ?female(f))】


我的源碼:
/*
1.輸入也需要引入 include <stdio.h>頭文件
2.使用 scanf 函數(shù)
3.使用適當(dāng)?shù)母袷絽?shù)接收輸入
*/
//要求:可以從控制臺(tái)接收用戶(hù)信息【姓名,年齡,薪水,性別(male / female)】
#include <stdio.h>
#include <stdlib.h>
void main(){
char name[10] = "";//不給數(shù)組長(zhǎng)度會(huì)出問(wèn)題,debug error,程序異常
int age = 0;
char gender = ' ';
double sal = 0.0;
printf("請(qǐng)輸入姓名: ");
scanf("%s",name);//scanf("%s",name) 表示接收一個(gè)字符串,存放到 name 字符數(shù)組
printf("請(qǐng)輸入年齡: ");
scanf("%d",&age);//得到輸入存放到age變量 指向的地址中,因此需要加 & ,
//一句話(huà)簡(jiǎn)單記,輸入都是要存放到地址的空間中,都需要& ,只是數(shù)組本身就表示地址(首地址就是數(shù)組地址),所以數(shù)組不加 &
printf("請(qǐng)輸入薪水: ");
scanf("%lf",&sal);//接收一個(gè)double時(shí),格式參數(shù) %lf,規(guī)定的
printf("請(qǐng)輸入性別(f / m): ");
scanf("%c",&gender);//這里會(huì)接收上面的回車(chē)字符
scanf("%c",&gender);//這里才是接收這個(gè)變量的值
printf("name=%s age=%d sal=%.3f gender=%c\n",name,age,sal,gender);
//getchar();//會(huì)接收到一個(gè)回車(chē),再加一個(gè)才行
//getchar();//控制臺(tái)暫停
system("pause");//用這個(gè),1個(gè)就行,getchar需要用2個(gè)
}