Tải bản đầy đủ (.doc) (103 trang)

Giáo trình Lập trình cơ bản Nghề: Công nghệ thông tin CĐ Kỹ Thuật Công Nghệ Bà Rịa Vũng Tàu

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 (884.18 KB, 103 trang )

ỦY BAN NHÂN DÂN TỈNH BR – VT
TRƯỜNG CAO ĐẲNG NGHỀ

GIÁO TRÌNH
MÔ ĐUN LẬP TRÌNH CƠ BẢN
NGHỀ CÔNG NGHỆ THÔNG TIN
TRÌNH ĐỘ CAO ĐẲNG VÀ TRUNG CẤP
Ban hành kèm theo Quyết định số: 01/QĐ-CĐN ngày 04 tháng 01 năm 2016
của Hiệu trưởng trường Cao đẳng nghề tỉnh Bà Rịa – Vũng Tàu

Bà Rịa – Vũng Tàu, năm 2016


TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được
phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh
thiếu lành mạnh sẽ bị nghiêm cấm.


LỜI GIỚI THIỆU
Ngôn ngữ lập trình C là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập
niên 1970 bởi Ken Thompson và Dennis Ritchie để dùng trong hệ điều hành UNIX.
Từ đó, ngôn ngữ này đã lan rộng ra nhiều hệ điều hành khác và trở thành một những
ngôn ngữ phổ dụng nhất. C là ngôn ngữ rất có hiệu quả và được ưa chuộng nhất để
viết các phần mềm hệ thống, mặc dù nó cũng được dùng cho việc viết các ứng dụng.
Ngoài ra, C cũng thường được dùng làm phương tiện giảng dạy trong khoa học máy
tính.
Giáo trình Ngôn ngữ lập trình dùng cho học sinh hệ Cao Đẳng và Trung cấp của
tất cả các nghề chuyên về Công Nghệ Thông tin trong trường Cao đẳng nghề Tỉnh BR
– VT nhằm cung cấp cho sinh viên các thuật toán tổng quát, từ đó sinh viên sẽ từng


bước cải tiến thuật toán để xây dựng được những chương trình hiệu quả và có tính ứng
dụng cao. Ngoài ra,còn trang bị cho sinh viên những kiến thức làm tiền đề để chuẩn bị
cho một số môn học tiếp theo, như: cấu trúc dữ liệu, lập trình hướng đối tượng, C#, …
Mục đích của giáo trình là trang bị cho học viên những kiến thức và kỹ năng:
Phân tích được thuật toán. Có được kỹ năng lập trình cấu trúc thông qua một số thuật
toán quan trọng gồm: các kỹ năng về lập trình cấu trúc, mảng, chuỗi ký tự, sắp xếp và
tìm kiếm, …. Phân tích được một bài toán và thiết kế thuật giải cho bài toán đó. Sử
dụng các kiểu dữ liệu, các cấu trúc điều khiển, các giải thuật, khai báo và sử dụng
hàm…
Trong qua trình biên soạn giáo trình, tác giả đã cố gắng cập nhật thông tin mới,
đồng thời tham khảo nhiều giáo trình khác, nhưng chắc chắn sẽ không tránh khỏi
những hạn chế nhất định. Rất mong nhận được ý kiến đóng góp của các nhà chuyên
môn, các anh chị đồng nghiệp và các bạn đọc để giáo trình được hoàn thiện hơn.

Bà Rịa – Vũng Tàu, ngày 02 tháng 01 năm 2016
Biên soạn
Nguyễn Thị Mai

MỤC LỤC
TT

TRANG


BÀI 1: THUẬT TOÁN.......................................................................................1
1. Ví dụ:................................................................................................................1
2. Khái niệm:.......................................................................................................1
3. Các đặc trưng của thuật toán............................................................................2
3.1. Liệt kê:..........................................................................................................2
3.2. Dùng sơ đồ khối:..........................................................................................3

