Help us understand the problem. What is going on with this article?

プログラミング講座まとめ資料②

More than 1 year has passed since last update.

コメント

ソースコード内にプログラムの動作に与えない記述をすることができます。それがコメントです。メモ書きだったり。デバッグコードをコメントアウトしたり使い方は人それぞれです。中にはプログラムの説明書にあたるドキュメンテーションコメントもあります。適切なコメントがかけるようになるのも上級者への一歩です。

switch文

例)

int count = 0;
switch(count){
    case 0:
        //countが0の場合の処理
        break;
    case 1:
        //countが1の場合の処理
        break;
    case 10:
        //countが10の場合の処理
        break;
    case 20:
        //countが20の場合の処理
        break;
    default:
        //どの条件にも当てはまらない場合の処理
}

switch文は条件分岐です。if文とは違い場合分けに適しています。上記の例と同じ処理をif文でも実装することができます。

int count = 0;
if(count == 0){
    //countが0の場合の処理
} else if(count == 1){
    //countが1の場合の処理
} else if(count == 10){
    //countが10の場合の処理
} else if(count == 20){
    //countが20の場合の処理
} else {
    //どの条件にも当てはまらない場合の処理
}

ただしcount >= 10 && count <= 100などの範囲指定は出来ないので少し工夫する必要があります。

while文

例)

while(/*条件式*/){
    //処理
}

whileはfor文と同じ繰り返し文です。条件が真の間に実行されます。

具体例)

int num = 0;
while(num <= 100){
    num++;
}

numが100以下の間+1ずつされていくだけです。100になったらループを抜けます。

for文との明確な使い分けはありませんが、
繰り返し回数が決まっている -> for文
繰り返し回数が不定 -> while文
という感じで使用されます。よって上記の具体例はfor文の方が適していると言えます。

continue文・break文

上記のswitch文、for文、while文などの内部でよく使われる文です。
意味は
continue文 残りの処理をスキップし、次のループ処理をする
break文 残りの処理をスキップし、処理を抜ける
です。

工夫して使うことで様々な処理ができるようになります。
switch文のcase内にbreak文があるのは処理が終わったら他の処理をせずに抜けるためです。なお、あえてbreak文を書かない手法もあります(フォールスルー)。ただしC#などの言語では禁止されていたりします。

配列

配列はデータ構造の一種です。プログラム始めたての人に良く使われます。
用途としては数多くのデータを扱い格納したいという場合に使用されます。
例)

int bar[100];    //要素数100のint型配列を用意
char name[20];   //要素数20のchar型配列を用意
int num[3] = {1, 2, 3};    //要素数3のint型配列を用意し、各要素を初期化

例えば、10人分のテストの点数を格納する変数が必要だとします。その場合

int score1, score2, score3, score4, score5, score6, score7, score8, score9, score10;

とやるのはとても手間がかかります。これが1000人になったら到底人力では無理です。
しかし配列を使用すれば一瞬でできます。

int score[1000];

使い方は
型名 変数名[要素数]
です。
中身にアクセスするには
変数名[要素番号]
でアクセスします。要素番号は0から始まります。

int score[3];
score[0] = 0;
score[1] = 0;
score[2] = 0;
よくあるミス
int hoge[10];

hoge[10] = 10;    //hoge[9]が最後の要素なのでエラー

二次元配列

詳しくは配列の配列です。エクセルのセルをイメージするのが分かりやすいと思います。

1 2 3 4 5
[0][0] [0][1] [0][2] [0][3] [0][4]
[1][0] [1][1] [1][2] [1][3] [1][4]
[2][0] [2][1] [2][2] [2][3] [2][4]
[3][0] [3][1] [3][2] [3][3] [3][4]
[4][0] [4][1] [4][2] [4][3] [4][4]

使い方は横for文と縦for文を回すのが一般的だと思います。

int hoge[5][5];

for(int i = 0;i < 5;i++){
    for(int j = 0;j < 5;j++){
        hoge[i][j] = 0;
    }
}

変数名

おまけですが変数名について少し書いておこうと思います。
変数名はとても大切なものです。小規模なコードの場合適当な名前でもなんとかなりますが、規模が大きくなるにつれ変数の数が増えていき、後で見直した時なにこれ?という自体になります。そうならないためにも最初のうちからちゃんとした変数名を意識した方がいいです。基本的に変数名には英単語などを使うのがいいと思います。「fukaisisuu」などのローマ字名変数はやめたほうがいいです。困ったらgoogle翻訳などのサービスを使う手もあります。
ループなどにはi, j, kを使う習慣があります。
他にも言語によって習慣が違ったりするものもあるので気になる人は是非調べてみてください!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away