Giới thiệu chung về lập trình C
Trang 1Lập trình C Chương 1: Giới thiệu chung
Biên soạn: TS Ngô Hữu Phúc
Bộ môn Khoa học máy tính Học viện Kỹ thuật quân sự
1 Chương 1: Giới thiệu chung về lập trình C
Trang 2Tài liệu tham khảo
• Bài giảng về Lập trình C – TS Ngô Hữu Phúc.
• C Primer Plus, Fifth Edition, Stephen Prata.
• Lập trình C – PGS Phạm Văn Ất.
• Help of Microsoft.
Trang 3Nội dung
1 Tổng quan
2 Máy tính là gì?
3 Tổ chức của máy tính
4 Các dạng của hệ thống tính toán.
5 Tính toán cục bộ, tính toán phân tán, tính
toán Client/Server.
6 Lịch sử ngôn ngữ C.
7 Thư viện chuẩn của C.
8 Cấu trúc chung của chương trình.
3 Chương 1: Giới thiệu chung về lập trình C
Trang 4Tổng quan
• Trong môn học sẽ nghiên cứu:
– Ngôn ngữ lập trình C
– Cấu trúc lập trình và kỹ thuật lập trình
• Môn học phù hợp với:
– Học viên chưa có kinh nghiệm lập trình hoặc có ít kinh nghiệm lập trình
– Nhắc lại một số kiến thức cơ bản về ngôn ngữ lập trình C cho người đã có kinh nghiệm lập trình
Trang 5Thế nào là máy tính
• Máy tính ( Computer)
– Thiết bị có khả năng tính toán hiệu năng cao
– Máy tính xử lý tập dữ liệu được sự điều khiển của tập lệnh, được gọi là chương trình máy tính
• Phần cứng (Hardware)
– Các thiết bị cấu thành máy tính
– Bàn phím (keyboard), màn hình (screen), chuột
(mouse), đĩa cứng (disks), bộ nhớ (memory), CD-ROM, bộ xử lý trung tâm (processing units)
• Phần mềm (software)
– Các chương trình có thể chạy được trên máy tính
Chương 1: Giới thiệu chung về lập trình C 5
Trang 6Tổ chức của máy tính
Về mặt logic, máy tính gồm 6 thành phần chính sau:
1 Input unit
• Thiết bị đưa dữ liệu, điều khiển (chuột, bàn phím)
2 Output unit
• Thiết bị biểu diễn thông tin (màn hình, máy in, các thiết bị biểu diễn thông tin khác)
3 Memory unit
• Lưu trữ thông tin, thiết bị này có tốc độ truy cập nhanh, dung lượng nhỏ.
4 Arithmetic and logic unit (ALU)
• Bộ tính toán số học và logic.
5 Central processing unit (CPU)
• Bộ xử lý trung tâm, điều khiển các thiết bị khác.
6 Secondary storage unit
• Các thiết bị ngoại vi khác, rẻ hơn, lưu trữ lâu hơn, dung lượng lớn hơn memory.
• Lưu trữ các chương trình chưa được kích hoạt.
Trang 7Các dạng của hệ thống tính toán
• Xử lý đơn nhiệm
– Chỉ xử lý 1 công việc hoặc 1 tác nhiệm tại 1 thời điểm
• Hệ điều hành
– Quản lý nhiều công việc
– Tăng khả năng xử lý nhiều công việc
• Lập trình đa nhiệm
– Năng lực của máy tính có thể chia sẻ cho nhiều
công việc, nhiều tác nhiệm
• Chia sẻ thời gian
– Phục vụ nhiều nhiều người dùng cùng một lúc
Chương 1: Giới thiệu chung về lập trình C 7
Trang 8Tính toán cục bộ, tính toán phân tán, tính toán Client/Server
• Máy tính cá nhân
– Phục vụ cho mục đích riêng của mỗi cá nhân
• Tính toán phân tán
– Tính toán phân tán qua mạng
• Tính toán Client/server
– Chia sẻ thông tin, file giữa máy chủ và máy khách (máy cá nhân)
Trang 9Lịch sử ngôn ngữ C
• C
– Được phát triển bởi Ritchie từ ngôn ngữ BCPL và B.
– Được dùng để phát triển hệ điều hành UNIX.
– Được dùng để viết hệ điều hành hiện đại.
– Độc lập với phần cứng.
– Đến những năm 1970, được gọi là ngôn ngữ C chuẩn.
• Chuẩn hóa
– Trong ngôn ngữ C còn có một số điểm chưa phù hợp với sự phát triển.
– Trong ngôn ngữ cũng còn có một số điểm mang tính mơ hồ
Tuy nhiên, đôi khi đó là thế mạnh của C.
– Dạng chuẩn của C được xây dựng năm 1989 và chỉnh sửa lại năm 1999.
Chương 1: Giới thiệu chung về lập trình C 9
Trang 10Thư viện chuẩn của C
• Ngôn ngữ C có nhiều module được gọi là các hàm
– Người lập trình có thể tạo ra các hàm riêng.
– Thông thường, người lập trình sử dụng các hàm có sẵn
trong thư viện chuẩn.
• Một số thư viện của ngôn ngữ C như:
– stdio.h : thư viện vào ra chuẩn.
– conio.h : thư viện thao tác với màn hình.
– string.h : thư viện thao tác với chuỗi.
– alloc.h : thư viện thao tác với việc cấp phát, thu hồi bộ nhớ – …
Trang 11Cấu trúc chung cho một chương trình
trên ngôn ngữ C
1 Khai báo thư viện được dùng trong chương
trình Thư viện có thể là chuẩn hoặc tự tạo.
2 Một số dạng định nghĩa, nếu cần.
3 Khai báo biến toàn cục.
4 Khai báo nguyên mẫu.
5 Chương trình chính.
6 Định nghĩa chi tiết các hàm đã khai báo
nguyên mẫu ở trên.
Chương 1: Giới thiệu chung về lập trình C 11