<CLearn/>
ブラウザだけで学習できる

C言語を学ぼう

C言語の基礎からシステムプログラミング、データ構造まで。 ブラウザ上でコードを書きながら学びましょう。

学習ロードマップ

あなたの目標に合わせて学習パスを選ぼう

🔵

C言語基礎

プログラミングの基礎を学ぶ

変数、データ型、制御構文、関数、ポインタ、配列、構造体など、C言語プログラミングの基礎をしっかりと身につけましょう。

学べること

  • 変数とデータ型
  • 制御構文
  • 関数
  • ポインタ
  • 配列
  • 構造体

コード例

// C言語の基本
#include <stdio.h>

int main() {
    char name[] = "太郎";
    int age = 25;
    int scores[] = {85, 92, 78, 95, 88};
    int n = 5;
    int sum = 0;

    printf("%sさん(%d歳)\n", name, age);
    for (int i = 0; i < n; i++) {
        sum += scores[i];
    }
    printf("平均点: %.1f\n", (double)sum / n);
    return 0;
}

システムプログラミング

低レベル制御とシステム開発

メモリ管理、ポインタ応用、ファイルI/O、プロセス制御、ビット演算、プリプロセッサなどシステムレベルの開発を学びましょう。

学べること

  • メモリ管理
  • ポインタ応用
  • ファイルI/O
  • プロセス制御
  • ビット演算
  • プリプロセッサ

コード例

// malloc/free とファイルI/O
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
    // 動的メモリ確保
    int *arr = (int *)malloc(5 * sizeof(int));
    for (int i = 0; i < 5; i++) arr[i] = (i + 1) * 10;

    // ファイル書き込み
    FILE *fp = fopen("data.txt", "w");
    if (fp != NULL) {
        for (int i = 0; i < 5; i++)
            fprintf(fp, "%d\n", arr[i]);
        fclose(fp);
    }
    free(arr);
    return 0;
}
🚀

応用スキル

データ構造とアルゴリズム

連結リスト、スタック・キュー、ソートアルゴリズム、探索アルゴリズム、Cイディオム、大規模開発など実践的なスキルを学びましょう。

学べること

  • 連結リスト
  • スタック・キュー
  • ソートアルゴリズム
  • 探索アルゴリズム
  • Cイディオム
  • 大規模開発

コード例

// 連結リストの実装
#include <stdio.h>
#include <stdlib.h>

typedef struct Node {
    int data;
    struct Node *next;
} Node;

Node *new_node(int data) {
    Node *n = (Node *)malloc(sizeof(Node));
    n->data = data;
    n->next = NULL;
    return n;
}

int main() {
    Node *head = new_node(1);
    head->next = new_node(2);
    head->next->next = new_node(3);
    for (Node *p = head; p; p = p->next)
        printf("%d -> ", p->data);
    printf("NULL\n");
    return 0;
}

準備はできた?

まずはC言語基礎から始めて、着実にスキルを積み上げていきましょう。

C言語基礎から始める

他の言語も学ぼう

同じシリーズの学習アプリで他の言語もマスターしよう