杭電OJ 2024 C語言合法識別符號

2021-09-29 17:38:25 字數 1775 閱讀 8242

#2024

首先應該對c語言的合法標誌符有一定的認識。

c語言合法標誌符:識別符號只能由字母(a-z, a-z)、數字(0~9)和下劃線(_)組成,並且第乙個字元必須是字母或下劃線,不能是數字。同時c語言標誌符不能為有特殊含義的關鍵字。

以下是合法的識別符號:

abc, xyz, x3, book_1, sum5

以下是非法的識別符號:

3s 不能以數字開頭

st 出現非法字元

-3x 不能以減號(-)開頭

bowy -1 出現非法字元減號(-),出現非法字元空格

在本題中沒有對關鍵字的識別符號給出明確的界定,也就是關鍵字在可接受範圍內。但是c語言的關鍵字這裡也補充一下吧,以免自己之後忘記了。

資料型別

1、char:字元型別,1個位元組,8位

2、int:整數型別,4個位元組,32位

3、float:浮點數型別,4個位元組,32位,保留8位有效數字

4、double:雙精度型別,8個位元組,64位,保留16位有效數字

5、short:短整數型別,2個位元組,16位

6、long:長整數型別,8個位元組,64位

7、signed:有符號型別

8、unsigned:無符號型別

9、enum:列舉型別

10、union:共同體型別,使幾個不同型別的變數共佔一段記憶體(相互覆蓋)

11、struct:結構體型別,把不同型別的資料組合成乙個整體-------自定義資料

12、void:宣告函式無返回值或無引數

控制型別

13、for:迴圈語句

14、do:迴圈語句

15、while:迴圈語句

16、break:跳出當前迴圈

17、continue:跳出當前迴圈,開始下一次的迴圈

18、if:條件語句

19、else:分支語句

20、goto:無條件跳轉語句,少用

21、switch:分支語句

22、case:和switch組合使用

23、default:其他分支

24、return:子程式返回語句

儲存型別

25、auto:宣告自動變數,很少用到

26、extern:宣告變數是在其他檔案中宣告,引用變數

27、register:宣告暫存器變數

28、static:靜態變數

其他型別

29、const:宣告唯讀變數

30、sizeof:計算資料型別長度

31、typedef:給資料型別取名

32、volatile:變數在程式執行中可以被隱含地改變

回到題目,注意需要對第一次讀取測試用例個數之後讀取換行符,不然會讀取出錯。這裡使用了isaplha()可以判斷開頭是否為字母,以及isalnum()函式判斷是否為字母或者數字,需要在頭部檔案中匯入ctype.h標頭檔案

題目直達

ac**

#include

#include

#include

#include

#include

//快速檢驗型別的標頭檔案

using

namespace std;

intmain()

for(

int i=

1; iif(flag==0)

else

}return0;

}

杭電OJ 2024 C語言合法識別符號

problem description 輸入乙個字串,判斷其是否是c的合法識別符號。input 輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,每行是乙個長度不超過50的字串。output 對於每組輸入資料,輸出一行。如果輸入資料是c的合法識別符號,則輸出...

杭電2024 合法識別符號

problem description 輸入乙個字串,判斷其是否是c的合法識別符號。input 輸入資料報含多個測試例項,資料的第一行是乙個整數n,表示測試例項的個數,然後是n行輸入資料,每行是乙個長度不超過50的字串。output 對於每組輸入資料,輸出一行。如果輸入資料是c的合法識別符號,則輸出...

杭電2024 C語言合法識別符號

識別符號由字母 下劃線 數字這三個方面組成,但開頭必須是字母或下劃線。另外,關鍵字不能是識別符號,如main等 識別符號由字母 下劃線 數字這三個方面組成,但開頭必須是字母或下劃線。另外,關鍵字不能是識別符號,如main等 problem description 輸入乙個字串,判斷其是否是c的合法識...