當前位置:首頁 » 編程語言 » c語言中變數名不合法
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中變數名不合法

發布時間: 2022-04-30 07:17:34

A. 如何判斷c語言中的變數是否合法

l【規則3-2-1】類名和函數名用大寫字母開頭的單片語合而成。
例如:
class Node;// 類名
class LeafNode;// 類名
void Draw(void);// 函數名
void SetValue(int value);// 函數名

l【規則3-2-2】變數和參數用小寫字母開頭的單片語合而成。
例如:
BOOL flag;
int drawMode;

l【規則3-2-3】常量全用大寫的字母,用下劃線分割單詞。
例如:
const int MAX = 100;
const int MAX_LENGTH = 100;

l【規則3-2-4】靜態變數加前綴s_(表示static)。
例如:
void Init(…)
{
static int s_initValue;// 靜態變數

}

l【規則3-2-5】如果不得已需要全局變數,則使全局變數加前綴g_(表示global)。
例如:
int g_howManyPeople;// 全局變數
int g_howMuchMoney;// 全局變數

l【規則3-2-6】類的數據成員加前綴m_(表示member),這樣可以避免數據成員與成員函數的參數同名。
例如:
void Object::SetValue(int width, int height)
{
m_width = width;
m_height = height;
}

l【規則3-2-7】為了防止某一軟體庫中的一些標識符和其它軟體庫中的沖突,可以為各種標識符加上能反映軟體性質的前綴。例如三維圖形標准OpenGL的所有庫函數均以gl開頭,所有常量(或宏定義)均以GL開頭。

B. 判斷C語言數值常量是否合法為什麼不合法

12. 0Xa23 4.5e0,-0xf .5e-3 .177合法。

實數型常量:必須有小數點,例如定義double a=1就是錯誤的,必須寫成double a=1.0,另外寫成a=1,0中間是逗號,就更是錯誤的了。

e與E表示以10為底數的冪數,且e與E後面必須跟整數,若是小數也是錯誤的,例如3.2e1.5 ,這里1.5是小數,所以錯的。

(2)c語言中變數名不合法擴展閱讀:

注意事項:

const只修飾其後的變數,至於const放在類型前還是類型後並沒有別。如const int a和int const a都是修飾a為const。注意*不是一種類型,如果*pType之前是某類型,那麼pType是指向該類型的指針一個簡單的判斷方法,指針運算符*,是從右到左。

C語言編譯主要分為編譯和鏈接兩部分,之所以const修飾的變數變為只讀是因為在變數前加了const修飾,如果程序試圖去修改此變數的值,那麼編譯器在編譯階段檢查語法錯誤的時候將報錯,這很好理解,這就是C語言規定的語法,違反了將提示相應的錯誤。

C. c語言中,什麼樣的變數定義是合法的

C項是合法的。

在VB6中,變數的命名必須遵循以下規則:

1、變數名必須以字母或下劃線打頭,名字中間只能由字母、數字和下劃線「_」組成;最後一個字元可以是類型說明符;

2、變數名的長度不得超過255個字元;

3、變數名在有效的范圍內必須是唯一的。

4、變數名不能是VB中的保留字(關鍵字),也不能是末尾帶類型說明符的保留字,但可以把保留字嵌入變數名,關鍵字是指VB6語言中的屬性,事件,方法,過程,函數等系統內部的標識符。

(3)c語言中變數名不合法擴展閱讀:

1、變數名在VB中是不區分大小寫的(如ABC、aBc、abc等都是一樣的)。C語言中區分大小寫。不同的語言有不同的規則。

2、定義和使用變數時,通常要把變數名定義為容易使用閱讀和能夠描述所含數據用處的名稱,而不要使用一些難懂的縮寫如A或B2等。

3、根據需要混合使用大小寫字母和數字。一個合理協議是,變數中每個單詞的第一個字母大寫。

4、另一個合理協議是,每個變數名以兩個或三個字元縮寫開始,這些字元縮寫對應於變數要存儲數據的數據類型。

參考資料:網路-變數

D. 簡述在c語言中合法變數名和函數名需要滿足的條件

