Nhận làm đồ án VĐK các loại ( 8051, AVR, PIC) Tư vấn - Hướng dẫn - lập trình

Thứ Năm, 19 tháng 3, 2015

Giới thiệu Ngôn ngữ C

GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C


Chào các bạn, ngôn ngữ C là một ngôn ngữ thuật giải, tức là tự nó có thể diễn tả thuật giải cần thực hiện. Nó có rất nhiều ưu điểm hơn hẳn so với các ngôn ngữ trước đó. Ngày nay có rất nhiều loại ngôn ngữ lập trình được sử dụng như : C++, C#.... Nhưng cơ bản nó vẫn bắt nguồn từ ngôn ngữ C. Vì tính tiện dụng cũng như dễ dàng lập trình của nó mà ngôn ngữ C được sử dụng một phần vào các ứng dụng lập trình cho VĐK. Trong loạt bài giới thiệu về ngôn ngữ C này, tôi xin phép chỉ đi vào những vấn đề cơ bản nhất của ngôn ngữ C để phục vụ cho việc lập trình nhúng cho VĐK. Rất hi vọng các bạn sau khi tham khảo bài đọc có thể hiểu được một cách tổng quan về ngôn ngữ C cũng như cách sử dụng cơ bản của nó với VĐK. Để có thể sử dụng nhúng ngôn ngữ C trên một số các phần mềm lập trình cho VĐK : 8051, PIC, AVR…v.v.. mời các bạn có thể chuyển qua các bài TAB hướng dẫn khác kết hợp. Xin chân thành cảm ơn!
I.     Giới thiệu về ngôn ngữ C
v Cha đẻ ngôn ngữ Clà Dennis Ritchie tại Bell Telephone năm 1972, tiền thân của ngôn ngữ B, KenThompson, cũng tại Bell Telephone. Đây là ngôn ngữ lập trình có cấu trúc và phân biệt chữ Hoa - thường (case sensitive).

v Một số ưu điểm của C:
·        Rất mạnh và linh động có khả năng thể hiện bất cứ ý tưởng nào
·        Được sử dụng rông rãi bởi các nhà lập trình chuyên nghiệp
·        Có tính khả chuyển, ít thay đổi trên các hệ thống máy tính khác nhau
·        Rõ ràng, cô đọng
·        Lập trình đơn thể, tái sử dụng thông qua hàm.


v Môi trường lập trình Borlan C++ 3.1 for DOS , Visual C++ 6.0, win 32 Console Application.


II.            Đặc điểm ngôn ngữ C

2.1. Các kí tự được sử dụng trong C
Ngôn ngữ C được xây dựng trên bộ kí tự gồm :
·        26chữ cái Latinh hoa và thường : A, B, C, …, Z, a, b, c, …, z.
·        Bộ chữ số thập phân : 0, 1, 2, …, 9
·        Các kí hiệu toán học : +   -  * /  =  <>  (  )
·        Các kí tự đặc biệt : . ,  : ;  [ ]  %  \  #  $  ‘
·        Kí tự gạch nối và khoảng trắng
2.2. Từ khóa trong C
Là các từ có 1 ý nghĩa xác định. Nó có thể dùng để diễn đạt các phát biểu như khai báo các kiểu dữ liệu, viết các toán tử và câu lệnh.
Tôi sẽ chia ra thành các nhóm từ khóa như sau :
v Nhóm từ khóa khai báo kiểu dữ liệu
·        Kiểu số nguyên : Char, int, short, unsigned, long…
·        Kiểu số thực : float , double …
·        Kiểu rỗng : void
·        Kiểu hằng : const
·        Kiểu rời rạc : enum
·        Kiều cấu trúc : struct, union
·        Khai báo biến : static, extern, volatille …
v Nhóm từ khóa dành cho phát biểu
·        Dạng chọn : if, if – else , switch – case – default
·        Dạng lặp : for, while, do – while
·        Dạng điều khiển : Break, continue, return, goto, …
2.3. Tên trong C
Dùng để xác định các đối tượng khác nhau trong chương trình như : Hằng, biến, mảng, hàm … Cần chú ý trong C phân biệt chữ hoa và chữ thường.
Quy tắc đặt tên trong C
·        Không bắt đầu bằng số
·        Không chứa kí tự đặc biệt và khoảng trắng.
2.4. Khái niệm kiểu dữ liệu
Là tập hợp các giá trị mà biến có thể nhận được thuộc kiểu dữ liệu đó :
Các kiểu dữ liệu :
v Kiểu số nguyên :
·      Kiểu số nguyên có dấu :
n bit có dấu : -2n-1 … + 2n-1 – 1 


