Upload
phungdieu
View
227
Download
0
Embed Size (px)
Citation preview
Nội dung● Thế nào là lập trình● Ngôn ngữ lập trình● Ngôn ngữ C và C++● Xây dựng một chương trình đơn giản
Lập trình (programming)● Các thao tác xây dựng chương trình máy
tính○ Giải quyết vấn đề bằng máy tính○ Thông qua ngôn ngữ lập trình
● Còn gọi là “viết mã” (coding)
Giải quyết vấn đề bằng máy tính● Xác định mục đích của bài toán● Thiết kế cấu trúc dữ liệu và giải thuật
○ Program = Data Structure + Algorithm (N. Wirth)● Thể hiện bằng một NNLT cụ thể● Thực thi & Kiểm tra & Hiệu chỉnh● Viết tài liệu sử dụng và bàn giao
Các bước phát triển chương trình● Soạn thảo mã nguồn (source code)● Biên dịch mã nguồn thành tệp đối tượng
(object file)● Liên kết các tệp đối tượng thành tệp thực thi
(executable file)● Thực hiện / chạy chương trình
Ngôn ngữ lập trình● Ngôn ngữ máy
○ Dạng mã nhị phân 0-1, đặc thù theo từng dòng máy● Hợp ngữ
○ Ngôn ngữ máy ở dạng ký hiệu● Ngôn ngữ bậc cao
○ Thường độc lập với máy○ Có thể biểu diễn chương trình gần như lời nói
Thông dịch● Khi thực hiện chương trình mới được dịch● Có nhiều cấu trúc lệnh trừu tượng● An toàn, khả chuyển● Hiệu năng thấp
Biên dịch● Dịch chương trình sang mã máy trước khi
chạy● Chỉ cần tệp thực thi để chạy chương trình● Hiệu năng cao
Các bước chạy chương trình● Biên dịch (compile): chuyển mã nguồn sang
tệp đối tượng (object file)● Liên kết (link): kết nối các tệp đối tượng và
thư viện thành tệp thực thi
Ngôn ngữ C● D. Ritchie phát triển tại Bell Labs (1972)
○ dựa trên ngôn ngữ BCPL (Martin Richards -1967) và ngôn ngữ B (Ken Thompson – 1970)
○ được cài đặt lần đầu tiên trên hệ điều hành UNIX● Ngôn ngữ vạn năng (general-purpose)● Ngôn ngữ bậc cao, có cấu trúc● Có khả năng truy cập bộ nhớ ở mức thấp● Phù hợp cho phát triển các ứng dụng lớn, ứng dụng hệ
thống
Ngôn ngữ C● Ngôn ngữ rất “mạnh” và “mềm dẻo”● Có hệ thống thư viện (theo chuẩn ANSI/ISO)● Có nhiều thư viện khác (third party)● Hỗ trợ các phép toán kỹ thuật● Người mới học có thể thấy “rắc rối”
Ngôn ngữ C++● Ngôn ngữ C cộng với đối tượng● Hỗ trợ lập trình hướng đối tượng (object
oriented programming)● Có hệ thống thư viện mẫu chuẩn (Standard
Template Library - STL)
Các thành phần của ngôn ngữ● Bảng chữ cái
○ Tập các ký tự dùng để viết chương trình○ C/C++ phân biệt chữ hoa, chữ thường
● Từ khóa○ Các từ cơ bản của ngôn ngữ
● Cú pháp○ Cách viết các câu lệnh
● Ngữ nghĩa○ Ý nghĩa của các cấu trúc
Từ khóa trong Cauto 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
and const export namespace signed typename
and_eq const_cast extern new sizeof union
asm continue extern "C" not static unsigned
auto default false not_eq static_cast using
bitand #define float operator struct virtual
bitor delete for or switch void
bool do friend or_eq template volatile
break double goto private this void
case dynamic_cast if protected throw wchar_t
catch else inline public true while
char enum int register try xor
class exit() long reinterpret_cast typedef xor_eq
compl explicit mutable short typeid
C++
Phân tích ví dụDòng số 1: ● Chú thích tên file● Có thể đánh thông tin bất kì trong chú thích● Trình biên dịch sẽ không dịch chú thích
Phân tích ví dụDòng số 5: ● Khai báo hàm có tên là ● Với C/C++, hàm là hàm chạy đầu tiên● Còn gọi là điểm vào (entry point)● Giá trị trả về là số nguyên ( )● Không có tham số
Phân tích ví dụDòng số 6 và 9: ● Dấu : điểm bắt đầu khối lệnh● Dấu : điểm kết thúc khối lệnh● Khối lệnh ở đây là các lệnh của hàm
Phân tích ví dụDòng số 7: ● Câu lệnh in 1 chuỗi ký tự● Dấu là ký hiệu kết thúc dòng, xuống dòng● Kết thúc câu lệnh bằng dấu