00 はじめに — C言語2級 攻略ガイド

このフォルダは、サーティファイ「C言語プログラミング能力認定試験 2級」の対策資料です。3級の基礎の上に、文字列・関数・変数のスコープ・ビット演算・ポインタ・ファイル処理といった実戦的なテーマと、標準ライブラリ関数の知識が問われます。

この資料の歩き方
① まず 01〜07 の各章で「読む → 理解度チェックで確認」を一周する。
問1ドリル(下の過去問画像)で知識小問を反復する。
過去問PDFで本番形式(長文読解・トレース・穴埋め)に慣れる。

00-1 この資料の構成


00-2 出題テーマ早見表(問1=知識の小問)

過去問の問1は、短い知識小問の集まりです。第53〜65回を分析すると、毎回ほぼ同じテーマが繰り返し出ています。下表で「自分の弱点テーマ」を見つけ、対応する章で補強しましょう。

テーマ関連する章過去問での出題(回-小問)
どの関数がどのヘッダか07章53(1) 54(1) 56(1)(3)(6) 59(1) 60(2) 62(1) 63(8) 65(1)
文字列関数(strcpy/strcmp 等)01・07章56(4)(5) 60(8)
数値変換・演算関数(atoi / math)07章53(6) 54(3) 56(3) 60(6) 63(8)
標準入出力・ファイル処理06章53(8) 54(4) 56(8) 59(3) 60(5)
メモリサイズと文字列長の違い(sizeof / strlen)01・07章53(7) 59(2)
識別子の重複(スコープ)03章53(4) 54(6) 60(8) 62(2) 63(2)
定数・エスケープ文字01章53(1) 54(1) 59(8) 60(1)
ストリーム(stdin / stdout / stderr)06・07章54(3) 57(4)
前処理命令 #include07章56(8) 59(7) 60(7)
列挙型 enum補足53(2) 54(7) 57(6) 60(4) 62(6)
予約語と変数名補足53(3) 54(5) 56(2) 60(5)
キャスト(型変換)補足54(5) 60(7) 62(7)
条件演算子 ?:補足54(6) 57(8)
論理演算子の評価順(短絡評価)補足53(7) 54(4) 56(7) 59(4) 60(4)
switch 文補足57(6)
ctype.h(is○○ / to○○)補足(3級27-4)57(4)(7)
⚠ 「補足」とした enum・キャスト・条件演算子・論理演算子の短絡評価・switch・ctype.h は、本資料の 01〜07 では深入りしません。これらは本科目の C言語 講義(09 演算子・18 switch 文・22 型変換 など)や 3級対策(27-4 標準ライブラリ関数:ctype.h)で扱っています。下の 補足テーマの確認クイズでも要点を押さえられます。

00-3 過去問演習 — 問1ドリル(第53〜65回)

各回の問1(知識小問)を集めました。まず時間を計らずに全部解いて、上の早見表でテーマごとの正答率を確かめましょう。
正答は、下の正答解説PDF(第56・59・60回)で確認できます。

問1ドリル — クリックで各回を開く
第53回 問1
第53回 問1
第53回 問1
第54回 問1
第54回 問1
第54回 問1
第56回 問1
第56回 問1
第56回 問1
第57回 問1
第57回 問1
第57回 問1
第59回 問1
第59回 問1
第59回 問1
第60回 問1
第60回 問1
第60回 問1
第62回 問1
第62回 問1
第62回 問1
第63回 問1
第63回 問1
第63回 問1
第65回 問1
第65回 問1
第65回 問1

00-4 過去問(PDF・本番形式)

問2以降は、長めのプログラムを読んでトレース・穴埋めする形式です。本番の時間配分に慣れるため、通しで解いてみましょう。(新しいタブで開きます)

問題冊子正答・解説
第56回
第59回
第60回
⚠ 過去問・正答解説はサーティファイ「C言語プログラミング能力認定試験」の問題です。学内の学習目的で掲載しています。

00-5 補足テーマの確認クイズ

早見表で「補足」とした、01〜07 では扱わないが問1で出るテーマの要点です。

Q1. 論理演算子の短絡評価について、次のコードで 10 / a はどうなるか。

int a = 0;
if (a != 0 && 10 / a > 1) {
    /* ... */
}
解説を表示

正解:イ

&& は左側が偽なら右側を評価しない(短絡評価)。ここでは a != 0 が偽なので 10 / a は実行されず、ゼロ除算は起きない。|| は逆に左が真なら右を評価しない。

Q2. 条件演算子を使った x = (a > b) ? a : b; で、x に入るものはどれか。

解説を表示

正解:ウ

条件 ? 真のとき : 偽のときa > b が真なら a、偽なら b。つまり大きい方(max)が入る。

Q3. enum Color { RED, GREEN, BLUE }; のとき、GREEN の値はどれか。

解説を表示

正解:イ(1)

列挙型は既定で先頭が 0、以降 1 ずつ増える。RED=0, GREEN=1, BLUE=2。途中で = 値 を指定するとそこから振り直される。

Q4. (double)5 / 2 の結果はどれか。

解説を表示

正解:ウ(2.5)

キャスト (double)5 で 5 が実数 5.0 になり、5.0 / 2 は実数の割り算で 2.5。キャストが無い 5 / 2 は整数同士なので商の 2(小数切り捨て)になる点と区別すること。


00-6 学習の進め方(おすすめ)

  1. 01〜07 を一周:各章を読み、末尾の理解度チェックで定着を確認する。
  2. 問1ドリル(00-3)で知識小問をくり返し、早見表で弱点テーマを特定する。
  3. 弱点テーマの章に戻って読み直す(例:ファイル処理が苦手 → 06章)。
  4. 過去問PDF(00-4)を通しで解き、問2以降の読解・トレースに慣れる。
✅ 知識小問(問1)は「覚えれば取れる」得点源。早見表のテーマを一つずつ潰すのが合格への近道です。