BÀI 2: GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C.........................................6
1. Lịch sử hình thành............................................................................................6
2. Đặc điểm của ngôn ngữ c.................................................................................7
3. Cấu trúc của một chương trình c......................................................................8
4. Một số ví dụ mẫu:.............................................................................................8
5. Cài đặt chương trình:........................................................................................9
6. Khởi động chương trình...................................................................................9
8. Thoát khỏi chương trình................................................................................10
BÀI 3: TRÌNH BÀY CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ
LẬP TRÌNH C...................................................................................................11
1. Bộ ký tự, từ khóa và tên..................................................................................11
1.1. Bộ ký tự:.....................................................................................................11
1.2. Từ khóa.......................................................................................................12
1.3. Tên..............................................................................................................12
2. Các kiểu dữ liệu căn bản................................................................................13
2.1. Kiểu số nguyên (int):.................................................................................13
2.2. Kiểu ký tự (char).......................................................................................13
2.3. Kiểu dấu phẩy động...................................................................................14
3. Hằng, biến, biểu thức......................................................................................14
3.1. Hằng............................................................................................................14
3.2. Biến.............................................................................................................16
3.3. Biểu thức.....................................................................................................17
BÀI 4: SỬ DỤNG CÁC PHÉP TOÁN VÀ CÂU LỆNH NHẬP, XUẤT
TRONG LẬP TRÌNH C...................................................................................19
1. Các phép toán.................................................................................................19
1.1. Các phép toán toán học:............................................................................19
1.2. Các phép toán quan hệ và logic :.............................................................20
1.2.1. Các phép toán quan hệ :........................................................................20



1.2.2.Các phép toán logic :...............................................................................21
1.2.3. Phép toán tăng giảm :.............................................................................22
1.2.4. Các phép toán lấy địa chỉ biến...............................................................22
1.2.5. Chuyển đổi kiểu dữ liệu.........................................................................22
1.2.6. Thứ tự ưu tiên các phép toán :..............................................................23
2. Các lệnh nhập, xuất dữ liệu:...........................................................................24
2.1. Các lệnh xuất:............................................................................................24
2.2. Các lệnh nhập:...........................................................................................25
2.3. Các hàm nhập xuất dữ liệu khác:............................................................26
2.3.1.Hàm getch():.............................................................................................26
2.3.2.Hàm gets...................................................................................................27
2.3.3.Hàm getchar.............................................................................................27
2.3. 4. Hàm putchar..........................................................................................28
2.3.5.Hàm puts..................................................................................................28
BÀI 5: SỬ DỤNG CÂU LỆNH CÓ CẤU TRÚC ĐIỀU KIỆN...................30
1. Lệnh có cấu trúc điều kiện if..........................................................................30
1.1. Cấu trúc if dạng khuyết............................................................................30
1.1.1.Cú pháp:...................................................................................................30
1.1.2. Sự hoạt động:..........................................................................................31
1.1.3. Lưu đồ khối:............................................................................................31
1.1.4. Bài tập......................................................................................................32
1.2.2. Cấu if dạng đầy đủ.................................................................................34
1.2.1.Cú pháp:...................................................................................................34
1.2.2. Sự hoạtđộng:..........................................................................................34
1.2.3. Lưu đồ khối.............................................................................................34
1.1.4. Bài tập......................................................................................................35
2. Lệnh có cấu trúc lựa chọn switch..case.........................................................36
2.1.Cú pháp:......................................................................................................36
2.2. Sự hoạt động:............................................................................................36
2.3. Lưu đồ khối................................................................................................37

2.4. Bài tập:.......................................................................................................37
BÀI 6: SỬ DỤNG CẤU TRÚC VÒNG LẶP FOR.........................................39
1.Cú pháp:...........................................................................................................39
2. Sự hoạtđộng:...................................................................................................39


3. Lưu đồ khối....................................................................................................40
4. Bài tập:............................................................................................................40
BÀI 7: SỬ DỤNG CẤU TRÚC VÒNG LẶP WHILE...................................43
1. Cú pháp:..........................................................................................................43
2. Sự hoạtđộng:..................................................................................................43
3. Lưu đồ khối....................................................................................................43
4. Bài tập:............................................................................................................44
BÀI 8: SỬ DỤNG CẤU TRÚC VÒNG LẶP DO..WHILE...........................46
1.Cú pháp:...........................................................................................................46
2. Sự hoạtđộng:...................................................................................................46
3. Lưu đồ khối....................................................................................................46
BÀI 9: SỬ DỤNG CÁC CÂU LỆNH BREAK, CONTINUE, GOTO.........50
1. Lệnh break......................................................................................................50
2. Lệnh continue.................................................................................................51
3.Câu lệnh goto...................................................................................................52
BÀI 10................................................................................................................54
1. Khái niệm.......................................................................................................54
2. Khai báo hàm..................................................................................................56
3. Kết quả trả về của hàm- lệnh return- lệnh exit..............................................56
3.1. Kết quả trả về của một hàm.....................................................................56
3.2. Lệnh return: dùng để thoát khỏi một hàm và có thể trả về một giá trị
nào đó.................................................................................................................57
BÀI 11: SỬ DỤNG HÀM ĐỊNH KIỂU DỮ LIỆU VÀ KHÔNG ĐỊNH KIỂU
DỮ LIỆU...........................................................................................................60

1. Khai báo hàm không định kiểu dữ liệu..........................................................60
2. Khai báo hàm có định kiểu dữ liệu.................................................................61
3. Bài tập:............................................................................................................62
BÀI 12: TRUYỀN THAM SỐ CHO HÀM....................................................65
1. Cách truyền tham số cho hàm........................................................................65
2. Bài tập:............................................................................................................66
BÀI 13: NHẬP XUẤT DỮ LIỆU CHO MẢNG MỘT CHIỀU....................68
1. Khái niệm.......................................................................................................68
2. Khai báo mảng một chiều...............................................................................68
3. Khởi tạo mảng................................................................................................69
3.1. Khởi tạo mảng:..........................................................................................69


3.2. Chỉ số của mảng.........................................................................................70
3.3. Lấy địa chỉ của phần tử mảng một chiều................................................70
4.Nhập xuất dữ liệu cho các phần tử của mảng một chiều.................................70
BÀI 14: SỬ DỤNG MẢNG MỘT CHIỀU LÀM THAM SỐ CHO HÀM. .72
1.Dùng mảng làm tham số cho hàm...................................................................72
2. Tìm kiếm phần tử trong mảng một chiều.......................................................74
2.2. Các bước tiến hành:....................................................................................74
2.3. Giải thuật:.................................................................................................75
BÀI 15: SẮP XẾP MẢNG MỘT CHIỀU......................................................79
1. Ý tưởng:..........................................................................................................79
2. Các bước tiến hành như sau :.........................................................................79
3. Giải thuật:......................................................................................................80
BÀI 16: NHẬP XUẤT CHUỖI KÝ TỰ..........................................................83
1. Khái niệm.......................................................................................................83
2. Khai báo biến chuỗi.........................................................................................92
2.1 Khai báo theo mảng....................................................................................83
2.2. Vừa khai báo vừa gán giá trị....................................................................84

3. Vào ra với xâu ký tự.......................................................................................84
3.1. Nhập chuỗi từ bàn phím...........................................................................84
3.2. Xuất chuỗi lên màn hình...........................................................................84
BÀI 17: THAO TÁC TRÊN CHUỖI KÝ TỰ................................................86
1. Các phép toán trên chuỗi ký tự:......................................................................86
2. Bài tập.............................................................................................................90
TÀI LIỆU THAM KHẢO..................................................................................92


CHƯƠNG TRÌNH MÔ ĐUN
LẬP TRÌNH CƠ BẢN
Mã số mô đun : MĐ13
VỊ TRÍ, TÍNH CHẤT CỦA MÔ ĐUN:
- Vị trí của Mô đun: được bố trí sau khi học xong môn tin học văn phòng
- Tính chất: Mô đun này yêu cầu phải có tư duy logic và kiến thức về toán
MỤC TIÊU MÔ ĐUN:
- Phân tích và xây dựng được thuật toán
- Khai báo được hằng và biến dùng trong chương trình.
- Trình bày được các lệnh nhập xuất và các phép toán trong lập trình c
- Trình bày và vẽ được lưu đồ thuật toán của cấu trúc điều khiển vầ cấu trúc lặp
- Trình bày được hàm và kết quả trả về của một hàm
- Trình bày được các kiểu dữ liệu có cấu trúc điều kiện
- Sử dụng câu lệnh nhập xuất vào trong các bài tập tính toán
- Sử dụng câu lệnh có cấu trúc điều khiển và cấu trúc lặp vào trong các bài tập
- Vận dụng hàm vào trong các chương trình
- Sử dụng các kiểu dữ liệu có cấu trúc điều kiện vào trong các bài tập
- Viết được các chương trình
- Biên dịch, kiểm tra và sửa được các lỗi chương trình
- Chạy được chương trình và kiểm nghiệm được kết quả
- Có tinh thần trách nhiệm, ý thức tổ chức kỷ luật, tác phong công nghiệp, tinh

thần hợp tác trong công việc
- Có ý chủ động, độc lập trong công việc, tự học cập nhật kiến thức, nâng cao
trình độ chuyên môn.
- Rèn luyện tính cẩn thận, kiên trì, sáng tạo, độc lập và hoạt động nhóm.
- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy.
NỘI DUNG CỦA MÔ ĐUN:


STT

Tên các bài trong mô đun

Thời
gian

Hình thức
giảng dạy


1

Giới thiệu về thuật toán

5

Lý thuyết

