① 在c語言中為什麼將整型數字轉化為字元型是變成字元型數字加48,變成字母加87而不是97
你說的是轉換成ASCII碼當然是加97(0x61='A'),這里說的意思我理解是轉換為十六進制的A,也就是說將數據0~15轉換為『0』,『1』.....『A',』B『,』C',『D』,『E』,『F』;這樣來說你能清楚吧,數字10轉為十六進制為A,也就是ASCII的0x61,當然是加87了,其餘以此類推。
② C語言C程。char a=#; int b=48;printf("%c %c\n",a,b)的輸出
結果是「# 0」
int型按char型輸出,就是按對應的asc2碼輸出,48對應的字元為'0',所以輸出如上結果。
③ C語言程序中為什麼字元'0'=48而不是0
因為'0'是字元,其ASCII碼為0
以下為標准ASCII表:
Bin Dec Hex 縮寫/字元 解釋
0000 0000 0 00 NUL (null) 空字元
0000 0001 1 01 SOH (start of handing) 標題開始
0000 0010 2 02 STX (start of text) 正文開始
0000 0011 3 03 ETX (end of text) 正文結束
0000 0100 4 04 EOT (end of transmission) 傳輸結束
0000 0101 5 05 ENQ (enquiry) 請求
0000 0110 6 06 ACK (acknowledge) 收到通知
0000 0111 7 07 BEL (bell) 響鈴
0000 1000 8 08 BS (backspace) 退格
0000 1001 9 09 HT (horizontal tab) 水平製表符
0000 1010 10 0A LF (NL line feed, new line) 換行鍵
0000 1011 11 0B VT (vertical tab) 垂直製表符
0000 1100 12 0C FF (NP form feed, new page) 換頁鍵
0000 1101 13 0D CR (carriage return) 回車鍵
0000 1110 14 0E SO (shift out) 不用切換
0000 1111 15 0F SI (shift in) 啟用切換
0001 0000 16 10 DLE (data link escape) 數據鏈路轉義
0001 0001 17 11 DC1 (device control 1) 設備控制1
0001 0010 18 12 DC2 (device control 2) 設備控制2
0001 0011 19 13 DC3 (device control 3) 設備控制3
0001 0100 20 14 DC4 (device control 4) 設備控制4
0001 0101 21 15 NAK (negative acknowledge) 拒絕接收
0001 0110 22 16 SYN (synchronous idle) 同步空閑
0001 0111 23 17 ETB (end of trans. block) 傳輸塊結束
0001 1000 24 18 CAN (cancel) 取消/作廢
0001 1001 25 19 EM (end of medium) 介質中斷
0001 1010 26 1A SUB (substitute) 替補
0001 1011 27 1B ESC (escape) 溢出
0001 1100 28 1C FS (file separator) 文件分割符
0001 1101 29 1D GS (group separator) 分組符
0001 1110 30 1E RS (record separator) 記錄分離符
0001 1111 31 1F US (unit separator) 單元分隔符
0010 0000 32 20 空格
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _
0110 0000 96 60 `
0110 0001 97 61 a
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 e
0110 0110 102 66 f
0110 0111 103 67 g
0110 1000 104 68 h
0110 1001 105 69 i
0110 1010 106 6A j
0110 1011 107 6B k
0110 1100 108 6C l
0110 1101 109 6D m
0110 1110 110 6E n
0110 1111 111 6F o
0111 0000 112 70 p
0111 0001 113 71 q
0111 0010 114 72 r
0111 0011 115 73 s
0111 0100 116 74 t
0111 0101 117 75 u
0111 0110 118 76 v
0111 0111 119 77 w
0111 1000 120 78 x
0111 1001 121 79 y
0111 1010 122 7A z
0111 1011 123 7B {
0111 1100 124 7C |
0111 1101 125 7D }
0111 1110 126 7E ~
0111 1111 127 7F DEL (delete) 刪除
④ c語言:記得有個加48還是減48能把字元和字元常量互換來著 求指導
是不是想把字元中的 '5' 變成數字5?那直接用 '5' - '0' 就好了
⑤ c語言中'\97','\48'等\加數字代表什麼意思,注意:不是八進制和十六進制。求解
'\97'代表ascii嘛為97的字元,也就是a
'\48'代表ascii嘛為48的字元,也就是'0'
⑥ C語言,字元進行加減,請問哪裡出錯了
a和b運算後結果可能是兩位數,你這樣去加個48,算出來的是個什麼呢?這時候不能用字元了,應該用字串,用sprintf把數字轉換成字串。
比如 6+8 = 14
要是用14+48 = 62,這個62是個啥呢?
⑦ C語言 要求輸出字元的 ASCII碼 輸入0後 要求輸出048 我只能弄出48 怎麼弄成048啊 急急~!~!
void main()
{
char c = 48;
printf("%03d", c);//不足三位用零填充
}
⑧ 重金!!!c語言,代碼中的45和48怎麼來的,有什麼含義,有什麼用
45和48都是字元的ASCII碼
45是【減號】
48是【數字0】
r-48,即將以char型的數字r轉化為int型數字
⑨ C語言填空題,為什麼兩個橫線上循環內填i+48,以及char c的作用是什麼,為什麼要輸入它求詳細解釋!
i+48的作用是把i的值轉換為字面等值的數字字元(把0轉換為'0',1轉換為'1',……)
draw(int m,int n,char c)的作用是在一行上先有m個空格,然後是n個字元c。這里char c是用來接受這個要輸出的字元c的。
⑩ c語言讀程序寫結果求助
這個只要弄懂str[i]=(str[i]-48+5)%10+48;這句是什麼意思就懂了:
str[i]是取第i位上的字元
str[i] - 48,要搞清楚48的含義,一個數字字元'0' - 48正好是對應的數值0。依此類推,'1' - 48 = 1...
所以,就是先把取出來的一個字元變成數值,加上5之後,再除以10取余
得到的結果再加上48變成字元。
'0' --> 0+5 --> 5%10 --> 5+48 --> '5'
'5' --> 5+5 --> 10%10 --> 0+48 --> '0'
'3' --> 3+5 --> 8%10 --> 8+48 --> '8'
...
...
後面的過程均相同,不再贅述,即可得到結果「50871123」