Ngôn ngữ lập trình C - Giới thiệu

theanh

Administrator
Nhân viên
C là một ngôn ngữ lập trình thủ tục được thiết kế bởi nhà khoa học máy tính người Mỹ Dennis Ritchie. Ngôn ngữ này - xuất hiện lần đầu tiên vào năm 1972 - được Ritchie phát triển cùng với Bell Labs. Mặc dù đã gần 50 năm tuổi, ngôn ngữ lập trình C vẫn không mất đi sự liên quan của nó trong bối cảnh phát triển phần mềm máy tính hiện đại. Ngôn ngữ này vẫn được sử dụng trong các lĩnh vực quan trọng về thời gian và tốc độ như phát triển hệ điều hành và chương trình cơ sở (để kể tên một số).

Một số ngôn ngữ mới hơn như C++, Java, PHP, v.v. đều dựa trên C. Và đó là lý do tại sao sinh viên vẫn được khuyên nên thành thạo C để có thể sử dụng tốt bất kỳ ngôn ngữ mới nào dựa trên C. Vì vậy, hãy ghi nhớ tầm quan trọng này, chúng tôi sẽ bắt đầu một loạt các hướng dẫn, trong đó chúng tôi sẽ thảo luận về những điều cơ bản của ngôn ngữ lập trình C.

Xin lưu ý rằng chúng tôi sẽ sử dụng Linux cho tất cả các ví dụ và giải thích của mình. Cụ thể, chúng ta sẽ sử dụng Ubuntu 18.04 LTS.

Chương trình C cơ bản​

Để bắt đầu, chúng ta hãy xem một chương trình C đơn giản.
Mã:
#include 

int main (void)
{
 printf("\n Hello World \n");
 return 0;
}
Vì vậy, bạn có thể thấy chương trình bắt đầu bằng #. Trong ngôn ngữ lập trình C, bất kỳ dòng nào bắt đầu bằng # đều được bộ xử lý trước xử lý ở giai đoạn biên dịch chương trình đầu tiên. Chúng ta sẽ không đi sâu vào chi tiết của các giai đoạn biên dịch, nhưng trước mắt, hãy nhớ rằng điều đầu tiên sẽ xảy ra trong quá trình biên dịch chương trình này là dòng bắt đầu bằng # sẽ được thay thế bằng bất kỳ thứ gì có trong tệp tiêu đề stdio.h.

Sau đó là dòng tiếp theo: 'int main (void)'. Về cơ bản, đây là phần đầu của một hàm có tên là 'main' trả về một giá trị số nguyên (int) và không chấp nhận giá trị nào (void). Cần đề cập ở đây rằng mọi chương trình C mà bạn thấy đều bao gồm một hoặc nhiều hàm. Hàm 'main' là hàm bắt đầu thực thi sau khi chương trình được chạy. Trong khi tất cả các hàm khác được gọi từ bên trong main hoặc các hàm khác (có nghĩa là bạn có quyền kiểm soát trình tự gọi của chúng), thì chính main được gọi là hàm đầu tiên từ bên trong hệ thống.

Tiếp theo, bạn sẽ thấy một dấu ngoặc nhọn ( { ). Về cơ bản, dấu ngoặc nhọn này xác định phạm vi bắt đầu của một hàm. Tất nhiên, về cuối, bạn sẽ thấy một dấu ngoặc nhọn ngược ( } ), xác định phạm vi kết thúc của hàm. Tất cả các lệnh bên trong các dấu ngoặc nhọn này được coi là một phần hoặc thân của hàm.

Ở đây, có hai dòng mã trong thân của hàm 'main'. Dòng đầu tiên là 'printf("\n Hello World \n");'. Printf là một hàm thư viện hệ thống in các chuỗi đã định dạng trên STDOUT. Hiện tại, chỉ cần nhớ rằng nó in ra bất cứ thứ gì bạn cung cấp trong dấu ngoặc kép (" ") ngoại trừ chuỗi thoát (như '\n', được dịch thành dòng mới). Dòng thứ hai của phần thân là 'return 0'. Về cơ bản, nó đánh dấu kết thúc hàm 'main' và gửi '0' làm kết quả cho hàm đã gọi 'main'.

Vì vậy, nhìn chung, chúng ta nên mong đợi chương trình này in ra 'Hello World'.

Biên dịch và thực thi chương trình C​

Bây giờ chúng ta đã hiểu một chương trình C đơn giản, hãy tiếp tục và thực thi nó. Vì vậy, bước đầu tiên sẽ là lưu mã trong một tệp có tên, chẳng hạn như hello-world.c. Bạn có thể sử dụng trình soạn thảo Vim để thực hiện việc này. Sau khi lưu mã trong hello-world.c, hãy đảm bảo rằng bạn đã cài đặt công cụ gcc trên hệ thống Linux của mình. Nếu không, bạn có thể tải xuống và cài đặt (ít nhất là trên Ubuntu) bằng lệnh sau:
Mã:
sudo apt install gcc
Gcc về cơ bản là trình biên dịch GNU cho ngôn ngữ lập trình C. Khi đã có trên hệ thống của bạn, chỉ cần sử dụng theo cách sau để biên dịch chương trình hello-world.c:
Mã:
gcc -Wall hello-world.c -o hello
Ở đây, -Wall là tùy chọn lệnh gcc cho phép nhiều cảnh báo thời gian biên dịch mà nếu không trình biên dịch sẽ không đưa ra. Tùy chọn khác mà bạn thấy là -o, được sử dụng để chỉ định tên tệp đầu ra. Vì vậy, trong trường hợp này, chúng ta muốn tệp đầu ra được đặt tên là 'hello'.

Khi bạn chạy lệnh được đề cập ở trên, bạn sẽ thấy một tệp có tên 'hello' sẽ được tạo ra. Đó là một tệp thực thi. bạn có thể chạy nó theo cách sau:
Mã:
./hello
Ví dụ, khi tôi thực hiện lệnh này, đầu ra sau đã được tạo ra:



Vì vậy, bạn có thể thấy, 'hello world' đã được tạo ra trong đầu ra.

Kết luận​

Trong bài viết này, chúng ta đã học những điều cơ bản nhất của ngôn ngữ lập trình C bằng cách sử dụng một chương trình demo. Bây giờ chúng ta đã biết cách viết, biên dịch và thực thi một chương trình C, chúng ta sẽ tìm hiểu các khía cạnh khác trong bài viết tiếp theo. Hãy theo dõi.

Phần 2 - Bộ tiền xử lý C
 
Back
Bên trên