C exercises (1) guidance

C言語プログラミングⅡの試験解説

C言語検定試験について

試験名

C言語プログラミング能力認定試験
(C-Language Programming Skills Qualification Test)

試験目的

C言語を駆使して応用プログラム(言語処理系、ユーティリティなど)を作成する能力を認定します。

認定基準

一級 C言語を駆使し、応用プログラム(言語処理系、ユーティリティなど)が作成できる能力を有する。

また使用しているOSについて理解をしている。

二級 小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。

また各種基本アルゴリズムを理解している。

三級 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/

[BCC32]Error on JP programming

Hello World例

正しいhello.c。カーソルは位置を注意してください。Pは5:5の位置にある。

image

コンパイルと実行する様子

典型的なエラー

初めてCのプログラミングは なかなかうまく行かないかも知れない。
ここではHello World プログラムの典型的な間違い例をいくつか紹介する。

 

半角引用符「”」ではなく全角引用符「”」に

右の引用符は全角引用符「”」になっている

image

 

全角スペースが用いられ

全角スペースが用いられている、これはなかなか探しにくい。

カーソルは位置を注意してください。Pは5:3の位置にある。

(半角のスペースなら、Pは5:5の位置にある。)

image

セミコロン「;」の付け忘れ

 

セミコロン「;」の付け忘れである。

image