国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C語(yǔ)言】判斷字符類型的三種方法

這篇具有很好參考價(jià)值的文章主要介紹了【C語(yǔ)言】判斷字符類型的三種方法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

??個(gè)人主頁(yè):修修修也

??所屬專欄:C語(yǔ)言

??操作環(huán)境:Visual Studio 2022

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符


目錄

一.字符的類型分類

1.ASCII的定義:

?2.ASCII的產(chǎn)生原因是:

3.ASCII的內(nèi)容:

二.字符類型判斷相關(guān)庫(kù)函數(shù)

1.isdigit(),用于判斷字符是否為數(shù)字。

2. isalpha(),用于判斷字符是否為字母。

3. isalnum(),用于判斷字符是否為數(shù)字或字母。

4. isspace(),用于判斷字符是否為空格字符。

5. isupper()和 islower(),分別用于判斷字符是否為大寫字母和小寫字母。

6. iscntrl(),用于判斷字符是否為控制字符。

7. isprint(),用于判斷字符是否為可打印字符。

8. ispunct(),用于判斷字符是否為標(biāo)點(diǎn)符號(hào)。

三.不使用庫(kù)函數(shù)判斷字符類型

1.ASCII碼值判斷法

判斷是否是'a'字符:

判斷是否是數(shù)字字符:

判斷是否是小寫字母字符:

判斷是否是大寫字母字符:

判斷是否是字母字符:

判斷是否是數(shù)字字符或字母字符:

判斷是否為空格字符:

判斷是否為控制字符:

判斷是否為可打印字符:

判斷是否為標(biāo)點(diǎn)符號(hào)字符:

2.字符直接判斷法

判斷是否是'a'字符:

判斷是否是數(shù)字字符:

判斷是否是小寫字母字符:

判斷是否是大寫字母字符:

判斷是否是字母字符:

判斷是否是數(shù)字字符或字母字符:

判斷是否為空格字符:

判斷是否為控制字符:

判斷是否為可打印字符:

判斷是否為標(biāo)點(diǎn)符號(hào)字符:


一.字符的類型分類

1.ASCII的定義:

先來(lái)看看百度百科對(duì)ASCII的定義

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符


?2.ASCII的產(chǎn)生原因是:

?????? 在計(jì)算機(jī)中,所有的數(shù)據(jù)在存儲(chǔ)和運(yùn)算時(shí)都要使用二進(jìn)制數(shù)表示(因?yàn)橛?jì)算機(jī)用高電平和低電平分別表示1和0),例如,像a、b、c、d這樣的52個(gè)字母(包括大寫)以及0、1等數(shù)字還有一些常用的符號(hào)(例如*、#、@等)在計(jì)算機(jī)中存儲(chǔ)時(shí)也要使用二進(jìn)制數(shù)來(lái)表示,而具體用哪些二進(jìn)制數(shù)字表示哪個(gè)符號(hào),當(dāng)然每個(gè)人都可以約定自己的一套(這就叫編碼),而大家如果要想互相通信而不造成混亂,那么大家就必須使用相同的編碼規(guī)則,于是美國(guó)有關(guān)的標(biāo)準(zhǔn)化組織就出臺(tái)了ASCII編碼,統(tǒng)一規(guī)定了上述常用符號(hào)用哪些二進(jìn)制數(shù)來(lái)表示。


3.ASCII的內(nèi)容:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符?

根據(jù)ASCII碼,我們大致可以將字符分為非打印控制字符打印字符,其中打印字符又能細(xì)分為:標(biāo)點(diǎn)符號(hào),數(shù)字,大寫字母,小寫字母......等.

既然有分類,那么也就有分類統(tǒng)計(jì)的需求,接下來(lái)我們來(lái)學(xué)習(xí)一下該如何判斷字符的類型。


二.字符類型判斷相關(guān)庫(kù)函數(shù)

1.isdigit(),用于判斷字符是否為數(shù)字。

先來(lái)看cplusplus網(wǎng)站官方對(duì)isdigit()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

注意,isdigit()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看isdigit()函數(shù)的原型

int isdigit ( int c );

綜上可知,當(dāng)你向isdigit()函數(shù)傳輸一個(gè)字符數(shù)據(jù)(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是十進(jìn)制數(shù)字字符,如果,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0

注意,十進(jìn)制數(shù)字字符ASCII碼表中的對(duì)應(yīng)值為:48~57。

我們?cè)诰幾g器中測(cè)試使用一下該函數(shù):

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符


2. isalpha(),用于判斷字符是否為字母。

先來(lái)看cplusplus網(wǎng)站官方對(duì)isalpha()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

注意isalpha()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看isalpha()函數(shù)的原型:

int isalpha ( int c );

綜上可知,當(dāng)你向isalpha()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是字母字符,如果,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

注意,字母字符在ASCII碼表中的對(duì)應(yīng)值為:大寫字符65~90小寫字符97~122。

我們?cè)囍诰幾g器中測(cè)試一下該函數(shù):

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符


