C言語検定試験について
主催・認定
試験名
C言語プログラミング能力認定試験
(C-Language Programming Skills Qualification Test)
試験目的
C言語を駆使して応用プログラム(言語処理系、ユーティリティなど)を作成する能力を認定します。
認定基準
一級 | C言語を駆使し、応用プログラム(言語処理系、ユーティリティなど)が作成できる能力を有する。
また使用しているOSについて理解をしている。 |
二級 | 小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。
また各種基本アルゴリズムを理解している。 |
三級 | C言語の概念を理解し、簡単なプログラムが書ける。 |
C言語を駆使した応用プログラムの作成能力を認定
C言語は、記述の自由度が高く、使用可能なプラットホームが多いなど、使用できる場面が多いことから、現在最も広く普及しているプログラミング言語です。このC言語のプログラミング能力の測定を目的に、1992年より開始されたのがサーティファイ 情報処理能力認定委員会が主催する「C言語プログラミング能力認定試験」です。
保有スキルのレベルに合わせた3段階の認定基準を設けることにより、これから新たにプログラミングの学習を始める方から、現在プログラマやシステム・エンジニアとして既に活躍されている高度IT技術者の方まで、幅広い皆様から受験いただいています。
初学者から、ビジネスシーンで活躍できるプログラマまで、幅広いスキルを測定
「C言語プログラミング能力認定試験」は、これからプログラミングを学び始める方を対象とした「3級」から、プログラマやシステム・エンジニアとして活躍されている方の保有スキルを客観的にアピールできる「1級」まで、幅広いスキルを測定しています。
特に「1級」では、実際にPCを使用して、プログラムの仕様変更やこれに伴うプログラミング作成(コーディング・コンパイル・デバッグ)を行う、極めて実践的な資格・検定試験として、IT業界でも高く評価されています。
基本情報技術者試験の午後の試験対策としても有効
「C言語プログラミング能力認定試験」の「2級」及び「3級」は、経済産業省認定「基本情報技術者試験」の「午後問題」の出題形式も意識して作成しています。そのため、「基本情報技術者試験」の学習と連動した活用も多く見られます。保有スキルのレベルに応じた級位取得を目標としていただくことで、C言語のプログラミング能力を高めるだけではなく、「基本情報技術者試験」の合格にもつなげていくことができます。
参考(3級出題範囲)
出題内容 | ||
定数 | 整数定数 | 10進定数、8進定数、16進定数 整数接尾語は符号無し接尾語(u、U)のみ |
---|---|---|
文字定数 | ワイド文字定数(L’c文字の列’)を除く 拡張表記は単純拡張表記のみ |
|
文字列リテラル | ワイド文字列リテラル(L”s文字の列”)を除く 拡張表記は単純拡張表記のみ |
|
演算子 | 算術演算子、インクリメント演算子、デクリメント演算子、(算術の)代入演算子、関係演算子、等値演算子、論理関係演算子、括弧演算子、コンマ演算子 | |
型指定子 | char、int、unsigned、signed | |
変数 |
|
|
基本制御文 | break、continue、do、for、if、return、switch、while | |
プリプロセッサ機能 | #define、#include | |
ライブラリ関数 |
|
|
|
||
その他 | Cの歴史と特徴 |
付録
プログラミング関連の資格
- Oracle Certified Java Programmer
- C言語プログラミング能力認定試験
- Ruby技術者認定試験制度
- ORACLE MASTER Silver Oracle PL/SQL Developer
- IPA基本情報処理技術者試験
- IPA応用情報処理技術者試験
- マイクロソフト認定ソリューション デベロッパー (MCSD)
- CIW Web Development Professional Certification
- 情報検定(J検)
- JSTQBテスト技術者資格認定
参考サイト:
- http://techacademy.jp/magazine/894
2015年の人気プログラム言語比較
言語の特徴を表にまとめてみました。
用途 | 学習難易度 | 年収 | 求人数 | 将来性 | |
---|---|---|---|---|---|
C | 制御系、組込み系 | ★★★★★ | 普通 | 少ない | ★ |
Java | 汎用的だがWeb系 の開発が多い |
★★★ | 普通 | 多い | ★★ |
PHP | Web系 | ★★ | 普通 | 多い | ★★ |
Ruby | 汎用的だがWeb系 の開発が多い |
★★★ | 高 | 少ない | ★★★ |
Python | 汎用的 | ★★★ | 高 | 少ない | ★★★★ |
Swift | iPhoneアプリ | ★★★★ | 高 | 多い | ★★★★★ |
参考サイト:
- https://toiroha.jp/article/detail/32380
- https://blog.codecamp.jp/programming_language_2015
WEBシステムの開発会社でもC言語が見直されている!?
OSやメモリを強く意識したC言語は高速、省資源。
ある程度の規模までのWEBシステムの場合は、
もちろんPHPやJavaといった言語が使用されますが、
大人数が同時に使用する、巨大なデータベースの場合、
核となる部分はC言語の方が適している場合もあるそうなのです。
なぜ、JavaではなくC言語なのでしょうか。
Javaの特徴でもあるガーベジコレクション(自動でメモリを開放してくれる機能)が原因で不具合が発生したことがあるそうです。
メモリを潤沢に使い、使用後も特に意識することを必要としないJavaという言語。
それに対してC言語は、メモリの管理は自分で行うことが前提の言語なのでメモリの取得と解放の手順は自分で記述しなければなりませんが、自分で記述した通りに動作させることができます。
参考サイト:
- http://shinjuku.kenschool.tv/2013/03/15/web%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E9%96%8B%E7%99%BA%E4%BC%9A%E7%A4%BE%E3%81%A7%E3%82%82c%E8%A8%80%E8%AA%9E%E3%81%8C%E8%A6%8B%E7%9B%B4%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B/