欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解C語言中的char數(shù)據(jù)類型及其與int類型的轉(zhuǎn)換

 更新時(shí)間:2015年08月17日 16:24:32   作者:低調(diào)小一  
這篇文章主要介紹了詳解C語言中的char數(shù)據(jù)類型及其與int類型的轉(zhuǎn)換,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

C語言中的char變量

char是C/C++整型數(shù)據(jù)中比較古怪的一個(gè),其它的如int/long/short等不指定signed/unsigned時(shí)都默認(rèn)是signed。雖然char在標(biāo)準(zhǔn)中是unsigned(因?yàn)閏har類型提出的初衷是用來表示ascii碼,ascii碼的范圍是0~127),但實(shí)際情況中究竟是signed還是unsigned取決于編譯器。
可通過下面程序判斷編譯器的默認(rèn)char類型:

void char_type()
{
 char c=0xFF;
 if(c==-1)
  printf("signed");
 elseif(c==255)
  printf("unsigned");
 else
  printf("error!");
}

當(dāng)你不確定編譯器的默認(rèn)char類型時(shí),就用顯示聲明:signed char和unsigned char;

在C/C++語言中,char變量為一個(gè)字節(jié),8位,signed char表示的范圍:-128~127【-128在內(nèi)存中的二進(jìn)制表示為1000 0000,127在內(nèi)存中的表示為0111 1111】;unsign char表示的范圍:0000 0000~1111 1111,即0~255;

注意:整數(shù)在內(nèi)存中是以補(bǔ)碼存取的,正數(shù)的補(bǔ)碼:等于自己,負(fù)數(shù)的補(bǔ)碼:取反加1,例如:127在內(nèi)存中表示為0111 1111, -127在內(nèi)存中表示為~(0111 1111)+1=1000 0001; 假定某內(nèi)存單元p的內(nèi)容是1111 1111,那么它一定是255嗎?實(shí)際上取決于你的代碼是要把它看成有符號(hào)還是無符號(hào)數(shù),如果是無符號(hào)則表示255,如果是有符號(hào)則表示-1【對(duì)于有符號(hào)數(shù),最高位為符號(hào)位,1表示負(fù),0表示正】:

signed char c=*p; //c=-1
unsigned char c=*p;//c=255

這也解釋了上面這段代碼能判斷編譯器默認(rèn)char類型。

char型數(shù)字轉(zhuǎn)換為int型
轉(zhuǎn)換方法

 a[i] - '0' 


參考程序

 #include <stdio.h> 
 #include <stdlib.h> 
 #include <string.h> 
  
 int main() 
 { 
  char str[10]; 
  int i, len; 
  
  while(scanf("%s", str) != EOF) 
  { 
   for(i = 0, len = strlen(str); i < len; i++) 
   { 
    printf("%d", str[i] - '0'); 
   } 
   printf("\n"); 
  } 
  
  return 0; 
 } 


int類型轉(zhuǎn)化為char類型

轉(zhuǎn)換方法

 a[i] + '0' 


參考程序

 

 #include <stdio.h> 
 #include <stdlib.h> 
 #include <string.h> 
  
 int main() 
 { 
  int number, i; 
  char str[10]; 
  
  while(scanf("%d", &number) != EOF) 
  { 
   memset(str, 0, sizeof(str)); 
   
   i = 0; 
   while(number) 
   { 
    str[i ++] = number % 10 + '0'; 
    number /= 10; 
   }   
   puts(str);  
  } 
  
  return 0; 
 } 

相關(guān)文章

  • 基于C++編寫一個(gè)文章生成器

    基于C++編寫一個(gè)文章生成器

    這篇文章主要為大家介紹一個(gè)有趣的小程序,就是利用C++編寫一個(gè)文章生成器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下
    2023-03-03
  • C++ 遍歷某個(gè)文件夾下所有文件的方法步驟

    C++ 遍歷某個(gè)文件夾下所有文件的方法步驟

    這篇文章主要介紹了C++ 遍歷某個(gè)文件夾下所有文件的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Qt常用容器類的使用

    Qt常用容器類的使用

    本文主要介紹了Qt常用容器類的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 詳解C++ 前置聲明

    詳解C++ 前置聲明

    這篇文章主要介紹了C++ 前置聲明的相關(guān)資料,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2020-09-09
  • 如何用C寫一個(gè)web服務(wù)器之CGI協(xié)議

    如何用C寫一個(gè)web服務(wù)器之CGI協(xié)議

    本文主要介紹了如何用C寫一個(gè)web服務(wù)器之CGI協(xié)議,對(duì)C語言和web感興趣的同學(xué),可以詳細(xì)看下,并且試驗(yàn)一下。
    2021-05-05
  • C/C++中關(guān)于字符串的常見函數(shù)操作大全

    C/C++中關(guān)于字符串的常見函數(shù)操作大全

    這篇文章主要介紹了C/C++中關(guān)于字符串的常見函數(shù)操作,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03
  • Qt基礎(chǔ)開發(fā)之Qt文件操作類QFile讀寫文件的詳細(xì)方法與實(shí)例及QDataStream的使用方法

    Qt基礎(chǔ)開發(fā)之Qt文件操作類QFile讀寫文件的詳細(xì)方法與實(shí)例及QDataStream的使用方法

    這篇文章主要介紹了Qt基礎(chǔ)開發(fā)之Qt文件操作類QFile讀寫文件的詳細(xì)方法與實(shí)例,需要的朋友可以參考下
    2020-03-03
  • C++11之后的decltype類型指示符詳解

    C++11之后的decltype類型指示符詳解

    為了滿足這一要求,C++11?新標(biāo)準(zhǔn)引入了另一種類型說明符?decltype?,它的作用是選擇并返回操作數(shù)的數(shù)據(jù)類型,這篇文章主要介紹了C++11之后的decltype類型指示符,需要的朋友可以參考下
    2023-01-01
  • C語言計(jì)算大數(shù)相加的方法

    C語言計(jì)算大數(shù)相加的方法

    這篇文章主要為大家詳細(xì)介紹了C語言計(jì)算大數(shù)相加的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C語言之快速排序案例詳解

    C語言之快速排序案例詳解

    這篇文章主要介紹了C語言之快速排序案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論