So-net無料ブログ作成

型について(char)2 [型について]

今日はchar型を確認してみます。

char型は文字を扱う場合に使用する型だそうです。

変数は
hiragana
katakana
eigodai
eigosyou
kigou
suuji
とします。
(変数はあらかじめ決まっている小文字英語の並び
(例えば、int等)を使用しなければなんでも
大丈夫のようです。)

書き方は
char hiragana;
char katakana;
char eigodai;
char eigosyou;
char kigou;
char suuji;

また、各変数に何かを代入するために
hiragana=O;
katakana=O;
eigodai=O;
eigosyou=O;
kigou=O;
suuji=O;  
※Oには数字や文字や記号が入ります。
を追加します。

さらに、printfは
printf("%c\n",変数)
というふうに書きます。

int型は%dでしたが、char型は%cとなるようです。
この%dとか%cは出力データの変換形式を
指定しているとのことです。

%c:1文字として出力する
%d:10進数で出力する
%x:16進数で出力する
%o:8進数で出力する
%f:小数点を含んで出力する
%e 指数形式で出力する
%s 文字列として出力する 文字列

つまり、1文字だけ出力したければ%cを
複数文字表示させたければ%sを使用すれば
いいということだと思います。
プログラムで確認してみましょう!

①ひらがな、カタカナ、英語、記号、数字の1文字を変数に代入し「%c」にて表示
1301141.jpg
ビルドでエラーとなりました。

文字の初めと終わりに「'」をつけると
ビルド可能でした。
1301142.jpg
実行結果
1301143.jpg
・あ → ■
・ア → A
・G → G
・g → g
・? → ?
・1 → 1
と日本語以外は正常表示されました。
char型の変数は英語(大小文字)、記号、数字しか
代入できないということですね。

②英語、記号、数字の複数文字を変数に代入し「%c」にて表示
1301144.jpg
実行結果
1301145.jpg
・GHI → I
・ghi → i
・@#& → &
・123 → 3
となり、複数文字の最後の文字が表示されました。
つまり、変数に複数文字が代入された場合、出力データ
変換形式が%cだと最後の1文字のみ表示されるということ
ですね。


③ひらがな、カタカナ、英語、記号、数字の1文字を変数に代入し「%s」にて表示
13011601.jpg
実行結果
13011602.jpg
ビルドは出来ましたがデバッグでエラーとなりました。
やはり日本語が原因と考えられるため日本語を
削除してもう一度確認します。
13011603.jpg
実行結果
13011604.jpg
だめです。エラーです
色々調べたら、型と変数と代入する文字の
書き方がこれまでと違うみたいです。

書き方を下記に変更してビルドしてみます。
char hiragana[]="あ";
char katakana[]="ア";
char eigodai[]="G";
char eigosyou[]="g";
char kigou[]="?";
char suuji[]="1";
13011605.jpg
成功ですね!!
実行結果
13011606.jpg
成功です!
・あ → あ
・ア → ア
・G → G
・g → g
・? → ?
・1 → 1
ひらがな、カタカナ、英語(大小文字)、
記号、数字全て表示できました。

④ひらがな、カタカナ、英語、記号、数字の複数文字を変数に代入し「%s」にて表示
13011607.jpg
実行結果
13011608.jpg
・あいう → あいう
・アイウ → アイウ
・GHI → GHI
・ghi → ghi
・@#& → @#&
・123 → 123
成功です!!


まとめると
・%cで一文字表示させる場合は
 代入する文字を「'」にて挟むことで表示される。
 ただし、日本語は不可
・%sで複数文字表示させる場合は
 変数の最後に「[ ]」を追加し、代入する文字を
 「" "」にて挟むことで表示される。
nice!(4)  コメント(0)  トラックバック(0) 
共通テーマ:blog

nice! 4

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。