目次
はじめに
はじめに
Visual C++ 2010 Expressのインストール
プログラムの作成
hello.c
コンパイルと実行
C言語プログラミングの学習環境
終了ステータスって?
整数値を3桁区切りで表示するプログラム
課題1 「整数値を3桁区切りで表示する」
ソースコードの雛形
h20a6.c
ソースコードの解説
配列の要素を反転する
課題2 「整数型の最大値と最小値を表示する」
h20a6_min.c
ソースコードの解説
課題3 「64ビットの整数値を表示する」
h20a6_x64.c
ソースコードの解説
他の言語のlong型
課題4 「整数値を4桁区切りの16進数で表示する」
h20a6_hex.c
ソースコードの解説
多倍長整数の加算を行うプログラム
課題1 「多倍長整数型を作る」
ソースコードの雛形
h21a9_set.c
ソースコードの解説
課題2 「多倍長整数の比較を行う」
h21a9_cmp.c
ソースコードの解説
課題3 「多倍長整数の加算を行う」
h21a9_add.c
ソースコードの解説
条件演算子を使用する
課題4 「多倍長整数の減算を行う」
h21a9_sub.c
ソースコードの解説
課題5 「多倍長整数型に符号を追加する」
h21a9_ssub.c
ソースコードの解説
課題6 「符号付き多倍長整数の加減算を行う」
h21a9_sign.c
h21a9_sign.c - part2
ソースコードの解説
数当てゲームを行うプログラム
課題1 「重複のない4桁の乱数を生成する」
ソースコードの雛形
h18a6_prev.c
ソースコードの解説
擬似乱数って?
課題2 「マスターマインドを作成する」
ソースコードの雛形
h18a6.c
ソースコードの解説
課題3 「平均推測回数を表示する」
h18a6_average.c
ソースコードの解説
課題4 「組合せを用いてマスターマインドを解くAIを作成する」
h18a6_ai.h
h18a6_ai.c
h18a6_ai_comb.c
ソースコードの解説
課題5 「順列を用いてマスターマインドを解くAIを作成する」
h18a6_ai_perm.c
ソースコードの解説
課題6 「順列のみを用いてマスターマインドを解くAIを作成する」
h18a6_ai_perm10.c
ソースコードの解説
ソースコードの分割
文字列のURLエンコードを行うプログラム
課題1 「URLエンコードを行う」
ソースコードの雛形
h16a6.c
ソースコードの解説
ポインタを扱うときの注意
課題2 「空白文字を+記号に置換する」
h16a6_space.c
ソースコードの解説
課題3 「URLデコードを行う」
h16a6_decode.c
ソースコードの解説
相対パスを絶対パスに変換するプログラム
課題1 「UNIX形式のパスを変換する」
ソースコードの雛形
h21h9.c
ソースコードの解説
課題2 「Windows形式のパスを変換する」
h21h9_win.c
ソースコードの解説
課題3 「両方の形式を変換する」
h21h9_both.c
ソースコードの解説
WindowsでもUNIXでもコンパイルできるソースコード
課題4 「ファイルの有無を確認する」
h21h9_exists.c
ソースコードの解説
標準ライブラリ関数の調べ方
単語幅でワードラップを行うプログラム
課題1 「単語幅でワードラップする」
ソースコードの雛形
h17h6.c
ソースコードの解説
課題2 「文字列をトークン分割する」
h17h6_token.c
ソースコードの解説
課題3 「改行文字に対応する」
h17h6_newline.c
ソースコードの解説
Windowsのフォントから文字幅を取得してみる
文字数でワードラップを行うプログラム
課題1 「文字数でワードラップする」
ソースコードの雛形
h22h9.c
ソースコードの解説
ファイル記述子って?
課題2 「タブ文字に対応する」
h22h9_tab.c
ソースコードの解説
課題3 「定義済みのキーワードを参照する」
ソースコードの雛形
h22h9_keyword1.c
ソースコードの解説
課題4 「キーワードを定義する」
h22h9_keyword2.c
ソースコードの解説
奥付
奥付

閉じる


試し読みできます

