Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

4 bước chuyển đổi chương trình C thành mã máy


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.

4 bước chuyển đổi chương trình C thành mã máy

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.

4 bước chuyển đổi chương trình C thành mã máy

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.

4 bước chuyển đổi chương trình C thành mã máy

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