「C言語プログラミング能力認定試験 3級」の難易度とは?【合格体験記】

 やぁ、水那@mzpdn)だ。
 今回は、C言語プログラミング能力認定試験3級合格した僕が、試験概要であったり、合格するために行った勉強方法コツなどを語らせていただこうと思う。
 なお、専門用語などはなるべく省いて、C言語に触れたことのない初心者・初学者の方にもわかりやすく語るので、ぜひとも安心して読み進めていただきたい。
 それでは早速いってみよう。

C言語プログラミング能力認定試験とは

 C言語プログラミング能力認定試験とは、その名の通り個人がC言語を扱う能力にどれほど優れているのかを測る資格試験だ。
 これは、サーティファイというところが実施する民間資格試験となっており、普段C言語を扱っている方はきっとご存じだろう。
 C言語プログラミング能力認定試験は、レベルの優しい方から順に「3級」「2級」「1級」となる。
 ちなみに、試験の級ごとに基準があるので下記をご覧いただこう。


 3級:C言語がどういったものかを理解しており、簡単なプログラムを組むことがで
    きる。
 2級:500行程度のプログラムを、正しく早く適切に組むことができる。
    加えて、各種基本のアルゴリズム(効率の良い処理手順)を深く理解して
    いる。
 1級:C言語をうまく活用し、高難易度のプログラムを組むことのできる能力を持つ。
    加えて、使用しているOSについて深く理解している。

 初心者の方でもわかりやすくしてみたが、いかがだろうか?
 皆さんと同じく知識ゼロから始めたので、この時点でギブアップしたい気持ちは僕にもわかる。
 しかしながら、我慢していただき、もう少し頑張って読み進めていただきたい。

C言語プログラミング能力認定試験3級の難易度

 どの方も「C言語プログラミング能力認定試験3級」に対して「難しいです!」「簡単です!」と言っているが、正直これは間違っていると僕は考えている。
 そもそもプログラミングとは、好き嫌いの大きく分かれるものであり、中でもC言語は比較的習得に手間のかかる言語だと忌み嫌われている。
 それを全員が簡単にできるとは到底思えないため、少なからず僕の口からは「簡単である」という無責任な発言は控えさせていただく。

 ただ、合格率は65.2%(2018年度平均合格率)と、資格試験の中では高い方ではないのだろうか。

 「思ったより高いなら俺でも行けるやん!」

と思ったその君。その考えは、世界一甘いお菓子「グラブジャムン」より甘い。

https://amzn.to/2ALTJUM
水那
水那

まぁ、気になる方は気軽に食べてみてくれ

 話が変わってしまったが、この合格率は少なからずC言語を学習してきた人たちが受験して出た合格率である。
 IT系の資格試験をよく受験する方ならわかるかと思うが、学習が不十分で合格できそうにないと感じたら試験をバックレて無断欠席する人がいることから、これは確実に言えることだろう。

