Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.47 MB, 20 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
<b>PHẦN 2: LẬP TRÌNH BẰNG NGƠN NGỮ C</b>
<b>PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C</b>
BÀI 1: TỔNG QUAN VỀ NGÔN NGỮ C
BÀI 1: TỔNG QUAN VỀ NGÔN NGỮ C
SCHOOL OF
SCHOOL OF
INFORMATION COMMUNICATION TECHNOLOGY
1.1.. Lịch sử phát triển ngôn ngữ lập trình C Lịch sử phát triển ngơn ngữ lập trình C
1.2. Các phần tử cơ bản của ngôn ngữ C
1.2. Các phần tử cơ bản của ngôn ngữ C
1.3. Cấu trúc cơ bản của một chương trình C
1.3. Cấu trúc cơ bản của một chương trình C
1.4. Biên dịch chương trình viết bằng C
1.4. Biên dịch chương trình viết bằng C
1.5. Bài tập
1.1.. Lịch sử phát triển ngôn ngữ lập trình C Lịch sử phát triển ngơn ngữ lập trình C
1.2. Các phần tử cơ bản của ngơn ngữ C
1.2. Các phần tử cơ bản của ngôn ngữ C
1.3. Cấu trúc cơ bản của một chương trình C
1.3. Cấu trúc cơ bản của một chương trình C
1.4. Biên dịch chương trình viết bằng C
1.4. Biên dịch chương trình viết bằng C
1.5. Bài tập
Ra
Ra đời tại phịng thí nghiệm BELL của tập đời tại phịng thí nghiệm BELL của tập
đồn AT&T (Hoa Kỳ)
đồn AT&T (Hoa Kỳ)
D
Do Brian W. Kernighan và Dennis Ritchie o Brian W. Kernighan và Dennis Ritchie
phát triển
phát triển vào đvào đầu 1970ầu 1970, hoàn thành, hoàn thành 1972 1972
C dựa trên nền các ngôn ngữ BCPL
C dựa trên nền các ngôn ngữ BCPL
(
(<i>Basic Combined Programming Basic Combined Programming </i>
<i>Language</i>
<i>Language</i>) và ngôn ngữ B) và ngôn ngữ B..
T
Tên là ngôn ngữ C như là sự tiếp nối ên là ngôn ngữ C như là sự tiếp nối
Đặc điểm của NNLT C:
LLà một ngơn ngữ lập trình à một ngơn ngữ lập trình hhệ thống mạnh, ệ thống mạnh,
khả chuyển, có tính linh hoạt cao
khả chuyển, có tính linh hoạt cao..
CCó thế mạnh trong xử lí các dạng dữ liệu số, ó thế mạnh trong xử lí các dạng dữ liệu số,
văn bản, cơ sở dữ liệu.
văn bản, cơ sở dữ liệu.
Thường được sử dụng để viết:Thường được sử dụng để viết:
Các chương trình hệ thống như hệ điều hành (VD
Các chương trình hệ thống như hệ điều hành (VD
Unix: 90% viết bằng C, 10% viết bằng hợp ngữ).
Unix: 90% viết bằng C, 10% viết bằng hợp ngữ).
C
Các chương trình ứng dụng chuyên nghiệp có can ác chương trình ứng dụng chun nghiệp có can
thiệp tới dữ liệu ở mức thấp như xử lí văn bản, xử
thiệp tới dữ liệu ở mức thấp như xử lí văn bản, xử
lí ảnh…
1978: C được giới thiệu trong phiên bản
1978: C được giới thiệu trong phiên bản đầu của đầu của
cuốn sách "
cuốn sách "<i>The C programming languageThe C programming language</i>" "
Sau đó, C được bổ
Sau đó, C được bổ sung thêm những sung thêm những tính năngtính năng
và khả năng mới Đồng thời tồn tại nhiều Đồng thời tồn tại nhiều
phiên bản nhưng khơng tương thích nhau.
phiên bản nhưng khơng tương thích nhau.
Năm 1989, Viện tiêu chuẩn quốc gia của Hoa Kỳ
Năm 1989, Viện tiêu chuẩn quốc gia của Hoa Kỳ
(
(<i>American National Standards InstituteAmerican National Standards Institute</i> - ANSI) - ANSI)
đã công bố phiên bản chuẩn hóa của ngơn ngữ
đã cơng bố phiên bản chuẩn hóa của ngơn ngữ
C
Tất cả các phiên bản của ngôn ngữ C hiện
Tất cả các phiên bản của ngôn ngữ C hiện naynay
đều tuân theo các mô tả đã được nêu ra trong
đều tuân theo các mô tả đã được nêu ra trong
ANSI C, sự khác biệt nếu có thì chủ yếu
ANSI C, sự khác biệt nếu có thì chủ yếu ở các ở các
thư viện bổ sung
thư viện bổ sung..
Hiện nay cũng có nhiều phiên bản của ngơn ngữ
Hiện nay cũng có nhiều phiên bản của ngơn ngữ
C khác nhau
C khác nhau, , gắn liền với một bộ chương trình gắn liền với một bộ chương trình
dịch cụ thể của ngơn ngữ C
dịch cụ thể của ngôn ngữ C: :
<b>Turbo C++Turbo C++</b><sub> và Borland C++ của Borland Inc.</sub><sub> và Borland C++ của Borland Inc.</sub>
1.1.. Lịch sử phát triển ngơn ngữ lập trình C Lịch sử phát triển ngơn ngữ lập trình C
1.2. Các phần tử cơ bản của ngôn ngữ C
1.2. Các phần tử cơ bản của ngôn ngữ C
1.3. Cấu trúc cơ bản của một chương trình C
1.3. Cấu trúc cơ bản của một chương trình C
1.4. Biên dịch chương trình viết bằng C
1.4. Biên dịch chương trình viết bằng C
1.5. Bài tập
Chương trình C được tạo ra từ các phần
Chương trình C được tạo ra từ các phần
tử cơ bản là tập kí tự .
tử cơ bản là tập kí tự .
Các kí tự tổ hợp với nhau tạo thành các từ
Các kí tự tổ hợp với nhau tạo thành các từ
Các từ liên kết với nhau theo một quy tắc
Các từ liên kết với nhau theo một quy tắc
xác định để tạo thành các câu lệnh
xác định để tạo thành các câu lệnh
T
Từ các câu lệnh ừ các câu lệnh tổ chức tổ chức thànhthành chương chương
trình.
L
Là những từ có sẵn của ngơn ngữ và à những từ có sẵn của ngơn ngữ và
được sử dụng dành riêng cho những mục
được sử dụng dành riêng cho những mục
đích xác định.
đích xác định.
Các từ khóa trong C được sử dụng để
Các từ khóa trong C được sử dụng để
Đ
Đặt tên cho các kiểu dữ liệuặt tên cho các kiểu dữ liệu: : <b>intint</b>, , <b>floatfloat</b>, ,
<b>double</b>
<b>double</b>, , <b>charchar</b>, , <b>structstruct</b>, , <b>union…union</b>…
Mô tả các lệnh, các cấu trúc điều khiển:
Mô tả các lệnh, các cấu trúc điều khiển: <b>forfor</b>,,
<b>do</b>
<b>do</b>,,<b> while while</b>,,<b> switch switch</b>,,<b> case case</b>,,<b> if if</b>,,<b> else else</b>,,<b> break break</b>,,
<b>continue</b>
Một số từ khóa hay dùng
L
Là một dãy các kí tự dùng để gọi tên các à một dãy các kí tự dùng để gọi tên các
đối tượng trong chương trình.
đối tượng trong chương trình.
Các đối tượng trong chương trình gồm có Các đối tượng trong chương trình gồm có
biến, hằng, hàm, kiểu dữ liệu… ta sẽ làm
biến, hằng, hàm, kiểu dữ liệu… ta sẽ làm
quen ở những mục tiếp theo.
quen ở những mục tiếp theo.
BBởi ngơn ngữ lập trình (đó chính là các ởi ngơn ngữ lập trình (đó chính là các
từ khóa)
từ khóa)
CChỉ được gồm có: hỉ được gồm có: <b>chữ cáichữ cái</b>, , <b>chữ sốchữ số</b> và và
dấu gạch dưới
dấu gạch dưới ““<b>__</b>”” ( (<i>underscoreunderscore</i>).).
Bắt đầu của định danh phải là chữ cái 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
hoặc dấu gạch dưới, không được bắt
đầu định danh bằng chữ số.
đầu định danh bằng chữ số.
Định danh do người lập trình đặt Định danh do người lập trình đặt
khơng được trùng với từ khóa.
Ví dụ định danh/tên hợp lệ:
Ví dụ định danh/tên hợp lệ:
i, x, y, a, b, _function, _MY_CONSTANT,
i, x, y, a, b, _function, _MY_CONSTANT,
PI, gia_tri_1
PI, gia_tri_1
Ví dụ về định danh/tên không hợp lệ:
Cách thức đặt định danh/tên:
Cách thức đặt định danh/tên:
Hằng số: chữ hoaHằng số: chữ hoa
Các biến, hàm hay cấu trúc: Bằng chữ Các biến, hàm hay cấu trúc: Bằng chữ
thường.
thường.
Nếu tên gồm nhiều từ thì ta nên phân cách Nếu tên gồm nhiều từ thì ta nên phân cách
các từ bằng dấu gạch dưới.
các từ bằng dấu gạch dưới.
Là một tập hợp các giá trị mà một dữ liệu
Là một tập hợp các giá trị mà một dữ liệu
thuộc kiểu dữ liệu đó có thể nhận được.
thuộc kiểu dữ liệu đó có thể nhận được.
Trên một kiểu dữ liệu ta xác định một số
Trên một kiểu dữ liệu ta xác định một số
phép toán đối với các dữ liệu thuộc kiểu dữ
phép toán đối với các dữ liệu thuộc kiểu dữ
liệu đó.
liệu đó.
<i>Ví dụ</i>
<i>Ví dụ</i>: Trong ngơn ngữ C có kiểu dữ liệu : Trong ngơn ngữ C có kiểu dữ liệu <b>intint</b>. .
Một dữ liệu thuộc kiểu dữ liệu
Một dữ liệu thuộc kiểu dữ liệu <b>int<sub>int</sub></b> thì:<sub> thì:</sub>
Là một số nguyên (
Là một số nguyên (<i>integerinteger</i>) )
Có thể nhận giá trị từ - 32768 (- 2
Có thể nhận giá trị từ - 32768 (- 21515) đến 32767 <sub>) đến 32767 </sub>
(2
Trên kiểu dữ liệu
Trên kiểu dữ liệu <b>intint</b> ngôn ngữ C định nghĩa các ngơn ngữ C định nghĩa các
phép tốn số học đối với số nguyên như sau:
phép toán số học đối với số nguyên như sau:
Đảo dấu:
Đảo dấu:
Cộng: Cộng: <b>++</b>
Trừ: Trừ: <b>--</b>
Nhân: Nhân: <b>**</b>
Là đại lượng có giá trị khơng đổi trong
Là đại lượng có giá trị khơng đổi trong
chương trình.
chương trình.
Để giúp chương trình dịch nhận biết hằng
Để giúp chương trình dịch nhận biết hằng
ta cần nắm được cách biểu diễn hằng
ta cần nắm được cách biểu diễn hằng
trong một chương trình C.
<i>a. Biểu diễn hằng số nguyên:</i>
<i>a. Biểu diễn hằng số nguyên:</i>
Dạng thập phân:Dạng thập phân:
Giá trị số dưới hệ đếm cơ số 10 thông thường
Giá trị số dưới hệ đếm cơ số 10 thơng thường
Ví dụ:
Ví dụ: 2007, 396 2007, 396
Dạng thập lục phân:Dạng thập lục phân:
Giá trị số dưới dạng hệ đếm cơ số 16 và thêm tiền tố
Giá trị số dưới dạng hệ đếm cơ số 16 và thêm tiền tố <b>0x0x</b>
Ví dụ: 0x7D7, 0x18C.
Ví dụ: 0x7D7, 0x18C.
Dạng bát phân:Dạng bát phân: