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

Giới thiệu

C là một ngôn ngữ lập trình thông dụng, được sử dụng để viết nên nhiều hệ điều hành (như UNIX, Windows, Mac, Linux) cũng như các ứng dụng trên máy tính.

C là nền tảng cho nhiều ngôn ngữ khác. Những ngôn ngữ như C++, Objective C được xem là con của C, vì chúng được mở rộng từ C. Để nắm rõ cách làm việc của chúng, bạn nên tìm hiểu trước về C.

C được Nennis Ritchie, lúc đó đang làm việc tại AT&T Bell Labs, phát triển vào những năm 1970 với mục đích ban đầu là để xây dựng hệ điều hành UNIX

C được phát triển từ ngôn ngữ B (do Ken Thompson phát triển), B lại được phát triển từ BCPL (do Martin Richards phát triển)

Năm 1989, chuẩn ANSI C được thông qua, sau đó, nó trở thành chuẩn quốc tế với tên gọi ANSI/ISO C, và được sử dụng rộng rãi đến ngày nay.

Đặc điểm

  • C là một ngôn ngữ lập trình thủ tục (procedural) và có cấu trúc (structured language): C cho phép phân chia mã thành từng đơn vị gọi là thủ tục (procedure) hay hàm (function), mỗi hàm thực hiện một công việc cụ thể. C cũng cung cấp các cấu trúc như cấu trúc lặp while, do-while,… và các khối mã (code block) bao bọc trong cặp { }.
  • C là một ngôn ngữ lập trình cấp trung (middle level), thể hiện qua hai điểm:
    • So với các ngôn ngữ cấp cao, C gần với phần cứng hơn, linh hoạt và mạnh mẽ như Assembly: cho phép thao tác byte, bit, địa chỉ bộ nhớ,…
    • So với Assembly, C lại là một ngôn ngữ khả chuyển (portability). Assembly chỉ có thể chạy trên một số máy nhất định, C thì có thể biên dịch và chạy trên hầu hết máy tính. Ngoài ra, C cũng có các kiểu dữ liệu (data types) giống các ngôn ngữ cấp cao.
  • C nhỏ gọn, chỉ có 32 từ khóa. Các từ khóa đều viết bằng chữ thường. C là ngôn ngữ có phân biệt kiểu chữ hoa thường.
  • C là ngôn ngữ dạng biên dịch (compile). Từ mã nguồn C, bạn sử dụng một trình biên dịch (compiler) để biên dịch chương trình C ra mã thực thi.

Chú ý: C không phải là ngôn ngữ lập trình hướng đối tượng.

Chương trình C đầu tiên

Cách hay nhất để học lập trình là bắt tay vào viết ứng dụng đầu tiên – ứng dụng in ra câu Hello world kinh điển. Chúng ta chỉ viết thử để nắm các thành phần cơ bản thôi, chưa cần phải chạy thử.

Dùng trình soạn thảo văn bản đơn giản (text editor) nào đó trên máy của bạn (như vi, vim, gEdit, Emacs hay Text Editor trên Linux hay Mac hoặc NotePad trên Windows) và gõ đoạn mã sau:

#include <stdio.h>

int main()
{
     // Print Hello world to screen
     printf("Hello world! \n");

     return 0;
}

Đoạn mã trên có các thành phần cơ bản của một chương trình C, như sau:

  • #include <stdio.h>: là một chỉ thị tiền xử lý (preprocessor directive). Gọi là chỉ thị tiền xử lý là vì đây là các chỉ dẫn cho trình biên dịch, chứ không phải là mã thực thi. Như chỉ thị trong mã là bảo trình biên dịch phải thêm file header stdio.h vào trước khi biên dịch. Các chỉ thị tiền xử lý trong C đều bắt đầu bằng #.
  • int main(): hàm có tên là main. Khi bạn viết chương trình, thường bạn sẽ nhóm mã thành nhiều hàm. Khi chạy chương trình, thì hệ thống sẽ phải chọn ra một hàm để thực thi đầu tiên, đó là hàm main(). Vì vậy, hàm main() được gọi là điểm vào (entry point) của chương trình C. Mọi chương trình C đều phải có một hàm main(), cho dù bạn có phân chia mã thành nhiều hàm hay không. int là kiểu dữ liệu số nguyên, như cách dùng trong mã, ý nói hàm main() trả về một số nguyên. Mọi hàm trong C đều theo sau bởi (), và thân hàm nằm giữa cặp { }.
  • // Print Hello world to screen: là một dòng chú thích dành riêng cho người lập trình tự ghi chú, không có tác dụng thực thi. Chú thích bắt đầu bằng // có hiệu lực trên một dòng. Nếu bạn muốn viết chú thích trên nhiều dòng, hãy bao nó trong cặp /* và */:
  • printf(“Hello world!\n”);: là một câu lệnh. Câu lệnh này gọi hàm printf() có tác dụng in văn bản ra màn hình. Hello world\n là chuỗi truyền vào cho hàm, nó là chuỗi cần in. \n là một ký tự thoát (escape character) đại diện cho ký tự xuống dòng. Chuỗi trong C được bao trong cặp “”. Mọi câu lệnh đều kết thúc bằng ;.
  • return 0;: cũng là một câu lệnh. return là một từ khóa, dùng để trả về giá trị cho hàm, như trong mã là trả về 0.

Nguồn tham khảo:

Tags:

Bình luận

Bình luận Facebook

lời bình luận