程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> C語言中的字符(char)

C語言中的字符(char)

編輯:C語言基礎知識
我們在《C語言在屏幕上顯示內容》和《C語言轉義字符》中提到了字符串,它是多個字符的集合,例如 "abc123"、"123\141\142\143";當然也可以只包含一個字符,例如 "a"、"1"、"\63"。

不過為了使用方便,我們可以用 char 類型來專門表示一個字符,例如:
char a='1';
char b='$';
char c='X';
char d=' ';  // 空格也是一個字符
char e='\63';  //也可以使用轉義字符的形式
char 稱為字符類型,只能用單引號' '來包圍,不能用雙引號" "包圍。而字符串只能用雙引號" "包圍,不能用單引號' '包圍。

輸出字符使用 %c,輸出字符串使用 %s。

在《C語言轉義字符》中講到的轉義字符是一種特殊字符,讀者可以結合本節再回憶一下。

字符與整數

先看下面一段代碼:
#include <stdio.h>
#include <stdlib.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);

    system("pause");
    return 0;
}
輸出結果:
a=E, a=69
b=F, b=70
c=G, c=71
d=H, d=72

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

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

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

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

也就是說,ASCII 碼表將整數和字符關聯起來了。不明白的讀者請重溫《ASCII編碼與Unicode編碼》一文,並猛擊這裡查看整數與字符的完整對應關系。

字符串

C語言中沒有字符串類型,只能使用間接的方法來表示。可以借助下面的形式將字符串賦值給變量:
char *variableName = "string";
char*是固定的形式,variableNmae 為變量名稱,"string" 是要賦值的字符串。
由於大家的基礎還不夠,這裡暫時不深入探討,大家暫時記住即可,我們會在《C語言指針》一節中詳細介紹。
字符串使用示例:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    char c = '@';
    char *str = "This is a string.";
    printf("char: %c\n", c);
    printf("string1: %s\n", str);
    //也可以直接輸出字符串
    printf("string2: %s\n", "This is another string.");

    system("pause");
    return 0;
}
運行結果:
char: @
string1: This is a string.
string2: This is another string.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved