Menu-ngang

☰ MENU

13/02/2022

Chương 1: Tổng quan về ngôn ngữ C

 1.1. Giới thiệu ngôn ngữ C

Chắc hẳn bạn đã được tiếp xúc với máy tính, điện thoại dù ít hay nhiều và dùng các ứng dụng hoặc trò chơi trên đó ví như Word, Excel để làm việc văn phòng hoặc dùng Chrome, Firefox để vào Facebook, Google hay chính Facebook và Google là các phầm mềm.

Bạn tưởng tượng lập trình là quá trình bạn tạo ra các phần mềm, ứng dụng như thế. Bạn tạo ra ứng dụng cho người khác dùng, làm việc; bạn tạo ra game cho người khác chơi, làm ra website cho người khác truy cập vào. Nghĩ đến đây đã thấy hứng thú rồi 

Để làm ra được phần mềm (hoặc game, website) thì chúng ta phải dạy cho máy tính cách làm việc hay nói cách khác là đưa các quy tắc mà chúng ta mong muốn để máy tính thực hiện như là khi ấn nút lên trên thì nhân vật phải nhảy lên, ấn nút sang trái thì nhân vật sẽ đi sang trái.

Giống như dạy cho ai đó phải làm gì thì bạn phải nói cho họ nghe hoặc viết chữ để đưa cho họ đọc và từ đó họ mới hiểu được bạn nói gì. Việc đưa các quy tắc này vào máy tính để nó hiểu được bạn muốn làm gì mà thực hiện theo cũng vậy, bạn cần viết các yêu cầu đó theo một cú pháp cụ thể mà cái đó gọi là ngôn ngữ lập trình.

Ngôn ngữ lập trình cũng giống như tiếng Việt để người Việt giao tiếp và hiểu, tiếng Anh dùng cho người Anh, Mỹ và nhiều nước khác, … ngôn ngữ lập trình nó là ngôn ngữ để người nói cho máy tính hiểu. Hiện nay có nhiều ngôn ngữ lập trình khác nhau như C, C++, Java, C#, PHP, python,… mỗi ngôn ngữ có ưu nhược điểm riêng và có ứng dụng trong các lĩnh vực nhất định.

Mỗi phần mềm hay gọi là chương trình (chương trình máy tính) sẽ được viết bởi ngôn ngữ C bằng một hay nhiền file với những quy tắc nhất định của ngôn ngữ mà chúng ta sẽ dần tìm hiểu.

1.1.1 Lịch sử phát triển

C là ngôn ngữ lập trình cấp cao, được sử dụng rất phổ biến để lập trình hệ thống và phát triển các ứng dụng.

       Vào những năm cuối thập kỷ 60 đầu thập kỷ 70 của thế kỷ XX, Dennish Ritchie (làm việc tại phòng thí nghiệm Bell) đã phát triển ngôn ngữ lập trình C dựa trên ngôn ngữ BCPL (do Martin Richards đưa ra vào năm 1967) và ngôn ngữ B (do Ken Thompson phát triển từ ngôn ngữ BCPL vào năm 1970 khi viết hệ điều hành UNIX đầu tiên trên máy PDP-7) và được cài đặt lần đầu tiên trên hệ điều hành UNIX của máy DEC PDP-11.

       Năm 1978, Dennish Ritchie và B.W Kernighan đã cho xuất bản quyển “Ngôn ngữ lập trình C” và được phổ biến rộng rãi đến nay. Lúc ban đầu, C được thiết kế nhằm lập trình trong môi trường của hệ điều hành Unix nhằm mục đích hỗ trợ cho các câu lệnh lập trình phức tạp. Nhưng về sau, với những nhu cầu phát triển ngày một tăng của câu lệnh lập trình, C đã vượt qua khuôn khổ của phòng thí nghiệm Bell và nhanh chóng hội nhập vào thế giới lập trình, các công ty lập trình sử dụng ngôn ngữ lập trình C một cách rộng rãi. Sau đó, các công ty sản xuất phần mềm lần lượt đưa ra các phiên bản hỗ trợ cho việc lập trình bằng ngôn ngữ lập trình C và chuẩn ANSI C ra đời.

 

1.1.2. Sự cần thiết

       Ngôn ngữ lập trình C là một ngôn ngữ lập trình hệ thống rất mạnh và rất “mềm dẻo”, có một thư viện gồm rất nhiều các hàm (function) đã được tạo sẵn. Người lập trình có thể tận dụng các hàm này để giải quyết các bài toán mà không cần phải tạo mới. Hơn thế nữa, ngôn ngữ lập trình C hỗ trợ rất nhiều phép toán nên phù hợp cho việc giải quyết các bài toán kỹ thuật có nhiều công thức phức tạp. Ngoài ra, C cũng cho phép người lập trình tự định nghĩa thêm các kiểu dữ liệu trừu tượng mới. Tuy nhiên, điều mà người mới vừa học lập trình C thường gặp “rắc rối” là “hơi khó hiểu” do sự “mềm dẻo” của C. Dù vậy, C được phổ biến khá rộng rãi và đã trở thành một công cụ lập trình khá mạnh, được sử dụng như là một ngôn ngữ lập trình chủ yếu trong việc xây dựng những phần mềm hiện nay.

