0Pricing
C Academy icon

C Academy

CSystemsBackendBeginner

C言語でプログラミングの確かな基礎を習得しましょう。C Programming Academyで学べます。

🤖 AI 搭載📚 39 コース👥 100,000+ ユーザー⭐ 4.9 評価
コース概要

オペレーティングシステム、コンパイラ、組み込みハードウェアを動かす言語

C言語は過去の遺物ではありません。Linux、SQLiteデータベースエンジン、CPythonインタプリタ、そして今日出荷されるほぼすべてのマイクロコントローラファームウェアの下地となっている言語です。C言語を理解することは、メモリがどのように実装されているのか、プロセッサがどのように命令を実行しているのか、そしてなぜすべての高級言語がそのようなトレードオフを行っているのかを理解することです。このトラックは、最初のprintfからメモリアロケータ、ハッシュテーブル、リンクリスト、そして動作するインタプリタの実装まで、C言語をカバーしています。

学習内容

演算子、制御フロー、フォーマット化されたI/O、型キャストから始まり、標準ライブラリ— math.h、string.h、ctype.h —とenumerations、コマンドライン引数、ストレージクラス、プリプロセッサマクロなどのC言語固有のトピックに進みます。中級セクションでは、ポインタと動的メモリ管理、関数ポインタとコールバック、可変長引数関数、モジュール化されたマルチファイルプロジェクトをカバーします。コアデータ構造をスクラッチから実装します:リンクリスト、二分木、ハッシュテーブル、動的配列。上級コースでは、マルチスレッドと並行処理、ソケットプログラミング、プロセス間通信、Valgrindでのメモリデバッグ、epollを使用したネットワークプログラミングをカバーします。

学習パス

39コースがA1からC1まで広がっています。A1およびA2コースは、構文、再帰、標準ライブラリを確立します。11のB1コースは実践的なスキルを構築します— ファイルハンドリング、ビット操作、構造体と共用体、プリプロセッサ。10のB2コースはより深く掘り下げます:動的メモリ、ソートアルゴリズム、ハッシュテーブル、そしてC Building a Memory Allocatorで終わります。7つのC1コースはシステムレベルの作業でトラックを完了します:Multithreading and Concurrency、C Socket Programming、C Memory Debugging with Valgrind、C Writing a Simple Interpreter、そしてC Network Programming with epoll。

仕組み

各コースは短くて焦点を絞ったレッスンに分かれており、組み込みコードエディタで実装して、出力について実時間フィードバックを受けます。segfault、リンカエラー、またはポインタ演算のオフバイワンエラーで立ち往生したときはいつでも、AIチューターが利用できます。進行状況はレッスンごとに追跡されるため、セッション間で一時停止と再開でき、位置を失うことはありません。

学習を始める →

学び方

🎯
インタラクティブレッスン
リアルタイムフィードバック付きの実践的なコード演習
🤖
AIチューター
わからないときは、AIが即座にサポート
💻
組み込みエディタ
ブラウザで直接コードを書いて実行
🏆
認定資格
コース完了時に認定資格を取得
カリキュラム

39コース

C Academyラーニングパスのすべてのコース

01

C言語入門

A13レッスン

C言語は、速度と低レベル操作に対応できる点で知られる、最も影響力のあるプログラミング言語の一つです。メモリやハードウェアに直接アクセスできるため、オペレーティングシステム、組み込みシステム、高性能アプリケーションに適しています。このセクションでは、C言語の歴史、現在も使われ続け…

02

Cの数学ライブラリ(math.h)

A14レッスンPRO

C標準の数学関数を使って、本格的な数値処理を行います。

03

Cの演算子と式

A24レッスンPRO

Cの演算子と式:算術演算子、関係演算子と論理演算子など

04

Cの書式付き入出力

A24レッスンPRO

Cの書式付き入出力:printfの書式指定子、scanfと入力など

05

Cの型変換とキャスト

A24レッスンPRO

Cの型変換とキャスト:暗黙の型変換、明示的なキャストなど

06

Cの文字処理とctype

A24レッスンPRO

Cの文字処理とctype:整数としての文字、ctypeライブラリなど

07

Cの再帰テクニック

A24レッスンPRO

関数から自分自身を呼び出して問題を解決します。

08

Cの列挙型と定数

A24レッスンPRO

enum、const、#defineで値に名前を付けます。

09

Cのコマンドライン引数

A24レッスンPRO

Cのコマンドライン引数:argcとargv、オプションの解析など

10

C言語の制御フロー

A23レッスンPRO

制御フロー構造を使うと、プログラムは判断を行い、命令を動的に実行できます。このセクションでは、条件文とループを使ってプログラムの実行を制御する方法を学びます。これらは、ユーザー入力に応答し、データを効果的に処理する効率的で柔軟なプログラムを書くために欠かせません。

11

Cの記憶域クラスとスコープ

B14レッスンPRO

Cの記憶域クラスとスコープ:autoとローカルスコープ、static変数など

12

Cのビット操作

B14レッスンPRO

Cのビット操作:ビット演算子、シフトなど

13

Cのstring.hライブラリ

B14レッスンPRO

Cのstring.hライブラリ:strlen、strcpy、strcat、strcmpと比較など

14

Cのモジュール型マルチファイルプロジェクト

B14レッスンPRO

ヘッダーファイルとコンパイル単位を使って、Cプログラムを複数のファイルに分割します。

15

Cで動的配列を扱う

B14レッスンPRO

mallocとreallocでヒープ上にサイズ変更可能な配列を構築します。

16

関数とモジュール化プログラミング

