C言語プログラミング能力検定1級対策 -その3:その他

C言語プログラミング能力検定1級の受験対策として、気付いたことをメモしておきます。

1.コーディング品質の無視
試験では、コーディング品質は採点の対象になっていないようです。過去問の解答例もスパゲティコードです。
この試験に合格する、という目標に限ってはコーディング品質は無視しましょう。
仕様通り動作すれば合格には十分です。

2.変更仕様は第1問だけ
変更仕様書の記述も採点されますが、配点は10点程度のはずで、まずは動作するプログラムを作れているかどうかが問われます。ですので、仕様書の作成は後回しにする方が良いでしょう。
そして試験では2問出題されますが、傾向として1問目の方が簡単で、2問目の方が複雑です。よって、仕様書も1問目を優先し、2問目の仕様書は時間が余ったら書けば良いと割り切りましょう。
ただし、この試験で求められる仕様書もかなり特殊ですので、過去問の仕様書は一度書き写してみることもオススメします。

3.コンパイル設定
この試験では旧ボーランドのCコンパイラを利用しますが、bcc55/binのフォルダにbcc32.cfgとして以下の内容を記述します。

-I"C:\Borland\BCC55\Include"
-L"C:\Borland\BCC55\Lib"

インクルードファイルとライブラリファイルのディレクトリ設定です。また、環境変数のPATHに

C:\Borland\BCC55\Bin

を追加します。
これで、コンパイル&リンクが簡単になります。

4.試験会場のパソコンの設定確認
試験会場には少し早めに入り、コンパイル環境が整っているか確認します。まずは、適当にフォルダを作り、そこで簡単なCプログラムを作成します。

#include "stdio.h"

int main( void )
{
printf("hello\n");
}

これがそのフォルダ内でコンパイルして、コマンドプロンプト上で動作できる確認します。上記3の設定などが必要になるでしょう。また、.h、.cファイルをダブルクリックしたらメモ帳で開くようにしておくことも効果的です。


5.文字列操作
strlen、strcmp、strcatといったstr***系の文字列操作関数は使えるようにしておきましょう。
普通のC言語プログラムではあまり使わないかも知れませんが、この試験では文字列操作がまず間違いなく求められます。


こんなところでしょうかね。
それほど高度なスキルが求められている訳ではありませんので、C言語を扱っているプログラマーやエンジニアはサクッと合格を狙えます。

C言語プログラミング能力検定1級対策 -その2:データファイル編集プログラムの作成

C言語プログラミング能力検定1級のプログラムではデータをファイルに読み書きしていますが、その際にfread、fwrite関数を使っています。このため、データファイルをメモ帳で開いても中身を確認できません。特に、試験会場のパソコンにはデバッグ環境は揃ってなく、メモ帳とコマンドプロンプトで対処しなくてはなりません。

そこで、各テーブルの操作方法を理解するためにも、データファイルを編集する簡単なプログラムを作ることをお勧めします。
私のサンプルを添付します。なお、一部に例題プログラムの関数をコピペしているので、著作権上、中身を空にしていますので、ご了承ください。

editor.c
(FC2のシステム上、.txtとなっていますので、.cにしてください)

私は、このプログラムを作ったことで例題のプログラムを理解でき、合格できたと思います。
また、過去問に取り組む際にデータファイルの中身を確認したり、任意のデータファイルを読み込ませたりしたい場合などにも役立ちます。

受験対策としてはオススメです!

C言語プログラミング能力検定1級対策 -その1:コールグラフ

C言語プログラミング能力検定の1級では、アスレチッククラブの会員を管理するプログラムがサンプルとして与えられています。このプログラムを理解していることが大前提となっています。当日、いきなり解読するのは時間制限を考えれば無謀としか言いようがありません。

で、プログラムを理解するのには、まず、コールグラフを作りましょう。

main -> func1 -> func2
-> func3

-> func4 -> func5

っていう感じです。main関数からはfunc1とfunc4を呼び出し、func1からはfunc2とfunc3を呼び出し、func4からはfunc5を呼び出している、、、という関数を呼び出す関係を示す図表です。

ポイントは2つあります。

1つは、このプログラムではakicode_tbl、codedata_tbl、keisoku_tblという3つのテーブルを使用しますが、それぞれを作成、追加、削除する関数がどれか、ということです。基本的に、これらのテーブルのうちの1つを改造する、というような問題が出題されます。

2つ目は、上記3つのテーブルを操作する関数がファイル内staticかどうか、ということです。これら3つのテーブルに対する操作を行う際に、他のファイル内の関数がstatic宣言されているとそのままでは当然のことながら呼び出せません。過去問でも、static宣言を外して他のファイルから呼び出すことが何度かありました。

4つのファイルがありますが、全体的な大きさは知れてますので、すべてを十分に把握できます。

C言語プログラミング能力検定1級に合格しました

もう半年ほどたってしまいましたが、今年の1月に受験したC言語プログラミング能力検定の1級に合格しました。
札幌での受験者は・・・ 私1名のみでした(笑)

試験対策としては、過去問(C言語プログラミング能力認定試験1級過去問題集 2007ー2008 (Certify business licenses))が1番です。

試験ではプログラムの他に仕様書も書きますが、点数配分は低いので仕様書は捨てても十分に合格できます。
実際に私は2問目の仕様書は捨てました。それでも90点で合格できました。

C/C++言語の資格が他にないので今はこれしかありませんが、他の主催者で実用的なC/C++の資格ができることを望みます。

C言語プログラミング能力検定1級受検

先週末の日曜にC言語プログラミング能力検定の1級を受検して来ました。

先々週はグアムに行って、翌日は仕事、日曜は英検、週明けの月、火は出張、、、とまたまたC言語プログラミング能力検定は準備があまりできませんでした。
それでも一応、過去問の第2版が出ていたので取り寄せてみて、ビックリ! あらら、ファイルが3つも4つもある。。。と気付いたのが、本番3日前。
まあ、テーマプログラムの内容は変わってないので大きな問題ではないか。

残念ながら、今回も2問ともちゃんと動かずに終わってしまいました。
そもれでもこのテーマプログラムのクセが少し見えてきました。
3つのテーブルを用意していてグローバル領域に変数のメモリを用意しつつも、そこにデータを保持していないということです。そして、各テーブルのファイルを読み込む関数は作ってある、ということです。
多分、この点が分かっていて、その関数を把握しておけば合格できそうです。

それにしても、こんなプログラムを作るなんて、テーマプログラムの作者はC言語についてはド素人ですね。
あと、こういう特殊な仕様になっていることの説明がないことから、ソフトウェアの設計をやったこともない人でしょう。
こんな仕様書&プログラムを作ってたら、今の時代、遅かれ早かれ間違いなくクビになると思いますが、そんな成果物にも対応できる能力を見ているのかも知れませんね(笑)
カテゴリ
スポンサーリンク
プロフィール

ぽんちゃん

Author:ぽんちゃん
20代でエンジニアとしての給与年収1000万円を超え、今はサラリーマンしながら大家もやっています。2007年に結婚して1年間の通い婚/週末婚の後、同居するため2009年に札幌に移住して給料は3分の1になりました(汗)
趣味でFXもやってますが、2009年9月に長男が生まれてからメインの趣味はイクメンです
d(^ー^
札幌在住の40代♂
カミさんはガーデニング会社の女社長で、私より6才年上の年上婚!

最新記事