C言語の基本|C言語の基本ルール

最初に覚えるのは、たった5つの基本ルール。C言語らしい書き方を身につけて、読みやすく正しいプログラムへの第一歩を踏み出そう。

C言語のプログラムを作成し、コンパイルして実行するところまで体験できたら、次に覚えておきたいのが「C言語では、どのようなルールに従ってプログラムを書くのか」ということです。

初めてC言語のソースコードを見ると、

「記号が多くて難しそう」

「どこからどこまでが1つの処理なのか分からない」

「なぜ行の最後に ; が付いているのだろう」

と感じるかもしれません。

しかし、最初からすべての文法を覚える必要はありません。

まず意識してほしいのは、次の5つです。

  • C言語プログラムの基本の形を覚える
  • 基本的な命令や関数名は小文字で書く
  • 文の終わりにセミコロンを付ける
  • インデントを使って見やすくする
  • コメントを使ってプログラムの意味を分かりやすくする

この5つは、これから変数、計算、条件分岐、繰り返し、関数などを学ぶときにも繰り返し使います。

そのため、ここで難しい文法をたくさん暗記するよりも、

「C言語のプログラムは、こういう形で書く」

という感覚を身につけることが大切です。

特に、セミコロン、波括弧、小文字と大文字の違いなどは、コンパイルエラーの原因にもなります。

一方、インデントやコメントは、正しく動かすためだけでなく、人間がプログラムを読みやすくするために重要です。

C言語では、コンピュータに正しく伝えるためのルールと、人間が読みやすくするためのルールや習慣の両方を意識しながらコードを書いていきます。

まずは、この違いも少しずつ意識してみましょう。

最初に覚えたい5つの基本ルール

これから詳しく見ていく内容を、最初に一覧で確認しておきましょう。

ルール内容最初に意識したいこと
1C言語プログラムには基本の形があるmain関数を中心とした形を覚える
2基本的な記述は小文字で書くint、main、printf、returnなどの文字を正確に書く
3文の終わりに ; を付けるprintfやreturnの行の最後を確認する
4インデントを使う{ } の内側を1段下げる
5コメントを書くプログラムの目的や処理内容を分かりやすくする

この5つを早い段階から意識しておくと、C言語のコードがかなり読みやすくなります。

さらに、入力ミスや書き忘れにも気づきやすくなります。

初心者のうちは、「正しく動かすこと」だけに集中してしまいがちですが、プログラムはあとで読み返すこともあります。

そのため、

正しく動くこと

見やすく書くこと

の両方を最初から少しずつ練習していくのがおすすめです。

図1:C言語で最初に覚えたい5つの基本ルール

この図から分かること

C言語を学び始めたばかりの段階では、すべての文法を一度に覚える必要はありません。

まずは、

  • プログラム全体の形
  • 文字の書き方
  • セミコロン
  • インデント
  • コメント

という5つのポイントを意識するだけでも、C言語らしいコードを書きやすくなります。

特に、「基本の形」「小文字と大文字」「セミコロン」は、プログラムが正しくコンパイルできるかどうかにも関係します。

一方、「インデント」「コメント」は、コードを人間にとって読みやすくする役割があります。

この2種類のルールを区別して考えられるようになると、これからC言語を学ぶときにも理解しやすくなります。

C言語プログラムの基本の形を覚えよう

C言語のプログラムには、ある程度決まった基本の形があります。

文章を書くときに「タイトル」「本文」のような構成があるのと同じように、C言語にもプログラムを書き始めるための基本的な構造があります。

まずは、最小限の形を確認してみましょう。

C言語プログラムの基本形

#include <stdio.h>

int main(void)
{
    /* ここに処理を書く */

    return 0;
}

最初は、この形を1つのひな形として覚えておくとよいでしょう。

すべてのC言語プログラムが必ず完全にこの形になるわけではありませんが、学習の初期段階では、この形を出発点にすると理解しやすくなります。

それぞれの部分には、きちんと役割があります。

