C言語

7日間でマスターするC言語基礎と開発環境セットアップ

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

お得なお知らせ

スポンサードリンク
AI時代のキャリア構築

プログラミング学習、今日から動き出す

「何から始めるか」で止まっている人こそ、無料説明会や本で自分に合うルートを30分で確定できます。

Enjoy Tech!|月額制でWeb系に強い▶ (Kindle本)ITエンジニアの転職学|後悔しないキャリア戦略▶

▶ AIコーディング環境なら  実践Claude Code入門(Amazon)が実務で即使える入門書です。Amazonベストセラーにも選ばれていますよ。


スポンサードリンク

全体像と目標

1 週間で 「変数・制御構文・配列・ポインタ・関数設計・ファイル I/O」 を自力で書けるようになることを目指します。毎日 30〜60 分の実装課題に取り組み、

書く → コンパイル → 実行 → 振り返り のサイクルを回すことで、概念理解と開発フローへの慣れが同時に定着します。

7 日間テーマ

Day テーマ 主なアウトプット例
1 変数・データ型・printf/scanf Hello, World! と標準入力取得プログラム
2 制御構文(if·else·switch) 条件分岐で簡単な計算機能
3 配列・文字列 文字列のコピー/配列走査
4 ポインタ基礎 アドレス取得、ポインタによるスワップ関数
5 関数設計(プロトタイプ・ヘッダー) 複数ファイルに分割した電卓雛形
6 標準入出力とファイル I/O テキストファイルへの書き込み/読み込み
7 動的メモリ管理+総合演習 malloc/free を使った TODO アプリの完成

このプランを終えれば、実務で頻出する「コマンドラインツール」や「ファイル処理」の基本が身につきます。


開発環境セットアップ(Windows・macOS・Linux)

1. エディタとコンパイラのインストール

OS 手順
Windows 1️⃣ Visual Studio Community 2022 を公式サイトからダウンロードし、「C++ デスクトップ開発」 ワークロードを選んでインストール。
2️⃣ VS Codehttps://code.visualstudio.com/ から取得し、拡張機能 C/C++ (Microsoft)Code Runner をインストール。
macOS 1️⃣ App Store または公式サイトから VS Code を入手。
2️⃣ ターミナルで xcode-select --install を実行し、Xcode Command Line Tools(clang)を導入。
Ubuntu / Debian 系 Linux 1️⃣ Microsoft の apt リポジトリを追加(公式リポジトリには VS Code が無いため)。
bash\nwget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg\nsudo install -o root -g root -m 644 packages.microsoft.gpg /usr/share/keyrings/\n\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main\" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null\nsudo apt update\n\n2️⃣ 必要なパッケージを一括インストール。
bash\nsudo apt install -y build-essential clangd code\n
その他の Linux gccclang が入っているか確認し、ディストリビューションの公式リポジトリでインストールしてください(例: sudo dnf install gcc clang)。

