C語言 如何判斷字元陣列裡輸入的是字母還是數字還是漢字還是特殊字元

2021-04-19 19:22:10 字數 6174 閱讀 1801

1樓:匿名使用者

ascii碼佔用一個位元組,漢字佔用兩個位元組,並且漢字的兩個位元組的最高位都是1,而ascii碼的最高位都是0,可以據此判斷

c語言 輸入一個字元,判斷是字母,數字,還是特殊字元

2樓:南宮緋鳶

#include

#include

#define n 100

main() }

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

3樓:徜逸

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

#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個小寫英文字母,其餘為一些標點符號、運算子號等。

4樓:杜哥是個小天才

#include

#define arraylen(array,len)int isletter(char c);

int isnumber(char c);

void main()

}int isletter(char c)int isnumber(char c)

{return (c>='0'&&c<='9');

拓展資料c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

5樓:糖醋炸洋芋

||js判斷字串是否為字母

var reg= /^[a-za-z]+$/;

if (reg.test(value)) //判斷是否符合正規表示式

從鍵盤輸入一個字元,判斷它是否是英文字元

#include

#include

int main(void)

因為我的程式執行結束會退出來所以我加了#include和system("pause");語句,可以刪掉

c語言中 'a'和a有什麼 區別 比如我要判斷 字串中的一個字母 str【i】是否為a

字元常量必須要用單引號引起來!

單獨的a只能做變化使用!

如果是這樣:

char a;

char str[10];

a='s' ;

str[0]=a; /釘;a是變化,其值為's'

str[1]='a' ; //'a'是常量

都是對的!

判斷一個字元是否是字母

intstart,end,i=0; char ch = s.tochararray();

while(!character.isletter(ch[i])) start=i;

while(character.isletter(ch[i])) end=i; 再取start與end間的字元組成字串。

思路是這個,你可以嘗試著修改。

6樓:匿名使用者

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

**如下:

#include

int main()

7樓:as丶誘餌

#include

main()

我是新手

8樓:愛王華寶寶

#include

void main()

9樓:匿名使用者

是一個很專業的計算機問題,你可以試著輸入一下看看結果。

10樓:果菌

char a;

a = getchar();

getchar(); //這個是取掉輸入字元後的enter鍵if (a>='0' && a<='9')else if (a>='a' && a<='z')else

11樓:0不知火舞

||#include

void main()

c語言 輸入一個字元,判斷是字母,數字,還是特殊字元?

12樓:果兒可兒

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

**如下:

#include

int main()

#include

void

main()

13樓:as丶誘餌

#include

main()

我是新手

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

14樓:匿名使用者

三個空分別是:

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),使變數、函式命名有更多彈性。

參考資料

15樓:匿名使用者

根據ascii碼值判斷即可。

#include

int main()

16樓:匿名使用者

三個空分別是:

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

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

3. ch == ' '

17樓:匿名使用者

//加上。

#include

if(isalpha(ch))...

else if(isdigit(ch))...

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

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

18樓:我愛一蓑煙雨

# 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("是其他")

19樓:宰父可欣傅媼

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

**如下:

#include

int main()

20樓:徜逸

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

#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個小寫英文字母,其餘為一些標點符號、運算子號等。

21樓:匿名使用者

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

c語言:如何判斷輸入的是數字還是其他字元 5

22樓:自我程式設計

有很多方法:

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

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

至於怎麼判讀是字母還是數字,很簡單,假設字元c,滿足 (c>='a'&& c<='z')|| (c>='a' && c<='z')就是字母。

滿足 (c>='0' && c<='9')就是數字。

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

23樓:非常可愛

可以使用**進行判斷:

#include

intmain()

return0;

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

intdigit;

printf("pleaseinputainteger\n");

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

if(0==ret)

24樓:四舍**入

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

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

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

C語言 用字元陣列從鍵盤輸入字串,刪除字串中所有

1 遍歷字串 2 對每個字元 判斷,如果不是字母,則刪除。刪除可以通過後續字元前專移,覆蓋要刪 屬除字元的方式實現。如下 int main s j 0 printf s n s include include include int main str2 j 0 printf s str2 getch...

C語言裡怎樣判斷陣列裡的元素為空還是為

剛建立的陣列既不是null c程式沒有null這個概念,物件導向才有null 也不是0,是不確定 原來記憶體這塊放的什麼還是什麼,如果陣列你不初始化拿來就用,誰也不知道里面是什麼,c是不檢查的 null表示是空,即什麼也沒有。剛設立一個陣列時,裡面的元素是你定義陣列的型別,版數值不確定 例如 cha...

c語言字串陣列的問題C語言字串陣列的問題

include int main scanf s a for i 0 a i 0 i for j 0 j 5 j 修改 1 下標從0 4,共5個 return 0 每行結尾的 僅僅是為了連線字串使用的,如果一個字串過長,寫在一行比較不合適,就在該行結尾處加上一個反斜槓 就可以在下邊的行繼續寫這個字串...