はじめに
先日(2020年12月8日)にC言語プログラミング能力認定試験の2級に合格しました。
そこで、どういった試験だったのか、また、使用した教材や学習方法について、書きます。
この試験は、サーティファイ情報処理能力認定委員会が主催しています。
同委員会より、問題集なども出版されています。
C言語プログラミング能力認定試験2級の概要
本試験2級の概要は、以下の通りです。
- 形式:複数の選択肢から正解を選択し、マークシートに解答する
- 実施形式:公開試験会場、または各テストセンターなど
- 試験時間:60分間
- 受験料:6,400円
認定基準
3級の合格により、次の基準を満たしていると客観的に証明することができます。
小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。
また各種基本アルゴリズムを理解している。
2級の試験には、ポインタや構造体などは出題範囲に含まれています。
また、配点の関係上、C言語で書かれたプログラムを読む問題を捨てずに取り組む必要があります。
3級の試験に比べると、難易度は上がっていると考えます。
出題範囲
公式のホームページに詳細な出題範囲が、掲載されています。
リンクから確認してみてください。
出題される関数も、限られたものなのが見て取れると思います。
実際に出題された内容
私が受験した際に、出題されたテーマを参考に掲載しておきます。
- 正誤問題:C言語の特徴
- 文法問題:ビット演算
- トレース問題:文字列と文字列関数
- 文法問題:数学関数
- 文法問題:ファイルアクセスに関する関数
- トレース問題:ポインタによる配列の参照
- プログラム問題:文字データをスタック構造及びキュー構造によりデータ管理する
- プログラム問題:リバーシゲームにおいて、挟める相手の石の数の合計値を出力する
3級の試験との大きな差は、プログラム問題が必ず2問、出題されることです。
大問1から大問6に時間を割きすぎると、プログラムを読み解く時間がなくなってしまうかもしれません。
使用教材
使用した書籍
私は、この試験をプログラミングに関する職業訓練に通いながら、受験しました。
その職業訓練で、C言語を学ぶ上で、使用していた教材が、
の、新・明解C言語 入門編 第2版です。
この本は、C言語の基礎を学ぶための、教科書といった感じです。
試験勉強のための、問題集は次のものを使用しました。
C言語プログラミング能力認定試験を、運営しているサーティファイから出版されている問題集です。
過去問題が、6回分収録されています。
この問題集をしっかり解くことで、かなり合格に近づくことができると思います。
しかし、この問題集は「解答・解説」の解説の部分があまり丁寧ではありません。
できれば、C言語に関する教本を一冊手元に置き、そちらを参照しながら、過去問に取り組むことをお勧めします。
利用したサイト
マイクロソフトが作成しているC言語のリファレンスサイトです。
関数について、知りたい場合は、リファレンスサイトの中でも、特にこのページを参考にしました。
上記2つのサイトは、マイクロソフトが作成しているだけあり、信用が置けます。
書籍だけでなく、インターネットのサイトも上手に活用したいところですね。
学習時間について
1.『新・明解C言語入門編』を教材に、C言語の特徴について、学習を行ないました。
私は、仕事でPHPを使っていたので、プログラミングの基本的な文法については、理解していました。
しかし、PHPでは行なわない型の宣言や、ヘッダーファイルの読み込みについては、知らなかったので、しっかりと勉強しました。
2.次に、公式の問題集を取り組みました。
2級の出題範囲には、ポインタや構造体といった、要素が含まれています。
仕事でプログラミングをしている時には、ポインタの概念を理解していなかったため、過去問に取り組む前は、C言語の特性に悩まされました。
先述の通り、公式の問題集に付属している「解答・解説」は、あまり参考になりませんでした。
解答が書いてあるだけで、「なぜ、そのような解答になるのか」という、解説の要素が薄かったです。
解答・解説に頼らず、別にC言語の仕様について、確認できる教材を手元に用意することをおすすめします。
公式の問題集だけあって、実際の過去問を掲載しています。かなり、試験の参考になりました!
過去問をいくつか解くと、気が付くことですが、C言語プログラミング能力認定試験では、過去問に出題された問題から、似たような内容・形式が出題されています。
公式の問題集をしっかりと取り組むだけで、かなり合格に近づくと思います。
まとめ
試験終了後、約2週間ほどで、試験結果が届きました。
無事に合格していたため、合格したことを示す、『認定証』が届きました。
認定証には、
・認定基準(各級が証明するC言語のプログラミング能力)
・受験情報(受験会場や試験日など)
・試験結果(テーマ別の正答率)
が、記載されています。
今回は、以上です!