2. MinGW (Windows) の導入

  • 前提条件:Chocolatey を利用する場合は、管理者権限で PowerShell を開き以下を実行して Chocolatey 本体をインストールします。
    powershell\nSet-ExecutionPolicy Bypass -Scope Process -Force; \n[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12; \niex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))\n
  • MinGW のインストール:Chocolatey が既に導入済みなら次のコマンドで MinGW‑w64 を取得できます。
    powershell\nchoco install mingw -y\n
  • 代替方法(手動):公式サイト (https://www.mingw-w64.org/) から「mingw-w64-install.exe」をダウンロードし、インストーラの指示に従って C:\mingw-w64 配下に展開。インストール後は環境変数 PathC:\mingw-w64\bin を追加してください。

3. パス設定(必要な場合)

OS 設定例
Windows システムのプロパティ → 環境変数 → PathC:\MinGW\bin (または Chocolatey がインストールした C:\ProgramData\chocolatey\bin)を追記。
macOS デフォルトで /usr/bin/clang が PATH に含まれます。Homebrew で gcc を入れた場合は export PATH="/opt/homebrew/opt/gcc/bin:$PATH".zshrc に追加。
Linux apt が自動的に /usr/bin をパスへ登録します。手動インストールした場合は export PATH="/usr/local/bin:$PATH" などをシェル設定ファイルに書き込みます。

以上の手順が完了すれば、VS Code のターミナルから
bash\ngcc hello.c -o hello && ./hello\n
が問題なく実行できるはずです。


日別学習項目とサンプルコード

Day 1 – 変数・データ型

  • ポイントint, unsigned int, float, double のサイズ感とリテラル表記。
  • サンプル
    c\n#include <stdio.h>\nint main(void) {\n int cnt = 10;\n double pi = 3.1415926535;\n printf(\"cnt=%d, pi=%.5f\\n\", cnt, pi);\n return 0;\n}\n

Day 2 – 制御構文

  • ポイントif/else, switch, for, while, do‑while の使い分けとスコープ。
  • サンプル
    c\nfor (int i = 0; i < 5; ++i) {\n if (i % 2) printf(\"%d は奇数\\n\", i);\n else printf(\"%d は偶数\\n\", i);\n}\n

Day 3 – 配列・文字列

  • ポイント:静的配列の宣言と境界チェック、char[]'\0' の関係。
  • サンプル
    c\nchar name[20] = \"Alice\"; // 自動で '\\0' が付く\nprintf(\"%s (%zu バイト)\\n\", name, sizeof(name));\n

Day 4 – ポインタ基礎

  • ポイント&* の意味、ポインタと配列の等価性。
  • サンプル
    c\nint x = 42; // 変数本体\nint *p = &x; // アドレス取得\nprintf(\"x=%d, *p=%d\\n\", x, *p);\n

Day 5 – 関数設計

  • ポイント:プロトタイプ宣言、ヘッダー分割、値渡し vs ポインタ渡し。
  • サンプル(header / source)

calc.h
c\n#ifndef CALC_H\n#define CALC_H\n\ndouble add(double a, double b);\ndouble sub(double a, double b);\n#endif // CALC_H\n

calc.c
c\n#include \"calc.h\"\n\ndouble add(double a, double b) { return a + b; }\ndouble sub(double a, double b) { return a - b; }\n

Day 6 – 標準入出力とファイル I/O

  • ポイントprintf/scanf のフォーマット、fgetsfprintf による安全な入出力。
  • サンプル(テキスト保存)
    c\nFILE *fp = fopen(\"data.txt\", \"w\");\nif (fp) {\n fprintf(fp, \"%d %s\\n\", 123, \"sample\");\n fclose(fp);\n}\n

Day 7 – 動的メモリ管理+総合演習

  • ポイントmalloc, realloc, free の正しい組み合わせとエラーチェック。
  • サンプル(TODO リスト)
    c\ntypedef struct { int id; char title[64]; int done; } Todo;\nTodo *list = NULL; size_t cnt = 0;\n// 追加例\nlist = realloc(list, ++cnt * sizeof(Todo));\nlist[cnt-1] = (Todo){ .id = cnt, .done = 0 };\nstrcpy(list[cnt-1].title, \"Buy milk\");\n

ミニプロジェクト(実務志向)

プロジェクト 主な学習要素 コンパイル例
コマンドライン電卓 関数分割、switch 文、除算のゼロチェック gcc calc.c -o calc
テキスト検索ツール ファイル I/O、文字列検索 (strstr)、エラーハンドリング gcc search.c -o search -Wall
簡易 TODO 管理アプリ 構造体・ポインタ・動的配列、永続化(binary I/O) gcc todo.c -o todo

各プロジェクトは「作成 → コンパイル → 実行 → 振り返り」のサイクルで取り組み、概念が実務レベルで統合できているかを確認します。


学習効果測定と次のステップ

チェックリスト(自己評価)

  • [ ] コンパイルエラー解決率:課題中に出たエラーの 90 % 以上を自力で修正できたか。
  • [ ] 標準入出力printf/scanffprintf/fgets を使い分けられる。
  • [ ] ポインタ操作:アドレス取得・間接参照が誤りなく書ける。
  • [ ] 関数設計:ヘッダーと実装ファイルに分割し、ビルドできる。
  • [ ] ファイル I/O:テキストの読み書きが正しく行える。
  • [ ] 動的メモリ管理malloc/free のペアを適切に配置できている。

合格基準:上記項目の 80 % 以上が「はい」の場合は、次フェーズ(データ構造・アルゴリズム)へ進む判断材料とします。

次に挑むべき領域

  1. リンクドリスト & スタック/キュー
  2. ソートアルゴリズム(バブル, クイック, マージ)と計算量比較
  3. 探索アルゴリズム(線形・二分探索)

推奨教材(公式情報のみ)


まとめ

  • 7 日間で基礎を固め、ミニプロジェクトで実務的なコードを書けるようになる
  • 環境構築は OS ごとに明示し、Linux の VS Code インストール手順や Windows の MinGW 前提条件も併記
  • 冗長だった Point/Reason 表現を削除し、簡潔で読みやすい構成に改訂

この学習プランを実践すれば、C 言語の基礎だけでなく「開発フロー全体」への自信が身につきます。次のステップへ進む準備は整いましたか?ぜひ手を動かして確かなスキルに変えていきましょう!

スポンサードリンク

お得なお知らせ

スポンサードリンク
AI時代のキャリア構築

プログラミング学習、今日から動き出す

「何から始めるか」で止まっている人こそ、無料説明会や本で自分に合うルートを30分で確定できます。

Enjoy Tech!|月額制でWeb系に強い▶ (Kindle本)ITエンジニアの転職学|後悔しないキャリア戦略▶

▶ AIコーディング環境なら  実践Claude Code入門(Amazon)が実務で即使える入門書です。Amazonベストセラーにも選ばれていますよ。


-C言語