C言語

C言語 学習開始前の準備と7日間ロードマップ - IDE・コンパイラ・Git導入手順

ⓘ本ページはプロモーションが含まれています

Contents

スポンサードリンク

開発環境のセットアップ

1. Visual Studio 2022(Community)

Why: Microsoft が提供するフル機能 IDE。デバッガ、プロファイラ、IntelliSense が標準装備されており、初心者でもエラー箇所を直感的に把握できます。

手順 内容
1 https://visualstudio.microsoft.com/ja/vs/ にアクセスし Community エディションをダウンロード
2 インストーラで 「C++ デスクトップ開発」 ワークロードを選択
3 個別コンポーネントで 「MSVC v143 – VS 2022 C++ コンパイラツールセット」「Windows 10 SDK (10.0.x)」 を必ずチェック
4 インストール完了後、Tools → Options → Projects and Solutions → VC++ Directories が自動的に設定されていることを確認

注意点(プラットフォーム別)
- Windows:MSVC が標準コンパイラです。cl.exe のバージョンは v143(Visual Studio 2022)です。
- macOS / Linux で VS 2022 は利用できません。その場合は VS Code + GCC/Clang 組み合わせを推奨します。


2. Visual Studio Code(マルチプラットフォーム版)

OS インストール方法
Windows (Chocolatey) choco install vscode
macOS (Homebrew) brew install --cask visual-studio-code
Ubuntu/Debian sudo apt update && sudo apt install code

必須拡張機能

  • C/C++(Microsoft) – IntelliSense、デバッグ、コードナビゲーション
  • GitLens – Git 操作の可視化
  • Code Runner (任意) – ワンクリックで実行

settings.json に以下を追記し、ビルドタスクと実行コマンドを統一します。

プラットフォーム別の注意
- macOS / Linux では gcc がデフォルトで clang にシンボリックリンクされていることがあります。コンパイラを明示したい場合は "code-runner.executorMap.c": "clang ..." と書き換えてください。


3. GCC / Clang の導入(クロスプラットフォーム対応)

OS コマンド例
Windows (MSYS2) pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-clang
macOS (Homebrew) brew install gcc clang
Ubuntu/Debian sudo apt install build-essential clang

インストール後は次のコマンドでバージョンが表示されることを確認してください。


4. Git とリモートリポジトリの準備

手順 内容
1 https://git-scm.com/downloads から OS に合わせてインストール
2 グローバル設定
git config --global user.name "Your Name"
git config --global user.email your@email.com
3 GitHub(または GitLab)でアカウント作成 → New repositoryc-language-7days(公開可)を作成
4 ローカルにクローンし、学習用ディレクトリ構造を作る

ベストプラクティス
- .gitignore*.o, *.exe, build/ を追加してビルド成果物を除外。
- 毎日少なくとも 1 回はコミットし、学習ログとして残す。


7 日間学習ロードマップ

Day テーマ 学習目標(アウトプット) 主な学習リソース
1 基本構文と変数 Hello World と型ごとの出力 書籍 p.10‑12、公式チュートリアル
2 制御フロー if/else, for, while を使って九九表作成 書籍 p.20‑22
3 関数とヘッダー分割 add 関数を別ファイルに実装 書籍 p.30‑33
4 配列・ポインタ バブルソート実装+ポインタ演算の体感 書籍 p.40‑44
5 文字列 & ファイル I/O ユーザー入力をテキストファイルに保存 書籍 p.50‑53
6 デバッグ・単体テスト VS 2022 のデバッガと assert.h 活用 書籍 p.60‑62
7 ミニプロジェクト TODO リスト CLI アプリ完成 → GitHub 公開 書籍 p.70‑78

学習の進め方

  1. ハンズオン実装 → 手を動かすことが最優先。
  2. ビルド & 実行gcc -Wall -Wextra で警告は全て解消する。
  3. テストassert または簡易スクリプトで結果を検証。
  4. 振り返り → 完了したら Markdown のチェックリストに ✅ を入れる。

ハンズオン課題とサンプルコード

各コード例にはエラーハンドリング、プラットフォーム別の注意点、そして -Wall -Wextra で警告が出ないように書かれています。

Day 1 ― Hello World と基本変数

ビルド例(Windows)

ビルド例(Linux/macOS)

ポイント
- printf の書式指定子は型に合わせる。
- 文字列リテラルの末尾に改行が無いとプロンプトが同じ行に残ります。


Day 2 ― 条件分岐・ループ(九九表)

エラーハンドリングは不要ですが、printf の戻り値をチェックする例


Day 3 ― 関数とヘッダー分割

ディレクトリ構成

add.h

add.c

main.c

ビルド(MSVC)

ビルド(GCC/Clang)

