Ⅰ c語言中怎麼把數字字元轉換成對應的數值
ch-'0'是計算每個數字字元在數字中所對應的位置,較難理解的是10*d ,因為輸入的是多個數,每次計算完一個數字字元,依然處在循環中帶入下一次的計算,因此10*d的作用就是把上一次算得的結果往高位送,每乘以一個十就高一位。
說得不大清楚,不清楚的話還請見諒啊!
Ⅱ C語言輸入字母,實現輸出對應數字,例如輸入a或者A輸出1,輸入F或f輸出6。求
這個是很簡單的。你可以將字母a用數字的方式列印出來試試,如printf("%d",'a');輸出是97,那麼只要減去96就可以了。順便說一下,首先char其實就是8位的整數變數,但是由於ASCII碼的編碼也是8位,所以常常使用char來表示ASCII字元,因此char也叫字元變數。所以char變數的本質就是數字。不難發現通過查找ASCII表,a的編碼的十進制數就是97。當然你也會發現a和A的編碼是不一樣的,如果你的功能是輸入a和A輸出都是1,那麼就要提前判斷一下。
當然你也可以通過判斷來實現這個功能,如:
chartemp=getchar();
if(temp=='a')
......
elseif(temp=='A')
......
elseif(temp=='f')
......
還有,可以通過switch來實現,如:
chartemp=getchar();
switch(temp)
{
case'a':
......
break;
case'A':
......
break;
default:break;
}
需要聲明一下,由於char本身就是數字,所以是可以使用switch的,但是不要妄圖通過switch來判斷字元串變數(char[])這是不可行,雖然你可能在其他的高級語言中看到過這種用法,但是在C中是不能運行的。
Ⅲ C語言中怎麼將數字字元轉換成對應的數值最近正在自學
數字字元 減去字元0
比如 a='8';
那麼a-'0'就是對應的數字8
Ⅳ C語言程序中" a"代表什麼數據
" a"代表的是字元串。。。char s[] = "a";
'a'代表的就是一個字元了。。。char c = 'a'
希望對你有幫助。。。。。仍有問題可以HI我。。。
Ⅳ C語言輸入字母,實現輸出對應數字,例如輸入a或者A輸出1,輸入D或d輸出4。求代碼,謝謝!
#include<stdio.h>
main()
{
charch;
ch=getchar();
printf("%d ",(ch>='a'&&ch<='z')?(ch-'a'+1):(ch>='A'&&ch<='Z')?(ch-'A'+1):NULL);
}
A
1
Pressanykeytocontinue
怎麼?跟你要求不一樣?
Ⅵ 用C語言編寫,定義一個字元為a輸出對應的ascii值
下面,第一部分輸出 字元 'a' 的 10 進制 ascii值 和 16 進制 ascii值。
第二部分輸出 ascii值 0x21 到 0x7e 范圍 的 字元 和 ascii值 對應 表。
#include <stdio.h>
int main(){
char a='a';
printf("%c -- %d %#x\n",a,a,a);
printf("char -- deci_value hex_value\n");
for (a=0x21;a < 0x7e ;a++)
printf("%c -- %d %#x\n",a,a,a);
return 0;
}
a -- 97 0x61
char -- deci_value hex_value
-- 32 0x20
! -- 33 0x21
" -- 34 0x22
# -- 35 0x23
$ -- 36 0x24
。。。
x -- 120 0x78
y -- 121 0x79
z -- 122 0x7a
{ -- 123 0x7b
| -- 124 0x7c
} -- 125 0x7d
Ⅶ c語言'a'和"a"有什麼區別
1、本質區別
雙引號裡面的是字元串, 而單引號裡面的代表字元。
2、輸出區別
str = 「a」輸出的就是a這個字母;
str = 『a』輸出的測試65
3、底層區別
用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字元集中的序列值。
(7)c語言字元a對應的數值擴展閱讀:
C 語言中,逗號(,)也可以是運算符,稱為逗號運算符(Comma Operator)。逗號運算符可以把兩個以上(包含兩個)的表達式連接成一個表達式,稱為逗號表達式。其一般形式為:
子表達式1, 子表達式2, ..., 子表達式n
例如:a + b, c = b, c++
逗號運算符的優先順序是所有運算符中級別最低的,通常配合 for 循環使用。逗號表達式最右邊的子表達式的值即為逗號表達式的值。上例中,c++ 的值(c 自增之前的值)即為該表達式的值。
逗號運算符保證左邊的子表達式運算結束後才進行右邊的子表達式的運算。也就是說,逗號運算符是一個序列點,其左邊所有副作用都結束後,才對其右邊的子表達式進行運算。因此,上例中,c 得到 b 的值後,才進行自增運算。
Ⅷ a和A對應的ASCII碼數值分別是多少啊
A的ASCII碼是65,a的ASCII碼是97。
ASCII碼表中,小寫字母排在大寫字母的後面,一個字母的大小寫數值相差32,一般知道大寫字母的ASCII碼數值,其對應的小寫字母的ASCII碼數值就算出來了,是大寫字母的ASCII碼數值+32。
(8)c語言字元a對應的數值擴展閱讀
在ASCII碼中,0~31及127(共33個)是控制字元或通信專用字元,如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等。
通信專用字元:SOH(文頭)、EOT(文尾)、ACK(確認)等。
ASCII值為8、9、10 和13 分別轉換為退格、製表、換行和回車字元。它們並沒有特定的圖形顯示,但會依不同的應用程序,而對文本顯示有不同的影響。
32~126(共95個)是字元(32是空格),其中48~57為0到9十個阿拉伯數字。
65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其餘為一些標點符號、運算符號等。
同時還要注意,在標准ASCII中,其最高位(b7)用作奇偶校驗位。
所謂奇偶校驗,是指在代碼傳送過程中用來檢驗是否出現錯誤的一種方法,一般分奇校驗和偶校驗兩種。
奇校驗規定:正確的代碼一個位元組中1的個數必須是奇數,若非奇數,則在最高位b7添1;偶校驗規定:正確的代碼一個位元組中1的個數必須是偶數,若非偶數,則在最高位b7添1。
參考資料
ascii碼-網路