C++程式:檢查字元是否為字母


在解決一些邏輯程式設計問題時,使用字串或字元有時非常有用。字串是字元的集合,字元是1位元組資料型別,用於儲存ASCII值中的符號。這些符號可以是英文字母、數字或特殊字元。在本文中,我們將學習如何使用C++來檢查字元是否為英文字母。

檢查isalpha()函式

要檢查一個字元是否為字母,我們可以使用ctype.h標頭檔案中的isalpha()函式。此函式接收一個字元作為輸入,當它是字母時返回true,否則返回false。讓我們來看下面的C++實現來了解此函式的用法。

示例

#include <iostream> #include <ctype.h> using namespace std; string solve( char c ) { if( isalpha( c ) ) { return "True"; } else { return "False"; } } int main() { cout << "Is 'K' an alphabet? : " << solve( 'K' ) << endl; cout << "Is 'a' an alphabet? : " << solve( 'a' ) << endl; cout << "Is '!' an alphabet? : " << solve( '!' ) << endl; cout << "Is '5' an alphabet? : " << solve( '5' ) << endl; cout << "Is 'f' an alphabet? : " << solve( 'f' ) << endl; }

輸出

Is 'K' an alphabet? : True
Is 'a' an alphabet? : True
Is '!' an alphabet? : False
Is '5' an alphabet? : False
Is 'f' an alphabet? : True

建立我們自己的檢查函式

上述方法使用的是一個預定義函式,用於檢查給定的字元是否為字母。但是,我們也可以透過定義一個帶有範圍條件的函式來實現相同的功能。演算法如下:

演算法

  • 讀取輸入字元c
  • 如果c的ASCII碼在小寫字母'a'和'z'之間,或者在大寫字母'A'和'Z'之間,則
  • 否則
  • 返回false
  • 結束if

示例

#include <iostream> #include <ctype.h> using namespace std; string solve( char c ) { if( (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') ) { return "True"; } else { return "False"; } } int main() { cout << "Is 'T' an alphabet? : " << solve( 'T' ) << endl; cout << "Is 'g' an alphabet? : " << solve( 'g' ) << endl; cout << "Is '?' an alphabet? : " <<solve( '?' ) << endl; cout << "Is '8' an alphabet? : " << solve( '8' ) << endl; cout << "Is 'p' an alphabet? : " << solve( 'p' ) << endl; }

輸出

Is 'T' an alphabet? : True
Is 'g' an alphabet? : True
Is '?' an alphabet? : False
Is '8' an alphabet? : False
Is 'p' an alphabet? : True

結論

檢查給定字元是否為字母,有幾種不同的方法。我們討論的第一個方法是使用ctype.h標頭檔案中的isalpha函式。當字元為字母時,此函式返回true,否則返回false。在第二個方法中,我們編寫了自己的檢查函式。這是透過檢查ASCII碼是否在小寫字母'a'到'z'或大寫字母'A'到'Z'的給定範圍內來實現的。如果是,則返回true,否則返回false。

更新於:2022年10月19日

3K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告