C語言字符型char和整型int的關係和示例

1、字符就是整數

字符和整數沒有本質的區別。可以給 char變量一個字符,也可以給它一個整數;反過來,可以給 int變量一個整數,也可以給它一個字符。

char 變量在內存中存儲的是字符對應的 ASCII 碼值。如果以 %c 輸出,會根據 ASCII碼錶轉換成對應的字符,如果以 %d 輸出,那麼還是整數。

int 變量在內存中存儲的是整數本身,如果以 %c 輸出時,也會根據 ASCII碼錶轉換成對應的字符。

也就是說,ASCII 碼錶將整數和字符關聯起來了。

char類型佔內存一個字節,signed char取值範圍是-128-127,unsigned char取值範圍是0-255。

如果整數大於255,那麼整數還是字符嗎?

描述再準確一些,在char的取值範圍內(0-255),字符和整數沒有本質區別。

字符肯定是整數,0-255範圍內的整數是字符,大於255的整數不是字符。

示例

/*
 * 程序名:book68.c,此程序演示字符與整數的關係
 * 作者:C語言技術網(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
  char a =  'E';
  char b =  70;
  int  c =  71;
  int  d = 'H';

  printf("a=%c, a=%d\n", a, a);
  printf("b=%c, b=%d\n", b, b);
  printf("c=%c, c=%d\n", c, c);
  printf("d=%c, d=%d\n", d, d);
}

運行效果
在這裏插入圖片描述

在ASCII碼錶中,E、F、G、H 的值分別是 69、70、71、72。

2、爲什麼C語言需要字符類型

既然char的本質是整數,那C語言中爲什麼還需要char類型呢?

因爲字符的個數不多,而char型變量佔用的存儲空間比int型變量小,所以用char型變量表示字符,爲編程帶來了方便。

3、版權聲明

C語言技術網原創文章,轉載請說明文章的來源、作者和原文的鏈接。

來源:C語言技術網(www.freecplus.net

作者:碼農有道

如果這篇文章對您有幫助,請點贊支持,或在您的博客中轉發此文,讓更多的人可以看到它,謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章