3. isalnum(),用于判斷字符是否為數(shù)字或字母。

先來(lái)看cplusplus網(wǎng)站官方對(duì)isalnum()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

isalnum()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看isalnum()函數(shù)的原型:

int isalnum ( int c );

綜上可知,當(dāng)你向isalnum()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是字母或數(shù)字字符,如果,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

注意,十進(jìn)制數(shù)字字符和字母字符在ASCII碼表中的對(duì)應(yīng)值為:十進(jìn)制數(shù)字48~57大寫字母65~90;小寫字母97~122。

我們?cè)囍诰幾g器中測(cè)試一下該函數(shù):

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符


4. isspace(),用于判斷字符是否為空格字符。

先來(lái)看cplusplus網(wǎng)站官方對(duì)isspace()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

isspace()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看isspace()函數(shù)的原型:

int isspace ( int c );

綜上可知,當(dāng)你向isspace()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是空格字符,包括空格、制表符、換行符等,如果是,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

注意,空格字符是指:SPC(空格符),TAB(水平制表符),LF(換行/新行),VT(豎直制表符),F(xiàn)F(換頁(yè)/新頁(yè)),CR(回車)

它們的ASCII碼值分別為:

空格字符及其ASCII碼值
代碼 含義 ASCII碼值
SPC 空格符 32
TAB 水平制表符 9
LF 換行/新行 10
VT 豎直制表符 11
FF 換頁(yè)/新頁(yè) 12
CR 回車 13

我們?cè)囍诰幾g器中測(cè)試一下該函數(shù):

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符


5. isupper()和 islower(),分別用于判斷字符是否為大寫字母和小寫字母。

我們先來(lái)看cplusplus網(wǎng)站官方對(duì)isupper()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

isupper()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看isupper()函數(shù)的原型:

int isupper ( int c );

綜上可知,當(dāng)你向isupper()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是大寫字母,如果是,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

注意,大寫字母字符在ASCII碼表中的對(duì)應(yīng)值為65~90。


接下來(lái)再來(lái)看islower()函數(shù):

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

islower()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看islower()函數(shù)的原型:

int islower ( int c );

綜上可知,當(dāng)你向islower()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是小寫字母,如果是,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

注意,小寫字母字符在ASCII碼表中的對(duì)應(yīng)值為:97~122


6. iscntrl(),用于判斷字符是否為控制字符。

先來(lái)看cplusplus網(wǎng)站官方對(duì)iscntrl()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

iscntrl()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看iscntrl()函數(shù)的原型:

int iscntrl ( int c );

綜上可知,當(dāng)你向iscntrl()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是控制字符,包括回車符、換行符、制表符等,如果是,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

控制字符包括下表中的所有字符,即從'NUL'到'US'。并且還包含ASCII碼值為127'DEL'字符

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

注意,控制字符在ASCII碼表中的對(duì)應(yīng)值為:0~31;以及127。


7. isprint(),用于判斷字符是否為可打印字符。

先來(lái)看cplusplus網(wǎng)站官方對(duì)isprint()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

isprint()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看isprint()函數(shù)的原型:

int isprint ( int c );

綜上可知,當(dāng)你向isprint()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是可打印字符,包括字母、數(shù)字、標(biāo)點(diǎn)符號(hào)等,如果是,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

可打印字符包括下表中的所有字符,即從 '? '(空格)到 ‘~’(波浪號(hào))。

注意,可打印字符在ASCII碼表中的對(duì)應(yīng)值為:32~126

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符


8. ispunct(),用于判斷字符是否為標(biāo)點(diǎn)符號(hào)。

先來(lái)看cplusplus網(wǎng)站官方對(duì)ispunct()函數(shù)的解釋:

c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符

ispunct()函數(shù)的原型定義在頭文件<ctype.h>中,因此使用前需要包含該頭文件。

下面我們來(lái)看ispunct()函數(shù)的原型:

int ispunct ( int c );

