C言語関係掲示板

過去ログ

No.76. '65'と 'A'と 65の違い


すみませんが、

文字コードというものが理解できなくて困っています。

文字としての '65'
文字としての 'A'
文字コードとしての 65
数値としての 65

この4つを(特に上3つ)
どう考え、理解・区別したらよいでしょうか?

初歩的過ぎてすみませんが、
何回本を読み返してもここがつまづいていて
先にすすめないのです。

どうぞよろしくお願いします。


加えて、下のプログラムを実行してみると、
6
と表示されました。
A
と表示させたかったのですが・・・
上の質問と合わせて教えて頂けると本当に
うれしいです。よろしくお願いします。

#include <stdio.h>

int main(void);

int main(void) {
printf("%c\n",'65');
return(0);
}


コードについては、トップのページの最後の方にある、
付録 1. ASCIIコード表を参考に。
下のプログラムも実行してみてください。

#include <stdio.h>

int main(void)
{
        printf("%d %c\n", 'A', 'A');
        printf("%d %c\n", 65, 65);
        
        return 0;
}


通常は''で囲む中身は一文字です。


こんばんは、ともじです。

>文字コードというものが理解できなくて困っています。

最初は結構つまづくところですよね。

>文字としての 'A'

C言語のプログラムでは、「A」という文字を表すときに' 'で囲んで、
'A'と表記します。コンパイラは'A'を、たとえばASCIIコードでは
10進数の65に置き換えて処理します。

>文字コードとしての 65

上記、'A'はASCIIコードでは10進数の65というコードに割り当てられています。
'B'は66、'C'は67というように、文字はすべてコードが割り当てられています。

>数値としての 65

文字'A'のASCIIコードですが、単に65とした場合はASCIIコードというよりは
10進数の65という数値データとして扱う方が一般的です。

>文字としての '65'

これは文字ではなく文字列です。文字列は複数の文字で、' '(シングル・
クォーテーション)ではなく" "(ダブル・クォーテーション)で囲みます。
また、終了コードとしてコードの 0 ('\0'と表記します)が最後につきます。

尚、こちらも参照してください。
http://www9.plala.or.jp/sgwr-t/sec2.htm#s2-4


どうもありがとうございました。

理解できたつもりですので、
また自分で考えてみてわからなくなったときには、
質問させてください。

どうもありがとうございました。

戻る


「初心者のためのポイント学習C言語」 Last modified:2001.11.15
Copyright(c) 2000-2002 TOMOJI All Rights Reserved