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.
👨💻 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 if và switch để 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, while và do-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 printf và scanf 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, fscanf và fclose 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, strcpy và strcmp.
#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 malloc và free để 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);