2

Giới thiệu ngôn ngữ lập trình C


5

Tích hợp

3

Trình bày các thành phần cơ bản của ngôn ngữ lập
trình C

5

Tích hợp

4

Sử dụng các phép toán và câu lệnh nhập, xuất
trong lập trình C

5

Tích hợp

5

Sử dụng câu lệnh có cấu trúc điều kiện

10

Tích hợp


Kiểm tra bài 1, 2, 3, 4, 5

1

6

Sử dụng cấu trúc vòng lặp for

5

Tích hợp

7

Sử dụng cấu trúc vòng lặp while

5

Tích hợp

8

Sử dụng cấu trúc vòng lặp do..while

5

Tích hợp

9


Sử dụng câu lệnh break, continue, goto

3

Tích hợp

Kiểm tra bài 6, 7, 8, 9

1

Giới thiệu về hàm
Sử dụng hàm định kiểu dữ liệu và không định kiểu
dữ liệu
Truyền tham số cho hàm

4

Tích hợp

5

Tích hợp

4

Tích hợp

Kiểm tra bài 10, 11, 12


1

13

Nhập xuất dữ liệu cho mảng một chiều

5

Tích hợp

14
15

Sử dụng mảng một chiều làm tham số cho hàm
Sắp xếp mảng một chiều
Kiểm tra bài 13, 14, 15
Nhập xuất chuỗi ký tự
Thao tác trên chuỗi ký tự
Kiểm tra bài 16, 17
Cộng

5
4
1
5
5
1
90

Tích hợp

Tích hợp

10
11
12

16
17

Tích hợp
Tích hợp



BÀI 1
THUẬT TOÁN
Giới thiệu:
Khi chứng minh hoặc giải một bài toán trong toán học, ta thường dùng
những ngôn từ toán học và sử dụng những phép suy luận toán học như phép suy
ra, tương đương. Thuật toán là một phương pháp thể hiện lời giải bài toán nên
cũng phải tuân theo một số quy tắc nhất định. Ðể có thể truyền đạt thuật toán
cho người khác hay chuyển thuật toán thành chương trình. Trong bài học này sẽ
giới thiệu một cách tổng quan về thuật toán.
Mục tiêu:
- Giới thiệu về thuật toán
- Trình bày được các đặc trưng của thuật toán
- Nêu được các phương pháp biểu diễn của thuật toán.
- Rèn luyện tính cẩn thận, kiên trì, sáng tạo.
- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy.
Nội dung:

1. Ví dụ:
Xét các yêu cầu sau :
- Bài1: Giải phương trình bậc hai ax2+bx+c=0
- Bài 2: Viết một dòng chữ ra màn hình máy tính.
- Bài3: Quản lý các cán bộ trong một cơ quan.
- Bài 4: Tìm ước chung lớn nhất của hai số nguyên dương a và b.
- Bài5: Xếp loại học tập các học sinh trong lớp.
àTrong các yêu cầu trên, yêu cầu nào được xem như là một bài toán?
2. Khái niệm:
- Khái niệm bài toán trong Tin học? Bài toán là việc nào đó ta muốn máy tính
thực hiện.
Lưu đồ thuật toán là công cụ dùng để biểu diễn thuật toán, việc mô tả nhập
(input), dữ liệu xuất (output) và luồng xữ lý thông qua các ký hiệu hình học.
Ví dụ 1 : Giải phương trình bậc hai ax2 + bx + c = 0 (a ≠ 0).
1


- Input

: Các số thực a,b,c (a ≠ 0)

- Output : Số thực x thỏa : ax2+bx+ c = 0
Ví dụ 2 : Tìm giá trị nhỏ nhất của các số trong một dãy số.
- Input

: Các số trong dãy số.

- Output : Giá trị nhỏ nhất trong dãy số.
Ví dụ 3 : Xếp loại học tập các học sinh trong lớp.
- Input


: Bảng điểm của học sinh.

- Output : Bảng xếp loại học tập.
Một bài toán được cấu tạo bởi 2 thành phần cơ bản :
 Input (Các thông tin đã có)
 Output (Các thông tin cần tìm từ Input)
Bài toán
Input

Bằng cách nào?

Giải bài toán

Output

Thuật toán

Hướng dẫn các thao tác cho máy
thực hiện để tìm ra lời giải

3. Các đặc trưng của thuật toán
Có 2 cách mô tả thuật toán:
3.1. Liệt kê:
Nêu ra tuần tự các thao tác cần tiến hành
Ví dụ : Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0 (ã)
Giải toán thông thường:
- Nếu a = 0 thì (ã) không phải là pt bậc nhất.
+ Nếu b = 0 thì (ã) vô số nghiệm
+ Nếu b ≠ 0 thì (ã) vô nghiệm.

