そんなら今回も張り切ってみゆーかぃ。

前回は計算方法と計算結果とかばコンソールに(画面)に
出す方法ばゆっかせました。

今回は文字列についてゆっかしゅーどもとります。
「文字列」っていうとはそん名前どおり、文字の並んだ列ば言うとです。
早か話が一文字に対して複数文字(単語とか)ば文字列っていうとですね。
文字列以外によか表現ばしきらんけん、しよんなかですけど。

文字列は「"」で囲んで表示させんばつまらんとですけど
こん「"」は何ていうか知っとるですか?
「ダブルクォーテーション」って言うとです。

まぁ、"の読み方はどげんでんよかつばってがばってが、
前回「エスケープシーケンス」っていうとばゆっかせましたね?
改行とかになる特殊な文字んこつですたい。

で、そんエスケープシーケンスばってんがアタマに
\(¥か\どっちに見えるかは環境による)ば、つけるとですけど、
例えばこん\そのものば表示したかときはどげんするですか?

puts("\");って書くですか?

実際にかいてみゅーかいね?
#include <stdio.h>

int main(void)
{
puts("\");
return 0;
}
プログラム名は「ampro006.c」ってしてみゅーだ。

で、コンパイルばしてみてください。

・・・ぎゃんなってコンパイル通らんでしょ?
ampro006-01

何でかって言えば\はそん次に来る文字ばエスケープするとです。
どぎゃん意味かって言えば、こっで例えるならば、文字列として囲んどる
「"」の囲み文字(引用符)としての機能ばエスケープ(逃が)して、
ただの文字として扱うごつするってこつです。

エスケープされた「"」は、ただの文字としての意味しか持たんごつなるけん
文字列ば囲むための「"」がそん後ろになかごつなって、コンパイラの
「こりゃおかしか!」っていうて、エラーば出すとです。
\マークにはそぎゃん機能のあっとです。

ただ、\の次に来る文字は何でんかんでんエスケープでくるかって言えば
そぎゃんじゃなくて、エスケープでくっとは決まっとるとです。
だけん、エスケープでけん文字ば\の次に書けばエラーになっとた。

\nは改行っていうたばってがこればエスケープシーケンスっていうたですね。
エスケープシーケンスは文字として表せん特殊な機能ば持っとるけん
そんエスケープシーケンスから取って「エスケープ」て言うとかは知らんばってが
色々とググッたら「エスケープする」とかっていう表現の出てくるけん
おそらくそぎゃん意味じゃろて思うとです。

そんならこん\ば出すにはどぎゃんすればよかて思うですか?
\の持つ機能ばエスケープすればよかけん

puts("\\");

で、よかはずですよね?
そんならぎゃんふうにコンパイルして実行してみてください。
#include <stdio.h>

int main(void)
{
puts("\\");
return 0;
}


\の表示されたですね。
\の表示されとる人は¥に読み替えてください。
ampro006-02

もし「"」ば文字として出力したか場合は
puts("\"");
ってすればよかですね。

これはどぎゃん時も同じですけん、printf関数でもそぎゃんやって表現でくっとです。

ただし、printf系関数(sprintfとかfprintf他vなんちゃらprintf)は
%も特殊記号として扱わるるですね。
あって、%dで整数ば表示したもね。

printf系の関数で%ば出力したか場合は\%じゃなかですよ?
%%って%ば2個書けばよかとです。
printf("天草弁100%%\n");
こっが出力結果は「天草弁100%」ですね。

どぎゃんでしょうか?文字列の癖はなんとなくわかったですか?
こりゃC言語での表現ばってが、他んC言語系の言語でも大体
似たごたる感じじゃあるて思います。

前回がごちゃごちゃしすぎたけん、今回はこの辺でよかですかね。

まだ何ばすっか決めとらんばってんが、また次回に!
キーワード: #AmaProgramming
コメント(0件)

 

■コメントを書く
タイトル
本文 *必須
お名前 *必須
メールアドレス
ホームページアドレス
削除パスワード*必須
コメントを削除する際に必要になります。
認証キー *必須 下の画像に表示されている数字をご記入下さい。
(画像は毎回変わります)