#includestdio。h
都勻網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
intmain()
{
inti;
charc;//定義一個char類型的變量。
c='a';//賦值
for(i=0;i26;i++){
printf(“%c”,c);//輸出一個字符用%c,
c++;//charc增加1,依次可以得到:abcdef。。。。z
}
printf(“\n”);
if(c='z')
printf(“stillasmallletter。\n”);
else
printf(“Notasmallletter。\n”);
scanf(“%c”,c);//輸入一個字符到c中。
charstr[10]=“AString”;//定義一個字符數(shù)組,它的初值是“AString”
for(i=0;str[i]!='\0';i++);//計算str的長度。
printf(“Thelengthofstris:%d\n”,i);
}
擴(kuò)展資料
1、聲明字符型變量
字符型變量的聲明方式和其它類型變量的聲明方式一樣:
chargood;
charbetter,best;
以上代碼聲明了三個字符型變量:good、better,和best。
2、字符常量與初始化
可以使用以下語句來初始化字符型變量:
charch='A';
這個語句把ch的值初始化為A的編碼值。在這個語句中,'A'是字符常量。C語言中,使用單引號把字符引|起來就構(gòu)成字符常量。
C語言是計算機(jī)軟件領(lǐng)域非常經(jīng)典的編程語言,C語言中char的作用有哪些你了解嗎。下面我就跟你們詳細(xì)介紹下c語言中char的用法,希望對你們有用。
c語言中char的用法:c語言中char的用法簡介
字符型(char)用于儲存字符(character),如英文字母或標(biāo)點。嚴(yán)格來說,char 其實也是整數(shù)類型(integer type),因為 char 類型儲存的實際上是整數(shù),而不是字符。計算機(jī)使用特定的整數(shù)編碼來表示特定的字符。美國普遍使用的編碼是 ASCII(American Standard Code for Information Interchange 美國信息交換標(biāo)準(zhǔn)編碼)。例如:ASCII 使用 65 來代表大寫字母 A,因此存儲字母 A 實際上存儲的是整數(shù)65。注意:許多IBM大型機(jī)使用另一種編碼--EBCDIC(Extended Binary-Coded Decimal Interchange Code 擴(kuò)充的二進(jìn)制編碼的十進(jìn)制交換碼);不同國家的計算機(jī)使用的編碼可能完全不同。
ASCII 的范圍是 0 到 127,故而 7 位(bit)就足以表示全部 ASCII。char 一般占用 8 位內(nèi)存單元,表示ASCII綽綽有余。許多系統(tǒng)都提供擴(kuò)展ASCII(Extended ASCII),并且所需空間仍然在 8 位以內(nèi)。注意,不同的系統(tǒng)提供的擴(kuò)展 ASCII 的編碼方式可能有所不同!
許多字符集超出了 8 位所能表示的范圍(例如漢字字符集),使用這種字符集作為基本字符集的系統(tǒng)中,char 可能是 16 位的,甚至可能是 32 位的??傊珻 保證 char 占用空間的大小足以儲存系統(tǒng)所用的基本字符集的編碼。C 語言定義一個字節(jié)(byte)的位數(shù)為 char 的位數(shù),所以一個字節(jié)可能是 16 位,也可能是 32 位,而不僅僅限于 8 位。
c語言中char的用法: 聲明字符型變量
字符型變量的聲明方式和 其它 類型變量的聲明方式一樣:
char good;
char better, best;
以上代碼聲明了三個字符型變量:good、better,和 best。
c語言中char的用法:字符常量與初始化
我們可以使用以下語句來初始化字符型變量:
charch = 'A';
這個語句把ch的值初始化為 A 的編碼值。在這個語句中,'A' 是字符常量。C 語言中,使用單引號把字符引起來就構(gòu)成字符常量。我們來看另外一個例子:
char fail; /* 聲明一個字符型變量 */
fail = 'F'; /* 正確 */
fail = "F"; /* 錯!"F" 是字符串字面量 */
把字符用雙引號引起來構(gòu)成字符串字面量,所以第三個語句是錯誤的。我們會在后續(xù)的教程中討論字符串,現(xiàn)在暫且把它放下。
因為字符實質(zhì)上是以數(shù)字的形式存儲的,所以我們可以直接使用數(shù)字來初始化字符變量,或者給字符變量賦值:
char ch = 65; /* 不好的風(fēng)格 */
在 ASCII 中,A 的編碼是 65,所以對于使用 ASCII 的系統(tǒng)來說,這個語句等同于 char ch = 'A';。使用非 ASCII 的系統(tǒng)中,65 代表的不一定是 A,而有可能是其它任何字符,所以使用數(shù)字來初始化字符變量,或者給字符變量賦值是一種不好的風(fēng)格,因為移植性太差了!但是,使用字符常量(例如 'A')來初始化字符變量,或者給字符變量賦值,字符變量得到的一定是我們所期待的字符的編碼值。例如:
charch = 'A';
無論在使用任何編碼的系統(tǒng)中,ch都能夠得到字符 A 所對應(yīng)的編碼值。這是因為編譯器會自動把 'A' 轉(zhuǎn)化成 A 所對應(yīng)的編碼值。因此,我們應(yīng)該使用字符常量來初始化字符變量,或者給字符變量賦值;而不要用數(shù)字。
有趣的是,C 使用int類型來處理字符常量,而不是 char 類型。例如,在使用32位int的ASCII 系統(tǒng)中,以下代碼
charch = 'C';
'C' 的編碼值 67 被存儲于 32 位的內(nèi)存單元中;不過ch仍然存儲于 8 位的內(nèi)存單元中,只是它的值變成了 67。因此,我們可以定義形如 'good' 的古怪字符常量。因為每個字符的編碼值占用 8 位的內(nèi)存單元,所以這個常量剛好可以存儲于 32 位的內(nèi)存單元。然而,用這種字符常量初始化字符變量,或者給字符變量賦值的話,導(dǎo)致的結(jié)果是,字符變量只能得到字符常量的最后 8 位。也就是說,以下代碼
charch = 'good';
ch得到的是 'd' 的值。
以后,在沒有特殊說明的情況下,我們討論的都是 ASCII。
ASCII值
控制字符 ASCII值控制字符 ASCII值控制字符 ASCII值控制字符
0 NUL 32 (space) 64 @ 96 `
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 ?$ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 70 F 102 f
7 BEL 39 ' 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DC1 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 ETB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 92 \ 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 94 ^ 126 ~
31 US 63 ? 95 _ 127 DEL
NUL 空字符 VT 垂直制表 SYN 同步
SOH 標(biāo)題開始 FF 走紙控制 ETB 信息組傳送結(jié)束
STX 正文開始 CR 回車 CAN 作廢
ETX 正文結(jié)束 SO 移位輸出 EM 媒介結(jié)束 End of Medium
EOT 傳輸結(jié)束 SI 移位輸入 SUB 換置
ENQ 詢問字符 DLE Data Link Escape ESC Escape
ACK 確認(rèn) DC1 設(shè)備控制1 FS 文件分隔符
BEL 響鈴 DC2 設(shè)備控制2 GS 組分隔符
BS 退格 DC3 設(shè)備控制3 RS 記錄分隔符
HT 橫向制表 DC4 設(shè)備控制4 US 單元分隔符
LF 換行 NAK 否定 DEL 刪除
c語言中char的用法:不可打印字符(Nonprinting Characters)
有些 ASCII 字符是不可打印的。例如退格、另起一行、警報等。C 語言提供了兩種 方法 來表示這種不可打印字符。
第一種方法是使用 ASCII 編碼。例如,ASCII 編碼中,7 用于表示警報:
char beep = 7;
第二種方法是使用特殊符號序列,也就是所謂的轉(zhuǎn)義字符escape sequences)。參見下表:(
轉(zhuǎn)義字符含義
\a 警報( Alert (ANSI C) )
\b 退格(Backspace)
\f 換頁(Form feed)
換行(Newline)
回車(Carriage return)
\t 水平制表符(Horizontal tab)
\v 垂直制表符(Vertical tab)
\\ 反斜桿( Backslash (\) )
\' 單引號( Single quote (') )
\" 雙引號( Double quote (") )
\? 問號( Question mark (?) )
\0oo 八進(jìn)制數(shù)( Octal value (o 代表一個八進(jìn)制數(shù)字) )
\xhh十六進(jìn)制數(shù)( Hexadecimal value (h 代表一個十六進(jìn)制數(shù)字) )
給變量賦值的時候,轉(zhuǎn)義字符必須使用單引號引住。例如:
charnl = ' ';
下面我們詳細(xì)學(xué)習(xí)每個轉(zhuǎn)移字符的含義。
\a(警報)是 ANSI C89 添加的,用于產(chǎn)生可聽或者可視的警報。\a 產(chǎn)生的效果取決于硬件。一般來說,輸出 \a 會產(chǎn)生鳴響。但是在某些系統(tǒng),輸出 \a 不會產(chǎn)生任何效果,或者僅僅顯示一個特殊字符。標(biāo)準(zhǔn)明確指出,\a 不應(yīng)該改變當(dāng)前活躍位置(active position)。所謂活躍位置,是指顯示設(shè)備( 顯示器 、打字機(jī)、打印機(jī)等等)顯示下一個字符的位置。以顯示器為例,活躍位置就是指光標(biāo)所處的位置,輸出 \a 不會導(dǎo)致光標(biāo)移動位置。
\b、\f、、、\t,以及 \v 都是輸出設(shè)備控制符。退格符(\b)使當(dāng)前行的活躍位置后退一個位置。換頁符(\f)使活躍位置跳到下一頁的開端。注:換頁符可用于控制打印機(jī)換頁,但不會導(dǎo)致 PC 機(jī)的顯示屏換頁。換行符()使活躍位置跳到下一行的開端?;剀嚪?)使活躍位置返回當(dāng)前行的開端。水平制表符(\t)使活躍位置移動若干個位置(通常是8個)。垂直制表符(\v)使活躍位置換若干行。注:\v可用于控制打印機(jī)換若干行,但是不會導(dǎo)致PC機(jī)的顯示屏換行。
\\、\',以及 \" 使我們可以把 \,' 和 " 用作字符常量。如果要打印以下 句子 :
"\ is called 'backslash'."
我們需要使用如下語句:
printf("\"\\ is called \'backslash\'.\"");
\0oo 和 \xhh是ASCII碼的兩種特殊表示形式。如果想用八進(jìn)制ASCII碼表示字符,可以在八進(jìn)制數(shù)前面加上 \ ,然后用單引號引起來。例如:
beep = '\007'; /* \007 代表 \a */
打頭的那些0可以省略,也就是說,寫成 '\07' 或者 '\7' 都一樣。無論有沒有打頭的0 ,7 都會被當(dāng)成八進(jìn)制數(shù)處理。
從 C89 開始,C提供了用十六進(jìn)制表示字符常量的方法:在反斜桿后面寫一個 x ,然后再寫 1 到 3 個十六進(jìn)制數(shù)字。例如:
nl = '\xa'; /* \xa代表 */
注意:使用ASCII碼時,要注意區(qū)分?jǐn)?shù)字4的ASCII碼是52 ,'4' 代表字符 4 ,而不是數(shù)字4。此外,盡管 ' ' 和 '\xa' ,'\a' 和 '\007' 是等價的,但是我們應(yīng)該盡可能使用 ' ' 和 '\a' ,而不要用 '\xa' 和 '\007' 。這是因為前者易懂、便于記憶,而且移植性更高。而后者只對使用ASCII碼的系統(tǒng)有效。和數(shù)字字符。例如:字符
c語言中char的用法:字符輸出
printf函數(shù)使用 %c 表示輸出字符。因為字符是以 1 字節(jié)整數(shù)的形式存取的,所以,如果使用 %d 的話,輸出的會是整數(shù)。例如:
/* 這個程序輸出字符以及字符的整數(shù)編碼 */
#include
int main(void)
{
charch;
printf("Please enter a character. ");
scanf("%c", ch); /* 由用戶輸入一個字符 */
printf("The code for %c is %d. ", ch, ch);
return 0;
}
請各位自行編譯執(zhí)行此程序,查看其執(zhí)行結(jié)果。輸入字符后記得要按回車鍵。
printf函數(shù)輸出ch的值兩次,第一次以字符的形式輸出(因為格式限定符為 %c),第二次以十進(jìn)制整數(shù)的形式輸出(因為格式限定符是 %d)。注意:格式限定符只是用于指定數(shù)據(jù)的輸出形式,而不是用來指定數(shù)據(jù)怎么存儲。
c語言中char的用法:字符類型的符號
某些編譯器中,char 默認(rèn)是有符號的(signed)。對于這類型的編譯器來說,char 的表示范圍通常是 -128 到 127 。而另外一些編譯器中,char 默認(rèn)是無符號的(unsigned)。對于這類型的編譯器來說,char 的表示范圍通常是 0 到 255 。一般來說,編譯器的使用說明會注明它默認(rèn)把 char 當(dāng)作有符號的還是無符號的。
從 C89 開始,我們可以使用關(guān)鍵字 signed 和 unsigned 來修飾 char 。這么一來,無論編譯器默認(rèn) char 是有符號的也好,無符號的也罷,我們都可以用 signed char 表示有符號 char ,也可以用 unsigned char 表示無符號 char 。
猜你喜歡:
1. c語言中邏輯或的用法
2. C語言程序中什么是函數(shù)
3. c語言中%s的用法
4. c語言中fprintf的用法
5. c語言中switch的用法
C語言中char用于定義字符類型變量或字符指針變量,例如“char a;”則定義了變量a是字符類型,“char *a;”則定義了變量a是字符指針類型。
char是C語言整型數(shù)據(jù)中比較古怪的一個,其它的如int/long/short等不指定signed/unsigned時都默認(rèn)是signed,但char在標(biāo)準(zhǔn)中不指定為signed/unsigned,編譯器可以實現(xiàn)為帶符號的,也可以實現(xiàn)為不帶符號的。
關(guān)于char還有一個特殊的語言就是char *,它在C語言中有專門的語義,既不同于signed char *,也不同于unsigned char *,專門用于指以'\0'為結(jié)束的字符串。
C語言中char的不同應(yīng)用:
1、字符型(char)
字符型(char)用于儲存字符(character),如英文字母或標(biāo)點。嚴(yán)格來說,char 其實也是整數(shù)類型(integer type),因為 char 類型儲存的實際上是整數(shù),而不是字符。計算機(jī)使用特定的整數(shù)編碼來表示特定的字符。
C 語言中保證 char 占用空間的大小足以儲存系統(tǒng)所用的基本字符集的編碼。C 語言定義一個字節(jié)(byte)的位數(shù)為 char 的位數(shù),所以一個字節(jié)可能是 16 位,也可能是 32 位,而不僅僅限于 8 位。
2、聲明字符型變量
字符型變量的聲明方式和其它類型變量的聲明方式一樣:
char good;
char better, best;
以上代碼聲明了三個字符型變量:good、better,和 best。
char是分配1字節(jié),存儲的是ASCII碼,A:65,a:97;
在命名char類型是不要使用雙引號,c中必須單引號,在java中就高級點了什么都可以。
補(bǔ)充:printf()輸出時對于char有點不同,使用“”%d“是輸出字符代表的ASCII碼。使用:%c,是輸出單個字符;使用%s:就是輸出多個字符了。
擴(kuò)展資料:
C語言中的基本類型:
1、算數(shù)類型:
它們是算術(shù)類型,包括兩種類型:整數(shù)類型和浮點類型。 ?
2 ? ?枚舉類型:
它們也是算術(shù)類型,被用來定義在程序中只能賦予其一定的離散整數(shù)值的變量。 ?
3 ? ?void 類型:
類型說明符?void?表明沒有可用的值。 ?
4 ? ?派生類型:
它們包括:指針類型、數(shù)組類型、結(jié)構(gòu)類型、共用體類型和函數(shù)類型。
數(shù)組類型和結(jié)構(gòu)類型統(tǒng)稱為聚合類型。函數(shù)的類型指的是函數(shù)返回值的類型。在本章節(jié)接下來的部分我們將介紹基本類型,其他幾種類型會在后邊幾個章節(jié)中進(jìn)行講解。
void 類型:
void 類型指定沒有可用的值。它通常用于以下三種情況下:
1、函數(shù)返回為空:
C 中有各種函數(shù)都不返回值,或者您可以說它們返回空。不返回值的函數(shù)的返回類型為空。例如?void exit (int status)。?
2、函數(shù)參數(shù)為空:
C 中有各種函數(shù)不接受任何參數(shù)。不帶參數(shù)的函數(shù)可以接受一個 void。例如?int rand(void)。
3、指針指向:
類型為 void * 的指針代表對象的地址,而不是類型。例如,內(nèi)存分配函數(shù)?void *malloc( size_t size );?返回指向 void 的指針,可以轉(zhuǎn)換為任何數(shù)據(jù)類型。
參考資料來源:百度百科-char
C語言中char用于定義字符類型變量或字符指針變量,例如“char a;”則定義了變量a是字符類型,“char *a;”則定義了變量a是字符指針類型。
char是C語言整型數(shù)據(jù)中比較古怪的一個,其它的如int/long/short等不指定signed/unsigned時都默認(rèn)是signed,但char在標(biāo)準(zhǔn)中不指定為signed/unsigned,編譯器可以實現(xiàn)為帶符號的,也可以實現(xiàn)為不帶符號的。
關(guān)于char還有一個特殊的語言就是char *,它在C語言中有專門的語義,既不同于signed char *,也不同于unsigned char *,專門用于指以'\0'為結(jié)束的字符串。
擴(kuò)展資料:
C語言所有基本數(shù)據(jù)類型:
void:聲明函數(shù)無返回值或無參數(shù),聲明無類型指針,顯示丟棄運算結(jié)果。
char:字符型類型數(shù)據(jù),屬于整型數(shù)據(jù)的一種。
int:整型數(shù)據(jù),表示范圍通常為編譯器指定的內(nèi)存字節(jié)長。
float:單精度浮點型數(shù)據(jù),屬于浮點數(shù)據(jù)的一種。
double:雙精度浮點型數(shù)據(jù),屬于浮點數(shù)據(jù)的一種。
參考資料來源:百度百科-char (計算機(jī)語言關(guān)鍵字)
char
就是字符型
char
a;說明a這個變量是個字符變量
a='a',a這個變量的值是a
printf("%c",a);輸出這個字符要用%c的格式
scanf("%c",a);輸入一個字符,這個a只能接受一個字符,你輸入abc,它也只能是a
在C語言中“char”是可容納單個字符的一種基本數(shù)據(jù)類型,即char是字符變量的說明符。字符變量的取值是字符常量,即單個字符。字符變量類型說明的格式和書寫規(guī)則都與整型變量相同。
在C/C++中,對程序員所要輸入的變量要給予其類型,主要的的數(shù)據(jù)類型分為兩種,一種是數(shù)字類型,一種是字符類型,而“char”就是定義字符型數(shù)據(jù)的關(guān)鍵字。
例如:對于字符變量A作賦值,就要先定義為CHAR A="你好"
擴(kuò)展資料
C語言中基本數(shù)據(jù)類型及規(guī)則:
整形包括:char、short、int、long、long long,這5個也默認(rèn)為signed XX ;
規(guī)則:short至少16位;int至少和short一樣;long至少32位,且至少和int一樣長;long long至少64位,且至少和long一樣長。
其中,后面4個都有無符號變體。unsigned?short、unsigned?int、unsigned?long、unsigned?long long.
注意,unsigned本身是unsigned?int的縮寫。
在32位和64位計算機(jī)上,對于整形唯一不同的就是int和指針的大小,其中32位計算機(jī)上int占2字節(jié),64位上占4字節(jié)。指針大小和int大小相同。
分享名稱:c語言函數(shù)char c語言函數(shù)傳遞二維數(shù)組
地址分享:http://jinyejixie.com/article18/dosdcdp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、搜索引擎優(yōu)化、自適應(yīng)網(wǎng)站、品牌網(wǎng)站設(shè)計、網(wǎng)站設(shè)計、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)