- Nếu a ≠ 0 thì (ã) có nghiệm x = -b/a.
 Liệt kê :
2


- Bước 1 : Nhập a, b.
- Bước 2 : Nếu a = 0 thì quay lại bước 1, ngược lại thì qua bước 3.
- Bước 3 : Gán cho x giá trị -b/a, rồi qua bước 4.
- Bước 4 : Đưa ra kết quả x và kết thúc.
3.2. Dùng sơ đồ khối:
Dùng một số biểu tượng thể hiện các thao tác
- Trong sơ đồ khối, người ta dùng một số biểu tượng thể hiện các thao tác như :
Bảng 1.1: Bảng các ký hiệu biểu diễn trong thuật toán

Ví dụ 1: Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0

3


Lưu ý:
Ta cần diễn tả thuật toán bằng một ngôn ngữ sao cho máy tính có thể hiểu và
thực hiện được, ngôn ngữ đó gọi là ngôn ngữ lập trình. Kết quả diễn tả thuật
toán như vậy gọi là chương trình.
- Ví dụ 2 : vẽ sơ đồ giải phương trình bậc 2 a*x+bx+c=0(a#0)

4


Câu hỏi, bài tập:
1.1. Lưu đồ là phương pháp hình thức giúp diễn đạt một giải thuật, trong đó….:

a. Hình ô van dùng để bắt đầu và kết thúc chương trình
b. Hình thoi được dùng để điều khiển lựa chọn(hay kiểm tra điều kiện)
c. Hình chữ nhật được dùng để xử lý, tính toán hoặc gán
d. Tất cả các câu trên đều đúng
1.2. Trình bày các đặc trưng và các ký hiệu của thuật toán
1.3. Viết thuật toán nhập vào một số nguyên dương a kiểm tra xem đó là số chẵn
hay là số lẻ
1.4. Viết thuật toán nhập vào 2 số nguyên a,b. Tìm giá trị lớn nhất của hai số đó
Yêu cầu đánh giá
- Trình bày được khái niệm thuật toán và nêu được các đặc trưng của thuật toán
- Trình bày được các ký hiệu để biểu diễn trong sơ đồ thuật toán
- Sử dụng được thuật toán liệt kê và sơ đồ khối vào trong các bài toán

5


BÀI 2
GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C
Giới thiệu:
Khoảng cuối những năm 1960 đầu 1970 xuất hiện nhu cầu cần có các ngôn ngữ
bậc cao để hỗ trợ cho những nhà tin học trong việc xây dựng các phần mềm hệ
thống, hệ điều hành. Do vậy ngôn ngữ lập trình C cũng ra đời từ đây. Bài học
này sẽ giới thiệu một cách tổng quan về ngôn ngữ lập trình C.
Mục tiêu:
- Mô tả lịch sử hình thành và phát triển của ngôn ngữ C
- Trình bày được cấu trúc của một chương trình C
- Thực hiện được cài đặt, khởi động, soạn thảo và thoát khỏi chương trình C
- Rèn luyện tính cẩn thận, kiên trì, sáng tạo.
- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy
Nội dung:

1. Lịch sử hình thành
Ngôn ngữ C do Brian W.Kernighan và Dennis M.Ritchie phats triển vào
đầu những năm 70 tại phòng thí nghiệm BELL( Hoa kỳ) với mục đích ban đầu
là để phát triển hệ điều hành Unix. Bối cảnh ra đời xuất phát từ nhu cầu cần phải
có một ngôn ngữ lẩptình hệ thống thay thế cho hợp ngữ Assembly vốn nặng nề,
độ tin cậy thấp và rất khó chuyển đổi giữa các hệ máy tính khác nhau.
Phần lớn các ý tưởng quan trọng nhất của C xuất phát từ một ngôn ngữ có
trước đó với tên gọi BCPL, do Martin Richards nghiên cứa. Anh hưởng của
BCPL đối với c gián tiếp thông qua ngôn ngữ B, do Ken Thompson viết năm
1970 do hệ Unix, chạy trên họ máy tính PDP-7.
Ngoài ra C được dùng để viết hệ điều hành Unix( Hiện nay trên 90%
chương trình nguồn của hệ điều hành Unix được viết bằng C, chưa đầy 10%
bằng hợp ngữ) , người ta nhanh chóng nhận ra sức mạnh của C trong việc xử lý
các vấn đề hiện đại của tin học: xử lý con số, văn bản, cơ sở dữ liệu, lập trình

6


hướng đối tượng. Thực tế C đã tổ hợp được các thành tựu tiên tiến của tin học và
đã trở thành mọt chuẩn mặc nhiên.
Liên quan đến sự hình thành và phát triển của ngôn ngữ, có thể kể đến
một số sự kiện đáng quan tâm sau:
+ Năm 1978, cuốn giáo trình dạy bằng ngôn ngữ lập trình C” The C
prrogramming langguage” do chính hai tác giả Brian W.Kernighan và Dennis
M.Ritchie biên soạn đã được xuất bản rộng rãi.
+ Năm 1983 một tiểu ban của viện tiêu chuản quốc gia mỹ (ANSI) được thành
lập nhằm đề xuất ra một chuẩn cho ngôn ngữ C.
+ Năm 1988 chuẩn ANSI C chính thức được ban hành . Chuẩn này bao gồm các
mô tả về ngôn ngữ theo Brian W.Kernighan và Dennis M.Ritchievà qui định các
thư viện chuẩn của ngôn ngữ C, nhờ đó tăng tính khả chuyển của chương trình

viết bằng C.
+ Trong thế giới máy vi tính có các hệ chương trình dịch C nổi tiếng như:
Turbo C, Borland C của Borland Inc MSC, Vc của Microsoft Corp Lattice C của
Lattice
+ Sự phát triển của ngôn ngữ lập trình trong những năm 80 đã đưa đến phong
cách lập trình hướng đối tượng, Một trng những ngôn ngữ rất được ưa dùng là
C++, một bổ sung mới các yếu tố hướng đối tượng vào ngôn ngữ C.
2. Đặc điểm của ngôn ngữ c
C gồm các từ khóa. Những từ khóa này kết hợp với cú pháp của C hình
thành ngôn ngữ C. Nhưng nhiều trình biên dịch cho C đã thêm vào những từ
khóa dùng cho việc tổ chức bộ nhớ ở những giai đoạn tiền xử lý nhất định.
Vài quy tắc khi lập trình C như sau :
- Tất cả từ khóa là chữ thường (không in hoa)
- Ðoạn mã trong chương trình C có phân biệt chữ thường và chữ hoa. Ví dụ : do
while thì khác với DO WHILE
- Từ khóa không thể dùng cho các mục đích khác như đặt tên biến (variable
name) hoặc tên hàm (function name)

7


- Hàm main() luôn là hàm đầu tiên được gọi đến khi một chương trình bắt đầu
chạy (chúng ta sẽ xem xét kỹ hơn ở phần sau)
3. Cấu trúc của một chương trình c
#include <stdio.h>:khai báo sử dụng thư viện xuất/nhập chuẩn (standard I/O
library). Các thư viện khác: string, time, math,conio.h, iostream.h….
main():
- Chương trình C được chia nhỏ thành những đơn vị gọi là hàm
- Cho dù có bao nhiêu hàm trong chương trình, Hệ điều hành luôn trao quyền
điều khiển cho hàm main() khi một chương trình C được thực thi.