はじめに

 本書は基本情報技術者試験の午後対策にC言語を学習している方へ向けた問題集です。 「入門書は読み終わったから課題が欲しい!」という要望に応えようと試行錯誤していたところ、過去の試験に出題されたプログラムをもとに課題を作れば一番ハズレが少ないだろうと思い至り、試しに書いてみた次第です。 基本情報技術者試験では穴埋めになっているプログラムを自力で作成することで、どんな問題が出題されても十分に対応できるだけの実力が身に付くでしょう。
 また基本情報技術者試験のプログラムを改造する追加課題も用意しましたので、プログラムの動作を理解する助けになれば幸いです。


 本書に掲載しているプログラムは以下の環境で動作確認を行っています。
  • Microsoft Windows 7 Professional 64bit
  • Microsoft Visual C++ 2010 Express

 最初にVisual C++ 2010 ExpressでC言語プログラミングの学習を進めるためのシンプルな手順を紹介しますが、OSとVisual C++のバージョンは、これらと近いものであれば同様の手順でコーディング・コンパイル・実行できるかと思います。
試し読みできます

Visual C++ 2010 Expressのインストール

 Microsoft Visual Studioのサイトを開いて、Visual C++ 2010 ExpressのWebインストール(ダウンロード)をクリックしてください。セットアップは自動的に完了します。

Visual C++ 2010 Express セットアップ


 セットアップが完了したらすぐにでもプログラミングを始められますが、1ヶ月以上使い続ける場合には製品登録(無料)を要求されます。 暇をみてVisual C++ 2010 Expressの[ヘルプ]メニューから[製品の登録]をクリックし、登録キーを取得しておいてください。
 製品登録にはWindows Live IDが必要ですので、持っていなければ作成してください。

Visual C++ 2010 Express 製品登録

試し読みできます

プログラムの作成

 Visual C++ 2010 Expressを起動したら、[ファイル]メニューの[新規作成]から[ファイル]を選択し、C++ファイルを作成します。 演習課題などの小さいプログラムならプロジェクトは不要です。

C++ファイル(.cpp)を新規作成

 ソースコードエディタが開いたら次ページのプログラムを書いてみてください。 書き終えたら[名前を付けて保存]しますが、そのときファイルの種類を「Cソースファイル(*.c)」に変更して、hello.cというファイル名で保存してください。
 なおCソースファイルを保存する場所はマイドキュメントを避け、ドライブ直下に新しいフォルダを「空白を含まない英数字の名前」で作るなどしてください。 なぜなら後々その方が楽だからです。

Cソースファイル(*.c)として保存

試し読みできます

hello.c

  1. /** @file hello.c
  2. * @brief 最初のプログラム
  3. */
  4. #include <stdio.h>


  5. /**
  6. * @brief エントリポイント
  7. *
  8. * @param [in] argc コマンドライン引数の数
  9. * @param [in] argv コマンドライン引数
  10. * @return 終了ステータス
  11. *
  12. * @par 実行方法:
  13. * cmd> hello.exe your_name
  14. * @arg your_name ... あなたの名前
  15. */
  16. int main(int argc, char *argv[])
  17. {
  18. if( argc < 2 )
  19. {
  20. printf("usage: %s your_name\n", argv[0]);
  21. return -1;
  22. }
  23. printf("Hello, %s !!\n", argv[1]);
  24. return 0;
  25. }

試し読みできます

コンパイルと実行

 最初のプログラムを書き終えたら、Visual C++ 2010 Expressの[ツール]メニューから[Visual Studio コマンド プロンプト]をクリックしてください。 (スタートメニューにも登録されています。)
 コマンドプロンプトが開いたら、cdコマンドを実行してCソースファイルを保存したフォルダに移動してください。 Cドライブ以外に保存している場合は、cdコマンドの前にドライブレターを入力します。

Cソースファイルの保存先フォルダに移動

 コンパイルを行うコマンドはclコマンドです。 hello.cをコンパイルするには「cl hello.c」と入力します。 コンパイルに成功すると、hello.objとhello.exeという2つのファイルが作成されます。
 もしソースコードに誤りがあればエラーメッセージが出力されます。 指摘された行番号とメッセージの内容を手がかりにソースコードを修正して、再度clコマンドを実行してみてください。

Cソースファイルのコンパイル

 作成されたexeファイルは他のWindowsマシンにコピーしても実行できます。 「hello.exe Yamada」と入力して実行すると、「Hello, Yamada !!」と出力されるはずです。
 一緒に作成されたobjファイルが何か気になる方は、リンカについて調べてみてください。

Cプログラムの実行


読者登録

nakano.hさんの更新情報・新作情報をメールで受取りますか?(読者登録について