記述主な役割初心者向けの考え方
#include <stdio.h>標準入出力に関する機能を使う準備printfを使うための準備
int main(void)main関数を定義するプログラムの入口
{処理範囲の開始main関数の中身がここから始まる
}処理範囲の終了main関数の中身がここで終わる
return 0;main関数を終了する正常に処理を終えたことを示す

一つずつ詳しく見てみましょう。

#include <stdio.h> は何をしているのか

最初の行にある、

#include <stdio.h>

は、これからprintfなどの標準入出力機能を使うために必要になる記述です。

stdioは、Standard Input/Output、つまり標準入出力に関係する名前です。

今後学習するprintfは、画面に文字を表示するために利用します。

そのprintfについて必要な情報がstdio.hに用意されているため、printfを使うプログラムでは、

#include <stdio.h>

を書いておきます。

初心者の段階では、

printfを使うなら #include <stdio.h> を書く

と覚えておくと十分です。

ただし、すべてのC言語プログラムに必ずstdio.hが必要というわけではありません。

printfなど、stdio.hに関係する機能を使わないプログラムでは、必要ない場合もあります。

今は画面に文字を表示する練習を多く行うため、しばらくの間はよく目にする記述になります。

main関数はプログラムの入口

続いて、

int main(void)

があります。

C言語では、プログラムを実行すると、基本的にmain関数から処理が始まります。

そのためmainは、

プログラムの入口

と考えると分かりやすいでしょう。

その下には、

{

があります。

そして、main関数の最後には、

}

があります。

この2つの波括弧によって、

「ここからここまでがmain関数の処理です」

という範囲を表しています。

つまり、

int main(void)
{
    処理
}

という形で考えることができます。

これからprintfを書いたり、変数を作ったり、計算したりするときには、まずこの { } の中に処理を書いていくことになります。

return 0; はプログラムの終了を表す

main関数の最後には、

return 0;

があります。

returnは、関数から値を返すときに使うC言語の重要な記述です。

main関数の場合、0を返すことで、プログラムが正常に終了したことを実行環境へ伝える形になります。

今の段階では細かな仕組みまで覚える必要はありません。

まずは、

main関数の最後には return 0; を書く

という基本形として慣れておきましょう。

このreturnについては、関数を詳しく学ぶ段階で、さらに意味が分かるようになります。

#include <stdio.h> が必要になる場面

先ほど確認したように、#include <stdio.h>はprintfなどを利用するために書きます。

たとえば、このあと次のような処理を書く場合です。

printf("C言語を勉強しています。\n");

このprintfを使うため、プログラムの先頭付近に、

#include <stdio.h>

を書きます。

一方、stdio.hに用意されている機能を何も使わないのであれば、必ずしも必要ではありません。

C言語を勉強し始めた段階では画面に結果を表示することが多いため、printfとstdio.hをセットで見かけることが多くなります。

C言語では大文字と小文字を区別する

次に、とても重要なのが文字の書き方です。

C言語では、大文字と小文字を別の文字として扱います。

たとえば、

printf

と、

Printf

は同じ名前ではありません。

見た目は最初の1文字が違うだけですが、C言語では別の名前として扱われます。

そのため、正しくprintfと書く必要があります。

学習の初期によく登場する次の記述も、基本的には小文字です。

  • int
  • main
  • void
  • printf
  • return

「C言語では全部を小文字にしなければならない」という意味ではありません。

自分で作る変数名や関数名などには大文字を含めることもできます。

ただし、C言語の予約語や、標準的な関数として用意されている名前は、決められた大文字・小文字を正確に書かなければなりません。

大文字と小文字の違い

書き方判定理由
printf正しい標準関数の名前と一致している
Printf誤りPが大文字になっている
return正しいC言語の予約語として正しい
RETURN誤りreturnとは別の文字列になる
int正しいC言語の予約語
Int誤りintとは別の文字列になる
main一般的な書き方main関数の名前として使用する

プログラムを入力するときには、

「見た目が似ているから大丈夫」

ではなく、一文字ずつ正確に書くことが大切です。

小文字だけでなくスペルも正確に書こう

大文字と小文字だけでなく、スペルにも注意しましょう。

たとえば、

printf

を、

pritnf

と書いてしまうと、文字の順番が違います。

また、

return

を、

retrun

