C言語入門 プログラミング

文字を表示する printf()

Hello World を改造する

早速ですが,プログラミングをしていきましょう.
このC言語入門は,「手を動かして覚える」がテーマです.

まずは最初のプログラムをこちらに記載します.
日付などを除いて,一致していることを確認してください.

//
//  main.c
//  C_TEST
//
//  Created by xxx on 2021/09/08.
//

#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    printf("Hello, World!\n");
    return 0;
}

このプログラムが,「Hello, World!」と画面に表示するプログラムであることはすでに説明しました.

それでは,このプログラムを改造して,「Hello, World!」 以外の好きな文字列を表示してみましょう.
まずは自分でやってみて,その後次の章に進んでみてください.

文字列を表示する printf()

いかがだったでしょうか?
簡単すぎたでしょうか?
それともプログラムが動かなくなってしまったでしょうか?

※もしもプログラムが動かなくなってしまった場合は,Ctrl+Z で最初まで戻るか,上記のプログラムをコピペしてください.

今回の改造ポイントは,Hello,World! の部分を好きな文字列に置き換えればよかったんです.
つまり,

printf("こんにちは!\n");

のような感じです.

ここで重要なのは, 改造した行のその他の部分,

printf("\n");

の部分になります.

printf は文字列を画面に表示する

printf この部分が何を意味するかというと,文字列を画面に表示するという処理を行います.

ココがポイント

printf は文字列を画面に表示する

その他にも重要なポイントがいくつもあるので順に見ていきます.

命令は () で呼び出す

今回は printf という画面に文字列を表示する命令を学びました.
そしてその命令は() をつけることで呼び出すことができ,命令に渡す文字は, ()の中に記述することで渡すことができます.

ココがポイント

命令は() で呼び出し,渡す内容は () の中に書く

文字列は "" で囲む

printf() で画面に文字列を表示できることがわかりました.
そして表示したい文字列は,必ず "" で囲む必要があります.

これがないとコンパイラ(翻訳家)が,表示したい文字列がどこからどこまでかがわかりませんから,必要なわけです.

ココがポイント

文字列は "" で囲む

\n は改行を表す

Hello, World! の後ろに奇妙な文字, 「\n」があります.
これは,実は改行を表します.
プログラムの中で改行を表現するために実際に改行するわけにはいきませんから,このような特別なコードが用いられるわけです.

ココがポイント

\n は改行を表す

文の最後は ;

printf() の 後ろに, ; がついていると思います.
これは,C言語の特徴で,文の最後には必ずこの「 ;」 を記述する必要があります.

これがないとプログラムを解析するコンパイラ(翻訳家)が,どこまでが一文を表すかがわかりませんから,必要なわけです.

ココがポイント

文の最後は ;

これらはすごく大事

これらがどのくらい大事かというと,どれか一つでも間違えていると,正しく動きません
場合によっては実行すらできないことがあります.
プログラムとは,そのくらい厳密に書いた通りにしか動きません.

実際に間違えたプログラムを書いて,どうなるかを試してみることをオススメします.

さらに改造してみる

プログラムの習得の近道は,写経と改造です.
まずはそのままコードを書き写し,それを改造して遊んでみると理解が早まります.
なので,実際に改造してみましょう.

今回の内容だけで複数行表示もできるはずですし,複数回 printf を呼ぶこともできます.
好きに改造してみてください.

動かなくなったら,どこかが間違えています.
間違えている箇所を探すのも勉強になります.
どうしても解決できなさそうなら,最初のプログラムをもう一度コピーし直してみてください.

今回は以上です.次回は少し優しめのコメントについて紹介しようと思います.

ココがポイント

写経と改造がプログラミング習得への近道

  • この記事を書いた人

GOTH

鹿児島県出身,吉祥寺在住の27歳.職業はゲーム会社でプログラマー.趣味はバイク,車,キャンプ,ガジェット,読書,そしてゲーム開発. サイトのテーマはプログラミングとガジェットでライフハック.たまに趣味に関する雑感や記録を残していく備忘録.ツイッターもやってます.
自己紹介
お問い合わせ

-C言語入門, プログラミング