綜上可知,當(dāng)你向ispunct()函數(shù)傳輸一個(gè)字符(實(shí)際是它的ASCII值)時(shí),它會(huì)判斷其是否是標(biāo)點(diǎn)符號(hào)字符,如果是,它會(huì)返回給你一個(gè)非零的數(shù),如果不是,則會(huì)返回0。

ispunct()函數(shù)判斷的標(biāo)點(diǎn)字符包括ASCII碼表中除了空格、數(shù)字和字母以外的所有字符,如逗號(hào)、句號(hào)、問(wèn)號(hào)、感嘆號(hào)、分號(hào)、冒號(hào)、括號(hào)、引號(hào)等等。

具體來(lái)說(shuō),它包括ASCII碼表中的33-47、58-64、91-96、123-126這些字符。


?三.不使用庫(kù)函數(shù)判斷字符類型

1.ASCII碼值判斷法

因?yàn)槲覀冎溃琧har類型的字符數(shù)據(jù)存儲(chǔ)的字符信息實(shí)際是該字符的ASCII碼值,因此當(dāng)我們判斷其是否是某一字符或某一類字符時(shí)只需判斷它和標(biāo)準(zhǔn)ASCII碼中的值是否相等即可,而當(dāng)碰到需要判斷某一類字符時(shí),我們也可以巧妙的使用他們所處的ASCII碼值區(qū)間來(lái)判斷

如:

判斷是否是'a'字符:

int my_move(char ch)
{
    if(ch==97)
        return 1;
    else
        return 0;
}

判斷是否是數(shù)字字符:

int my_isdigit(char ch)
{
    if(ch>=48&&ch<=57)
        return 1;
    else
        return 0;
}

?判斷是否是小寫字母字符:

int my_islower(char ch)
{
    if(ch>=97&&ch<=122)
        return 1;
    else
        return 0;
}

判斷是否是大寫字母字符:

int my_isupper(char ch)
{
    if(ch>=65&&ch<=90)
        return 1;
    else
        return 0;
}

判斷是否是字母字符:

int my_isalphA(char ch)
{
    if((ch>=65&&ch<=90)||(ch>=97&&ch<=122))
        return 1;
    else
        return 0;
}

判斷是否是數(shù)字字符或字母字符:

int my_isalnum(char ch)
{
    if((ch>=48&&ch<=57)||(ch>=97&&ch<=122)||(ch>=65&&ch<=90))
        return 1;
    else
        return 0;
}

判斷是否為空格字符:

int my_space(char ch)
{
    if((ch>=9&&ch<=13)||(ch==32))
        return 1;
    else
        return 0;
}

判斷是否為控制字符:

int my_cntrl(char ch)
{
    if((ch>=0&&ch<=31)||(ch==127))
        return 1;
    else
        return 0;
}

判斷是否為可打印字符:

int my_isprint(char ch)
{
    if(ch>=32&&ch<=126)
        return 1;
    else
        return 0;
}

判斷是否為標(biāo)點(diǎn)符號(hào)字符:

int my_punct(char ch)
{
    if((ch>=33&&ch<=47)||(ch>=58&&ch<=64)||(ch>=91&&ch<=96)||(ch>=123&&ch<=126))
        return 1;
    else
        return 0;
}

2.字符直接判斷法

但有時(shí)候,我們可能記不太清楚字符的ASCII碼值了,但我們同樣可以直接使用字符本身進(jìn)行判斷.

但需要特別注意,使用字符本身判斷時(shí),必須用單引號(hào)將字符標(biāo)注起來(lái),以便編譯器將其識(shí)別為一個(gè)字符,否則可能會(huì)導(dǎo)致出錯(cuò)。

同時(shí)有些沒(méi)法直接在C語(yǔ)言中表示的控制字符,有的需要借助轉(zhuǎn)義字符進(jìn)行判斷,有的則只能使用ASCII碼值判斷。

判斷是否是'a'字符:

int my_move(char ch)
{
    if(ch=='a')
        return 1;
    else
        return 0;
}

函數(shù)名為my_move,作用是判斷一個(gè)字符是否為字母a。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是字母a則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的值是否等于字母a的ASCII碼值,因?yàn)樽帜竌的ASCII碼值為97,所以如果參數(shù)ch的值等于97,即為字母a,則返回1,否則返回0。


判斷是否是數(shù)字字符:

int my_isdigit(char ch)
{
    if(ch>='0'&&ch<='9')
        return 1;
    else
        return 0;
}

