c語言怎麼判斷字元
1. c語言:如何判斷輸入的是數字還是其他字元
有很多方法:
1、可以用sacnf或gets函數直接接收輸入的字元串,然後用循環遍歷字元串中每一個字元,判斷其是字母還是數字。
2、可以用循環調用getch()或getchar()函數來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。
至於怎麼判讀是字母還是數字,很簡單,假設字元c,
滿足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
滿足 (c>='0' && c<='9')就是數字。
2. C語言中判斷兩個字元串是否相同的方法
C語言提供了幾個標准庫函數,可以比較兩個字元串是否相同。以下是用strcmp()函數比較字元串的一個例子:
#include <stdio. h>
#include <string. h>
void main (void);
void main(void)
{
char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;
if (strcmp(str_1, str_2) == 0)
printf("str_1 is equal to str_2. \n");
else
printf("str_1 is not equal to str_2. \n");
if (strcmp(str_1, str_3) == 0)
printf("str_1 is equal to str_3.\n");
else
printf("str_1 is not equalto str_3.\n");
}
上例的列印輸出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.
strcmp()函數有兩個參數,即要比較的兩個字元串。strcmp()函數對兩個字元串進行大小寫敏感的(case-sensitiVe)和字典式的(lexicographic)比較,並返回下列值之一:
----------------------------------------------------
返 回 值 意 義
----------------------------------------------------
<0 第一個字元串小於第二個字元串
0 兩個字元串相等 ·
>0 第一個字元串大於第二個字元串
----------------------------------------------------
在上例中,當比較str_1(即「abc」)和str_2(即「abc」)時,strcmp()函數的返回值為0。然而,當比較str_1(即"abc")和str_3(即"ABC")時,strcmp()函數返回一個大於0的值,因為按ASCII順序字元串「ABC」小於「abc」。
strcmp()函數有許多變體,它們的基本功能是相同的,都是比較兩個字元串,但其它地方稍有差別。下表列出了C語言提供的與strcmp()函數類似的一些函數:
-----------------------------------------------------------------
函 數 名 作 用
-----------------------------------------------------------------
strcmp() 對兩個字元串進行大小寫敏感的比較
strcmpi() 對兩個字元串進行大小寫不敏感的比較
stricmp() 同strcmpi()
strncmp() 對兩個字元串的一部分進行大小寫敏感的比較
strnicmp() 對兩個字元串的一部分進行大小寫不敏感的比較
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函數代替strcmp()函數,則程序將認為字元串「ABC」等於「abc」。
3. C語言編程從鍵盤輸入一個字元,判斷該字元是否為控制字元、空格、數字字元、大寫字母、小寫字母或者其他字
#include<stdio.h>
voidmain()
{
charch;
inta;
ch=getchar();
if(ch>='a'&&ch<='z')
ch='1';
if(ch>='A'&&ch<='Z')
ch='2';
if(ch=='')
ch='3';
switch(ch)
{
case'1':printf("xiao ");break;
case'2':printf("da ");break;
case'3':printf("空格 ");break;
default:printf("qita");
}
}
(3)c語言怎麼判斷字元擴展閱讀
C語言ctype.h的字元判斷函數
函數名為如下參數時,返回值為真
isalnum()字母或數字
isalpha()字母
isblank()一個標準的空白字元(空格、水平製表符、或換行)
iscntrl()控制符,例如ctrl+B
isdigit()阿拉伯數字
isgraph()除空格外的所有可列印字元
islower()小寫字母
isprint()可列印字元
ispunct()標點符號(除空格和字母數字外的可列印字元)
isspace()空白字元
isupper()大寫字母
isxdigit()十六進制數字字元
4. C語言如何判斷一個字元是不是標識符
在 C 語言中,可以使用 isalpha() 函數來判斷一個字元是否是標志符。該函數會檢查傳入的字元是否是字母(大小寫均可)。如果是,則返回非零值;否則返回 0。
例如:
if(isalpha(c))
printf("%c is a identifier.", c);
else
printf("%c is not a identifier.", c);
也可以使用isalnum()函數,它會悄碧檢查傳入的字元是否是字母或數字。
if(isalnum(c))
printf("%c is a identifier.", c);
else
printf("%c is not a identifier.", c);
注意:C語言中基乎標識符的命名規則是,以字母或下劃線開頭,後面跟字母搏運悉、數字或下劃線。
另外,如果想要更精細的判斷標識符,可以使用正則表達式來實現。