亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言字符函數(shù)中的isalnum()和iscntrl()你都知道嗎

 更新時間:2022年02月18日 15:41:48   作者:嵌入式@hxydj  
這篇文章主要為大家詳細(xì)介紹了C語言字符函數(shù)中的isalnum()和iscntrl(),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

isalnum() 函數(shù)用于檢查所傳的字符是否是字母或者十進制數(shù)字。它的函數(shù)原型如下:

  _CRTIMP int __cdecl isalnum(int _C);

返回值為非零(真)表示參數(shù)c是字母或者十進制數(shù)字,返回值為零(假)表示參數(shù)c既不是十進制數(shù)字,也不是字母。

下面通過一個簡單的例子來演示它的用法。

#include <stdio.h>
#include <ctype.h>
int main()
{
   int var1 = 'a';
   int var2 = '8';
   int var3 = '\t';
   int var4 = ' ';
   if( isalnum(var1) )
   {
      printf("var1 = |%c| 是字母數(shù)字\n", var1 );
   }
   else
   {
      printf("var1 = |%c| 不是字母數(shù)字\n", var1 );
   }
   if( isalnum(var2) )
   {
      printf("var2 = |%c| 是字母數(shù)字\n", var2 );
   }
   else
   {
      printf("var2 = |%c| 不是字母數(shù)字\n", var2 );
   }
   if( isalnum(var3) )
   {
      printf("var3 = |%c| 是字母數(shù)字\n", var3 );
   }
   else
   {
      printf("var3 = |%c| 不是字母數(shù)字\n", var3 );
   }
   if( isalnum(var4) )
   {
      printf("var4 = |%c| 是字母數(shù)字\n", var4 );
   }
   else
   {
      printf("var4 = |%c| 不是字母數(shù)字\n", var4 );
   }
   return(0);
}

分別定義4個變量,一個字母,一個數(shù)字,一個制表符,一個空字符,輸出結(jié)果如下:

image.png

前兩個變量返回值為真,后兩個變量返回值為假。

isalnum() 函數(shù)可以同時檢測字母或者數(shù)字,如果要單獨檢測字母或者數(shù)字的的話,庫函數(shù)中還提供了專門的檢測函數(shù)isalpha 和 isdigit,他們的函數(shù)原型如下:

  _CRTIMP int __cdecl isalpha(int _C);
  _CRTIMP int __cdecl isdigit(int _C);

將上面代碼中的函數(shù)替換為這兩個函數(shù)。

#include <stdio.h>
#include <ctype.h>
int main()
{
   int var1 = 'a';
   int var2 = '8';
   if( isalpha(var1) )
   {
      printf("var1 = |%c| 是字母\n", var1 );
   }
   else
   {
      printf("var1 = |%c| 不是字母\n", var1 );
   }
   
   if( isdigit(var2) )
   {
      printf("var2 = |%c| 是數(shù)字\n", var2 );
   }
   else
   {
      printf("var2 = |%c| 不是數(shù)字\n", var2 );
   }
   return(0);
}

運行結(jié)果如下:

image.png

C語言標(biāo)準(zhǔn)庫里面還提供了控制字符檢測函數(shù)iscntrl

所謂 “控制字符”是指那些具有某種特殊功能、不會顯示在屏幕上、不會占用字符位置的特殊字符。在ASCII碼表中,前32個字符就是控制字符。

image.png

控制字符檢測函數(shù)iscntrl原型如下:

     _CRTIMP int __cdecl iscntrl(int _C);

如果 c 是一個控制字符,則該函數(shù)返回非零值,否則返回 0。

下面通過一段簡單的代碼演示它的用法。

#include <stdio.h>
#include <ctype.h>
int main()
{
   int i = 0, j = 0;
   char str1[] = "abc \a def \t gh";
   char str2[] = "123 \n 456";
   /* 輸出字符串,直到控制字符 \a */
   while( !iscntrl(str1[i]) ) 
   {
      putchar(str1[i]);
      i++;
   }
   /* 輸出字符串,直到控制字符 \n */
   while( !iscntrl(str2[j]) ) 
   {
      putchar(str2[j]);
      j++;
   }
   return(0);
}

定義兩個字符串,中間有控制字符,然后打印字符串的時候檢測字符是否為控制字符,如果是控制字符就結(jié)束打印。輸出結(jié)果如下:

image.png

同輸出結(jié)果可以看到只打印了控制符前面的字符。

與控制字符相對的就是可打印字符,可打印字符是指那些會顯示在屏幕上、會占用字符位置的“普通”字符。在ASCII碼表中編碼32-127的字符都是可打印字符??纱蛴∽址褪墙?jīng)常用到的數(shù)字、字母、符號等這些在屏幕上可以看見的字符。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!     

相關(guān)文章

  • opencv3/C++輪廓的提取與篩選方式

    opencv3/C++輪廓的提取與篩選方式

    今天小編就為大家分享一篇opencv3/C++輪廓的提取與篩選方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 詳解C++11 變參模板

    詳解C++11 變參模板

    這篇文章主要介紹了C++11 變參模板的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++11,感興趣的朋友可以了解下
    2020-08-08
  • C語言數(shù)據(jù)結(jié)構(gòu)二叉樹簡單應(yīng)用

    C語言數(shù)據(jù)結(jié)構(gòu)二叉樹簡單應(yīng)用

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)二叉樹簡單應(yīng)用的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • opencv3/C++關(guān)于移動對象的輪廓的跟蹤詳解

    opencv3/C++關(guān)于移動對象的輪廓的跟蹤詳解

    今天小編就為大家分享一篇opencv3/C++關(guān)于移動對象的輪廓的跟蹤詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 怎么通過C語言自動生成MAC地址

    怎么通過C語言自動生成MAC地址

    以下是對使用C語言自動生成MAC地址的實現(xiàn)代碼進行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-09-09
  • 基于C語言實現(xiàn)點餐系統(tǒng)

    基于C語言實現(xiàn)點餐系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了基于C語言實現(xiàn)點餐系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • c語言實現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過程

    c語言實現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過程

    這篇文章主要介紹了c語言實現(xiàn)從源文件從文本到可執(zhí)行文件經(jīng)歷的過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C++異步操作future和aysnc與function和bind

    C++異步操作future和aysnc與function和bind

    這篇文章主要介紹了C++異步操作future和aysnc與function和bind,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • c++ class中成員與分配內(nèi)存的問題詳解

    c++ class中成員與分配內(nèi)存的問題詳解

    很多人都知道C++類是由結(jié)構(gòu)體發(fā)展得來的,所以他們的成員變量(C語言的結(jié)構(gòu)體只有成員變量)的內(nèi)存分配機制是一樣的,下面這篇文章主要給大家介紹了關(guān)于c++ class中成員與分配內(nèi)存問題的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 用C語言實現(xiàn)計算器功能

    用C語言實現(xiàn)計算器功能

    這篇文章主要為大家詳細(xì)介紹了用C語言實現(xiàn)計算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評論