Chương 8
Ngơn ngữ lập trình C, các khái niệm cơ bản
Học phần: LẬP TRÌNH CƠ BẢN
Tài liệu tham khảo
2
Kỹ thuật lập trình C: cơ sở và nâng cao, Phạm Văn Ất,
Nhà xuất bản KHKT – Chương 2, 3
The C programming language 2nd Edition, Brian
Kernighan and Dennis Ritchie, Prentice Hall Software
Series – Chương 2
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Nội dung
Giới thiệu ngơn ngữ lập trình C
Cấu trúc chương trình
Hàm main
Các kiểu dữ liệu cơ bản
Biến, hằng và biểu thức
Các phép toán
Phát biểu include
Xuất dữ liệu ra thiết bị chuẩn: các hàm putchar, printf
Nhập dữ liệu từ thiết bị chuẩn: các hàm getchar, scanf
Môi trường Dev C
3
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Bắt đầu C
BPCL – Martin Richards
B – Ken Thompson
C – Dennis Ritchie
4
Các khái niệm cơ bản trong ngôn ngữ lập trình C
Lịch sử C
C và Unix có chung nguồn gốc
C ban đầu được xây dựng và cài đặt trên hệ điều hành Unix máy
tính PDP-11
Dennis Ritchie là tác giả C (1971).
Năm 1973 Unix được viết lại bằng C
BCPL (giữa những năm-60s) hay B (1970, cắt gọn của BCPL)
là tiền thân của C (khơng có A)
5
BCPL và B ngơn ngữ khơng định kiểu, C là ngôn ngữ định kiểu.
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Lịch sử C
Năm 1978 - Kernighan & Ritchie (1st edition) công bố phiên bản chuẩn
đầu tiên của C "K&R C“
Năm 1983, Viện tiêu chuẩn quốc gia Mỹ American National Standards
Institute (ANSI) thành thập một ủy ban để làm rõ và chuẩn hóa ngơn
ngữ.
Năm1988, ANSI C cơng bố phiên bản đầu tiên.
Năm 1990, ISO thông qua ANSI C không thay đổi – là chuẩn quốc tế cho
đến bây giờ.
Điều này mang đến lợi ích rất lớn về tính khả chuyển
Xem />6
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Đặc điểm của C
C có 32 từ khóa
Những từ khóa này kết hợp với cú pháp của C hình thành
ngơn ngữ C
Các quy tắc được áp dụng cho các chương trình C
• Tất cả từ khóa là chữ thường
• Ðoạn mã trong chương trình C có
phân biệt chữ thường, chữ hoa, do
while khác DO WHILE
•Từ khóa khơng thể dùng đặt tên biến
(variable name) hoặc tên hàm
main()
{
/* This is a sample Program*/
int i,j;
i=100;
j=200;
:
}
(function name)
7
Các khái niệm cơ bản trong ngôn ngữ lập trình C
Định danh
Tên của các biến (variables), các hàm (functions), các nhãn (labels) và các đối tượng khác nhau do người dùng
định nghĩa gọi là định danh
Ví dụ về các định danh đúng
arena
s_count
marks40
class_one
Ví dụ về các định danh sai
1sttest
oh!god
start... end
Khơng hợp lệ !
Các định danh có thể có bất cứ chiều dài nào theo quy ước, nhưng số ký tự trong một biến được nhận diện bởi
trình biên dịch thì thay đổi theo trình biên dịch
Các định danh trong C có phân biệt chữ hoa và chữ thường
8
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Các nguyên tắc đặt tên định danh
Tên biến phải bắt đầu bằng một ký tự alphabet
Theo sau ký tự đầu có thể là các ký tự chữ, số …
Nên tránh đặt tên biến trùng tên các từ khoá
Tên biến nên mơ tả được ý nghĩa của nó
Tránh dùng các ký tự gây lầm lẫn
Nên áp dụng các quy ước đặt tên biến chuẩn khi
lập trình
9
Các khái niệm cơ bản trong ngơn ngữ lập
trình C
Định danh
10
Các khái niệm cơ bản trong ngôn ngữ lập trình C
Từ khóa
Từ khóa: Tất cả các ngơn ngữ dành một số từ nhất định
cho mục đích riêng
Những từ này có một ý nghĩa đặc biệt trong ngữ cảnh của
một ngôn ngữ cụ thể
Sẽ khơng có xung đột nếu từ khóa và tên biến khác nhau.
Ví dụ từ integer cho tên biến thì hồn tồn hợp lệ ngay cả
khi mà từ khóa là int
11
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Từ khóa
auto, double, int, struct, break, else, long, switch,
case, enum, register, typedef, char, extern, return,
union, const, float, short, unsigned, continue, for,
signed, void, default, goto, sizeof, volatile, do, if,
static, while
12
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Cấu trúc chương trình C
main()
Chương trình C được chia nhỏ thành những đơn vị gọi là hàm
Khơng kể có bao nhiêu hàm trong chương trình, Hệ điều hành
ln trao quyền điều khiển cho hàm main() khi một chương
trình C được thực thi.
Theo sau tên hàm là dấu ngoặc đơn
Dấu ngoặc đơn có thể có chứa hay khơng chứa những tham số
13
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Cấu trúc chương trình C (tt.)
Dấu phân cách {…}
Sau phần đầu hàm là dấu ngoặc xoắn mở {
Nó cho biết việc thi hành lệnh trong hàm bắt
đầu
Tương tự, dấu ngoặc xoắn đóng } sau câu lệnh
cuối cùng trong hàm chỉ ra điểm kết thúc của
hàm
14
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Cấu trúc chương trình C (tt.)
Dấu kết thúc câu lệnh … ;
Một câu lệnh trong C được kết thúc bằng dấu
chấm phẩy ;
Trình biên dịch C khơng hiểu việc xuống dịng,
khoảng trắng hay tab
Một câu lệnh khơng kết thúc bằng dấu chấm
phẩy sẽ được xem như dòng lệnh lỗi trong C
15
Các khái niệm cơ bản trong ngôn ngữ lập trình C
Cấu trúc chương trình C (tt.)
/*Dịng chú thích*/
Những chú thích thường được viết để mơ tả
cơng việc của một lệnh đặc biệt, một hàm hay
tồn bộ chương trình
Trình biên dịch sẽ bỏ qua phần chú thích
Trong trường hợp chú thích nhiều dịng, nó sẽ
bắt đầu bằng ký hiệu /* và kết thúc là */
16
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Biến
Bộ nhớ
Dữ liệu
15
15
Dữ liệu
trong bộ
nhớ
Mỗi vị trí trong bộ nhớ là duy nhất
Biến là một đại lượng được người lập trình định nghĩa và được đặt tên thơng qua việc khai báo biến. Biến dùng để chứa
dữ liệu trong quá trình thực hiện chương trình và giá trị của biến có thể bị thay đổi trong q trình này. Cách đặt tên
biến giống như cách đặt tên đã nói trong phần trên.
Mỗi biến thuộc về một kiểu dữ liệu xác định và có giá trị thuộc kiểu đó.
Biến cho
phép cung cấp một tên có ý nghĩa cho mỗi vị
trí nhớ
17
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Khai báo
• <kiểu dữ liệu> <tên biến> [=<giá trị 1>]
Ví dụ:
int a = 3;
int b;
int a=3, b=4;
char c = ‘A’;
18
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Hằng
Một
hằng (constant) là một giá trị không bao
giờ thay đổi trong thời gian tồn tại của nó.
Định
nghĩa hằng: sử dụng từ khóa const
const <kiểu dữ liệu> <tên hằng> = <giá trị>
19
Các khái niệm cơ bản trong ngôn ngữ lập trình C
Hằng
Các ví dụ
const int a= 5; hằng số nguyên
const float x = 5.3;
hằng số thực
const char c = ‘1’;
hằng ký tự
Hằng trong hệ 16 được bắt đầu bằng 0x.
Ví dụ: 0xa5 = 10*16 + 5 =165.
Hằng trong hệ 8 bắt đầu bằng 0.
Ví dụ: 0345 = 3*64+4*16+5=229
20
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Kiểu dữ liệu
Các kiểu dữ liệu khác nhau được lưu trữ trong biến là:
Số (Numbers)
Số nguyên.
Ví dụ : 10 hay 178993455
Số thực.
Ví dụ, 15.22 hay 15463452.25
Số dương
Số âm
Tên. Ví dụ : John
Giá trị luận lý :
Ví dụ : Yes hay No
21
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Kiểu dữ liệu (tt.)
Kiểu dữ liệu mô tả loại dữ liệu sẽ được lưu
trong biến
Tên biến đặt sau kiểu dữ liệu
Ví dụ : tên biến “varName” đứng sau kiểu dữ
liệu “int”
kiểu dữ liệu
int
22
tên biến
varName
Các khái niệm cơ bản trong ngơn ngữ lập trình C
Kiểu dữ liệu cơ bản
Kiểu dữ liệu cơ bản
int
23
float double char
Các khái niệm cơ bản trong ngơn ngữ lập trình C
void
Kiểu dữ liệu cơ bản
• Kích thước kiểu dữ liệu phụ thuộc vào việc build cho hệ điều
hành nào.
• Nếu build cho các hệ 8 bits, 32 bits hoặc 64 bits (Windows),
các giá trị này sẽ thay đổi tương ứng.
• Kích thước được giới thiệu ở đây là dành cho HĐH 16 bits.
24
Các khái niệm cơ bản trong ngôn ngữ lập trình C
Kiểu số nguyên (int)
25
Lưu trữ dữ liệu số nguyên
int num;
Không thể lưu trữ bất cứ kiểu dữ liệu nào khác như
“Alan” hoặc “abc”
Chiếm 32 bits (4 bytes) bộ nhớ
Biểu diễn các số nguyên trong phạm vi
-32768 tới 32767
Ví dụ : 12322, 0, -232
Các khái niệm cơ bản trong ngôn ngữ lập trình C