注意点
- ヘッダーガード (#ifndef … #define …) で二重インクルードを防止。
- 関数プロトタイプはヘッダーにだけ記述し、実装側では #include "add.h" を必ず行う。


Day 4 ― 配列とポインタ(バブルソート)

エラーハンドリング例(配列サイズが 0 の場合)


Day 5 ― 文字列操作とファイル I/O

プラットフォーム別注意
- Windows の場合、テキストモード ("a" または "a+") が改行コード \r\n に自動変換します。Unix 系ではそのまま \n が書き込まれます。


Day 6 ― デバッグと単体テスト

デバッグ手順(Visual Studio 2022)

  1. factorial 行にブレークポイントを設定
  2. Debug → Start Debugging (F5)
  3. ローカル変数ウィンドウで n の推移とスタックフレームを確認

Tips:デバッグビルドでは /Zi /DEBUG が自動付与され、最適化が抑制されます。最終リリースは /O2 で最適化してください。


Day 7 ― ミニプロジェクト:TODO リスト CLI アプリ

主要ソースファイル

  • main.c – コマンドライン引数解析
  • task.h / task.c – タスク管理ロジック
  • storage.c – ファイル永続化

task.h

task.c(抜粋)

main.c(コマンド解析例)

ビルド例(クロスプラットフォーム)

リポジトリへのコミット例


学習進捗の管理とアウトプット

1. Markdown チェックリスト(GitHub 上で可視化)

2. 日次クイズで定着度チェック

Day クイズ例 自己採点基準
3 ヘッダーガードが必要な理由は? 正解:二重インクルード防止(100%)
4 *(arr + j)arr[j] の違いは? 同等であることを説明できれば合格
6 assert が無効になる条件は? NDEBUG 定義時に無効になると答えられたら OK

3. Pull Request を活用した振り返り

  1. 毎週金曜Week‑Review ブランチを作成
  2. README.md に今週の学習まとめ、課題点、次週の目標を書き足す
  3. プルリクエストを作成し、メンターや同僚にレビュー依頼

メリット:コードだけでなくドキュメント化スキルも同時に鍛えられます。


実務で役立つコード品質の基礎

項目 ベストプラクティス 具体例
コメント 「何をやっているか」+「なぜやるか」を明示 // バブルソート: 隣接要素を比較し大きい方を右へ移動
命名規則 snake_case 推奨、長さは 15 文字以内 int total_score;(OK) vs int TotalScore;(NG)
関数分割 1 関数=1 機能、30 行以内が目安 parse_args(), execute_add(), save_tasks() など
エラーハンドリング すべての外部呼び出しで戻り値チェック if (fopen(... ) == NULL) { perror("fopen"); return -1; }
静的解析 -Wall -Wextra -Wpedantic を必ず有効化 CI に gcc -Wall -Wextra -Werror … を組み込む
テスト ユニットテストは assert.h または CMocka で実装 assert(factorial(5) == 120);

リファクタリング例(Day 7 の main.c

Before (200 行超) After (≈70 行)
コマンド解析・ロジックが混在し、可読性が低い parse_args(), run_command() に分割し、各機能は 20 行以内に収めた

リファクタリング後の抜粋

結果:テストが関数単位で書け、変更時の影響範囲が限定的になる。


FAQ とトラブルシューティング

Q1. 「cl が見つかりません」と表示される

A: 環境変数 PATH に Visual Studio の Developer Command Prompt が追加されていない可能性があります。
- 解決策:スタートメニュー → Visual Studio 2022x64 Native Tools Command Prompt for VS 2022 を起動し、そこでビルドしてください。

Q2. gcc コンパイル時に「undefined reference to main」エラーが出る

A: ソースファイル名が正しく指定されていないか、main 関数のシグネチャが int main(void) でない可能性があります。

Q3. VS Code のデバッグが起動しない(launch.json が自動生成されない)

A: C/C++ 拡張機能が正しくインストールされていない、または tasks.json が未作成です。
- 対策:コマンドパレット (Ctrl+Shift+P) → C/C++: Edit Configurations (UI) → 必要項目を入力して保存すると自動生成されます。

Q4. Git の認証で remote: Repository not found. と出る

A: HTTPS 認証情報が古い、またはリポジトリ URL が間違っています。
- 対策git remote set-url origin https://github.com/yourname/c-language-7days.git で正しい URL を設定し、キャッシュされた認証情報を git credential-manager uninstall 後に再入力してください。


まとめ

  • Visual Studio 2022 + VS Code が Windows・macOS・Linux のすべてで快適に C 言語開発ができる標準環境です。
  • 7 日間ロードマップ に沿ってハンズオンをこなせば、実務レベルの小規模プロジェクト(TODO CLI)まで完成させられます。
  • コード品質 は「コメント・命名・関数分割」の三本柱で意識し、ビルド時は必ず警告を 0 に保ちましょう。
  • 学習ログの可視化(Markdown チェックリスト + Pull Request)により、自己管理と外部フィードバックがスムーズになります。

さあ、環境構築から始めて、7 日後には自信を持って C 言語で実務タスクに挑戦できるようになりましょう! 🚀

スポンサードリンク

-C言語
-, , , , , , ,