
C++入門|1章の練習問題
1章で覚えた基本技を、いよいよ実戦形式で確認しよう。printfでメッセージを表示し、for文で同じ処理を繰り返せば、C言語修行の第一段階をしっかり突破できます。
ここまで、C言語の基本として、プログラムの書き方、printf関数、エスケープシーケンス、変数、演算、for文、while文、配列、関数などを学んできました。
ただ、プログラミングは読むだけではなかなか身につきません。
実際に自分でコードを書き、実行して、思ったとおりの結果が表示されるかを確認することが大切です。
ドラゴンボール風にたとえるなら、ここまでは技の型を学ぶ基礎修行でした。
そしてここからは、覚えた技を実際に使ってみる確認バトルです。
最初から難しい問題に挑戦する必要はありません。
まずは、printfで文字を表示する問題、for文で同じ表示を繰り返す問題を通して、C言語の基本動作をしっかり確認していきましょう。
今回の練習問題では、次の2つを扱います。
| 練習問題 | 確認する内容 | ドラゴンボール風のイメージ |
|---|---|---|
| 問題1-1 | printfで文字列を表示する | 修行者名を表示パネルに出す |
| 問題1-2 | for文で同じ文字列を繰り返し表示する | 同じ掛け声を決めた回数だけ唱える |
どちらも短いプログラムですが、C言語の基礎としてとても大切です。
printfでは、文字列をコンソールに表示する方法を確認します。
for文では、同じ処理を何度も繰り返す方法を確認します。
この2つがしっかり分かっていると、今後の変数、条件分岐、繰り返し、配列、関数の学習にもつながっていきます。
図:1章の練習問題で確認する基本技

この図が示していること
この図では、1章の練習問題で確認する内容を表しています。
左側では、printfを使って文字列を表示する練習を表しています。
右側では、for文を使って同じ文字列を複数回表示する練習を表しています。
どちらもC言語の基本的な処理です。
まずは表示できること、次に繰り返し表示できることを確認することで、プログラムの流れをつかみやすくなります。
練習問題に取り組む前に確認しておきたいこと
練習問題では、いきなり答えを見るのではなく、まず自分で考えてみることが大切です。
プログラムは、正解を暗記するよりも、どのような順番で考えればよいかを身につけることが大事です。
たとえば、printfの問題なら、次のように考えます。
| 考えること | 内容 |
|---|---|
| 何を表示するのか | 表示したい文字列を確認する |
| 改行は必要か | \nを付けるか確認する |
| どの関数を使うか | printfを使う |
| ヘッダーファイルは必要か | stdio.hを読み込む |
for文の問題なら、次のように考えます。
| 考えること | 内容 |
|---|---|
| 何回繰り返すのか | 表示回数を確認する |
| 何を繰り返すのか | for文の中に書く処理を確認する |
| カウンター変数は必要か | iなどの変数を用意する |
| 条件式は正しいか | 回数がずれないようにする |
ドラゴンボール風に言えば、いきなり技を放つのではなく、まず構えを確認するようなものです。
何をするのか、何回するのか、どこで終わるのかを確認してからコードを書くと、ミスを減らせます。
問題1-1:printf関数で修行者名を表示する
問題文
printf関数を使って、コンソール画面に次の文字列を表示するプログラムを作りなさい。
修行者:ヒロなお、文字列の最後には改行を表すエスケープシーケンスを入れること。
期待される実行結果は、次のとおりです。
修行者:ヒロこの問題では、printf関数を使って文字列を表示する基本を確認します。
ドラゴンボール風にたとえるなら、修行場の表示パネルに、これから修行に参加する戦士の名前を表示するようなイメージです。
プログラムを作成するヒント
この問題では、次の点を意識しましょう。
| ヒント | 内容 |
|---|---|
| stdio.hを読み込む | printfを使うために必要 |
| main関数を書く | プログラムの開始地点 |
| printfを使う | 文字列をコンソールに表示する |
| 文字列をダブルクォーテーションで囲む | 表示したい文字を文字列として扱う |
| \nを入れる | 表示後に改行する |
| return 0;を書く | 正常終了を示す |
printfで文字列を表示するときは、次の形を意識します。
printf("表示したい文字列\n");今回表示したい文字列は、修行者:ヒロです。
そのため、printfの中に修行者:ヒロ\nを書けば、表示後に改行できます。
プログラムの解答例
プロジェクト名/ファイル名: Prac1_1/main.c
#include <stdio.h>
int main(int argc, char** argv) {
// 修行者の名前をコンソールに表示する
printf("修行者:ヒロ\n");
// プログラムが正常に終わったことを示す
return 0;
}解説
このプログラムでは、printf関数を使って、修行者:ヒロという文字列を表示しています。
printf("修行者:ヒロ\n");printfは、コンソール画面に文字を表示するための関数です。
printfを使うためには、プログラムの先頭でstdio.hを読み込んでおきます。
#include <stdio.h>stdio.hは、標準入出力に関する機能を使うためのヘッダーファイルです。
printfは標準出力、つまりコンソールへ文字を表示する機能なので、stdio.hが必要になります。
| 記述 | 役割 |
|---|---|
| #include <stdio.h> | printfを使う準備 |
| int main(int argc, char** argv) | プログラムの開始地点 |
| printf | 文字列を表示する関数 |
| \n | 改行を表すエスケープシーケンス |
| return 0; | 正常終了を示す |
文字列は、ダブルクォーテーションで囲みます。
"修行者:ヒロ\n"この中にある\nは、改行を表すエスケープシーケンスです。
これがあることで、文字列を表示したあと、カーソルが次の行へ移動します。
ドラゴンボール風にたとえるなら、printfは修行装置の表示パネルにメッセージを出す技です。
修行者:ヒロという文字列を渡すことで、表示パネルにその名前が表示されます。
この問題では、C言語プログラムの最も基本的な流れを確認しています。
- stdio.hを読み込む
- main関数から処理を始める
- printfで文字列を表示する
- return 0で正常終了する
この流れは、今後のプログラムでも何度も使います。
図:printfで文字列を表示する流れ

