⑴ c語言變數名命名規則
在定義變數時,變數名可以是字母、數字和下劃線的組合。但是也不是隨便的組合,要注意以下幾個命名規則:
1、變數名以英文字母開頭;
變數名的開頭不能是數字,可以由字母或下劃線開頭。但,實際上編程中最常用的是以字母開頭,而以下劃線開頭的變數名是系統專用的。
隨便打開一個頭文件就會看到,它裡面所有的變數名、宏名、函數名全是以下劃線開始的。
所以為了避免與系統定義的名字產生沖突,在編程的時候,除非要求這么定義,否則永遠都不要使用下劃線作為一個變數名的開頭。
正確的變數名:
int In_1=2;
int abc=5;
錯誤的變數名:
int 1In_1=2;
int 2abc=5;
2、不可以包含空格、標點符號和類型說明符(%、&、!、#、@、$);
//錯誤的變數名:不能包含空格、標點符號和類型說明符(%、&、!、#、@、$),只能是字母、數字、下劃線組成。
int %age = 13;
int a%ge = 13;
int name age = 12;
3、字母是區分大小寫;
//變數n和變數N是兩個變數。
int n = 11;
int N = 18;
4、有效長度為255個字元;
5、不可以是關鍵字;
//錯誤的變數名:case是C語言的一個關鍵字,不能作為變數名
int case = 12;
C語言中定義的關鍵字有:
由ANSI標準定義的C語言關鍵字共32個:auto、 double、 int、 struct、 break 、else、 long、 switch、case、 enum、 register 、typedef、 char 、extern 、return、 union 、const、 float 、short、 unsigned、 continue、 for、 signed 、void、default 、goto、 sizeof 、volatile、 do 、if 、while、 static。
這32個關鍵字就是已經被C語言本身使用,不能作為其他用途使用,比如不能定義成變數名、函數名。
⑵ 請問C語言中的字元哪些可以做為變數,哪些不可以做為變數
在C語言中,對變數命名的有效字元序列稱為標識符。
C語言規定,有效的標識符只能由字母、數字和下劃線3種字元組成,且第一個字元必須為字母或下劃線。
下面列出的是合法的標識符,可以作為變數名:
sum, _total, Class, S_s, _1_2, BACD
下面列出的是不合法的標識符,不可以作為變數名:
M.D.John, $123,#33, 3D4,a>b
⑶ C語言中變數名有什麼要求
C語言中變數名可由三類字元:字母、下劃線、數字組成。變數名只能由字母或下劃線開頭。變數名不能具有二義性。變數名有長度要求,有效長度是31個字元。在起定的名字中!超出長度規定的部分將被截掉。變數名中的字母不限大小寫,但大小寫意義不同。
(3)定義變數名可以是if嗎c語言擴展閱讀:
變數名常用命名法:
1、匈牙利命名法,是在每個變數名的前面加上若干表示數據類型的字元。基本原則是:變數名=屬性+類型+對象描述。如i表示int,所有i開頭的變數命都表示int類型。s表示String,所有變數命以s開頭的都表示String類型變數。
2、駱駝命名法,是指混合使用大小寫字母來構成變數和函數的名字。駝峰命名法跟帕斯卡命名法相似,只是首字母為小寫,如userName。因為看上去像駝峰,因此而得名。
3、帕斯卡命名法,即pascal命名法。做法是首字母大寫,如UserName,常用在類的變數命名中。
⑷ c語言中,不能做為合法標識符的有哪幾類可用作變數名的有哪幾類求解答
1,變數名必須由字母、數字、下劃線組成
2,首字元不能是數字
3,不能太長,具體長度限制由編譯器設定,太長會被編譯器截取前面的,如果定義的兩個變數,在編譯器可識別的范圍相同,而後面的不同,編譯器將視為同一個變數。
4,不能是C的保留字,如if,for,main,break不能作為變數名
⑸ C語言,能不能這樣定義變數,為什麼
不能。C99中沒有對這樣的賦值表達式作定義,所以編譯器怎麼處理這個表達式都是可以的,比如先將b的值賦給a,再將10.0賦給b(雖然現有的編譯器都是先將10.0賦給b再將b賦給a)。
其次,這個表達式只定義了a是float型,b的類型不確定,若b在之前未定義,會報錯。
這種表達式還存在的一個問題就是a、b的命名含義不明確,雖然不違反標准,但是不符合編程規范
⑹ C語言if語句內定義變數類型,在范圍外用,為啥不用再定義
if(b < a)
{
a--;
bool c = true;
}
變數c是的生存期只有這個if{}中,超過就會被釋放.
bool c;
if(a > 0)
{
if(b < a)
{
a--;
c = true;
}
else c = false;
}
else c = false;
這樣就可以使用
⑺ c語言if裡面難道不能聲明變數嗎
if(sizeof(int)==sizeof(long))
{
longsum;
}
else
{
intsum;
}
加個大括弧你就清楚是怎麼回事了,sum,無論在if還是else裡面,都僅僅是大括弧裡面的局部變數,只要跳出大括弧,生存期就結束,因此在外面不能再使用sum
⑻ 關於C語言定義變數的問題
可以是可以的,但定義的變數只能在 if 函數中使用,
如:
if(1)
{
int b=5;
printf("%d",b);
}
可輸出b的值,但如果是:
if(1)
{
int b=5;
}
printf("%d",b);
則會報錯:變數b沒有定義。
⑼ c語言的變數定義
C語言中變數遵循「先定義後使用」的原則:
1、定義變數的格式:數據類型 變數名;
首先要強調的一點是:變數的定義是一條語句,每條語句都是以分號結尾的。故定義完變數,後面不要漏掉「;」分號。
在變數定義中,「數據類型」表示想要存儲什麼類型的數據就定義什麼類型的變數。
如想要存儲整數就定義成 int 型;想要存儲小數就定義成 float 型或 double 型;想要存儲字元就定義成 char 型等等。
「變數名」就是你想給這個變數起個什麼名字,通常都是用字母、數字與下劃線組合而成。比如:
「int i;double price;double goods_price2」等等。
就表示定義了一個整型變數 i、小數型變數price、goods_price2;
2、變數定義完成後,接下來就是使用變數,為變數賦值。
將一個值放到一個變數中,這個動作叫「賦值」。通俗點講,「給變數賦值」意思就是將一個值傳給一個變數。
賦值的格式是:
變數名 = 要賦的值;
它的意思是將=右邊的數字賦給左邊的變數。比如:
i = 3;
這就表示將 3 賦給了變數 i,此時 i 就等於 3 了。
3、變數的定義和賦值,可以分成兩步寫,也可以將它們合成一步,而且事實上,在實際編程中用得最多的也是合二為一的寫法。
形式如下:
數據類型 變數名 = 要賦的值;
比如:int i = 3;
就表示定義了一個變數 i,並把 3 賦給這個變數。它與
int i;
i =3;
是等價的。
在定義變數時也可以一次性定義多個變數,比如:
int i, j;
這就表示定義了變數 i 和 j。這里需要強調的是,當同時定義多個變數時,變數之間是用逗號隔開的,千萬別寫成分號。這是很多新手最容易犯的錯誤,即將逗號和分號記混了。
同樣也可以在定義多個變數的同時給它們賦值:
int i = 3, j = 4;
中間還是用逗號隔開,最後別忘記輸入分號。
最後需要注意的是,在較老的 C89/C90 標准(也稱 ANSI C 標准)中,變數只能在程序的開頭定義,或者說變數定義的前面不能有其他非聲明或非定義的語句。
(9)定義變數名可以是if嗎c語言擴展閱讀:
在主回答中,提到了變數定義時,變數名通常都是用字母、數字與下劃線組合而成,但是實際上,變數名也不是隨便組合的,變數定義需要遵循一定的規范,否則容易產生歧義,影響整體程序代碼 的可讀性。
所以在定義變數的時候,要注意以下命名規范:
(1)、變數名的開頭必須是字母或下劃線,不能是數字。實際編程中最常用的是以字母開頭,而以下劃線開頭的變數名是系統專用的。命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。
標識符最好採用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太復雜,用詞應當准確。
(2)、變數名中的字母是區分大小寫的。比如 a 和 A 是不同的變數名,num 和 Num 也是不同的變數名。當標識符由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫。
比如: int CurrentVal;
這樣的名字看起來比較清晰,遠比一長串字元好得多。
(3)、變數名絕對不可以是C語言關鍵字,不能有空格。
(4)、變數名的長度應當符合「min-length && max-information」原則。
C 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名MaxVal 就比MaxValueUntilOverflow 好用。標識符的長度一般不要過長,較長的單詞可通過去掉「母音」形成縮寫。
另外,英文詞盡量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。
⑽ 在C語言中If算關鍵字嗎 那可以作用戶標識符嗎
If是可以的,其他關鍵字都不可以作為標識符,因為if才是關鍵字C語言是區分大小寫的。
C語言中的標識符分為三類:
1.關鍵字
關鍵字用於標識文件中每個記錄的特定數據項的值。
關鍵字是計算機語言中具有特殊含義的預定義標識符,有時稱為保留字。
2.預定義的標識符
預定義標識符是C語言中的兩種標識符類型之一,在C語言中具有特定的含義。
例如,函數「printf」是「formatoutput」的全英文名稱及其縮寫。
3.用戶標識符
C語言中的每個單詞要麼被歸類為關鍵字,要麼被歸類為標識符。標識符分為預定義標識符和用戶標識符。
預定義標識符是系統用C語言定義的預定義標識符,如系統類庫名、系統常量名和系統函數名。
預定義標識符具有顯式意義的特徵,如函數「formatoutput」(英文全稱加縮寫:printf)、「formatinput」(英文全稱加縮寫:scanf)、sin、isalnum等。
預定義的標識符可以用作用戶標識符,但這可能會失去系統的預期含義,如果使用不當,還可能導致程序中的錯誤。
(10)定義變數名可以是if嗎c語言擴展閱讀:
C語言:
在C語言中,標識符分為三類:關鍵字、預定義標識符和用戶定義標識符
1.標識符由字母(A-z,A-z)、數字(0-9)和下劃線「_」組成。第一個字元不能是數字,但可以是字母或下劃線。例如,正確的標識符:ABC、a1、prog_to。
2.不能取C語言關鍵字作為用戶的標識符,例如if,for,while等。
3.標識符的長度是由機器上的編譯系統決定的,一般限制是8個字元(注意:8個字元的長度限制是C89標准,C99標准已經擴展了長度,事實上,大多數行業標准都更長)。
4.標識符是區分大小寫的,也就是說,嚴格區分大小寫。通常對變數名使用小寫,對符號常量使用大寫。
5.標識符應命名為「知意」,如length(length),sum(sum),PI(PI)