Bài giảng Kiến trúc máy tính - Phần 2 - Chương 1: Tổng quan về ngôn ngữ lập trình C

1.1 Giới thiệu chung  
C và ngôn ngữ phát triển của nó là C++ được phổ biến  
khá rộng rãi và là một trong những 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.  
Lịch sử phát triển :  
1978  
1972  
1989  
• C được ra đời và • Cuốn sách “The • Phiên bản chuẩn  
phát triển bởi hai C Programming hóa ANSI được  
nhà khoa học Language” được công bố trong  
máy tính là Brian xuất bản lần đầu cuốn “The C  
W.Kernighan và tiên để giới thiệu Programming  
Dennis Ritchie.  
ngôn ngữ C.  
Language”. Xuất  
bản lần hai  
2
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.1 Giới thiệu chung  
Cuốn “The c programming  
language” xuất bản lần 2  
Dennis MacAlistair Ritchie  
( 09/09/1941 – 12/10/2011)  
3
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Đặc điểm của ngôn ngữ C  
. Phân biệt chữ hoa và chữ thường.  
. Có số phép toán và thư viện hàm phong phú.  
. Các biểu thức được biểu diễn bằng những chuỗi ký tự ngắn  
gọn  
. Tương thích với nhiều hệ điều hành như Unix, Windows…  
4
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Trình biên dịch  
Trình biên dịch hay phần mềm biên dịch (compiler) là một  
chương trình máy tính làm công việc dịch một chuỗi các câu lệnh  
được viết bằng một ngôn ngữ lập trình thành một chương trình  
tương đương nhưng ở dưới dạng một ngôn ngữ máy tính.  
Những trình dịch về C ngày nay thường được cung cấp  
kèm chung với C++. Sau đây là danh sách một số trình dịch phổ  
biến:  
. GCC  
. Borland C/C++  
. Microsoft Visual Studio  
. Turbo C/C++  
. C Free  
. Dev C/C++  
. Code Block  
5
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.2 Bộ kí tự và từ khóa  
Bộ chữ viết trong ngôn ngữ C bao gồm những kí tự, ký  
hiệu sau:  
. 26 chữ cái Latinh lớn: A, B, C..., Z  
. 26 chữ cái Latinh nhỏ: a, b, c ..., z  
. 10 chữ số thập phân: 0, 1, 2...9  
. Các ký hiệu toán học: +, -, *, /, =, <, >  
. Các ký hiệu đặc biệt: . , ; : " ' _ @ % # $ ! ^ [ ] { } ( ) ...  
. Dấu cách hay khoảng trống (Trình biên dịch sẽ bỏ qua kí tự  
khoảng trắng (space) nếu nó không nằm trong một hằng  
chuỗi. )  
6
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.2 Bộ kí tự và từ khóa  
Từ khóa là các từ dành riêng (reserved words) của một  
ngôn ngữ mà người lập trình. Mỗi từ khóa có một ý nghĩa xác  
định và chúng ta không thể thay đổi nó.  
Dưới đây là bộ từ khóa của ngôn ngữ C:  
7
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.3 Định danh ( đặt tên )  
Định danh là một dãy kí tự dùng để gọi tên các đối tượng  
trong chương trình như biến, hằng, hàm, mảng,…  
Một số qui tắc cần tuân theo khi đặt tên trong C:  
. Không được bắt đầu bằng chữ số, không được trùng với  
từ khóa.  
. Chỉ được sử dụng các ký tự gồm chữ cái (A..Z,a..z), chữ  
số (0..9) và dấu gạch dưới ‘_’.  
Ví dụ: dien_tich /*Định danh hợp lệ*/  
dien tich /*Định danh không hợp lệ*/  
8
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.4 Các kiểu dữ liệu chuẩn  
Kiểu  
char  
unsigned char  
Số nguyên int  
unsigned int  
long  
Kích thước  
Miền giá trị  
-128 +127  
Kí tự  
1 byte  
1 byte  
2 byte  
2 byte  
4 byte  
0 255  
-32768 32767 (- 2ꢀꢁ 2ꢀꢁ-1)  
0 65535 (02ꢀꢂ - 1)  
-2147483648 2147483647  
(-2ꢃꢀ2ꢃꢀ-1)  
unsigned long 4 byte  
0 4294967295  
(02ꢃꢄ -1)  
3.4*10ꢅꢃꢆ 3.4*10ꢃꢆ  
1.7*10ꢅꢃꢇꢆ 1.7*10ꢃꢇꢆ  
3.4*10ꢈꢉꢃꢄ 1.1*10ꢈꢉꢃꢄ  
Số thực  
float  
4 byte  
8 byte  
10 byte  
double  
long double  
9
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.4 Các kiểu dữ liệu chuẩn  
Chú ý:  
. Kiểu ký tự cũng có thể xem là một dạng của kiểu số nguyên.  
. Ngoài kiểu kí tự, kiểu số nguyên và số thực ra, trong C còn  
có kiểu dữ liệu void, kiểu này mang ý nghĩa là kiểu rỗng  
không chứa giá trị gì cả.  
10  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.5 Biến  
. 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 giá trị thuộc một kiểu dữ liệu xác định  
trong quá trình thực hiện chương trình.  
. Giá trị của biến có thể bị thay đổi nhưng kiểu dữ liệu của nó  
thì không.  
11  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Khai báo biến  
Biến phải được khai báo trước khi sử dụng. Tùy trường  
hợp mà có thể lựa chọn các cách khai báo biến sau:  
- Cú pháp khai báo chung:  
kiểu_dữ _liệu tên_biến ;  
- Khai báo nhiều biến có cùng một kiểu dữ liệu:  
kiểu_dữ _liệu tên_biến1, tên_biến2,;  
- Khai báo và khởi tạo giá trị cho biến:  
kiểu_dữ _liệu tên_biến = giá trị_khởi_tạo ;  
12  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Vị trí khai báo biến  
. Khai báo bên ngoài các khối lệnh: (Biến ngoài)  
– Phạm vi sử dụng: từ vị trí khai báo xuống các khối lệnh  
bên dưới.  
– Giá trị ban đầu: bằng 0.  
– Thời gian tồn tại: cho đến khi kết thúc chương trình.  
. Khai báo bên trong khối lệnh: (Biến trong)  
– Phạm vi sử dụng: bên trong khối lệnh đó và cả các khối  
lệnh lồng bên trong khối đó.  
– Giá trị ban đầu: chưa được xác định  
– Thời gian tồn tại: Khi thực hiện xong khối lệnh  
13  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.6 Hằng  
Hằng (constant) - là đại lượng không đổi trong suốt quá  
trình thực thi của chương trình.  
Hằng có thể là một chuỗi ký tự, một ký tự, một con số xác  
định. Để đặt tên một hằng, ta dùng dòng lệnh sau :  
#define Tên_hằng Giá_trị  
Hoặc  
const Kiểu_dữ _liệu Tên_hằng = Giá_trị ;  
Ví dụ: #define PI 3.14  
const int MAX = 100;  
14  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Hằng số nguyên  
- Dạng thập phân: Giá trị viết ở dạng số nguyên thập phân.  
Ví dụ: const int x = 100 ;  
- Dạng bát phân: Giá trị nguyên bát phân được viết sau số 0.  
Ví dụ: #define x 0144 /*Hằng x có giá trị nguyên bát phân  
bằng 144*/  
- Dạng thập lục phân: Giá trị nguyên thập lục phân viết sau  
0x hoặc 0X.  
Ví dụ: #define x 0x64 /*Hằng x có giá trị ở hệ thập lục phân  
bằng 64*/  
Lưu ý: Để biểu diễn các hằng kiểu long, unsigned int, hoặc  
unsigned long người ta thường thêm hậu tố L hoặc l (long), U  
hoặc u (unsigned int), UL hoặc ul (unsigned long) vào cuối giá  
trị nguyên.  
15  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Hằng số thực  
Hằng số thực được thể hiện theo 2 cách sau:  
- Sử dụng cách viết thông thường (dấu phẩy tĩnh), cần lưu ý  
là sử dụng dấu thập phân là dấu chấm.  
Ví dụ: const float Pi = 3.14 ;  
- Sử dụng cách viết theo số mũ hay số khoa học (dấu phẩy  
động). Một số thực được tách làm 2 phần, cách nhau bằng  
ký tự e hay E.  
Ví dụ: #define x 12.3e-3 //x= 12.3*10ꢅꢃ = 0.0123  
Chú ý: - Thêm hậu tố cho kiểu double F  
- Thêm hậu tố cho kiểu long double L  
Ví dụ: #define Pi = 3.14L ;  
16  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Hằng kí tự  
Hằng ký tự là một ký tự riêng biệt được viết trong cặp dấu  
nháy đơn . Mỗi một ký tự tương ứng với một giá trị trong bảng  
mã ASCII. Hằng ký tự cũng được xem như trị số nguyên.  
Ví dụ: ‘a’, ‘A, ‘0’, ‘9’  
Chúng ta có thể thực hiện các phép toán số học trên 2 kí  
tự (thực chất là thực hiện phép toán trên giá trị ASCII của  
chúng)  
17  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Hằng chuỗi kí tự  
Hằng chuỗi ký tự là một chuỗi hay một xâu ký tự được  
đặt trong cặp dấu nháy kép .  
Ví dụ: “Ngon ngu lap trinh C”  
Chú ý:  
. Khi lưu trữ trong bộ nhớ, một chuỗi được kết thúc  
bằng ký tự NULL (‘\0’: mã ASCII là 0).  
. Để biểu diễn ký tự đặc biệt bên trong chuỗi ta phải  
thêm dấu \ phía trước.  
Ví dụ: “I’m a student” phải viết “I\’m a student”  
“Day la ky tu “dac biet”” phải viết “Day la ky tu \“dac biet\””  
18  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
1.7 Biểu thức và toán tử  
Biểu thức là một chuỗi gồm các toán hạng và toán tử được  
kết hợp với nhau.  
Mỗi toán hạng có thể là hằng, biến, lời gọi hàm, hoặc biểu  
thức con.  
Mỗi biểu thức sẽ có một giá trị xác định. Giá trị đó có thể  
là giá trị số học hoặc giá trị logic: true (1), false (0).  
19  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Toán tử số học  
Bao gồm các phép toán:  
Cộng Trừ Nhân Chia Lấy dư  
+
-
*
/
%
Ví dụ : 9%4 = 1 (9 chia 4 dư 1).  
–7 + 2 * ((4 + 3) * 4 + 8) = 65.  
Lưu ý: Toán tử % chỉ áp dụng cho kiểu số nguyên. Phép chia  
giữa hai giá trị nguyên sẽ cho kết quả là giá trị nguyên ( Ví dụ:  
3/4 = 0).  
20  
Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật  
Tải về để xem bản đầy đủ
pdf 40 trang yennguyen 09/04/2022 6760
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Phần 2 - Chương 1: Tổng quan về ngôn ngữ lập trình C", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_phan_2_chuong_1_tong_quan_ve_ng.pdf