1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

【C言語超入門(第30回)】30.これまでの振り返り(分岐処理、繰り返し処理、入出力処理)

Pocket

今回のC言語超入門は、
第20回から第29回までに解説してきました「分岐処理、繰り返し処理、入出力処理」の各項目について、
ポイントを再整理しながら振り返っていきます。

1. 分岐処理
・ 【C言語超入門(第20回)】if文を使った分岐処理を身に付けよう
・ 【C言語超入門(第25回)】多方向の分岐ではswitch文を使おう
2. 繰り返し処理
・ 【C言語超入門(第21回)】繰り返し処理を学ぼう(for文編)
・ 【C言語超入門(第22回)】繰り返し処理を学ぼう(while文編)
・ 【C言語超入門(第23回)】繰り返し処理を学ぼう(do~while文編)
・ 【C言語超入門(第24回)】繰り返しから抜け出すにはbreakを使おう
3. 入出力処理
・ 【C言語超入門(第26回)】入出力の方法を学ぼう(1文字の入出力編)
・ 【C言語超入門(第27回)】入出力の方法を学ぼう(文字列の入出力編)
・ 【C言語超入門(第28回)】入出力の方法を学ぼう(数値の入出力編)
・ 【C言語超入門(第29回)】重要関数printf、scanfの使い方を身に付けよう

1.分岐処理

2方向への分岐処理

特定の条件のときに2方向に処理を分岐させて、それぞれ異なる処理を実行するために、
C言語では if文 が用意されています。

if文による処理の分岐条件は、「条件式」を使い、次のように表現します。

条件式が成立したときは「処理1」を実行し、条件式が不成立のときは「処理2」を実行します。

例えば、「変数xの値が100未満のときは処理1を実行し、100以上のときは処理2を実行したい」のであれば、
次のようにif文の条件式を記述します。

if文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第20回)】if文を使った分岐処理を身に付けよう

多方向への分岐処理

if文は「AかBか」といった2方向への処理分岐を表現しますが、
処理を分岐する条件が多数に及ぶ場合は、switch文を使うことで、プログラムを分かりやすく表現できる場合があります。

switch文では式を評価し、評価結果に応じたcase文に処理を分岐して実行します。

switch文の基本的な書式は以下のとおりです。

switch文では整数しか扱うことができず、条件式や文字列は利用できないことに注意してください。

また、caseはラベルであり処理の実行範囲を決めるものではありませんので、
分岐した処理の終端には、必ず break文 が必要です。

例えば、上記のswitch文の基本的な書式においてbreak文の記述が無い場合、
定数式1を実行した後に、定数式2も実行します。

switch文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第25回)】多方向の分岐ではswitch文を使おう

2.繰り返し処理

for文を使った繰り返し処理

ある特定の処理を繰り返して実行したい場合、繰り返し回数を指定して実行するには、次のようにfor文を使います。

例えば、ある処理を100回繰り返したいときは、次のように記述します。

上記では、変数i の値を1から+1ずつカウントアップさせて、変数iの値が100を超えるまで処理を繰り返します。

for文の使い方については、以下の記事も参考にしてみてください。
・ 【 C言語超入門(第21回)】繰り返し処理を学ぼう(for文編)

while文を使った繰り返し処理

指定した回数を繰り返し実行するにはfor文を使いますが、
繰り返しの回数があらかじめ決まっていないときは、while文を使います。

while文を使って不定回数の繰り返し処理を行うには、次のように記述します。

while文は、繰り返し条件式を満たしている間は、繰り返し対象の処理を永遠に実行し続けます。

while文を使うにあたって気を付けていただきたい点は、
「繰り返し処理」よりも前に、「繰り返し条件式」があるため、もし繰り返し条件を満たさなかったときは、
繰り返し対象の処理は一度も実行されない、ということです。

whie文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第22回)】繰り返し処理を学ぼう(whie文編)

do〜while文を使った繰り返し処理

不定回数の繰り返し処理を行うには、 while文の他にdo〜while文も使うことができます。

do~while文を使って不定回数を反復処理させるには、次のように記述します。

do〜while文とwhile文は似ていますが、繰り返し条件式の記述位置が大きく異なります。