·      Kiểu số nguyên không dấu :
n bit không dấu : 0 … 2n-1


v Kiểu số thực : 


v Chú ý :
·      Kiểu Boolean trong C chưa được định nghĩa rõ ràng và thường coi là dạng số nguyên.
Trong C, một số nguyên có giá trị bằng 0 sẽ được hiểu là False (sai), còn các số nguyên khác 0 sẽ được hiểu là True (đúng), thường ta lấy là 1.
Với kết quả tính là True thì luôn có giá trị nguyên là 1
·      Trong C kiểu Char thực chất là một kiểu kí tự, tuy nhiên trong C cũng cho phép dùng kiểu kí tự này như là 1 số nguyên ( Đây là 1 đặc tính mềm hay linh hoạt với ngôn ngữ C )
Do đó trong biểu thức số học thì char là kiểu nguyên còn trong biểu thức kí tự thì char lại là kí tự và kí tự kiểu char được biểu diễn thông qua bảng mã ASCII.
2.5. Đặc điểm lệnh trong C.
Là một chỉ thị trực tiếp, hoàn chỉnh nhằm ra lệnh cho máy tính thực hiện một số tác vụ nhất định nào đó. Để tiện theo dõi tôi chia ra làm các trường lệnh sau :
·      Lệnh đơn giản là những lệnh đơn không chứa các lệnh khác: gán, gọi hàm, …
·      Lệnh cấu trúc: Rẽ nhánh, vòng lặp, khối lệnh đặt trong {} …
·      Giữa các câu lệnh ngăn cách với nhau bằng dấu “;”
·      Bên trong khối lệnh có thể thêm nhiều khối lệnh khác nữa
·      Rộng ra thân hàm cũng là 1 khối lệnh
2.6. Biến, Hằng trong C
2.6.1 Biến :
Là đại lượng có thể thay đổi được giá trị.
Cách khai báo :
v C1 : Kiểu dữ liệu biến      Tên biến (giá trị nếu có);


v C2 : Khai báo thông qua sử dụng từ khóa typedef.
Typedef        int      a;
 a                   x, y, z ; 
Chú ý : Cần chú ý tới kích thước kiểu dữ liệu khi khai báo cho biến để tránh lãng phí.
2.6.2. Hằng
Là đại lượng không thay đổi giá trị
Ngoài lập trình C trên turboC hay Cfree việc định nghĩa hằng được thực hiện bằng từ khóa : const
Cú pháp:              Const         kiểu dữ liệu         tên hằng = giá trị;

Trong lập trình C cho VĐK hằng được định nghĩa qua từ khóa define vì từ khóa Const không tươn thích cho một số phần mềm lập trình biên dịch. (Bản chất define là một kiểu định nghĩa nhãn thay thế không phải hằng) . Tuy nhiên ta có thể tạm sử dụng trong trường hợp này.
Cú pháp:               #define             tên hằng           giá trị

Chú ý :
v Tên hằng thường được viết hoa để phân biệt với biến
v Hằng được chia làm 2 loại hằng thường và hằng kí hiệu :
·        Hằng thường :
Cú pháp : <kiểu dữ liệu>     tên hằng = giá trị;


·        Hằng kí hiệu :
Cú pháp : #define     tên hằng   giá trị


Hằng kí tự, hay hằng xâu kí tự cũng thường được dùng :
VD1 :           #define         M        ‘a’     => 1byte
Ở đây là hằng kí tự : chỉ kí tự a có giá trị nguyên là 97
‘a’ được sử dụng trong biểu thức số học

VD2 :          #define          M        “a”    => 2 byte
Đây là hằng xâu kí tự. Chiếm 2 byte bộ nhớ.

Như vậy trong bài viết đầu tiên này tôi đã giới thiệu đến các bạn một số đặc điểm cơ bản của ngôn ngữ C. Trong bài thứ 2 tôi sẽ đi tiếp sang biểu thức và các toán tử trong C. Cám ơn các bạn đã đón xem!
Mọi ý kiến thắc mắc các bạn có thể gửi qua địa chỉ gmail, hoặc số điện thoại cung cấp từ trang chủ của Blog hoặc comment trực tiếp phía dưới.
Nếu copy bài mong bạn đọc để lại nguồn, xin cảm ơn !







Mọi thắc mắc vui lòng liên hệ qua:
Facebook: Rid HaUI
Gmail: dienturid@gmail.com

Next previous home

0 nhận xét:

Đăng nhận xét