函數(shù)名為my_isdigit,作用是判斷一個(gè)字符是否為數(shù)字字符。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是數(shù)字字符則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,如果該字符在0到9之間,則返回1,否則返回0。


判斷是否是小寫字母字符:

int my_islower(char ch)
{
    if(ch>='a'&&ch<='z')
        return 1;
    else
        return 0;
}

函數(shù)名為my_islower,作用是判斷一個(gè)字符是否為小寫字母。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是小寫字母則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,如果該字符的ASCII碼值在小寫字母的ASCII碼值范圍內(nèi),則返回1,否則返回0。其中,小寫字母的ASCII碼值范圍是從97(字符'a')到122(字符'z')。


判斷是否是大寫字母字符:

int my_isupper(char ch)
{
    if(ch>='A'&&ch<='Z')
        return 1;
    else
        return 0;
}

函數(shù)名為my_isupper,作用是判斷一個(gè)字符是否為大寫字母。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是大寫字母則返回1,否則返回0

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值是否在大寫字母的ASCII碼值范圍內(nèi),如果是,則返回1,否則返回0。


判斷是否是字母字符:

int my_isalphA(char ch)
{
    if((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'))
        return 1;
    else
        return 0;
}

函數(shù)名為my_isalpha,作用是判斷一個(gè)字符是否為字母。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是字母則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,如果該字符的ASCII碼值在大寫字母或小寫字母的范圍內(nèi),則返回1,否則返回0。


判斷是否是數(shù)字字符或字母字符:

int my_isalnum(char ch)
{
    if((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))
        return 1;
    else
        return 0;
}

函數(shù)名為my_isalnum,作用是判斷一個(gè)字符是否為字母或數(shù)字字符。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是字母或數(shù)字字符則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,如果字符的ASCII碼值在數(shù)字0到9的ASCII碼值范圍內(nèi),則該字符是數(shù)字字符,返回1;
如果字符的ASCII碼值在小寫字母a到z的ASCII碼值范圍內(nèi)或者在大寫字母A到Z的ASCII碼值范圍內(nèi),則該字符是字母字符,返回1;
否則返回0,表示該字符既不是字母字符也不是數(shù)字字符。


判斷是否為空格字符:

int my_space(char ch)
{
    if ((ch >='\t'&&ch <= '\n') || (ch == ' '))
        return 1;
    else
        return 0;
}

函數(shù)名為my_space,作用是判斷一個(gè)字符是否為空格或者制表符。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是空格或者制表符則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,如果字符的ASCII碼值在水平制表符(\t)到換行符(\n)的ASCII碼值范圍內(nèi),或者該字符是空格(ASCII碼值為32),則該字符是空格或者制表符,返回1;
否則,該字符不是空格或者制表符,返回0。


判斷是否為控制字符:

int my_cntrl(char ch)
{
    if((ch>='\0'&&ch<='\x1F')||(ch=='\x7F'))
        return 1;
    else
        return 0;
}

函數(shù)名為my_cntrl,作用是判斷一個(gè)字符是否為控制字符。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是控制字符則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,如果該字符的ASCII碼值在0到31之間(包括0和31),或者等于127(DEL字符),則認(rèn)為該字符是控制字符,返回1;否則返回0。


判斷是否為可打印字符:

int my_isprint(char ch)
{
    if(ch>=' '&&ch<='~')
        return 1;
    else
        return 0;
}

函數(shù)名為my_isprint,作用是判斷一個(gè)字符是否為可打印字符。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是可打印字符則返回1,否則返回0。

該函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,ASCII碼值在32~126之間的字符被視為可打印字符。

如果字符的ASCII碼值在這個(gè)范圍內(nèi),即該字符是可打印字符,則函數(shù)返回1;

否則,即該字符不是可打印字符,則函數(shù)返回0。


判斷是否為標(biāo)點(diǎn)符號(hào)字符:

int my_punct(char ch)
{
    if((ch>='!'&&ch<='/')||(ch>=':'&&ch<='@')||(ch>='['&&ch<='`')||(ch>='{'&&ch<='~'))
        return 1;
    else
        return 0;
}

函數(shù)名為my_punct,作用是判斷一個(gè)字符是否為標(biāo)點(diǎn)符號(hào)。

函數(shù)接受一個(gè)字符類型的參數(shù)ch,返回一個(gè)整型值,如果該字符是標(biāo)點(diǎn)符號(hào)則返回1,否則返回0。

函數(shù)的實(shí)現(xiàn)是通過(guò)判斷字符的ASCII碼值,如果該字符是ASCII碼表中四個(gè)范圍內(nèi)的字符之一,則返回1,否則返回0。

具體來(lái)說(shuō),這個(gè)函數(shù)會(huì)判斷字符是否在以下四個(gè)范圍內(nèi):

  • ASCII碼表中的感嘆號(hào)到斜杠之間的字符,即'!'到'/';
  • ASCII碼表中的冒號(hào)到@之間的字符,即':'到'@';
  • ASCII碼表中的左方括號(hào)到反引號(hào)之間的字符,即'['到'`';
  • ASCII碼表中的左花括號(hào)到波浪號(hào)之間的字符,即'{'到'~'。

如果字符屬于以上任意一個(gè)范圍,則說(shuō)明它是標(biāo)點(diǎn)符號(hào),函數(shù)返回1;否則返回0。


結(jié)語(yǔ)

希望這篇字符類型的三種判斷方法的介紹到能對(duì)大家有所幫助,歡迎大佬們留言或私信與我交流.

學(xué)海漫浩浩,我亦是行人!大家一起學(xué)習(xí),一起進(jìn)步!

相關(guān)內(nèi)容推薦:

【C語(yǔ)言】字母轉(zhuǎn)換大小寫的三種方法

【C語(yǔ)言】qsort()函數(shù)詳解:能給萬(wàn)物排序的神奇函數(shù)

【C語(yǔ)言】整形數(shù)據(jù)和浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)

【C語(yǔ)言】結(jié)構(gòu)體的大小是如何計(jì)算的(結(jié)構(gòu)體對(duì)齊)


c語(yǔ)言判斷字符類型,C語(yǔ)言,c語(yǔ)言,開(kāi)發(fā)語(yǔ)言,學(xué)習(xí),筆記,字符串,字符文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-735596.html


到了這里,關(guān)于【C語(yǔ)言】判斷字符類型的三種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • C++中求string類型字符串長(zhǎng)度的三種方法

    C++中求string類型字符串長(zhǎng)度的三種方法

    length()函數(shù)是string的內(nèi)置成員方,用于返回string類型字符串的實(shí)際長(zhǎng)度。 length()函數(shù)聲明: // 返回 string 長(zhǎng)度,單位字節(jié) size_t length() const noexcept; 示例1: size()函數(shù)與length()一樣,沒(méi)有本質(zhì)區(qū)別。string類剛開(kāi)始只有l(wèi)ength()函數(shù),延續(xù)了C語(yǔ)言的風(fēng)格。引入STL之后,為了兼容又加入

    2024年02月07日
    瀏覽(27)
  • C語(yǔ)言判斷一個(gè)數(shù)是否為素?cái)?shù)的三種方法(詳細(xì))

    ? ? ? ???今天我們來(lái)使用C語(yǔ)言來(lái)實(shí)現(xiàn)判斷一個(gè)數(shù)是否為素?cái)?shù),首先我們需要了解到素?cái)?shù)的概念,素?cái)?shù)就是只能被1和它本身整除的數(shù)。 ??? ? ? ? ? 這是第一種代碼,我們來(lái)分析一下,首先創(chuàng)建變量i和n,這里我們i用于循環(huán),n用來(lái)存放我們輸入的數(shù)字。之后我們?cè)O(shè)置一個(gè)

    2024年04月25日
    瀏覽(21)
  • C語(yǔ)言if判斷語(yǔ)句的三種用法

    C語(yǔ)言if判斷語(yǔ)句的三種用法

    一個(gè) if 語(yǔ)句 由一個(gè)布爾表達(dá)式后跟一個(gè)或多個(gè)語(yǔ)句組成。 C 語(yǔ)言中 if 語(yǔ)句的語(yǔ)法: 如果布爾表達(dá)式為 true,則 if 語(yǔ)句內(nèi)的代碼塊將被執(zhí)行。如果布爾表達(dá)式為 false,則 if 語(yǔ)句結(jié)束后的第一組代碼(閉括號(hào)后)將被執(zhí)行。 C 語(yǔ)言把任何非零和非空的值假定為 true,把零或 n

    2024年02月06日
    瀏覽(29)
  • 使用java判斷質(zhì)數(shù)的三種方法

    方法一:質(zhì)數(shù)只能被1和它本身整除 ?方法二:一個(gè)數(shù)總能寫成“n = a * b”的形式,a和b之間一定有一個(gè)數(shù)不大于n/2 ?方法三:每一個(gè)整數(shù)都可以看做由兩個(gè)數(shù)相乘得到,且每個(gè)乘數(shù)不大于原整數(shù)的平方根 ?

    2024年02月13日
    瀏覽(19)
  • Python 判斷列表里是否有重復(fù)元素的三種方法

    一、用 set 方法去重后與原列表長(zhǎng)度比較 二、用 append 的方式把原列表中的元素添加到一個(gè)新列表,確保新列表里不存在重復(fù)的元素,然后比較兩個(gè)列表 三、用 fromkeys 的方法創(chuàng)建一個(gè)字典,因?yàn)樽值涞逆I會(huì)自動(dòng)去重,所以可以比較字典和原列表的長(zhǎng)度,跟方法一很像

    2024年02月11日
    瀏覽(24)
  • C語(yǔ)言——字符串、打印字符串的三種方式

    C語(yǔ)言——字符串、打印字符串的三種方式

    字符串( character string )是一個(gè)或多個(gè)字符的序列,空字符( null character )\\0 標(biāo)記字符串的結(jié)束 字符串以數(shù)組( array )存儲(chǔ),也就是以空字符(\\0)結(jié)尾的 char 類型數(shù)組 用 %s 轉(zhuǎn)換說(shuō)明來(lái)處理字符串的輸入和輸出 輸入和輸出必須給出字符串的首地址,可以 直接是字符串常量

    2024年02月11日
    瀏覽(21)
  • JavaScript刪除字符串最后一個(gè)字符的三種方法

    JavaScript刪除字符串最后一個(gè)字符的三種方法 在JavaScript中,我們經(jīng)常需要操作字符串。有時(shí)候,我們可能需要?jiǎng)h除字符串的最后一個(gè)字符。下面將介紹三種常見(jiàn)的方法來(lái)實(shí)現(xiàn)這個(gè)目標(biāo)。 方法一:使用 slice 函數(shù) slice 函數(shù)是JavaScript中一個(gè)常用的字符串方法,它可以返回一個(gè)新的

    2024年02月08日
    瀏覽(23)
  • 【Python】判斷素?cái)?shù)的三種方法以及for-else語(yǔ)句的介紹

    【Python】判斷素?cái)?shù)的三種方法以及for-else語(yǔ)句的介紹

    ? 輸入一個(gè)數(shù),如果是素?cái)?shù)就輸出\\\"Yes\\\",否則輸出\\\"No\\\" 自定義函數(shù) is_prime() ,首先排除1,然后再對(duì)該數(shù)之前的數(shù)進(jìn)行枚舉,當(dāng)遇到能被當(dāng)前的數(shù)整除時(shí)返回False,若沒(méi)有數(shù)能將其整除意味著這個(gè)數(shù)是素?cái)?shù),返回True。然后對(duì)返回的結(jié)果進(jìn)行判斷從而輸出\\\"Yes\\\"或\\\"No\\\" 當(dāng)然,我們可以

    2024年02月04日
    瀏覽(19)
  • C#異步方法async/await的三種返回類型

    有群友問(wèn)C#異步方法async返回值Task和void的區(qū)別?看似簡(jiǎn)單,但不容易把它們用好。在C#中的異步編程已經(jīng)成為現(xiàn)代編程的標(biāo)配,異步方法(async/await)是實(shí)現(xiàn)異步編程的一種常用方式。在異步方法中,可以使用 Task 或 void 作為返回類型,還可以使用ValueTask返回類型。本文將介紹

    2024年02月04日
    瀏覽(24)
  • 計(jì)算字符串長(zhǎng)度的三種方法(庫(kù)函數(shù) 指針 )【詳解】

    計(jì)算字符串長(zhǎng)度的三種方法(庫(kù)函數(shù) 指針 )【詳解】

    求字符串長(zhǎng)度簡(jiǎn)單來(lái)說(shuō)就是計(jì)算一個(gè)字符串(字符數(shù)組)中元素的個(gè)數(shù)即從數(shù)組頭部計(jì)數(shù),直到遇到字符串’\\0’結(jié)束符為止, 計(jì)數(shù)結(jié)果不包括’\\0’. C語(yǔ)言中的庫(kù)函數(shù)strlen,它包含于string.h中,因此我們需要在使用前添加頭文件 ,具體用法如下: strlen從數(shù)組頭部計(jì)數(shù),直到遇到字

    2024年02月06日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包