Những ứng dụng viết bằng ngôn ngữ C:

       - Hệ điều hành Window, Linux…

       - Các ứng dụng desktop, web…

       - Các chương trình điều khiển hệ thống nhà xưởng, chương trình điều khiển các chíp vi điều khiển, robot, game…

 1.2. Các thao tác cơ bản

Để có thể lập trình C thì các bạn cần cài bộ dịch gcc hoặc g++. Tuy nhiên để dễ dàng thì hiện tại có nhiều phần mềm tích hợp (hay gọi là môi trường phát triển – IDE) để chúng ta có thể dễ dàng.

Đối với các bạn dùng Windows có thể download Dev-C++ hoặc Code::Blocks về cài đặt và chúng ta có thể dùng ngay để viết các chương trình đơn giản.

Để dễ và thống nhất trong quá trình làm, chúng ta sẽ dùng Dev-C++ .

1.2.1. Khởi động

- Cách 1: Start àAll Program àBloodshed Dev-C++ àDev-C++

- Cách 2: Nháy chọn biểu tượng Dev-C++  trên màn hình Desktop.

Giới thiệu cơ bản về Dev-C++:




Giao diện Dev-C++

1.2.2. Thoát khỏi

            - Kết thúc: Vào File àExit (Alt+F4) hoặc nháy nút lệnh Exit 

            - Đóng file hiện hành: Vào File àClose (Ctrl+W)

1.2.3. Tạo mới, ghi một chương trình C

       a. Tạo mới: Vào File àNew àSource File (Ctrl+N) hoặc nháy nút lệnh New 

       b. Lưu:    - Lưu với tên cũ : Vào File àSave (Ctrl+S) hoặc nháy nút lệnh Save 

                        - Lưu với tên mới Vào File àSave As

c. Mở: Vào File àOpen hoặc nháy nút lệnh Open 

       d. Biên dịch và chạy chương trình:

            - Biên dịch: Vào Execute àCompile (F9) hoặc nháy nút lệnh Compile 

            - Chạy chương trình: Vào Execute àRun (F10) hoặc nháy nút lệnh Run 

            - Biên dịch và chạy chương trình: Vào Execute àCompile & Run (F11) 

e. Sử dụng trợ giúp: Vào Help àHelp on Dev-C++ (F1)

 

1.2.4. Tạo chương trình đầu tiên

B1: Tạo 1 file mới.
B2: Gõ hoặc chép đoạn code sau vào vùng soạn thảo.

1

2

3

4

5

6

7

#include <stdio.h>

 int main()

{

    printf("Welcome");

    return 0;

}


B3: Lưu lại với tên file là Test.c hoặc Test.cpp
B4: Click nút chạy chương trình và bạn sẽ thấy một màn hình màu đen hiện lên như sau:

 

Chương trình C đầu tiên khi chạy

 

Trong đó các bạn có thể thấy chữ Welcome hiện lên, đó chính là dòng chữ được in ra khi dùng lệnh printf. Phần dưới đường kẻ ngang là do Dev-C tự sinh ra.

 

- Dòng 1: Chứa phát biểu tiền xử lý #include <stdio.h> . Vì trong chương trình này ta sử dụng các lệnh trong thư viện của C là printf, do đó bạn cần phải có khai báo của hàm thư viện này để báo cho trình biên dịch C biết. Nếu không khai báo chương trình sẽ báo lỗi. Thư viện stdio.h viết tắt của standard input output (std – i – o) là thư viện nhập xuất chuẩn).

- Dòng 3: ** int main() là thành phần chính của mọi chương trình C. Mọi chương trình C đều bắt đầu thi hành từ hàm **main. Cặp dấu ngoặc () cho biết đây là khối hàm (function). Hàm main() có từ khóa int đầu tiên cho biết hàm này trả về giá trị kiểu nguyên (int).

- Dòng 4 và 7: cặp dấu ngoặc móc {} giới hạn thân của hàm. Thân hàm bắt đầu bằng dấu { và kết thúc bằng dấu }.

- Dòng 5: printf ("Welcome");, chỉ thị cho máy in ra chuỗi ký tự nằm trong nháy kép "". Hàng này được gọi là một câu lệnh, kết thúc một câu lệnh trong C phải là dấu chấm phẩy( ; ).

- Dòng 6: return 0; Trả về giá trị kiểu nguyên là 0 theo như đúng ban đầu là khai báo int main().

Bây giờ các bạn mở folder chứa file Test.c mà bạn vừa tạo ra, các bạn sẽ nhìn thấy một file có tên Test.exe (gọi tắt là file exe), đây chính là file chạy chương trình. Bây giờ nếu muốn bạn có thể click chuột vào file exe này là chạy được chương trình trên hoặc bạn có thể copy file exe này sang máy tính khác thì vẫn có thể chạy được, nó giống như bạn copy game từ máy này sang máy khác vậy.

Từ đây ta có:

File Test.c là file chúng ta tạo ra và viết các lệnh để máy tính hiểu, file này gọi là file mã nguồn.

File Test.exe là file sinh ra khi chúng ta ấn nút Chạy chương trình, file này gọi là file thực thi.