- Theo sau tên hàm là dấu ngoặc đơn
- Dấu ngoặc đơn có thể có chứa hay không chứa những tham số
- Dấu phân cách {…}: mở và đóng một khối mã.
- Dấu kết thúc câu lệnh ;: Một câu lệnh trong C được kết thúc bằng dấu chấm
phẩy ;
- Trình biên dịch C không hiểu việc xuống dòng, khoảng trắng hay tab
- Một câu lệnh không kết thúc bằng dấu chấm phẩy sẽ được xem như dòng lệnh
lỗi trong C
- //: Dòng chú thích: Những chú thích thường được viết để mô tả công việc của
một lệnh đặc biệt, một hàm hay toàn bộ chương trình. Trình biên dịch sẽ bỏ qua
phần chú thích
+ Trong trường hợp chú thích nhiều dòng, nó sẽ bắt đầu bằng ký hiệu /* và kết
thúc là */
4. Một số ví dụ mẫu:
Ví dụ1:
#include<conio.h>

Ví dụ 2:
#include<conio.h>
#include <stdio.h>

#include <stdio.h>

main()

main()

{
int n;


{

n=(1/3)*3;

int a=5, b;

printf("%d",n);

b=a++;

getch();
}
8


printf("%d%d",a,b);
getch();
}
5. Cài đặt chương trình:
- Chạy file cài đặt DEV-C++ (file devcpp.exe). Làm theo hướng dẫn của máy
- Vào menu "Tools" chọn "Compiler Options".
- Vào tab "Settings" tab, nhấn vào "Linker" ở khung bên trái và thay đổi thông
số "Generate debugging information" sang "Yes":
- Nhấn OK