そのため、while文は繰り返し条件式を満たしたときのみ、繰り返し対象の処理を実行しますが、
do~while文は、まず繰り返し対象の処理を実行して、その後、繰り返しを続けるかが決まります。

do~while文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第23回)】繰り返し処理を学ぼう(do~while文編)

繰り返し処理の中断

繰り返し処理を実行中に、繰り返し処理を中断したいときは、break文を使います。

break文は、if文と組み合わせて次のように記述します。

なお、多重の繰り返し処理内でbreak文を実行した場合、中断できる繰り返し処理は1つだけです。

例えば、二重に使われているwhile文の内側から繰り返し処理を中断したいときは、
次のとおり、while文ごとにbreak文を記述しなければなりません。

break 文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第24回)】繰り返しから抜け出すにはbreakを使おう

3.入出力処理

1文字の入出力処理

キーボードから1文字を入力するにはgetchar関数、ディスプレーに1文字を出力するにはputchar関数を使います。

getchar関数は、次のように記述します。

getchar関数は、入力した文字のASCIIコードを戻り値として返しますが、
getchar関数の戻り値を格納する変数はchar型ではなく、int型変数を使用します。

putchar関数は、次のように記述します。

putchar関数はprintf関数でも代替できますが、printf関数は高機能な関数のため、

1文字を出力するだけでしたら、putchar関数の方が動作が高速です。

getchar関数、putchar関数 文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第26回)】入出力の方法を学ぼう(1文字の入出力編)

文字列の入出力処理

キーボードから文字列を入力するにはgets関数、ディスプレーに文字列を出力するにはputs関数を使います。

gets関数は、次のように記述します。

gets関数の引数に指定したchar型配列変数には、キーボードから入力された文字列がenterキーが入力されるまで格納されます。

そのため、gets関数に使用する配列長は、十分な長さを確保しておきませんと、
バッファー・オーバー・ラン(メモリ領域の破壊)を引き起こす可能性があるため、気を付けてください。

puts関数は、次のように記述します。

puts関数で文字列を出力しますと、出力した文字列は自動で改行されます。

gets関数、puts関数 文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第27回)】入出力の方法を学ぼう(文字列の入出力編)

数値の入出力処理

scanf関数とprintf関数を使うことで数値の入出力ができます。

scanf関数を使うには、次のように記述します。

書式指定文字列には、入力するデータの書式を、%で始まる変換文字列で指定します。

入力したデータを格納する変数の指定には、変数アドレスを持ちます。

変数アドレスは、変数名の前に & を付けます。

printf関数を使うには、次のように記述します。

書式指定文字列には、出力したい文字列と、%で始まる変換文字列を書きます。

書式指定文字列と対応する変数を書くことで、変数の値を書式に併せて出力することができます。

scanf関数、printf関数 文の使い方については、以下の記事も参考にしてみてください。
・ 【C言語超入門(第28回)】入出力の方法を学ぼう(数値の入出力編)
・ 【C言語超入門(第29回)】重要関数printf、scanfの使い方を身に付けよう

C言語超入門の第30回まとめ

今回のC言語超入門では、分岐処理、繰り返し処理、入出力処理について、ポイントを整理してきました。

詳しい処理内容は以下の各ページで解説していますので、ご参考にしてくださいませ。

1. 分岐処理
・ 【C言語超入門(第20回)】if文を使った分岐処理を身に付けよう
・ 【C言語超入門(第25回)】多方向の分岐ではswitch文を使おう
2. 繰り返し処理
・ 【 C言語超入門(第21回)】繰り返し処理を学ぼう(for文編)
・ 【C言語超入門(第22回)】繰り返し処理を学ぼう(while文編)
・ 【C言語超入門(第23回)】繰り返し処理を学ぼう(do~while文編)
・ 【C言語超入門(第24回)】繰り返しから抜け出すにはbreakを使おう
3. 入出力処理
・ 【C言語超入門(第26回)】入出力の方法を学ぼう(1文字の入出力編)
・ 【C言語超入門(第27回)】入出力の方法を学ぼう(文字列の入出力編)
・ 【C言語超入門(第28回)】入出力の方法を学ぼう(数値の入出力編)
・ 【C言語超入門(第29回)】重要関数printf、scanfの使い方を身に付けよう

ステップ・バイ・ステップ。焦らず一歩ずつ進んでいきましょう。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る