C言語入門 第2回 printf
2014年10月より個人の方を対象に、Study C無料提供を開始しました。
C言語を勉強中の方は、学習・教育に最適なC言語インタープリタのStudy Cを使ってみてください(個人の方は無料です)。
大学・高専・高校などの教育機関での採用実績も多数あるロングセラー商品Study Cが、個人向けに無料提供を始めました。
インタープリタの手軽さに加え、ゲームや3Dタートルグラフィックで楽しく勉強したりと、C言語の学習を強力にサポートします。
また、このようなボタンの用意されているページでは、掲載しているプログラムをStudy Cに直接ロードし実行したりすることができます。
Study C無料利用についての詳細は、このページを参照してください。
第1回C言語入門のように絵を描くのは視覚的にもわかりやすく楽しいプログラムですが、文字を表示することも重要な機能の一つです。
C言語で画面に文字や数字を表示するにはc言語のプログラムからprintfという機能を使います。printfを使って単純に
文字列を表示するには、次のように行います。
printf("表示したい文字列");
注)旧バージョンのStudy Cではコマンドラインから直接printf...と入力すれば実行できま
したが、今回のバージョンではコマンドが増えた関係上直接入力ができなくなってしまい
ました。
printfを使って画面にHelloと表示させてみましょう。F12キーでエディタに移ってprintfを
main(){ ... }で囲います。
注)これ以降の説明では「F12キーエディタに移ってでプログラムを入力して、F12キーで
コマンドモードに戻りrunコマンドで実行」という表現は省略するので、この手順は
よく覚えておいてください。
main() { printf("Hello"); }
入力したらF12キーでコマンドモードに戻りrunコマンドで実行してみましょう。 プログラムに間違いがなければHelloと表示されます。入力に誤りがあるとエラー番号と エラーメッセージが表示されるので、入力したプログラムを確認して訂正して下さい。
次に2つのprintfを使って1行目にHelloと表示し、2行目にStudy Cと表示してみましょう。
main() { printf("Hello"); printf("Study C"); }
このプログラムを実行すると2行に別れて表示されずに
HelloStudy C
と1行に表示されてしまいます。
上記の例では、たとえ2つのprintfを使っても改行は行われません。printfは自動的に
改行する機能はないので、printf("HelloStudy C");と同じ表示結果になってしまいます。
表示する文字の中で改行したい位置に文字\nという2文字を挿入すると、printfはその位置
で改行を行います。
main() { printf("Hello\nStudy C"); }
Hello Study C
のように2行にわたって表示することができます。
今度は、2つのprintfを使って2行に表示してみましょう。
main() { printf("Hello");\n printf("Study C"); }
ERROR(402) 演算式に誤りがあります.
これでは上記のようなエラーが発生します。\nは同じように特別の意味を持った 文字なので、"..."の中に書かなくてはなりません。今の例のように、"..."の外に\nを 書くとエラーが発生してしまいます。正しくは
main() { printf("Hello\n"); printf("Study C"); }
Hello Study C
printfは文字列だけではなく、数値や式の計算結果などを表示することができます。 数値を表示するには次のような形式で行います。
printf("%d", 表示したい式や数値);
画面に1+2+3の結果を表示させてみましょう。
main() { printf("%d", 1+2+3); }
6
Answer = 式の結果といったような表示を行うことも可能です。
printf("%dを含む表示したい文字列", 式);
printfはこのように表示したい文字列の中から%dという部分を見つけ出し、 その部分を式の結果や数値に置き換えて表示しています。また、一度に表示できる式の結果も1つではなく、同時に複数の表示を行うこともできます。この場合、%dと式の数が 同数である必要があります。式が複数ある場合、式と式の間は,(コンマ)で区切ります。
5と6の和と差をWA = ?、SA = ?という形式で表示します。
main() { printf("WA = %d SA = %d", 5+6, 5-6); }
WA = 11 SA = -1
C言語では小数点の計算もできますが、この方法では小数点以下のある数字を指定するとエラーになってしまいます。また、わり算などで 結果に小数点が含まれるような計算を行っても整数部分の結果しか得られません。
式の部分で足し算、引き算にはキーボードにある+と-の文字を使いますが、かけ算とわり算には*と/を使います。足し算以外の四則演算の結果を表示させてみましょう。
main() { printf("3 - 1 = %d\n", 3-1); printf("3 * 4 = %d\n", 3*4); printf("4 / 2 = %d\n", 4/2); printf("3 / 2 = %d\n", 3/2); }
3 - 1 = 2 3 * 4 = 12 4 / 2 = 2 3 / 2 = 1
printfはprintf(書式, 式, 式, ...);という形式で使用します。 書式とは"..."(クォーテーションマーク)で囲まれた部分をいいます。 式は省略可能ですが、書式は必ず必要です。式が1つもなく書式だけの例がHelloと表示させた例です。書式中で使う特殊な文字は、\nや%dの他にも%xや%o (%xは16進数、%oは8進数、%dは10進数)など多数用意されています。