C言語入門ブログ

C言語を、本当に初歩から学んで、その内容を書いていきます。

コメントの書き方について

今回は、コメントの書き方についてお話します。
とは言っても、簡単なので、短い記事になると思います。
出力やったから次は入力じゃないの?と思うかも知れませんが、まぁよいでしょう。

コメントの書き方

1行コメントの書き方

さて、プログラムのコードは、前回の長さでは短かったですが、ゆくゆくは何百、何千行にわたるコードを書くかもしれません。
また、自分の書いたコードを、他の人に見てもらったり、修正してもらうことになるかも知れません。
そういったときに、コードが何を目標に書かれているか分かりやすくするために、『コメント』というものが書けます。
『コメント』というのは、コードの途中に書くものですが、『プログラムの実行の際には完全に無視される部分』です。

とりあえず、例をあげてみます。

#include<stdio.h>
int main()
{
        printf("Hello!");
	return 0;
}

これは前回のコードです。
これにコメントを入れてみると、こんな感じになります。

#include<stdio.h>
int main()
{    //Helloと出力するプログラム
        printf("Hello!"); 
	return 0;
}

コードの内容を表すコメントが付け加えられました。
これをideone上で実行してみて下さい。inputのところは空白のままで結構です。
コメントがない方と全く同じ結果になったと思います。

上のように、コメントは

//

(半角のスラッシュ2つ)を頭につけて、書くことができます。

複数行に渡るコメントの書き方

ちなみに、バックスラッシュ2つのコメント法は、//からその行の終わりまでしかコメントにできません。
それは、どういうことでしょうか?
理解を深めるため、以下のコードをideone上で実行してみて下さい。

#include<stdio.h>
int main()
{    //Helloと出力するプログラム
     Hello!と表示されたら終わります
        printf("Hello!"); 
	return 0;
}

下の画像みたいな結果が出たと思います。
f:id:frfrfrfr:20141030132846p:plain

これはコンパイルエラーと言います。コンパイルとかそういう名前はさておき、これはプログラムの文法が正しくないことを表しています。


さて、ここで問題が発生します。
例えば、コメントをいっぱい書きたい場合、どうすればよいでしょうか。
こういう場面は、割と起こり得ます。コードが複雑な場合は、かなり多くのコメントがないと分かりにくいです。
そういうときに、例えば30行コメントを書くために30回//を書くのはかなり面倒です。
それを解決するため、C言語にはもう1つコメントの付け方があります。
それは

/*    */

で囲むというものです。
/* と */の間に挟まれた部分は、コンピュータに完全に無視されます。
以下に例を挙げてみます。

#include<stdio.h>
int main()
{    /*Helloと出力するプログラム
     Hello!と表示されたら終わります*/
        printf("Hello!"); 
	return 0;
}

これをideone上で実行してみて下さい。
こちらは、問題なく実行できたと思います。

以上のように、コメントの付け方は2つあります。
なぜコメントの付け方をここに書いたかと言うと、これ以降のこのブログの記事では、コードの中にコメントで説明を書き込もうと思っているからです。
例えば、以下のようにしたいと思います(コードの内容はこれから扱っていくものなので、分からなくて結構です)。

#include<stdio.h>
int main()
{       int a, b;   //整数2つを格納する変数
        a = 3; //aに3を代入
        b = 2; //bに2を代入
/*そして、if文でaとbの大小を比較して、
大きい方を出力する*/
        if(a > b){
          printf("max is %d\n",a);
          }else{
          printf("max is %d\n",b);
         }
	return 0;
}

このようなコードを見た場合、
「//からその行の終わりまでと、/* */で囲まれているところはコメントで、プログラムの実行には関係ないんだ」
と思いながら読んで下さい。

また、ideone上では大丈夫ですが、プログラムを実行する場所によっては、日本語(=全角文字)でコメントを書くとエラーが出る場合があります。
ideone上で実行する場合は大丈夫なので、このブログでは日本語でコメントを書きますし、練習問題を解く場合も日本語のコメントを入れて下さって結構ですが、他の場所(自分でプログラムを書く、学校の授業で書くなど)では、コメントを入れる場合は英語(=半角文字)にした方がよいと思います。
英語で書くのが難しい、という方は、ローマ字で書くとよいと思います。
格好悪いと思うかも知れませんが、プログラミングを初めて学ぶ上では、自分の分かりやすさを最優先してよいと思います。
たとえば、こんな感じにコメントを書いても(少なくとも他人と協力して大規模なプログラムを書く、とかまでしない限りは)、十分大丈夫だと言うことです。

#include<stdio.h>
int main()
{    //Hello to dasu puroguramu
        printf("Hello!"); 
	return 0;
// dashitara owari
}

初歩から学ぶ際には、とにかく自分の分かりやすさを一番大事にしましょう!初めての場合は、プログラムなんてちゃんと動けば全部同じです。

というわけで、今回の練習問題です。


☆練習問題.以下のコードに、コメントを3つ以上付け足して、実行してみて下さい。ただし、//の方と /* */の方の両方を1回以上使うこと。
また、コメントなしとコメントありで実行結果が同じであることをideoneで実行して確かめて下さい。

#include<stdio.h>
int main()
{
        printf("comment practice"); 
	return 0;
}

今回は解答例は付けません。人によって色々違うと思うので。

次は、変数の話、そして入力の話をします。