オンラインCコンパイラ
ブラウザでCコードを実行・デバッグ!セットアップ不要でCLI環境の便利さを体験。学習やスニペットのテストに最適。
✨ 多くの人に選ばれているC/C++コース
Loading...
🧩 この C オンライン実行環境について
CodeUtility C Executor は、ブラウザ上で直接 C プログラムを記述・実行できるツールです — インストールやコンパイラの設定は不要です。C89、C99、C11、そして最新バージョンなど、実際の C 規格に対応した安全なサンドボックスで動作します。
このツールはクラウド上で実際の C コンパイラを動かしており、ネイティブ環境と同様にコードをコンパイル・実行します。 スニペットのテスト、文法の学習、入出力を含むプログラム全体の練習が簡単に行えます。
学習者や開発者が、データ型、ポインタ、ループ、関数、配列、構造体などの C の基礎をすばやく試せるように設計されています — コンパイラや IDE をインストールする必要はありません。
⚙️ このツールの使い方
- 1. エディタ上部のドロップダウンから C のバージョン(C89、C99、C11、または最新)を選びます。
- 2. エディタ領域に C コードを入力または貼り付けます。
- 3. 実行 をクリックしてプログラムをコンパイル・実行します — 出力は下のコンソールに表示されます。
- 4. 実行中は 停止 ボタンが表示されます — クリックすると早期に実行を止められます。
- 5. コードを修正 を使うと、軽微なフォーマットや文法の問題を自動で修正できます。
- 6. 修正後は 修正履歴 ボタンが表示されます — クリックして最近の修正内容を確認できます。
- 7. アップロード ボタンでローカルファイルからコードを取り込み、 ダウンロード ボタンでエディタ内のコードを保存できます。
- 8. 各実行は最大 20 秒 で自動終了します。
🧠 ヒント: この環境はブラウザ内で安全に実際の C コードを実行します — ログインやローカル設定は不要です。
💡 上で試せる C の基礎とサンプル
1. 変数と定数の宣言
C では各変数の型を宣言する必要があります。読み取り専用の値は #define や const で定義します。
int age = 30;
double pi = 3.14159;
char grade = 'A';
char name[] = "Alice";
bool isActive = 1; // 真
// 定数
#define MAX_USERS 100
const char* COMPANY = "CodeUtility";
2. 条件分岐(if / switch)
意思決定には if、else if、switch を使います。
int x = 2;
if (x == 1) {
printf("一\n");
} else if (x == 2) {
printf("二\n");
} else {
printf("その他\n");
}
switch (x) {
case 1:
printf("一\n");
break;
case 2:
printf("二\n");
break;
default:
printf("その他\n");
}
3. ループ
繰り返しには for、while、do-while を使います。
for (int i = 0; i < 3; i++) {
printf("%d\n", i);
}
int n = 3;
while (n > 0) {
printf("%d\n", n);
n--;
}
4. 配列
配列は同じ型の要素を複数格納します。
int numbers[3] = {10, 20, 30};
printf("%d\n", numbers[1]);
5. 構造体
struct で関連するデータをまとめられます。
struct Person {
char name[50];
int age;
};
struct Person p = {"Alice", 30};
printf("%s は %d 歳です\n", p.name, p.age);
6. コンソール入出力
コンソール I/O には printf と scanf を使います。
char name[50];
printf("あなたの名前を入力してください: ");
scanf("%s", name);
printf("こんにちは、%s\n", name);
7. 関数
関数は再利用可能なロジックをカプセル化します。戻り値の型、名前、引数を宣言します。
int add(int a, int b) {
return a + b;
}
printf("%d\n", add(3, 4));
8. ポインタ
ポインタを使うと、メモリアドレスを保持し、間接的にデータを操作できます。
int x = 10;
int* ptr = &x;
printf("x の値: %d\n", x);
printf("x のアドレス: %p\n", ptr);
printf("ポインタ経由の値: %d\n", *ptr);
*ptr = 20;
printf("更新後の x: %d\n", x);
9. ファイル I/O
ファイル操作には fopen、fprintf、fscanf、fclose を使います。
FILE* file = fopen("file.txt", "w");
fprintf(file, "こんにちは、ファイル");
fclose(file);
char line[100];
file = fopen("file.txt", "r");
fgets(line, sizeof(line), file);
printf("%s", line);
fclose(file);
10. 文字列操作
<string.h> の strlen、strcpy、strcmp などを使います。
#include <string.h>
char text[] = "Hello";
char copy[10];
strcpy(copy, text);
printf("長さ: %lu\n", strlen(copy));
printf("比較: %d\n", strcmp(copy, "Hello"));
11. 動的メモリ
ヒープの確保には malloc と free を使います。
int* nums = (int*) malloc(3 * sizeof(int));
nums[0] = 1; nums[1] = 2; nums[2] = 3;
for (int i = 0; i < 3; i++) {
printf("%d ", nums[i]);
}
free(nums);