この図が示していること
この図では、printfで文字列を表示する流れを表しています。
左側のコード巻物に書かれたprintfが実行されると、右側のコンソール画面に修行者:ヒロと表示されます。
文字列の最後にある\nは、改行を表します。
そのため、表示後に次の行へ移動します。
printfは、C言語で画面に文字を表示するための基本技です。
この問題では、その基本技をしっかり確認できます。
問題1-2:for文で修行メッセージを4回表示する
問題文
for文を使って、次の文字列を4回表示するプログラムを作りなさい。
C言語修行!期待される実行結果は、次のとおりです。
C言語修行!
C言語修行!
C言語修行!
C言語修行!この問題では、for文を使って同じ処理を繰り返す方法を確認します。
ドラゴンボール風にたとえるなら、同じ修行の掛け声を4回くり返す特訓です。
同じprintfを4回書くのではなく、for文を使って効率よく繰り返すことがポイントです。
プログラムを作成するヒント
この問題では、次の点を意識しましょう。
| ヒント | 内容 |
|---|---|
| for文を使う | 同じ処理を繰り返す |
| カウンター変数を用意する | 何回目かを数える |
| 4回繰り返す条件を書く | i < 4のように条件を決める |
| printfをfor文の中に書く | 繰り返したい処理を中カッコ内に入れる |
| \nを入れる | 1回表示するごとに改行する |
for文の基本形は、次のようになります。
for (初期化処理; 条件式; 増分処理) {
繰り返したい処理
}4回繰り返したい場合は、たとえばiを0から始めて、i < 4の間だけ処理を行うようにできます。
for (i = 0; i < 4; i++) {
printf("C言語修行!\n");
}iは0、1、2、3と変化します。
この4つの値の間だけ処理が実行されるため、printfが4回実行されます。
プログラムの解答例
プロジェクト名/ファイル名: Prac1_2/main.c
#include <stdio.h>
int main(int argc, char** argv) {
// 繰り返し回数を数える変数を宣言する
int i;
// C言語修行!という文字列を4回表示する
for (i = 0; i < 4; i++) {
printf("C言語修行!\n");
}
// プログラムが正常に終わったことを示す
return 0;
}解説
このプログラムでは、for文を使って、C言語修行!という文字列を4回表示しています。
for (i = 0; i < 4; i++) {
printf("C言語修行!\n");
}for文は、同じ処理を決められた回数だけ繰り返したいときに使います。
このfor文は、次の3つの部分でできています。
| 部分 | 記述 | 意味 |
|---|---|---|
| 初期化処理 | i = 0 | iを0から始める |
| 条件式 | i < 4 | iが4より小さい間、繰り返す |
| 増分処理 | i++ | 1回終わるごとにiを1増やす |
iの値は、次のように変化します。
| 繰り返し | iの値 | 条件 i < 4 | 表示 |
|---|---|---|---|
| 1回目 | 0 | 成り立つ | C言語修行! |
| 2回目 | 1 | 成り立つ | C言語修行! |
| 3回目 | 2 | 成り立つ | C言語修行! |
| 4回目 | 3 | 成り立つ | C言語修行! |
| 終了判定 | 4 | 成り立たない | 表示しない |
iが0、1、2、3のときは、i < 4が成り立ちます。
そのため、for文の中にあるprintfが実行されます。
iが4になると、i < 4が成り立たなくなります。
そこでfor文の繰り返しは終了します。
ドラゴンボール風にたとえるなら、iは修行回数を数えるカウンターです。
0回目、1回目、2回目、3回目の4回分だけ掛け声を出し、4になったところで修行装置が終了と判断します。
この問題で大切なのは、for文の中に繰り返したい処理を書くことです。
printf("C言語修行!\n");このprintfがfor文の中にあるため、4回繰り返されます。
もしprintfがfor文の外にあれば、1回しか表示されません。
| printfを書く場所 | 結果 |
|---|---|
| for文の中 | 繰り返し表示される |
| for文の外 | 1回だけ表示される |
for文では、中カッコの中に書いた処理が繰り返されます。
そのため、何を繰り返したいのかを意識して、中カッコの中に正しく書くことが大切です。
図:for文で同じ文字列を4回表示する流れ

