こんにちは JAYLOGです。
今回は基本情報技術者試験の午後問題のC言語対策についてお話しします。
基本情報の午後試験でC言語を選ぶ方は、基本的にはプログラミング経験者が多いと思います。
とは言っても、未経験者でもチャレンジする人も多いと思いますのでそういう方にもわかるようにしたいと思います。

この記事を読むメリットは。。
・午後試験にC言語を選ぶかどうか迷っている方に、C言語は基本さえ押さえてしまえば難しくはなくチャレンジできる範囲であるということが分かってもらえます。その結果、必要な対策を知ることで試験の得点源にすることが出来ます。
プログラム言語の種類と難易度

基本情報技術者試験で出題されるプログラミング言語は下記の5言語になります。
- C
- COBOL
- アセンブラ
- java
- 表計算
難易度的にはアセンブラ<表計算<COBOL<C言語<javaの順に難易度が上がっていきます。
なので、他の解説サイトでも表計算 or アセンブラ推しのものが多いですね。
ただ今後IT技術者としてやっていくのであれば、個人的には表計算以外を選択した方がいいと思います。
※2020年の春期よりCOBOLが廃止、pythonの導入が決定しました。
今回はC言語にスポットを当てたいと思います。
C言語の問題の傾向

傾向としては下記になります。
・穴埋め問題が多い
・応用の問題が多い
・実行結果の問いもある
穴埋め問題が多い
他のプログラミング言語と比較して穴埋めが多いです。
プログラミング言語のレベルによるものだとは思いますが、穴埋めは点取り問題なので落とさないようにしたいですね。
応用問題が多い
知識だけで解ける問題が少ないという意味です。
ですので、問題の末尾にある仕様の説明、問題文をきちんと読む必要があります。
実行結果の問題もある
他のプログラミングも一緒ですが、プログラムのアウトプットの問いがあります。
この問題にたどり着く前の設問に間違えてしまうと、実行結果も間違えてしまう確率が高くなりますので注意しまょう。
C言語試験対策

試験対策はこれが必要です。
・基礎知識の確認
・トレースの練習問題演習
基礎知識の確認
持っている参考書を読み込んで基礎知識の確認をします。
普段からC言語を使っている方は大丈夫だと思いますが、それ以外の方は最低1回は確認した方がいいですよ。
問題を解く為には前提となる知識が必要です。最低限下記はしっかり押さえておきましょう。
- 条件分岐、ループ
- 構造体
- 配列
- 型(文字列、数値など)や変換
- ポインタ(頻出です)
- 変数の使い方
- 入出力
- 定数、define
トレースの練習
トレースとはプログラムを読むという事です。プログラミングのどの問いを選んでも必要なスキルです。
また、トレースはプログラミングの得点の源泉になりますのでトーレス出来るようにしてください。
問題演習
問題集や過去問を使って問題を解いていきます。実践では問題文に書き込みながらトレースする事になります。
実践では問題文に書き込みながらトレースする事になります。ですので時間があればペンを使ってトレースしましょう。
時間を測る必要があるかについてですが私としてはあまり必要性は感じないです。
というのもここではじっくり解いて理解度を上げることに比重をおきたいからです。
時間を測るのは最後の演習の時でいいと思います。
基本情報技術者試験の対策については下記にあるので見てみてくださいね。
おすすめの書籍はこちらです。
もしC言語に特化して学習するのであれば『情報処理教科書 基本情報試験のC言語問題がちゃんと解ける本』図表で構造を表現してくれているので、初心者にはお勧めです。
C言語受験時のコツ
C言語の試験時のコツについてです。
・時間内に収まるか目を通す
・ケアレスミスしない
・処理の順番に解く
時間内に収まるか目を通す
まず、事前に計画を立てた時間内に収まるか全体を見て考えましょう。
必要に応じて濃淡をつけていく必要があります。
これは、他の設問に影響を与えてしまわないようにする予防策でもあります。また、回答中でも時間には気を使う必要があるのを忘れないようにしてください。
ケアレスミスしない
問題の後半は前半の回答を元に答えていく事になります。ですので前半のケアレスミスは避けたいところです。
ケアレスミスを防ぐには落ち着いて解く事も大事ですが、下記のことにも気をつけてください。
- トレースを正確にする。
- 設問に答える為に前後の文も読む
処理の順番に解く
普通は設問の順番に解いていくのですが、ここでは、処理を順番に読んでいってぶつかった問題から順に潰すというやり方です。
これを行うメリットは設問の度に問題の周辺の処理を見なくていいというところです。
経験したことがある方はわかるのですが、何度も設問と処理を行ったり来たりしていると集中力も切れて頭も混乱してきます。その結果ミスを誘発しかねません。
これを防ぐためにも、このようなやり方は有用だと思います。
ただ1点懸念があるとすれば、ふつうは設問通りにやっていくことが多いので、急に解き方を変えてしまうと逆にやりづらくなる可能性があります。
ですので、事前(問題集を説いているとき、過去問を解くとき)トライをしてみてあっていればやっていったほうがいいです。
さいごに
いかがでしたでしょうか。プログラミングは慣れるのに多少の時間が必要です。
ただ、ITに従事するからには表計算以外の選択もできるようになればいいなと思い紹介させていただきました。
また、今後ITを目指す学生さんは就活でアピールできたり、入社後のプログラム研修の理解度が高くなります。
試験までに時間がある方は実際に選択するかは置いておいたとしても、一度勉強した方がいいと思います。
ほかの午後試験対策を確認したい方はこちら
■アセンブラ
■java言語
■表計算
■アルゴリズム全般