と書いても正しくありません。

プログラミングでは、人間が意味を推測してくれるわけではありません。

コンパイラは、書かれている文字をルールに従って正確に読み取ります。

そのため初心者のうちは、

  • 大文字と小文字
  • 文字の順番
  • 記号の種類
  • セミコロンの有無
  • 波括弧の位置

を丁寧に確認する習慣をつけるとよいでしょう。

文の終わりにはセミコロンを付ける

C言語の基本ルールの中でも、特に重要なのがセミコロンです。

セミコロンは、

;

という記号です。

C言語では、多くの文の最後にセミコロンを書きます。

セミコロンを付けた正しい例

printf("基本ルールを確認しています。\n");
return 0;

printfの行にも、

;

があります。

returnの行にも、

;

があります。

このセミコロンによって、コンパイラは、

ここで1つの文が終わる

と判断できます。

セミコロンを忘れるとどうなるのか

次のようにセミコロンを書かなかった場合を考えてみましょう。

セミコロンを忘れた例

printf("基本ルールを確認しています。\n")
return 0

この書き方では、printfの文にもreturnの文にもセミコロンがありません。

そのため、正しいC言語の文として解釈できず、コンパイル時にエラーになる原因となります。

文章では、行を変えることで文が分かれているように見えます。

しかし、C言語では、

改行したから文が終わった

とは限りません。

コンパイラに文の終わりを伝える重要な記号がセミコロンです。

改行とセミコロンは役割が違う

初心者のうちは、

「1行に1つ処理を書いているのだから、セミコロンはなくても分かりそう」

と思うかもしれません。

しかし、画面上の改行は主に人間がコードを読みやすくするためのものです。

C言語の構文として重要なのは、セミコロンです。

たとえば一般的には、

printf("A\n");
printf("B\n");

のように1行ずつ書きます。

このほうが人間には読みやすいからです。

つまり、

  • 改行は主に人間が読みやすくする
  • セミコロンはC言語の文の区切りを示す

という違いがあります。

この違いは、ぜひ覚えておきましょう。

セミコロンを確認する習慣をつけよう

初心者のうちは、セミコロンの付け忘れがよく起こります。

特に、

printf(...);

や、

return 0;

を書いたあとに確認するとよいでしょう。

コードを1行入力したら、

「最後に ; はあるかな」

と見るだけでも、エラーを減らせます。

コンパイルエラーが出たときにも、まず直前の行付近を確認し、セミコロンが抜けていないかを見る習慣をつけると役立ちます。

ただし、C言語のすべての行にセミコロンを付けるわけではありません。

たとえば、

int main(void)

や、

