Trình biên dịch C Online

Chạy và debug code C ngay trên trình duyệt với CLI mô phỏng, lý tưởng cho việc test và học lập trình C mà không cần cài đặt.

🚀 365,346 tổng số lượt thực thi (45,056 trong tháng này)

Udemy Logo 👨‍💻 Làm chủ C/C++ qua các khóa học thực tế

Loading...

🧩 Giới thiệu về Trình thực thi C trực tuyến này

CodeUtility C Executor cho phép bạn viết và chạy chương trình C trực tiếp trong trình duyệt — không cần cài đặt hay cấu hình trình biên dịch. Công cụ được vận hành bởi môi trường sandbox an toàn hỗ trợ các tiêu chuẩn C thực, bao gồm C89, C99, C11 và phiên bản mới nhất.

Công cụ này sử dụng trình biên dịch C thực chạy trên đám mây để biên dịch và thực thi mã của bạn giống như trong môi trường native. Bạn có thể dễ dàng thử các đoạn mã, học cú pháp, hoặc luyện viết các chương trình hoàn chỉnh có nhập và xuất.

Nó được thiết kế để giúp người học và lập trình viên nhanh chóng thử nghiệm các kiến thức nền tảng của C — như kiểu dữ liệu, con trỏ, vòng lặp, hàm, mảng và cấu trúc — mà không cần cài bất kỳ trình biên dịch hay IDE nào.

⚙️ Cách sử dụng công cụ này

  • 1. Chọn một phiên bản C (C89, C99, C11 hoặc Mới nhất) từ danh sách thả xuống ở đầu trình soạn thảo.
  • 2. Viết hoặc dán mã C của bạn vào vùng soạn thảo.
  • 3. Nhấn Chạy để biên dịch và thực thi chương trình — kết quả sẽ xuất hiện trong console bên dưới.
  • 4. Khi đang chạy, sẽ xuất hiện nút Dừng — nhấn để dừng sớm.
  • 5. Dùng Sửa mã để tự động sửa các vấn đề nhỏ về định dạng hoặc cú pháp.
  • 6. Sau khi sửa, sẽ có nút Các bản sửa — nhấn để xem lại các sửa đổi gần đây.
  • 7. Dùng nút Tải lên để nhập mã từ tệp cục bộ, hoặc nút Tải xuống để lưu mã hiện tại từ trình soạn thảo.
  • 8. Mỗi lần thực thi chạy tối đa 20 giây trước khi tự động kết thúc.

🧠 Mẹo: Môi trường này chạy mã C thực một cách an toàn ngay trong trình duyệt của bạn — không cần đăng nhập hoặc thiết lập cục bộ.

💡 Kiến thức C cơ bản & Ví dụ bạn có thể thử ở phía trên

1. Khai báo biến và hằng số

C yêu cầu bạn khai báo kiểu của từng biến. Dùng #define hoặc const để định nghĩa các giá trị chỉ đọc.

int age = 30;
double pi = 3.14159;
char grade = 'A';
char name[] = "Alice";
bool isActive = 1; // đúng

// Hằng số
#define MAX_USERS 100
const char* COMPANY = "CodeUtility";

2. Cấu trúc điều kiện (if / switch)

Dùng if, else ifswitch để ra quyết định.

int x = 2;
if (x == 1) {
    printf("Một\n");
} else if (x == 2) {
    printf("Hai\n");
} else {
    printf("Khác\n");
}

switch (x) {
    case 1:
        printf("Một\n");
        break;
    case 2:
        printf("Hai\n");
        break;
    default:
        printf("Khác\n");
}

3. Vòng lặp

Dùng for, whiledo-while để lặp.

for (int i = 0; i < 3; i++) {
    printf("%d\n", i);
}

int n = 3;
while (n > 0) {
    printf("%d\n", n);
    n--;
}

4. Mảng

Mảng lưu trữ nhiều phần tử cùng kiểu.

int numbers[3] = {10, 20, 30};
printf("%d\n", numbers[1]);

5. Cấu trúc (struct)

struct cho phép bạn nhóm dữ liệu liên quan.

struct Person {
    char name[50];
    int age;
};

struct Person p = {"Alice", 30};
printf("%s %d tuổi\n", p.name, p.age);

6. Nhập/Xuất console

Dùng printfscanf cho I/O console.

char name[50];
printf("Nhập tên của bạn: ");
scanf("%s", name);
printf("Xin chào, %s\n", name);

7. Hàm

Hàm đóng gói logic có thể tái sử dụng. Khai báo kiểu trả về, tên và tham số.

int add(int a, int b) {
    return a + b;
}

printf("%d\n", add(3, 4));

8. Con trỏ

Dùng con trỏ để lưu địa chỉ bộ nhớ và thao tác dữ liệu gián tiếp.

int x = 10;
int* ptr = &x;

printf("Giá trị của x: %d\n", x);
printf("Địa chỉ của x: %p\n", ptr);
printf("Giá trị từ con trỏ: %d\n", *ptr);

*ptr = 20;
printf("Cập nhật x: %d\n", x);

9. Nhập/Xuất tệp

Dùng fopen, fprintf, fscanffclose cho thao tác tệp.

FILE* file = fopen("file.txt", "w");
fprintf(file, "Xin chào tệp");
fclose(file);

char line[100];
file = fopen("file.txt", "r");
fgets(line, sizeof(line), file);
printf("%s", line);
fclose(file);

10. Xử lý chuỗi

Dùng các hàm từ <string.h> như strlen, strcpystrcmp.

#include <string.h>

char text[] = "Hello";
char copy[10];

strcpy(copy, text);
printf("Độ dài: %lu\n", strlen(copy));
printf("So sánh: %d\n", strcmp(copy, "Hello"));

11. Bộ nhớ động

Dùng mallocfree để cấp phát trên heap.

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);