Hình 2.1: Hộp hội thoại cài đặt Dev C++
6. Khởi động chương trình
Khởi động chương trình : Start/ programs / DevC++
7. Soạn thảo chương trình
Vào file/ new/ source Flie/ Xuất hiện khung cửa số để soạn thảo chương trình


Hình 2.2: Hộp hội thoại mở màn hình soạn thảo Dev C++

9


8. Thoát khỏi chương trình
Thoát khỏi DevC++
Dùng File/Exit hoặc Alt-X.
Câu hỏi, bài tập:
2.1. Cấu trúc một chương trình C gồm:
a. Các tập tin thư viện

c. { bao gồm các hàm, các lệnh đơn, lệnh ghép}

b. main()

d. Cả a,b,c

2.2. Thứ tự các bước để chạy một chương trình C gồm:
1- Viết chương trình
2- Chạy chương trình để kiểm tra kết qủa
3- Biên dịch chương trình theo ngôn ngữ
4- Tìm một giải thuật để giải bài toán.
Thứ tự của các bước là:
a. 1,2,3,4
c. 4,1,3,2
b. 1,3,2,4
d. 1,4,3,2
2.3. Cho các đặc điểm sau, đặc điểm nào đúng với ngôn ngữ lập trình C

a. Tất cả từ khóa là chữ hoa
b. Tất cả từ khóa là chữ thường
c. Hàm main() là hàm được gọi cuối cùng khi chương trình chạy
d. Từ khóa được dùng để đặt tên biến , tên hàm
Yêu cầu đánh giá
- Trình bày đặc điểm của ngôn ngữ C
- Trình bày được cấu trúc một chương trình C
- Trình bày được cách biên dịch, chạy một chương trình C

10


BÀI 3
TRÌNH BÀY CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP
TRÌNH C
Giới thiệu:
Trong ngôn ngữ lập trình gồm có nhiều yếu tố để xây dựng nên một
chương trình. Đó là những yếu tố nào, xây dựng dựa trên quy tắc gì? Bài này sẽ
giới thiệu một cách tổng quan về các thành phần cơ bản trong ngôn ngữ C
Mục tiêu:
- Nêu và sử dụng được hệ thống kí hiệu và từ khóa
- Nêu và phân tích được các kiểu dữ liệu
- Phân tích và vận dụng được các loại biến, hằng biểu thức cho từng chương
trình cụ thể.
-Áp dụng các các bộ tự khóa, biến, hằng, biểu thức vào trong các bài tập
- Rèn luyện tính cẩn thận, kiên trì, sáng tạo, độc lập và hoạt động nhóm.
- Bảo đảm an toàn và vệ sinh cho người và thiết bị trong phòng máy.
Nội dung:
1. Bộ ký tự, từ khóa và tên
1.1. Bộ ký tự:

- Gồm 26 chữ cái in hoa: A, B, C ...Z,
- Gồm 26 chữ cái in thường: a, b,……, z
- 10 chữ số: 0,1,2,…..,9
- Ký tự gạch nối _ (chú ý phân biệt dấu - ).
- Dấu cách ( space) : dùng để phân biệt các từ :
Ví dụ : lop Học( 7 kí tự) - LopHoc( 6 kí tự).
Chú ý :
Khi viết chương trình, ta không được sử dụng bất kỳ ký tự nào khác ngoài
các ký tự trên.

11


1.2. Từ khóa
Từ khoá là những từ được sử dụng để khai báo các kiểu dữ liệu, để viết các toán
tử và các câu lệnh. Bảng dưới đây liệt kê các từ khoá của lập trình C :
Bảng 3.1: Các từ khóa trong ngôn ngữ lập trình C
asm
break
case
cdecl
char
const
continue
default
do
double
else
enum
extern

far
float
for
goto
huge
if
int
interrupt
long
near
pascal
register
return
short
signed
sizeof
static
struct
switch
tipedef
union
unsigned
void
volatile
while
ý nghĩa và cách sử dụng của mỗi từ khoá sẽ được đề cập sau này, ở đây ta cần
chú ý :
- Không được dùng các từ khoá để đặt tên cho các hằng, biến, mảng, hàm ...
- Từ khoá phải được viết bằng chữ thường, ví dụ : viết từ khoá khai báo kiểu
nguyên là int chứ không phải là INT.

