第2回

制御文字

00/06/22サンプルプログラム一部変更
98/11/06 IE4.xに対応させた
98/04/29メールアドレス訂正

第1回では、printfという関数を使って、Hello work!という文字列を出力させてみました。 今回は、そのprintfによる出力を制御する方法を学ぶことにしましょう。
まずは、第1回で使ったプログラムを少しいじってみます。

#include<stdio.h>                                                                  
main(){                                                                             
    printf("Hello work!");
    printf("Hello work!");
}
第1回のプログラムとの相違点は、見ての通りprintfの行が2つ存在する(3、4行目)事です。
これをコンパイルして実行する前に、まずは実行結果を想像してみることにしょう。貴方が、C言語の予備知識が全く無い方であれば、恐らく、

Hello work!
Hello work!

と出力されると思ったのではないでしょうか?っていうか、思ったことにして下さい。(^_^;でないと話が終わっちゃうんで。

多分、C言語を知らなくても、ホームページを作った経験がある人だったらピンときたかもしれません。そう、このプログラムの出力結果は、

Hello work!Hello work!

です(まぁ、何も出力されない場合もありますけど)。つまり、Hello workHello workの間が改行されず、1行で出力されるのです。これは、ホームページ作成時、HTMLドキュメント上の改行は無視され、あくまでブラウザ上で改行されるのは<BR>タグのところであるのと同じ理由です。 つまり、改行する為には改行する為の何かが必要だという事なのです。その何か、つまりHTMLにおける<BR>に当たるのが、printfでは、\nです。以下のプログラムを参考にして下さい。

#include<stdio.h>                                                                  
main(){                                                                             
    printf("Hello work!\n");      /*     \nを付けて改行     */
    printf("Hello work!");
}
実行結果:-)

Hello work!
Hello work!

それと、3行目に/* \nを付けて改行 */を付け加えました。これはコメントといって、プログラムに簡単な説明を付けたい時等に使います。/**/の間の文章は、コンパイラが無視するので、コンパイル時にエラーとなりません。もちろん/**/の間に改行が入っても構いません。例えば、

#include<stdio.h>                                                                  
main(){ 
/**********************************
 *   '\n' Test!                   *
 *                        YXA '98 *
 **********************************/                                                                            
    printf("Hello work!\n");
    printf("Hello work!");
}
なんていうのもOKです。:-)

で、話を\nに戻します。改行以外にも、まだまだたくさんの制御文字がありますが、どれも頭に\が付くのが特徴です。

\a        BEEP音を鳴らす
\t        タブ
\"        "を出力
\\        \を出力
等々、まだまだたくさんあります。で、実際printfでこれらの制御文字を無造作に用いた文字列を出力してみることにします。 以下のプログラムをコンパイルして、実行してみて下さい。

#include<stdio.h>                                                                  
main(){ 
    printf("\aHe\nllo\t wor\"k\t!\"\n"); /*  制御文字使いまくり  */
}
実行結果は、BEEP音と共に、
He
llo      wor"k !"
と出力されます。

というわけで、今回はこれくらいにします。次回は、printfの真骨頂ともいうべき(って大袈裟か)変換文字について学習することにしましょう。


[メニュー][第1回][第3回]

いーざ
email:CQP00202@nifty.ne.jp