一、C語言變數名的命名規則:(可以字母,數字,下劃線混合使用)
1. 只能以字母或下劃線開始;
2. 不能以數字開始;
3. 一般小寫;
4. 關鍵字不允許用(eg:int float=2//error float 為保留字不允許用);

二、函數名的命名規則
1.見名知意;
2.自定義函數函數名首字母大寫(庫函數里的函數名都是以小寫字母定義,為了區分庫函數和自定義函數,避免沖突)。

E. c語言中,不能做為合法標識符的有哪幾類可用作變數名的有哪幾類求解答

1,變數名必須由字母、數字、下劃線組成
2,首字元不能是數字
3,不能太長,具體長度限制由編譯器設定,太長會被編譯器截取前面的,如果定義的兩個變數,在編譯器可識別的范圍相同,而後面的不同,編譯器將視為同一個變數。
4,不能是C的保留字,如if,for,main,break不能作為變數名

F. C語言中變數命名float為什麼不合法

反了
以分號結束
是一條語句
定義變數的時候,一條語句中只能有一個類型
所以
int a, b; float c;等效於
int a, b;
float c;是合法的。

int a, b, float c;一條語句中出現了兩個類型
這個是錯誤的。

G. C語言用戶標識符哪個選項是都不合法的為什麼

c語言中標識符只能是下劃線、數字、字母(大小寫均可,一般變數用小寫、常量用大寫),且不能是數字開頭。

庫函數其實也是一種用戶自定義標識符。

不是自定義的,只有保留的關鍵字。而enum是枚舉的關鍵字。

比如一個函數裡面,如果你不準備調用輸出語句printf,那麼完全可以

void func()

{

int printf=0;

printf++;

}做這樣的設置是合法的。

C語言

標識符由字母(A-Z,a-z)、數字(0-9)、下劃線「_」組成,並且首字元不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to。

不能把C語言關鍵字作為用戶標識符,例如if,for,while等。標識符長度是由機器上的編譯系統決定的,一般的限制為8字元(註:8字元長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)。

以上內容參考:網路-標識符

H. C語言知識點:為什麼 void 不是合法的變數名

void是系統的保留字哦,用於定義無返回值的函數類型,不可以用作變數名哦~望採納,謝謝~

I. C語言中怎樣判斷變數名的合法性

字元只能有大小寫英文字母,數字和下劃線。而且必須以字母或下劃線開頭,並且不能是C語言的關鍵字。。 你列出的只有 t3合法

J. 判斷變數名是否合法(C語言程序)

#include <stdio.h>

main()
{
char chset[256],s[512];
int i;
for(i=0;i<256;i++)chset[i]=0;
for(i='0';i<='9';i++)chset[i]=1;
for(i='a';i<='z';i++)chset[i]=chset[i-32]=2;
chset['_']=3;
for(;;)
{
printf("Please provide a variable name:") ;
scanf("%s",s) ;
if('0'==*(short*)s) break ;
if( chset[s[i=0]] > 1 ) while(chset[s[++i]]) ;
printf((s[i])?"INVALID\n":"VALID\n") ;
}
}
-------------
問題補充:

不能使用陣列
輸入「0」時退出 改為不輸入變數名直接按ENTER時退出
-------------
#include <stdio.h>
int isfirst(int x){
return (x!='_') &&
(x<'A' || x>'Z') &&
(x<'a' || x>'z')? 0:1;
}
int iselse(int x){
return ( (x!='_') &&
(x<'0' || x>'9') &&
(x<'A' || x>'Z') &&
(x<'a' || x>'z') )? 0:1;
}
int main(void) {
char key; /* input character from user */
int match; /* keep track of characters matched */
int count; /* number of substring matches */
while (1) {
count = 0;
match = 0;
printf("Please provide a variable name:");
while ((key = getchar()) != '\n') {
count++;
switch (match) {
case 0: /* starting - not matches yet */
if (isfirst(key)) match = 1;
else match = -1;
break;
default:
if (match > 0)
if (iselse(key)) match++;
else match = - match - 1;
break;
}
}
if (count == 0) return 0;
if (match < 0) match = - match - 1;
printf("%d matches of %d\n", match, count);
}
return 0;
}