Quy trình tạo và chạy chương trình
Chương trình chứa tập lệnh viết bằng ngôn ngữ lập trình.
Nhiệm vụ lập trình viên là viết và kiểm tra chương trình.
4 bước chuyển chương trình C thành ngôn ngữ máy:
- Viết và chỉnh sửa chương trình
- Biên dịch chương trình
- Liên kết chương trình
- Thực thi chương trình
Viết và chỉnh sửa chương trình
Dùng 'Trình soạn thảo văn bản' để viết chương trình.
Giúp người dùng nhập, thay đổi, lưu dữ liệu ký tự.
Các trình soạn thảo đặc biệt thường đi kèm trình biên dịch.
Sau khi viết, file lưu trên đĩa.
Được gọi là 'file nguồn'.
File này là đầu vào cho trình biên dịch.

Biên dịch chương trình
"Trình biên dịch" là phần mềm dịch chương trình nguồn sang ngôn ngữ máy.
Trình biên dịch C chia thành hai chương trình riêng:
- Bộ tiền xử lý (Preprocessor)
- Bộ dịch (Translator)
Xem trước về Bộ tiền xử lý:
Bộ tiền xử lý
Đọc mã nguồn và chuẩn bị cho bộ dịch.
Lệnh tiền xử lý bắt đầu bằng '#'.
Chỉ cho bộ tiền xử lý tìm thư viện đặc biệt và thay thế.
Kết quả tiền xử lý gọi là 'đơn vị dịch'.
Bộ dịch
Chuyển chương trình sang ngôn ngữ máy.
Đọc đơn vị dịch và tạo 'module đối tượng'.
Chưa phải file thực thi hoàn chỉnh vì chưa có hàm C và thư viện khác.
Liên kết chương trình
'Liên kết' (Linker) lắp ráp hàm I/O, thư viện và hàm nguồn thành chương trình thực thi cuối cùng.

Thực thi chương trình
'Nạp' (Loader) là phần mềm nạp chương trình vào bộ nhớ sẵn sàng thực thi.
Trong quá trình thực thi, chương trình đọc dữ liệu từ người dùng, xử lý và chuẩn bị đầu ra.

Ví dụ 1
Tìm trung bình 3 số:
#include <stdio.h>
int main() {
int a, b, c, d; // khai báo 4 biến
float e;
printf("Nhap gia tri a,b,c: ");
scanf("%d,%d,%d", &a, &b, &c); // đọc 3 giá trị từ bàn phím
d = a + b + c;
e = d / 3;
printf("Trung binh = %f", e);
return 0;
}
Kết quả
Nhap gia tri a,b,c: 2,4,5 Trung binh = 3.000000
Ví dụ 2
Tính chu vi hình tròn:
#include <stdio.h>
#define PI 3.1415 // định nghĩa PI
main() {
float c, r;
printf("Nhap ban kinh r = ");
scanf("%f", &r);
c = 2 * PI * r;
printf("Chu vi hinh tron c = %f", c);
}
Kết quả
Nhap ban kinh r = 5.6 Chu vi hinh tron c = 35.184799