C言語プログラミング能力認定試験3級の出題

 「C言語プログラミング能力認定試験 3級」においては、6つのテーマが出題され、それを制限時間である60分(1時間)で回答することになる。
 この6つのテーマというのは、試験ごとにランダムで出題されて僕が受験したときは、

  1. 正誤問題:C言語の特徴 (8問
  2. 正誤問題:文字操作関数 (5問
  3. トレース問題:int型の配列、for文、if文、インクリメント演算子 (8問
  4. 文法問題:マクロ定義をする#define (6問
  5. トレース問題:printf関数の書式指定 (5問
  6. プログラム問題:入力した会員コードについて、マスク開始位置から終了位置部分を’*’に変換し出力する (5問

 
 というテーマで構成されており、問題数は合計37問であった。
 ここで、僕が情報を集めて細かく研究してみたので、是非参考にしていただきい。
 (※専門用語が少々出てくるが、許していただきたい)

テーマ1は100%固定である

 「C言語プログラミング能力認定試験 3級」における、1つ目のテーマである「C言語の特徴」は確実に出題される
 そのため、どこよりも優先して学習すべきだと言える。
 ちなみにここは、8つ程度の問題文に対して「 正しい」「 誤り」の二択で答えるところであるため、最低でも1ミス程度で済ますべきだ。

テーマ2からランダムになってしまう

 残念なことに、1つ目のテーマとは違って様々な問題に分かれる
 まず大きく分けて、1つ目同様の正誤問題か、処理を読み解いてア~エの4択で当てはまるものを答える文法問題
 正誤問題の場合は暗記すればいいものの、文法問題の場合は、printf(文字列を表示するための関数)やscanf(キーボードからの入力を読み取る関数)を正しく活用するための作法であったり、書かれている処理を読み解いていく能力が必要となる。
 具体的な題材は「C言語の定数」「scanf関数」などだ。
 しかしこれは、のちほどご紹介する問題集とほぼ同じ形式で出題されるため、勉強をすれば対策に時間がかかることはないだろう。

テーマ3はトレース問題だが

 テーマ3は、全員同じトレース問題だ。
 と言いたいところだが、これも残念がら同じテーマであるものの、問題に差異が生じている
 全体的にまとめてみて、forや(do)whileといった繰り返し処理、ifでの条件分岐、演算子に関しての理解があればここも問題なくクリアできると考えられる。
 しかし、演算子にはいくつかの種類があるためそこには注意していただきたい。

テーマ4は文法問題で、問題によっては

 ここからの問題は、初心者にとって少し厳しいかと思われる。
 配列などのなじみ深いものならまだ救いはあるが、インクリメント演算子のひっかけだと苦労する人もいるかと思う。
 加えて、マクロ定義や文字操作関数などを覚えておくと効果的だろう。

テーマ5はかぶりやすいかも

 テーマ5は、僕も実際に解いた「printfの書式設定」がかぶりやすいかもしれない。
 あまり鵜呑みにしないでいただきたいが、ここを勉強しておいて損はないだろう。
 加えて、8進数を入力したり16進数で出力したりを効果的だろう。

テーマ6はかなり鬼

 これまでのテーマとは大きく違い、「C言語プログラミング能力認定試験 3級」において一番難しいところであると言える。
 いろいろと調べてみたが、テーマ6に関してはどの問題がかぶっているのかわからなかったため、もしかしたら毎回問題を作っているのかもしれない(それはないだろうが、そういうレベル)。
 問題発言かもしれないが、苦手な方はテーマ1~5に注力してテーマ6は捨てていいかもしれない。

僕がすすめる「C言語プログラミング能力認定試験3級」の試験対策

試験対策の前に読むべき一冊

 まず初めに、C言語の基礎を学ばないことには試験対策は始められない。
 既にC言語の基礎を理解している方は読み飛ばして頂いていいのだが、
 「何から始めればいいのか全く分からない。失敗して損したくない。」
 と困っている方のために、僕が実際に使用していた滅茶苦茶にわかりやすい入門書をご紹介させていただく。
 それがこちら

苦しんで覚えるC言語
https://amzn.to/3bdA50p
水那
水那

売り切れているときが多いため、在庫があるときは直ぐに買った方が良いかも


  知る人ぞ知る良書である「苦しんで覚えるC言語」通称苦Cだ。
 他にも「新・明解C言語 入門編」などがあるのだが、苦Cはとにかく最強だと考えている。
 もともとネットで人気があり、それを書籍化したものなのだがとても分かりやすい。
 例えば、他の入門書でありがちな「今のところはおまじないだと思ってください」のような誤魔化しがないのだ。
 最初から分からないを生み出さないために「苦しんで」と掲げているのだろうが、そのおかげもあって、想像以上にすんなり頭に入ってくる。
 僕がこれまでに読んできたC言語の入門書では、断トツ1位に君臨する良書である。

水那
水那

この本はマジで最強

 まずはこれを読み進めて、「C言語プログラミング能力認定試験3級」の試験範囲である文法などを学ぶことが良いと考えられる。
 進めるにあたって、試験範囲ではないものも含まれるかと思うが「14.2 文字列を扱う方法」まで学習しておけば、まず問題ないかと思う。
 各自、確認しながら試験に出題されそうなものをチョイスすると良いだろう。

試験対策には過去問題集の一択

 試験対策に推奨するものはただ1つ、過去問題集である。

C言語プログラミング能力認定試験 過去問題集

 これは級それぞれに存在しており、過去にあった6回分の試験に出題された問題を一冊にまとめた、サーティファイが提供する公式問題集だ。


 購入サイト(ウイネットホームページ)はこちらから
 (個人)https://bookshop.wenet.co.jp/products/detail.php?product_id=16
 (教育機関・企業の方)https://www.wenet.co.jp/webapp/products/detail.php?product_id=2154

 そもそも、C言語の資格・検定というものは数少なく、この試験に関しては唯一親切に問題集を販売している。

 まぁとりあえず、こちらを購入した後にひたすら問題を解くといった方法が合格への近道といえる。
 

 結論:C言語の基礎を「苦C」で学んだ後、公式問題集でひたすら試験対策

まとめ

 いかがだっただろうか?

 今回は「C言語プログラミング能力認定試験3級」の合格方法をご紹介したが、人によっては難しいと感じたかもしれない。

 プログラミングは、本を読んでいるだけでは効率的な学びにはならないため、実際に手を動かしながら試験対策をすると効果的だろう。
 ぜひ、今回ご紹介した方法で皆さんも合格していただければ幸いです。
 加えて、この方法で合格した方はぜひとも「合格してやったぜ!どうだ!」といった感じでご報告していただければ嬉しいです。
 それでは合格できるよう、頑張ってみてくださいね。

 今回もご覧いただき、ありがとうございました。

 「C言語プログラミング能力認定試験2級」に合格した方はこちら

https://mznblog.com/certifyc2/