C語(yǔ)言中的字符(char)詳細(xì)講解
1.字符型(char)簡(jiǎn)介 字符型(char)用于儲(chǔ)存字符(character),如英文字母或標(biāo)點(diǎn)。
嚴(yán)格來(lái)說(shuō),char 其實(shí)也是整數(shù)類型(integer type),因?yàn)?char 類型儲(chǔ)存的實(shí)際上是整數(shù),而不是字符。
計(jì)算機(jī)使用特定的整數(shù)編碼來(lái)表示特定的字符。
2. 聲明字符型變量
3. 字符常量與初始化
實(shí)例:
用 char 類型來(lái)專門表示一個(gè)字符,例如:
char a='1'; char b='$'; char c='X'; char d=' '; // 空格也是一個(gè)字符 char e='\63'; //也可以使用轉(zhuǎn)義字符的形式
char 稱為字符類型,只能用單引號(hào)' '來(lái)包圍,不能用雙引號(hào)" "包圍。而字符串只能用雙引號(hào)" "包圍,不能用單引號(hào)' '包圍。
輸出字符使用 %c,輸出字符串使用 %s。
字符與整數(shù)
先看下面一段代碼:
#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; }
輸出結(jié)果:
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。
字符和整數(shù)沒(méi)有本質(zhì)的區(qū)別??梢越o char 變量一個(gè)字符,也可以給它一個(gè)整數(shù);反過(guò)來(lái),可以給 int 變量一個(gè)整數(shù),也可以給
它一個(gè)字符。
char 變量在內(nèi)存中存儲(chǔ)的是字符對(duì)應(yīng)的 ASCII 碼值。如果以 %c 輸出,會(huì)根據(jù) ASCII 碼表轉(zhuǎn)換成對(duì)應(yīng)的字符;如果以 %d 輸
出,那么還是整數(shù)。
int 變量在內(nèi)存中存儲(chǔ)的是整數(shù)本身,當(dāng)以 %c 輸出時(shí),也會(huì)根據(jù) ASCII 碼表轉(zhuǎn)換成對(duì)應(yīng)的字符。
也就是說(shuō),ASCII 碼表將整數(shù)和字符關(guān)聯(lián)起來(lái)了。不明白的讀者請(qǐng)重溫《ASCII編碼與Unicode編碼》一文,并猛擊這里查看整
數(shù)與字符的完整對(duì)應(yīng)關(guān)系。
字符串
C語(yǔ)言中沒(méi)有字符串類型,只能使用間接的方法來(lái)表示??梢越柚旅娴男问綄⒆址x值給變量:
char *variableName = "string";
char和*是固定的形式,variableNmae 為變量名稱,"string" 是要賦值的字符串。
由于大家的基礎(chǔ)還不夠,這里暫時(shí)不深入探討,大家暫時(shí)記住即可,我們會(huì)在《C語(yǔ)言指針》一節(jié)中詳細(xì)介紹。
字符串使用示例:
#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; }
運(yùn)行結(jié)果:
char: @
string1: This is a string.
string2: This is another string.
以上就是對(duì)C語(yǔ)言字符(char)的資料整理,希望對(duì)學(xué)習(xí) C語(yǔ)言的朋友有所幫助。
相關(guān)文章
正確理解C++的構(gòu)造函數(shù)和析構(gòu)函數(shù)
在C++的學(xué)習(xí)中,可以把類當(dāng)作一個(gè)模具,類實(shí)例化出來(lái)的對(duì)象就是根據(jù)這個(gè)模具所產(chǎn)生的實(shí)體,對(duì)象看作是自己創(chuàng)建的一個(gè)新的數(shù)據(jù)類型。本文主要介紹了類對(duì)象通過(guò)拷貝函數(shù)進(jìn)行初始化,分析類對(duì)象的內(nèi)存模型,以及通過(guò)this指針實(shí)現(xiàn)更復(fù)雜的功能。最后介紹了析構(gòu)函數(shù)的基礎(chǔ)知識(shí)2021-06-06C語(yǔ)言 風(fēng)靡一時(shí)的黃金礦工游戲?qū)崿F(xiàn)流程詳解
《黃金礦工》是一款非常經(jīng)典的游戲。在游戲中,玩家通過(guò)不斷挖礦,獲取金子,最終能夠闖入下一關(guān)。在這個(gè)過(guò)程中,會(huì)不斷有巖石、煙霧、老鼠來(lái)?yè)v亂,甚至還會(huì)出現(xiàn)扛著炸藥包的小老鼠,玩家必須戰(zhàn)勝它們,才能進(jìn)入更深的礦坑2021-11-11C語(yǔ)言中一些將字符串轉(zhuǎn)換為數(shù)字的函數(shù)小結(jié)
這篇文章主要介紹了C語(yǔ)言中一些將字符串轉(zhuǎn)換為數(shù)字的函數(shù)小結(jié),分別為atoi()函數(shù)和atol()函數(shù)以及atof()函數(shù),需要的朋友可以參考下2015-08-08C++類靜態(tài)成員與類靜態(tài)成員函數(shù)詳解
靜態(tài)成員不可在類體內(nèi)進(jìn)行賦值,因?yàn)樗潜凰性擃惖膶?duì)象所共享的。你在一個(gè)對(duì)象里給它賦值,其他對(duì)象里的該成員也會(huì)發(fā)生變化。為了避免混亂,所以不可在類體內(nèi)進(jìn)行賦值2013-09-09使用C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)數(shù)組Vector
這篇文章主要為大家詳細(xì)介紹了使用C語(yǔ)言實(shí)現(xiàn)動(dòng)態(tài)數(shù)組Vector的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01一盤王者的時(shí)間用C語(yǔ)言實(shí)現(xiàn)三子棋
相信我們都玩過(guò)三子棋,規(guī)則很簡(jiǎn)單,但想用c語(yǔ)言做出這個(gè)游戲,事實(shí)上也是比較簡(jiǎn)單的,下面通過(guò)c語(yǔ)言進(jìn)行對(duì)五子棋的分析2022-02-02