1.3. Tên
Là 1 dãy kí tự bắt đầu bằng chữ hoặc ký tự gạch dưới, theo sau là chữ cái,
chữ số hoặc ký tự gạch nối (-).
- Tên : dùng làm tên hằnG, tên biến , nhãn , tên hàm....
Ví dụ : Tên đúng : _abc, Delta_1, BETA.
Tên sai : 1xyz ( vì bắt đầu là 1 chữ số )
A#B ( vì có dâu #)
Delta ( vì có khoảng trống) , X-1 (vì sử dụng dấu gạch
ngang).
* Chú ý :
+ Tên : chữ hoa và chữ thường được xem là khác nhau ( ( # pascal )
+ Thông thường :
- Ðặt chữ hoa cho các hằng, chữ thường cho các đại lượng còn lại(biến, hàm..).
- Nên đặt 1 cách gợi nhớ ( 8 kí tự đầu là có nghĩa và tuỳ thuộc chương trình ).
12


2. Các kiểu dữ liệu căn bản
2.1. Kiểu số nguyên (int): Trong C cho phép sử dụng các kiểu số nguyên sau:
Bảng 3.2: Bảng các ký hiệu biểu diễn kiểu số nguyên
Kiểu
Phạm vi biểu diễn
Kích thước
int
-32768 đến 32767
2 byte
unsigned int
0 đến 65535
2 byte
long (int)

-2147483648 đến 2147483647
4 byte
unsigned long (int)
0 đến 4294967295
4 byte
2.2. Kiểu ký tự (char)
Một giá trị kiểu ký tự (char) chiếm 1 byte trong bộ nhớ và biểu diễn một
ký tự thông qua bảng mã ASCII.
Ví dục
Ký tự

Mã ASCII

0

048

1

049

2

050

A

065

a


097

Có hai kiểu ký tự (char) sau:
Bảng 3.3: Bảng các ký hiệu biểu diễn kiểu ký tự
Kiểu

Phạm

vi

char (signed char)
unsigned char

diễn
-128 -> 127
0 -> 255

biểu

Số ký tự

Kích thước

256
256

1 byte
1 byte


2.3. Kiểu dấu phẩy động
Trong C sử dụng ba loại giá trị dấu phẩy động: float (độ chính xác đơn),
double và long double (độ chính xác kép).
Bảng 3.4: Bảng các ký hiệu biểu diễn kiểu dấu phẩy động
Kiểu
float
double

Phạm vi biểu diễn
3.4E-38 -> 3.4E+38
1.7E-308->1.7E+308

Số ký tự
7-8
15-16

Kích thước
4 byte
8 byte
13


long double

3.4E-4932-> 1.1E+4932

17-184 byte

10 byte


3. Hằng, biến, biểu thức
3.1. Hằng
- Khái niệm
Là một giá trị bất biến trong chương trình không thay đổi, không biến đổi.
Các loại hằng được sử dụng trong C tương ứng với các kiểu dữ liệu nhất định.
- Trong C, thường có các loại hằng sau:
+ Hằng số nguyên
+ Hằng số thực
+ Hằng ký tự
+ Hằng chuỗi ký tự
Hằng số
Ðó là các giá trị số đã xác định, một hằng số có thể là nguyên hay thực và
được viết trong chương trình một cách bình thường.
Hằng số nguyên
- Giá trị chỉ bao gồm các chữ số, dấu +, - được lưu trữ theo kiểu int. Ví dụ: 12,12
- Nếu giá trị vượt quá miền giá trị của int hoặc có ký tự l (hay L ) theo sau giá trị
thì lưu theo kiểu long int. Ví dụ: 43L hoặc 43l là hằng nguyên lưu theo kiểu long
int.
Hằng số thực:
Trong giá trị có dấu chấm thập phân, hoặc ghi dưới dạng số có mũ, và
được lưu theo kiểu float, double, long double. Ví dụ: 1.2 , 2.1E -3 (2.1E3=0.0021) hoặc 3.1e-2 (3.1e-2=0.031).
Hằng ký tự
- Một hằng kiểu ký tự được viết trong dấu ngoặc đơn (' ) như 'A' hoặc 'z'.
- Hằng ký tự 'A' thực sự đồng nghĩa với giá trị nguyên 65, là giá trị trong bảng
mã ASCII của chữ hoa 'A' (Như vậy giá trị của hằng chính là mã ASCII của nó).
Ðối với một vài hằng ký tự đặc biệt, ta cần sử dụng cách viết thêm dấu \ , như '\t'
tương ứng với phím tab:
14



×