c語言中判斷字元是不是字母用什麼函式

2021-05-24 20:55:26 字數 5695 閱讀 5199

1樓:匿名使用者

直接比較這個字元的值是不是(>'a' <'z' )||(>'a' <'z' )就可以了啊,不用函式的

2樓:匿名使用者

int isalpha(int ch) 若ch是字母('a'-'z','a'-'z')返回非0值,否則返回0

3樓:邵雲帝君

貌似是判斷ascii值吧,在哪額範圍內,具體的忘記了。

4樓:周生

int isalpha(int c)

c語言 輸入一個字元,判斷該字元是數字、字母、空格還是其他字元。

5樓:匿名使用者

三個空分別是:

1、ch >= 'a'&&ch<='z' || a>='a'&&ch<='z'

2、 ch >= '0' && ch<='9'

3、 ch == ' '

4、完整**

#include

#include int main()

else if(ch>='a'&&ch<='z')

else if(ch>='a'&&ch<='z')

else if(ch==' ')

else

}   return 0;

}擴充套件資料

c語言特有特點

1、c語言是一個有結構化程式設計、具有變數作用域(variable scope)以及遞迴功能的過程式語言。

2、c語言傳遞引數均是以值傳遞(pass by value),另外也可以傳遞指標(a pointer passed by value)。

3、不同的變數型別可以用結構體(struct)組合在一起。

4、只有32個保留字(reserved keywords),使變數、函式命名有更多彈性。

參考資料

6樓:匿名使用者

根據ascii碼值判斷即可。

#include

int main()

7樓:匿名使用者

三個空分別是:

1. ch >= 'a'&&ch<='z' || a>='a'&&ch<='z'

2. ch >= '0' && ch<='9'

3. ch == ' '

8樓:匿名使用者

//加上。

#include

if(isalpha(ch))...

else if(isdigit(ch))...

else if(ch == ' ')...

//不然就是樓上的答案。

9樓:我愛一蓑煙雨

# coding=utf-8

x=raw_input("")

if(x>='0')&(x<='9'):

print ("是數字")

elif((x.lower()>='a')&(x.lower()<='z')):

print ("是字母")

elif(x==' '):

print ("是空格")

else :

print("是其他")

10樓:宰父可欣傅媼

根據ascii碼值判斷即可。由於數字,大小寫字母均分別為連續儲存,所以只需要與對應的最大最小值比較即可確定字元型別。

**如下:

#include

int main()

11樓:徜逸

可以根據以下**進行判斷:

#include

int main()

return 0;

}判斷輸入字元的方式

由於每個字元通常都有一個特定的ascii碼,可以通過ascii碼進行判斷,當滿足輸入的字元滿足特定數值的ascii碼進行判斷。部分ascii碼如下:

ascii 碼使用指定的7 位或8 位二進位制陣列合來表示128 或256 種可能的字元。標準ascii 碼也叫基礎ascii碼,使用7 位二進位制數(剩下的1位二進位制為0)來表示所有的大寫和小寫字母,數字0 到9、標點符號, 以及在美式英語中使用的特殊控制字元。

其中:0~31及127(共33個)是控制字元或通訊專用字元(其餘為可顯示字元),如控制符:lf(換行)、cr(回車)、ff(換頁)、del(刪除)、bs(退格)、bel(響鈴)等;

通訊專用字元:soh(文頭)、eot(文尾)、ack(確認)等;ascii值為8、9、10 和13 分別轉換為退格、製表、換行和回車字元。它們並沒有特定的圖形顯示,但會依不同的應用程式,而對文字顯示有不同的影響。

32~126(共95個)是字元(32是空格),其中48~57為0到9十個阿拉伯數字。

65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其餘為一些標點符號、運算子號等。

12樓:匿名使用者

加上ch=getchar();後輸出的實際上是enter鍵

c語言中如何判斷輸入的是字元還是數字

13樓:非常可愛

可以使用**進行判斷:

#include

intmain()

return0;

}擴充套件資料c語言判斷輸入是否是數字

intdigit;

printf("pleaseinputainteger\n");

intret=scanf("%d",&digit);

if(0==ret)

14樓:四舍**入

1、可以用sa**f或gets函式直接接收輸入的字串,然後用迴圈遍歷字串中每一個字元,判斷其是字母還是數字。

2、可以用迴圈呼叫getch()或getchar()函式來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。

3、假設字元c,滿足 (c>='a'&& c<='z')|| (c>='a' && c<='z')就是字母,滿足 (c>=0 && c<=9)就是數字。

15樓:匿名使用者

1 通過getchar讀入一個字元。

2 對字元判斷,如果字元在'0'到'9'之間,則為數字,否則為字元。

3 根據判斷結果,輸出程式執行結果。

**:int main()

16樓:匿名使用者

首先當作字元逐個讀入字串字串中,讀到分隔符(如白字元,逗號等)後,判斷這個字串中各個字元是否滿足條件即可(0 -- 9為十進位制數,含有abcdef或abcdef則為十六進位制數)。

17樓:匿名使用者

isalnum

語法:#include

int isalnum( int ch );

功能:如果引數是

數字或字母字元,函式返回非零值,否則返回零值。

isalpha

語法:#include

int isalpha( int ch );

功能:如果引數是字母字元,函式返回非零值,否則返回零值。

isdigit

語法:#include

int isdigit( int ch );

功能:如果引數是0到9之間的數字字元,函式返回非零值,否則返回零值isxdigit

語法:#include

int isxdigit( int ch );

功能:如果引數是十六進位制數字字元(即:a-f, a-f, 0-9),函式返回非零值,否則返回零值。

另外,可以根據ascii的值來判斷:

48~57是數字 ,0~31是控制字元,其他....

18樓:匿名使用者

這個看著簡單的問題,其實涉及的東西不少。由於種種原因, c的輸入部分,如scanf等,安全問題很大, 所以如果可能,就如前面有人建議的那樣,把使用者輸入當字串一起讀入,然後自己處理。下面的**用fgets讀入全部輸入,然後用strtok分割,對分割後的字串再做是否數字串的檢查。

(注:有人認為strtok不安全,其實不一定,要看如何使用,如果可能採用支援新的c11的安全庫xx_s結尾的,或自己寫,或採用第3方開源的庫都是可以的)。下面是一個完整的例子:

#include

#include

#include

#include

#define max_input 1024int isnumstring(const char *s);

int main(int argc, char** argv)printf("numeric string number: %d\n", count_numstring);

}return 0;

}int isnumstring(const char* s)}

return retcode;

}執行結果:

enter strings, enter to continue, ctrl-c to exit.

1 2 3

numeric string number: 31,2s.3 | 4 # 5

numeric string number: 4

19樓:匿名使用者

這個要看你的**是怎麼處理輸入的

比如int a = 0;

scanf("%d", &a);

這就只能接收一個整數輸入

------------

最好貼出你的**,也許你提出的問題不是你真正面對的問題。

20樓:獅子

具體需要分析你寫的程式,因為如果你規定第二個輸入為字元型,那麼12 12a間的空格就是第二個資料,自然你看不見第二個輸入資料。這只是一種可能。

21樓:匿名使用者

建議你查一下 c函式庫 可以用 isdigit 來判斷是否為數字

22樓:李莞朋順

判斷是不是字元c可以使用:

if(g=='c')

滿足這個便是c

注意大小寫

23樓:龍鶴旗柔婉

#include

intmain()

24樓:幻翼高達

需要準備的材料分別有:電腦、c語言編譯器。

1、首先,開啟c語言編譯器,新建一個初始的.cpp檔案,例如:test.cpp。

2、其次,在test.cpp檔案中,輸入c語言**:char a = getchar(); getchar();

if (a <= '9' && a >= '0') printf("數字");else printf("字母");

3、然後,編譯器執行test.cpp檔案,輸入數字,此時會成功判斷輸入內容為數字。

4、最後,輸入字母,此時成功判斷了輸入內容為字母。

25樓:鈔潤桓鴻暉

對了,剛才經過試驗發現ctype.h裡面的函式都不能判定輸入的字元。。。拿isalpha來說,其函式原型為

intisalpha(int

ch);其規定了ch為int型的,如果輸入是字元的話就會程式錯誤,所以只能在程式本身裡先賦好值,就像ch=\'a\'

這樣判斷才行,而輸入的東西是不確定的,只有先賦值才不會有函式型別的判斷錯誤。。。不知道本人說的對不,這是我剛才試出來的,我剛學c不久。。。

c語言中如何判斷輸入的是字元還是數字

可以使用 進行判斷 include intmain return0 擴充套件資料c語言判斷輸入是否是數字 intdigit printf pleaseinputainteger n intret scanf d digit if 0 ret 1 可以用sa f或gets函式直接接收輸入的字串,然後用...

C中判斷字串是不是漢字,c 怎麼判斷字串中包含漢字

1 用ascii碼判斷 在 ascii碼錶中,英文的範圍是0 127,而漢字則是大於127,具體 如下 string text 是不是漢字,abc,柯樂義 for int i 0 i text.length i else 2 用漢字的 unicode 編碼範圍判斷 漢字的 unicode 編碼範圍是...

c語言中怎麼定義空格數字字元用什麼表示啊

可以定義成字元型,然後在輸入之後加上判斷,如果asc碼在數字型別區間則強制轉換,否則,不變 用ascii值表示他們,比如小寫字母a z的值是97 122 空格和字元可以用char,小數用float或double,整數用int,數字也可以當成字元用char c語言中表示空格的是什麼 分析如下 不是所有...