C言語検定(3級)

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
ライブラリ関数
入出力関数<stdio.h>
EOF  NULL
int printf(const char *format, …);
int scanf(const char *format, …);
int getchar(void);  int putchar(int c);
文字操作関数<ctype.h>
int isalnum(int c);  int isalpha(int c);
int iscntrl(int c);  int isdigit(int c);
int isgraph(int c);  int islower(int c);
int isprint(int c);  int ispunct(int c);
int isspace(int c);  int isupper(int c);
int isxdigit(int c);  int tolower(int c);
int toupper(int c);
その他 Cの歴史と特徴

付録

プログラミング関連の資格

  1. Oracle Certified Java Programmer
  2. C言語プログラミング能力認定試験
  3. Ruby技術者認定試験制度
  4. ORACLE MASTER Silver Oracle PL/SQL Developer
  5. IPA基本情報処理技術者試験
  6. IPA応用情報処理技術者試験
  7. マイクロソフト認定ソリューション デベロッパー (MCSD)
  8. CIW Web Development Professional Certification
  9. 情報検定(J検)
  10. 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/