{

の行には付けません。

最初は、

printfやreturnなどの「文」の最後に付ける

という感覚から覚えていけば十分です。

図2:セミコロンとインデントが持つ役割

この図から分かること

セミコロンとインデントは、どちらもC言語のコードでよく目にしますが、役割は同じではありません。

セミコロンは、C言語の文がどこで終わるのかを示すために重要です。

付け忘れると、コンパイルエラーにつながることがあります。

一方、インデントは主にコードを読みやすくするために使います。

インデントが少しずれていても、それだけでプログラムの意味が変わるわけではありません。

しかし、プログラムが長くなったときには、インデントを整えているかどうかで読みやすさが大きく変わります。

つまり、

セミコロンはコンパイラにとって重要

インデントは人間が読みやすくするために重要

と考えると、違いを整理しやすくなります。

インデントを使ってコードを見やすくしよう

C言語の基本を学ぶときには、プログラムが正しく動くことだけでなく、見やすく書く習慣も身につけておきたいところです。

そこで重要になるのがインデントです。

インデントとは、日本語では「字下げ」と呼ばれることがあります。

行の先頭にスペースやTabを入れて、コードの位置を少し右へ下げることです。

特にC言語では、

{

と、

}

で囲まれた内側を1段下げて書くと、処理の範囲が見やすくなります。

インデントを使った読みやすい例

int main(void)
{
    printf("今日はC言語を練習します。\n");
    return 0;
}

main関数の中にあるprintfとreturnが、少し右へ下がっています。

この書き方を見ると、

{

から、

}

までの中にprintfとreturnが含まれていることを視覚的に確認できます。

インデントを使わないと読みにくくなる

同じ内容を、すべて左端にそろえてみましょう。

インデントを使わない例

int main(void)
{
printf("今日はC言語を練習します。\n");
return 0;
}

このプログラムでも、波括弧などが正しく書かれていれば意味そのものは変わりません。

しかし、先ほどのコードと比較すると、

「どの処理がmain関数の中に入っているのか」

が少し分かりにくくなりました。

プログラムが数行しかないうちは、それほど大きな問題には感じないかもしれません。

ところが、学習が進むと、

  • ifによる条件分岐
  • forによる繰り返し
  • whileによる繰り返し
  • 関数
  • 複数の { }

などが登場します。

すると、インデントが整っているかどうかが非常に重要になります。

波括弧の内側を1段下げる

最初の段階では、難しいインデントルールを覚える必要はありません。

まずは、

{ } の内側を1段下げる

ことを意識してみましょう。

基本的なイメージは次のとおりです。

外側
{
    内側
}

main関数なら、

int main(void)
{
    処理
}

となります。

開き波括弧 { と閉じ波括弧 } の位置をそろえることも重要です。

場所基本的な書き方
int main(void)基準となる位置に書く
{main関数に合わせて配置する
{ } の内側1段右へ下げる
}対応する { と位置をそろえる

この形を身につけておけば、あとから条件分岐や繰り返しが出てきたときにも対応しやすくなります。

VS Codeのインデント機能も活用しよう

VS Codeなどのコードエディタでは、プログラムを書いて改行すると、自動的にインデントが入ることがあります。

たとえば、

int main(void)
{

まで入力して改行すると、次の行の入力位置が自動的に少し右へ下がることがあります。

これは、コードを見やすく書くための補助機能です。

初心者のうちは、

「スペースを何個入れればよいのだろう」

と細かな部分まで気にしすぎる必要はありません。

まずは、

  • 波括弧の内側は1段下げる
  • 同じまとまりの処理は同じ位置にそろえる
  • 閉じ波括弧は対応する開き波括弧と位置を合わせる

という3点を意識するとよいでしょう。

インデントはエラーを見つける助けにもなる

インデントを整える目的は、単にコードをきれいに見せることではありません。

間違いを発見しやすくする効果もあります。

たとえば、プログラムが長くなって波括弧が増えてくると、

「この } はどの { に対応しているのだろう」

と分からなくなることがあります。

しかし、インデントを整えていれば、処理の階層が目で追いやすくなります。

つまり、インデントは、

  • 読みやすくする
  • 処理の範囲を確認しやすくする
  • 波括弧の対応を確認しやすくする
  • 書き間違いを発見しやすくする

という複数の役割を持っています。

コメントを使ってプログラムを読みやすくしよう

C言語には、プログラムの中へ説明を書くための「コメント」という仕組みがあります。

コメントとして書いた部分は、通常の処理として実行されません。

つまり、プログラムの動作そのものではなく、人間が読むための説明を書くことができます。

初心者の段階では、コメントを「プログラムの中に書けるメモ」と考えると分かりやすいでしょう。

1行コメントは // から始める

1行だけコメントを書きたい場合には、次のように書くことができます。

1行コメントの例

// 学習開始のメッセージを表示する
printf("C言語の練習を始めます。\n");

最初の行はコメントです。

// 学習開始のメッセージを表示する

という説明は、画面には表示されません。

その下の、

printf("C言語の練習を始めます。\n");

だけが、実際の処理として実行されます。

コメントには何を書けばよいのか

コメントには、そのコードを理解するときに役立つ説明を書きます。

たとえば、

  • プログラム全体が何をするのか
  • この部分で何を処理しているのか
  • 学習中に確認したいポイント
  • あとで見返すときに必要な説明

などを書けます。

学習中であれば、日本語でコメントを書いて問題ありません。

大切なのは、自分があとで読んだときに意味が分かることです。

コメントの書き方の考え方

コメント考え方
何をする処理なのかを書くコードの目的が分かりやすい
必要な部分に書くコメントだらけになるのを防げる
初心者は日本語でもよい内容を理解することを優先できる
後から読んでも分かる表現にする学習メモとして役立つ

コメントは多ければよいわけではない

コメントは便利ですが、すべての行にコメントを書く必要はありません。

たとえば、

// printfを使う
printf("Hello\n");

のようなコメントを大量に書いていくと、かえってコードが読みにくくなることもあります。

コメントは、

コードだけを見たときに分かりにくい部分を補う

という考え方で使うとよいでしょう。

初心者の段階では、そこまで厳密に考えなくても構いません。

まずは、

  • プログラムの目的
  • 練習している内容
  • 各処理のおおまかな役割

などを書いてみると、コメントに慣れることができます。

// と /* */ のコメント

C言語では、複数の書き方でコメントを記述できます。

1行コメントでは、

// コメント

を使えます。

また、

/* コメント */

という形式もあります。

基本形のコードで、

/* ここに処理を書く */

と書いていた部分もコメントです。

今回の学習では、まず1行コメントの、

//

に慣れていくと分かりやすいでしょう。

5つの基本ルールを1つのプログラムで確認しよう

ここまで、

  • 基本の形
  • 小文字
  • セミコロン
  • インデント
  • コメント

という5つのルールを確認してきました。

ここで、これらを1つのプログラムにまとめて確認してみましょう。

C言語学習の予定を3行表示するプログラム

ファイル名:basic_rules.c

// C言語学習の予定を表示するプログラム
#include <stdio.h>

int main(void)
{
    // 1つ目のメッセージを表示する
    printf("今日はC言語の基本ルールを確認します。\n");

    // 2つ目のメッセージを表示する
    printf("セミコロンとインデントを丁寧に確認します。\n");

    // 3つ目のメッセージを表示する
    printf("コメントも使いながらコードを書いてみます。\n");

    return 0;
}

実行結果の例

今日はC言語の基本ルールを確認します。
セミコロンとインデントを丁寧に確認します。
コメントも使いながらコードを書いてみます。

このプログラムには、今回確認している基本ルールがすべて含まれています。

まず、先頭には、

#include <stdio.h>

があります。

これはprintfを使うための準備です。

続いて、

int main(void)
{

があり、main関数が始まります。

main関数の中には、3つのprintfがあります。

それぞれの文末には、

;

が付いています。

また、main関数の内側にあるprintfやreturnは、1段右へ下げてあります。

これがインデントです。

さらに、

// 1つ目のメッセージを表示する

のようなコメントも入っています。

最後には、

return 0;

があり、main関数を終了しています。

非常に短いプログラムですが、C言語の基本的な書き方を確認するための要素がたくさん含まれています。

図3:5つの基本ルールが1つのプログラムに入る様子

この図から分かること

C言語の基本ルールは、それぞれ独立して存在しているわけではありません。

実際のプログラムでは、1つのコードの中で同時に使います。

main関数によってプログラムの大きな形を作り、その中に小文字でprintfやreturnを書きます。

それぞれの文の最後にはセミコロンを付け、波括弧の内側ではインデントを使います。

さらに、必要に応じてコメントを追加します。

このように考えると、今回覚える5つのルールは、

「別々の暗記事項」

ではなく、

1つの読みやすいC言語プログラムを書くための基本セット

として理解できます。

プログラムを1行ずつ確認してみよう

先ほどのbasic_rules.cを、基本ルールと結びつけながら詳しく見ていきましょう。

最初のコメント

// C言語学習の予定を表示するプログラム

これはコメントです。

このプログラム全体が何をするのかを、人間が読んで分かるように説明しています。

コメントなので、この文章そのものが画面へ表示されることはありません。

プログラムを数日後や数週間後に見返したときにも、

「何を練習するために作ったプログラムだったのか」

をすぐ思い出せるようになります。

#include <stdio.h> を確認する

続いて、

#include <stdio.h>

があります。

このプログラムではprintfを使って画面に文字を表示しています。

そのため、printfを利用するための準備としてstdio.hを読み込んでいます。

学習初期では、

printfを使う
↓
#include <stdio.h> が必要

という関係を覚えておくとよいでしょう。

main関数の開始を確認する

次に、

int main(void)
{

があります。

ここからmain関数が始まります。

C言語プログラムを実行したときには、このmain関数がプログラムの入口になります。

開き波括弧、

{

から閉じ波括弧、

}

までがmain関数の処理範囲です。

printfの文を確認する

main関数の中には、次のようなprintfがあります。

printf("今日はC言語の基本ルールを確認します。\n");

printfは、画面に文字を表示するために使っています。

表示したい文章は、

今日はC言語の基本ルールを確認します。

です。

文字列の最後には、

\n

があります。

\nは、表示位置を次の行へ移すための改行を表します。

そして、printf全体の最後には、

;

があります。

ここまでが1つの文であることを示すセミコロンです。

つまり、この1行を見るだけでも、

  • printfは小文字
  • 文の最後にはセミコロン
  • main関数内なのでインデントされている

という複数の基本ルールを確認できます。

return 0; を確認する

main関数の最後には、

return 0;

があります。

これはmain関数を終了し、正常に処理が終了したことを示すための記述です。

returnも小文字で書かれています。

さらに、

;

が最後に付いています。

初心者の段階では、

return 0;

までを1つの基本形として覚えておくとよいでしょう。

閉じ波括弧でmain関数を終了する

最後に、

}

があります。

これによってmain関数の範囲が終了します。

閉じ波括弧には、通常の文のようなセミコロンは付いていません。

また、最初の開き波括弧と位置がそろっているため、

{
    処理
}

という構造が分かりやすくなっています。

ここでもインデントが、コードを読みやすくする役割を果たしています。

基本ルールを守るとエラーを見つけやすくなる

今回のルールには、プログラムを正しく書くためのものと、コードを読みやすくするためのものがあります。

どちらも、結果的には間違いを減らすことにつながります。

基本ルール守らない場合に起こりやすいこと
基本の形を意識するmain関数など必要な部分が分からなくなる
大文字・小文字を正しく書くprintfなどの名前が一致せずエラーになる
セミコロンを付ける構文エラーになる
インデントを整える処理範囲や波括弧の対応を見失いやすい
コメントを書く後から処理の目的が分かりにくくなる

特に初心者が遭遇しやすいのが、

  • セミコロンの付け忘れ
  • 大文字と小文字の間違い
  • スペルミス
  • 波括弧の不足

です。

このうち、インデントを整えることは波括弧の間違いを見つける助けになります。

コンパイルエラーが出たら慌てず確認しよう

C言語を学んでいると、コンパイルエラーは何度も経験します。

これは珍しいことではありません。

プログラミングでは、コードを書いて、エラーを確認し、修正するという作業を繰り返します。

エラーが出たときには、最初に次のような点を確認してみましょう。

  • printfをPrintfなどと書いていないか
  • returnをRETURNなどと書いていないか
  • セミコロンを忘れていないか
  • 開き波括弧 { と閉じ波括弧 } の数が合っているか
  • printfなどのスペルを間違えていないか
  • #include <stdio.h>を書き忘れていないか

特に、エラーが表示された行だけに原因があるとは限りません。

たとえば、1つ前の行でセミコロンを忘れた結果、次の行を読んだところでコンパイラが、

「ここはおかしい」

と判断することもあります。

そのため、エラーが出た場所だけでなく、その少し前の行も確認するとよいでしょう。

正しく動くコードと読みやすいコードの違い

今回の基本ルールを学ぶときに知っておきたいのが、

コンピュータにとって必要な書き方

と、

人間にとって読みやすい書き方

の違いです。

たとえばセミコロンは、C言語の構文として重要です。

一方、インデントは主に人間がコードを読みやすくするために行います。

コメントについても、コメントがなくてもプログラム自体は動かせる場合があります。

整理すると、次のようになります。

項目主な目的
main関数などの構文C言語として正しい構造を作る
大文字・小文字正しい名前として認識させる
セミコロン文の区切りを示す
インデント人間が処理範囲を読みやすくする
コメント人間がプログラムの意味を理解しやすくする

良いプログラムを書くためには、両方が大切です。

動くだけで非常に読みにくいコードよりも、動作が正しく、さらに人間にも読みやすいコードを目指していきましょう。

初心者のうちからコードを整える習慣をつけよう

プログラムが3行や5行程度しかないうちは、

「インデントなんて必要ない」

「コメントを書かなくても内容は覚えている」

と思うこともあります。

ところが、学習が進むとプログラムは少しずつ長くなります。

10行、20行、50行と増えていくと、以前は簡単に分かったコードも読みづらくなってきます。

さらに、

main関数
    条件分岐
        繰り返し

のように処理が重なってくると、インデントなしでは構造を理解することが難しくなります。

だからこそ、短いプログラムを書いている今の段階から、

  • インデントを整える
  • 波括弧の位置をそろえる
  • 大文字と小文字を正しく書く
  • セミコロンを確認する
  • 必要なコメントを書く

という習慣を身につけておくことが大切です。

まずは形をまねして書いてみよう

C言語の学習では、最初から何も見ずにすべてを書こうとしなくても大丈夫です。

まずは基本形を見ながら入力してみましょう。

#include <stdio.h>

int main(void)
{
    return 0;
}

そして、main関数の中へprintfを追加します。

さらに、自分でコメントを書いたり、表示する文章を変えたりしてみます。

このように、

基本形をまねする → 少し変更する → コンパイルする → 実行する → 結果を確認する

という流れを繰り返していくと、自然に書き方を覚えられます。

ただコードを眺めて暗記するより、自分で何度も入力したほうが、

「printfの最後には ; が必要だった」

「mainの内側は1段下げると見やすい」

といった感覚が身につきやすくなります。

printfの学習にも基本ルールがそのままつながる

今回の5つの基本ルールが分かると、次にprintfを使った表示処理を練習するときにもスムーズです。

printfを使って、

  • 1行だけ文章を表示する
  • 2行表示する
  • 3行表示する
  • 表示する文章を変更する
  • コメントを付ける

といった練習ができます。

たとえばprintfを1つ増やす場合でも、

「小文字でprintfを書く」

「行の最後にセミコロンを付ける」

「main関数の内側なのでインデントする」

という今回の基本ルールをそのまま使います。

つまり、これから新しい内容を学んでも、今回覚えた基本ルールはなくなるわけではありません。

むしろ、これから作るほとんどのプログラムの中で何度も使うことになります。

5つを一度に完璧に暗記する必要はない

C言語の基本ルールを初めて学ぶと、細かな記号まで一度に覚えようとしてしまうことがあります。

しかし、最初からすべてを完璧に覚えなくても構いません。

プログラムを書くたびに、

  • main関数の形を確認する
  • 小文字と大文字を確認する
  • セミコロンを確認する
  • インデントを確認する
  • コメントを付けてみる

ということを繰り返していけば、自然に身についてきます。

特に最初のうちは、コンパイルエラーが出たとしても、それ自体が大切な学習になります。

セミコロンを1つ忘れてエラーになった経験があれば、次にコードを書くときには、

「最後に ; を付けたかな」

と意識できるようになります。

大文字と小文字を間違えてエラーになれば、

「C言語では文字の違いも重要なんだ」

と実感できます。

こうした小さな経験を積み重ねることで、C言語の書き方が少しずつ自然なものになっていきます。

次の表示練習につなげよう

今回覚えた基本ルールは、これからprintfを使ってさまざまな文字を表示するときの土台になります。

次にコードを書くときには、まず次の形を確認してみてください。

#include
↓
main関数
↓
{
    処理
    return 0;
}

そして、コードを書きながら、

「小文字は正しいか」

「セミコロンは付いているか」

「インデントは整っているか」

「必要なところにコメントを書けているか」

と確認します。

最初は毎回確認していても、何度も書いていくうちに自然と身についていきます。

C言語では、難しい機能を急いで覚えるよりも、こうした基本的な書き方を丁寧に身につけることが、その後の学習を進めやすくしてくれます。

まずは基本形を使って短いプログラムを何度も書き、printfの文章を自分の好きな内容へ変更しながら、C言語らしいコードの形に慣れていきましょう。