Phần này giúp cho chương trình dịch biết được những thông tin cơ bản (gồm tên hàm, dach sách các tham số và kiểu dữ liệu trả về) của các hàm sử dụng trong chương trình.. Hàm main( ) l[r]
Trang 1NGÔN NGỮ LẬP TRÌNH
Trang 2Nội dung
Lập trình C
• Chương 1: Tổng quan về ngôn ngữ C
• Chương 2: Kiểu dữ liệu và biểu thức trong C
• Chương 3: Cấu trúc lập trình trong C
• Chương 4: Mảng, con trỏ và xâu ký tự
• Chương 5: Cấu trúc
• Chương 6: Hàm
• Chương 7: Tệp dữ liệu
2 17/03/2015 Copyright by SOICT
Trang 3Nội dung
Chương 1: Tổng quan về ngôn ngữ C
• Lịch sử phát triển
• Các phần tử cơ bản của ngôn ngữ C
• Cấu trúc cơ bản của chương trình C
• Biên dịch chương trình C
• Trình biên dịch Turbo C++
• Cài đặt và sử dụng Turbo C++ 3.0
3 17/03/2015 Copyright by SOICT
Trang 5Lịch sử phát triển
• Đặc điểm của ngôn ngữ lập trình C
– Ngôn ngữ lập trình hệ thống
– Tính khả chuyển, linh hoạt cao
– Có thế mạnh trong xử lý dữ liệu số, văn bản, cơ sở
Trang 6Lịch sử phát triển
• Các phiên bản ngôn ngữ C
– ANSI C: C chuẩn (1989)
– Các phiên bản khác xây dựng dựa trên ANSI C
• Đưa thêm thư viện bổ sung thư viện của ANSI C
• Các trình biên dịch phổ biến
– Turbo C++ và Borland C++ của Borland Inc
– MSC và VC của Microsoft Corp
– GCC của GNU project
…
6
Trang 7Nội dung
Chương 1: Tổng quan về ngôn ngữ C
• Lịch sử phát triển
• Các phần tử cơ bản của ngôn ngữ C
• Cấu trúc cơ bản của chương trình C
• Biên dịch chương trình C
• Trình biên dịch Turbo C++
• Cài đặt và sử dụng Turbo C++ 3.0
7
Trang 8Các phần tử cơ bản của ngôn ngữ C
Trang 11Từ khóa
• Từ khóa (keyword)
– Có sẵn trong mỗi ngôn ngữ lập trình
– Dành riêng cho các mục đích xác định
• Đặt tên cho kiểu dữ liệu: int, float, double…
• Mô tả các lệnh, các cấu trúc lập trình: if, while, case…
• Chú ý:
– Tất cả từ khóa trong C đều viết bằng chữ cái thường
Trang 12Từ khóa
• Từ khóa hay dùng trong Turbo C
Trang 13Định danh
• Định danh (Identifier – hoặc còn gọi là Tên) là
một dãy các kí tự dùng để gọi tên các đối tượng trong chương trình
• Các đối tượng trong chương trình
Trang 14Định danh
• Quy tắc đặt tên định danh trong C
– Các kí tự được sử dụng trong các định danh của
ngôn ngữ C chỉ được gồm có: chữ cái, chữ số và
dấu gạch dưới “_” (underscore)
– Bắt đầu của định danh phải là chữ cái hoặc dấu
gạch dưới, không được bắt đầu định danh bằng chữ số
– Định danh do người lập trình đặt không được trùng
với các từ khóa của C
• Chú ý: C là ngôn ngữ có phân biệt chữ hoa và
chữ thường
Trang 15• so luong, ti le (có dấu cách - kí tự không hợp lệ)
• int, char (trùng với từ khóa của ngôn ngữ C)
Trang 16Định danh
• Một số quy ước (code convention)
– Nên sử dụng dấu gạch dưới để phân tách các định danh gồm nhiều từ
– Định danh nên có tính gợi nhớ
– Quy ước thường được sử dụng:
nhap_du_lieu, tim_kiem, xu_li Hàm
sinh_vien, mat_hang Cấu trúc
Trang 17– Kiểu dữ liệu int (số nguyên) trong C
– Một dữ liệu thuộc kiểu dữ liệu int
• Là một số nguyên
• Nhận giá trị từ từ - 32,768 (- 2 15 ) đến 32,767 (2 15 - 1)
Trang 18Chia lấy phần nguyên /
Chia lấy phần dư %
So sánh >, <, >=, <=, ==, !=
Trang 21Hằng số
• Biểu diễn hằng ký tự: trong C, một hằng ký tự có thể biểu diễn theo hai cách
– Bằng ký hiệu của ký tự đặt giữa hai dấu nháy đơn
– Bằng số thứ tự của ký tự đó trong bảng mã ASCII (số nguyên -> tuân thủ quy tắc biểu diễn hằng số nguyên)
Trang 22Hằng số
• Biểu diễn hằng xâu ký tự:
– Hằng xâu kí tự được biểu diễn bởi dãy các kí tự thànhphần có trong xâu đó và được đặt trong cặp dấu nháykép
• Ví dụ:
– “ngon ngu lap trinh C”
– “Tin hoc dai cuong”
– “Dai hoc Bach Khoa Ha Noi”
Trang 23– Hằng số và biến phải thuộc một kiểu dữ liệu nào đó
– Hằng số và biến đều phải đặt tên theo quy tắc
Trang 25log(x) Logarithm tự nhiên (cơ số e) của x (ln x)// log
log10(x) Logarithm cơ số 10 của x ( log x )
floor(2.5)=2 floor(-2.5)=-3
Trang 26chieu_dai * chieu_rong * chieu_cao
- chieu_dai, chieu_rong, chieu_cao là các hằng hoặc biến số đóng vai trò toán hạng
- Phép * đóng vai trò toán tử
Trang 27Câu lệnh
• Câu lệnh (statement) diễn tả một hoặc một nhóm
các thao tác trong giải thuật Chương trình được tạo thành từ dãy các câu lệnh.
• Cuối mỗi câu lệnh trong C, bắt buộc có dấu chấm phẩy ‘;’ để đánh dấu kết thúc câu lệnh và phân tách các câu lệnh
• Phân nhóm:
– Nhóm các câu lệnh đơn: những câu lệnh không chứacâu lệnh khác Ví dụ: phép gán, phép cộng, phép trừ…– Nhóm các câu lệnh phức: những câu lệnh chứa câulệnh khác Ví dụ: lệnh khối (đặt trong cặp ngoặc nhọn
« {} »), lệnh rẽ nhánh, lệnh lặp…
Trang 28Chú thích
• Chú thích (comment):
– Lời mô tả, giải thích vắn tắt cho một câu lệnh, mộtđoạn chương trình hoặc cả chương trình
– Giúp việc đọc và hiểu chương trình dễ dàng hơn
– Chú thích không phải là câu lệnh -> không ảnh hưởngtới chương trình
• Cách viết chú thích: trong C có hai cách
– Chú thích một dòng: sử dụng « // »
– Chú thích nhiều dòng: sử dụng « /* » và « */ »
Trang 29Nội dung
Chương 1: Tổng quan về ngôn ngữ C
• Lịch sử phát triển
• Các phần tử cơ bản của ngôn ngữ C
• Cấu trúc cơ bản của chương trình C
• Biên dịch chương trình C
• Trình biên dịch Turbo C++
• Cài đặt và sử dụng Turbo C++ 3.0
29
Trang 30Cấu trúc cơ bản của chương trình C
Trang 31• Phần 1: Phần khai báo các tệp tiêu đề Phần này có
chức năng thông báo cho chương trình dịch biết là
chương trình có sử dụng những thư viện nào (mỗi tệp tiêu đề tương ứng với một thư viện)
• Phần 2: Định nghĩa các kiểu dữ liệu mới dùng cho cả
chương trình
• Phần 3: Phần khai báo các hàm nguyên mẫu Phần này
giúp cho chương trình dịch biết được những thông tin cơ bản (gồm tên hàm, dach sách các tham số và kiểu dữ liệu trả về) của các hàm sử dụng trong chương trình
• Phần 4: Phần khai báo các biến toàn cục.
Trang 32Cấu trúc cơ bản của chương trình C
• Phần 5 (Bắt buộc phải có): Phần định nghĩa hàm
main( ) Hàm main( ) là một hàm đặc biệt trong C Khi
thực hiện, chương trình sẽ gọi hàm main( ), hay nói
cách khác chương trình sẽ bắt đầu bằng việc thực hiện
các lệnh trong hàm main( ) Trong hàm main( ) ta mới
gọi tới các hàm khác
• Phần 6: Phần định nghĩa các hàm đã khai báo nguyên
mẫu Ở phần 3 ta đã khai báo nguyên mẫu (prototype)
của các hàm, trong đó chỉ giới thiệu các thông tin cơ bản
về hàm như tên hàm, danh sách các tham số và kiểu dữ liệu trả về Nguyên mẫu hàm không cho ta biết cách
thức cài đặt và hoạt động của các hàm Ta sẽ làm việc
đó ở phần định nghĩa các hàm
Trang 33Cấu trúc cơ bản của chương trình C
Trang 34Nội dung
Chương 1: Tổng quan về ngôn ngữ C
• Lịch sử phát triển
• Các phần tử cơ bản của ngôn ngữ C
• Cấu trúc cơ bản của chương trình C
• Biên dịch chương trình C
• Trình biên dịch Turbo C++
• Cài đặt và sử dụng Turbo C++ 3.0
34
Trang 35Biên dịch chương trình C
Trang 36• Preprocessor (khối tiền xử lý)
– Loại bỏ các chú thích
– Thông dịch các định hướng biên dịch (bắt đầu bởi ký
tự #)
• Compiler (khối biên dịch)
– Dịch mã nguồn (sau khi đã qua khối tiền xử lý) thành
mã hợp ngữ (assembly code)
• Assembler (khối hợp dịch)
– Tạo ra mã đối tượng (object code)
• Link Editor (khối liên kết)
– Liên kết, kết hợp nhiều đối tượng để tạo ra chương trình thực thi
Trang 37Nội dung
Chương 1: Tổng quan về ngôn ngữ C
• Lịch sử phát triển
• Các phần tử cơ bản của ngôn ngữ C
• Cấu trúc cơ bản của chương trình C
• Biên dịch chương trình C
• Trình biên dịch Turbo C++
• Cài đặt và sử dụng Turbo C++ 3.0
37
Trang 38– Dev C++ của Bloodshed Software
• Turbo C++ có nhiều phiên bản
– Phiên bản lựa chọn: Turbo C++ 3.0
Trang 39Nội dung
Chương 1: Tổng quan về ngôn ngữ C
• Lịch sử phát triển
• Các phần tử cơ bản của ngôn ngữ C
• Cấu trúc cơ bản của chương trình C
• Biên dịch chương trình C
• Trình biên dịch Turbo C++
• Cài đặt và sử dụng Turbo C++ 3.0
39
Trang 40Cài đặt và sử dụng Turbo C++ 3.0
Cài đặt
• B1: Bạn cần chuẩn bị bộ cài của Turbo C++ 3.0, kích
thước của bộ cài khoảng 4 MB Hãy copy bộ cài này vào
máy của bạn, giả sử vào thư mục C:\TC_Setup.
• B2: Tìm đến thư mục chứa bộ cài Turbo C++ 3.0 (như
giả sử ở trên là C:\TC_Setup) và kích hoạt file
INSTALL.EXE để chạy chương trình cài đặt Turbo C++
3.0 Chương trình cài đặt Turbo C++ 3.0 ban đầu sẽ yêu cầu bạn chỉ ra ổ đĩa trên đó chứa bộ cài Turbo C++ 3.0
– Enter the SOURCE drive to use:
– Hãy nhập vào tên ổ đĩa, chẳng hạn C (ta để bộ cài Turbo C++
3.0 ở thư mục C:\TC_Setup).
Trang 41Cài đặt và sử dụng Turbo C++ 3.0
• B3: Sau đó chương trình yêu cầu bạn nhập vào
đường dẫn tới thư mục chứa các file của Turbo C++ 3.0
– Enter the SOURCE Path:
– Thông thường chương trình sẽ tự tìm cho bạn, và
bạn chỉ cần ấn Enter để chuyển sang bước tiếp theo
• B4: Ở bước 4, bạn cần xác định thư mục cài
đặt Thư mục này sẽ chứa các file của Turbo
C++ 3.0 để bạn sử dụng sau này.
– Directories… [C:\TC]
– Option…[IDE CMD LIB CLASS BGI HELP EXMPL]
Trang 42Cài đặt và sử dụng Turbo C++ 3.0
• Start Installation
• Thư mục cài đặt mặc định sẽ là \TC nằm trên thư mục
gốc của ổ đĩa chứa bộ cài Nếu bạn muốn thay đổi thư mục cài đặt thì hãy dùng các phím và để di chuyển hộp sáng đến phần Directories, gõ Enter và nhập vào đường dẫn mới, sau đó ấn phím Esc để trở về
• Dùng các phím và để di chuyển hộp sáng đến phần Start Installation và ấn Enter Chương trình sẽ tự động thực hiện và hoàn tất quá trình cài đặt cho bạn
• Lưu ý: Bạn có thể copy toàn bộ thư mục đã cài đặt của
Turbo C++ 3.0 về máy và sử dụng, nhưng bạn phải chỉ cho Turbo C++ biết đường dẫn tới các tệp tiêu đề và các
tệp thư viện bằng cách vào menu Option, chọn
Directories.
Trang 43Sử dụng trình biên dịch Turbo C++ 3.0
• Giao diện sử dụng của chương trình
Trang 44– Gõ chương trình nguồn vào cửa số soạn thảo
– Lưu chương trình với tên file,ví dụ: HelloWorld.cpp
• Biên dịch chương trình: bấm F9
• Chạy chương trình: Ctrl + F9
Trang 45Thảo luận
45