この図が示していること
この図では、for文を使って同じ文字列を4回表示する流れを表しています。
iは0から始まり、1回処理が終わるごとにi++で1ずつ増えます。
iが0、1、2、3の間は、i < 4が成り立つため、printfが実行されます。
iが4になると、i < 4が成り立たなくなり、for文は終了します。
このように、for文では、初期化処理、条件式、増分処理を使って、繰り返し回数をコントロールできます。
練習問題で確認したいC言語の基本
今回の練習問題では、C言語の基本となる2つの処理を確認しました。
1つ目は、printfで文字列を表示する処理です。
2つ目は、for文で同じ処理を繰り返す処理です。
| 練習問題 | 確認した内容 | 重要ポイント |
|---|---|---|
| 問題1-1 | printfで文字列を表示する | 文字列、\n、stdio.hを確認する |
| 問題1-2 | for文で繰り返し表示する | 初期化、条件式、増分処理を確認する |
printfは、C言語のプログラムで結果を確認するためによく使います。
for文は、同じ処理を何度も行うためにとてもよく使います。
ドラゴンボール風に言えば、printfは修行結果を表示するパネル操作、for文は同じ技を決めた回数だけ繰り返す修行メニューです。
この2つを使えるようになると、C言語でできることが一気に広がります。
自分で少し変えて試してみよう
練習問題を解いたあとは、少しだけ内容を変えて試してみるのもおすすめです。
たとえば、問題1-1では、表示する名前を変えてみましょう。
printf("修行者:ユウ\n");問題1-2では、表示する回数を変えてみましょう。
for (i = 0; i < 6; i++) {
printf("C言語修行!\n");
}このように少し変えて実行すると、どの部分を変えれば結果が変わるのかが分かりやすくなります。
| 変える場所 | 結果 |
|---|---|
| printfの文字列 | 表示されるメッセージが変わる |
| for文の条件式 | 繰り返し回数が変わる |
| \nの有無 | 改行されるかどうかが変わる |
プログラミングの練習では、ただ答えを写すだけでなく、少し変えて動かしてみることが大切です。
修行でいえば、同じ型を覚えたあとに、少しスピードや回数を変えて試してみるようなものです。
そうすることで、コードの意味が自分の中でしっかりつながっていきます。
1章の練習問題で身につけたい感覚
1章の練習問題では、難しい計算や長いプログラムを書くことよりも、基本の形を確実に身につけることが大切です。
まず、C言語のプログラムはmain関数から始まります。
printfを使えば、コンソールに文字列を表示できます。
for文を使えば、同じ処理を決めた回数だけ繰り返せます。
この感覚が身についてくると、次に変数、配列、関数を使うときにも理解しやすくなります。
| 身につけたい感覚 | 内容 |
|---|---|
| プログラムはmain関数から始まる | 処理の入口を意識する |
| printfで結果を表示する | 実行結果を確認できる |
| \nで改行する | 見やすい出力を作れる |
| for文で繰り返す | 同じ処理を効率よく実行できる |
| 条件式で回数を制御する | 何回実行されるかを考えられる |
C言語の学習は、ひとつずつ小さな技を覚えていく修行のようなものです。
最初はprintfで表示するだけでも十分です。
次にfor文で繰り返せるようになると、同じ処理を何度も書かずに済みます。
この2つの基本技を使えるようになれば、次のステップへ進む準備はしっかり整っています。