B13レッスンPRO

関数を使うと、コードを再利用し、プログラムを整理できます。このセクションでは、関数の定義と呼び出し、引数の受け渡し、戻り値について学びます。また、モジュール化された保守しやすいプログラムを作るのに役立つ関数プロトタイプとスコープも扱います。

17

C言語の配列と文字列

B13レッスンPRO

配列と文字列は、要素の集まりを保存するための基本的なデータ構造です。このセクションでは、構造化データの扱いに欠かせない配列と文字列の宣言、初期化、操作の方法を学びます。

18

構造体、共用体、列挙型

B13レッスンPRO

構造体と共用体を使うと複雑なデータ型を定義でき、列挙型を使うと読みやすい定数を作成できます。このセクションでは、それぞれの用途と利点を扱います。

19

C言語のファイル操作

B13レッスンPRO

ファイル操作を使うと、プログラムでデータを永続的に保存・取得できます。このセクションでは、C言語でファイルを読み書きする方法を扱います。

20

プリプロセッサディレクティブとマクロ

B13レッスンPRO

C言語のプリプロセッサを使うと、マクロの定義、ファイルのインクルード、条件付きコンパイルを行えます。このセクションでは、これらの強力な機能を紹介します。

21

Cの動的メモリ管理

B24レッスンPRO

Cの動的メモリ管理:mallocとfree、callocとreallocなど

22

Cの関数ポインターとコールバック

B24レッスンPRO

Cの関数ポインターとコールバック:関数ポインターの宣言、関数を渡す方法など

23

Cの可変長引数関数

B24レッスンPRO

Cの可変長引数関数:stdargマクロ、printfのような関数を書くなど

24

Cで連結リストを実装する

B24レッスンPRO

Cで連結リストを実装する:単方向連結リスト、挿入と削除など

25

Cの二分木と再帰

B24レッスンPRO

Cで二分木を実装し、走査します。

26

ポインタとメモリ管理

B23レッスンPRO

ポインタは、メモリを直接操作できるC言語の強力な機能の一つです。このセクションでは、パフォーマンスの最適化に役立つポインタ、メモリアドレス、動的メモリ割り当ての手法について理解を深めます。

27

C言語のデータ構造

B23レッスンPRO

データ構造は、データを効率的に保存・操作するための仕組みです。このセクションでは、C言語でよく使われるデータ構造を扱います。

28

デバッグとエラー処理

B23レッスンPRO

信頼性の高いCプログラムを書くには、デバッグが欠かせません。このセクションでは、デバッグツールとエラー処理の手法を紹介します。

29

Cでハッシュテーブルを実装する

B24レッスンPRO

Cでハッシュテーブルを実装する:ハッシュ関数、衝突処理など

30

Cのソートアルゴリズム

B24レッスンPRO

Cのソートアルゴリズム:バブルソートと挿入ソート、クイックソートなど

31

Cのプリプロセッサとビルドを極める

B24レッスンPRO

Cのプリプロセッサとビルドを極める:条件付きコンパイル、複数ファイルのプロジェクトなど

32

Cでメモリアロケータを構築する

B24レッスンPRO

独自のmallocを実装して、ヒープの仕組みを理解します。

33

マルチスレッドと並行性(応用)

C13レッスンPRO

マルチスレッドを使うと、プログラムで複数のタスクを並行して実行できます。このセクションでは、スレッドの概念と同期の手法を扱います。

34

Cプログラムのビルドと最適化

C13レッスンPRO

効率的なCコードを書くことは、パフォーマンスにとって重要です。このセクションでは、最適化のベストプラクティスと大規模アプリケーションの構築方法を扱います。

35

Cのソケットプログラミング

C14レッスンPRO

Cのソケットプログラミング:ソケットの概要、TCPサーバーなど

36

Cのプロセス間通信

C14レッスンPRO

Cのプロセス間通信:パイプ、共有メモリなど

37

ValgrindによるCのメモリデバッグ

C14レッスンPRO

ValgrindによるCのメモリデバッグ:Valgrindを使う理由、リークの検出など

38

Cで簡単なインタプリタを書く

C14レッスンPRO

式を解析・評価して、小さな言語を構築します。

39

epollによるCのネットワークプログラミング

C14レッスンPRO

イベント駆動I/Oで、多数の接続を効率的に処理します。

よくある質問

よくある質問

C Academyコースは無料ですか?

はい。C Academyコースは無料で始められ、インタラクティブレッスンをすべて無料で完了できます。オプションのPRO登録で、高度なAIツールと共有可能な認定資格がアンロックされます。

Cを学ぶのに事前経験は必要ですか?

いいえ。コースは基礎から始まり、より高度なトピックへと進むので、Cの事前経験がなくても始められます。

CoddyKitでCをどのように学びますか?

実践しながら学びます。短いインタラクティブレッスンは、わかりやすい説明と、リアルタイムで実行される実践的なコード演習が組み合わさっており、24時間対応のAIチューターがわからないときにいつでもサポートします。

C Academyを完了すると認定資格がもらえますか?

はい。PRO学習者は試験を受けて、C Academyコースの完了を証明する共有可能な認定資格を取得できます(認証コード付き)。

スマートフォンでCを学べますか?

はい。CoddyKitはウェブとネイティブiOS・Androidアプリで利用でき、どのデバイスでもCを学習でき、進捗がすべてのデバイスで同期されます。

C Academyを今すぐ始める

AI搭載レッスンでプログラミングをマスターする数千人の学習者に参加しましょう。

無料で始める →すべてのコースを見る