Tải bản đầy đủ (.pdf) (127 trang)

Ebook giáo trình lập trình căn bản với c

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 (2.52 MB, 127 trang )

GIÁO TRÌNH
LẬP TRÌNH CĂN BẢN VỚI C

Lê hồng kỳ


GIỚI THIỆU R2S
Công ty Cổ phần R2S hoạt động trong lĩnh vực đào tạo nguồn nhân lực CNTT cho
doanh nghiệp, tư vấn giải pháp CNTT và phát triển phần mềm. Với sứ mệnh đào
tạo nhân sự CNTT, R2S thành lập R2S Academy cung cấp những khóa học về lập
trình từ Front end, Back end cho đến Full stack để đáp ứng nhu cầu từ người học.
Với kinh nghiệm đào tạo Fresher của mình, R2S ln trăn trở và đồng hành cùng
sinh viên để trang bị những kiến thức, kỹ năng thực tiễn cho sinh viên theo nhu cầu
doanh nghiệp. Để từ đó sinh viên được trang bị đầy đủ những gì doanh nghiệp u
cầu từ nhân viên.
Cơng ty R2S có nhiều chương trình liên quan mảng nguồn nhân lực như Internship,
Người trong nghề, Pre Fresher, Fresher. Cho dù sinh viên tham gia chương trình
nào, R2S cũng hướng đến việc mang thực tiễn đến gần sinh viên. Chúng ta làm
được điều này thì khơng chỉ sinh viên mà cả doanh nghiệp cùng có lợi. Sinh viên có
việc làm, doanh nghiệp có nhân sự phù hợp.

1


LÊ HỒNG KỲ
CEO TẠI R2S

GIỚI THIỆU TÁC GIẢ
Anh Lê Hồng Kỳ người có hơn 14 năm kinh nghiệm qua các vị trí Developer, Team
Leader, Project Manager và Trainer.
Anh là chủ nhân của trang www.giasutinhoc.vn có lượng truy cập mỗi tháng từ 40.000


đến 60.000. Đây là trang chia sẻ kiến thức và kỹ năng về lập trình được các bạn sinh
viên u thích.
Anh cịn tham gia đào tạo hơn 300 tân binh (Fresher) cho FPT Software Hồ Chí Minh.
Và chủ nhân của chứng chỉ quốc tế về Java do Oracle cấp.
Ngoài ra anh còn tham gia chia sẻ về định hướng nghề nghiệp, cơ hội việc làm sau khi
sinh viên tốt nghiệp cho hơn 3000 sinh viên các trường Đại học & Cao đẳng khu vực TP
HCM và lân cận.

2


ĐÔI LỜI TÁC GIẢ
R2S Academy cảm ơn các bạn sinh viên đã, đang và sẽ đồng hành cùng R2S
trong suốt thời gian vừa qua. Ebook “Giáo trình lập trình C” như một sự tri ân
đến các bạn sinh viên đã ủng hộ R2S.
Thơng qua giáo trình này, R2S muốn truyền tải đến bạn đọc những khái niệm
cơ bản về lập trình và được cài đặt bằng ngơn ngữ lập trình C. Việc đọc và
trải nghiệm những kiến thức cũng như rèn luyện kỹ năng từ giáo trình này là
tiền đề để bạn đọc tiếp cận những ngơn ngữ lập trình cấp cao hơn như lập
trình Java, lập trình C#, lập trình PHP, lập trình Python,...
Con đường trở thành lập trình viên dẫu còn xa với bạn nhưng bằng sự kiên trì
cùng với lộ trình học đúng đắn, sẽ khơng lâu bạn có thể trở thành một Front
end Developer, Back end Developer, hay Full stack Developer.

3


MỤC LỤC
Giới thiệu R2S


1

Giới thiệu tác giả

2

Đôi lời tác giả

3

PHẦN 1
LẬP TRÌNH C CĂN BẢN

Mở đầu: Giáo trình lập trình C

7

Giới thiệu phần mềm CFree

8

Bài 1: Tổng quan về lập trình C

17

Bài 2: Biến trong C

21

Bài 3: Xử lý nhập xuất trong C


26

Bài 4: Câu lệnh if trong C

30

Bài 5: Vòng lặp trong C

40

Bài 6: Mảng trong C

46

Bài 7: Hàm trong C

52

Bài 8: Con trỏ trong C

60

Bài 9: Struct trong C

67
4


PHẦN 2

HƯỚNG DẪN THỰC HÀNH
LẬP TRÌNH C
Mở đầu: Hướng dẫn thực hành lập trình C

71

Hướng dẫn cách biểu diễn thuật toán bằng sơ đồ khối

72

Hướng dẫn khai báo biến trong C

77

Hướng dẫn xử lý nhập xuất trong C

81

Hướng dẫn sử dụng câu lệnh if trong C

87

Hướng dẫn sử dụng vòng lặp trong C

95

Hướng dẫn sử dụng mảng trong C

101


Hướng dẫn khai báo hàm trong C

109

Hướng dẫn sử dụng con trỏ trong C

115

Hướng dẫn sử dụng struct trong C

119

Lời kết

125

Liên hệ với chúng tôi

126
5


PHẦN 1

LẬP TRÌNH C CĂN BẢN


Mở đầu
Giáo trình lập trình C sẽ giới thiệu đến bạn đọc những
nội dung về khai báo biến/hằng. Trình bày các kiểu dữ

liệu khi khai báo biến/hằng. Xử lý việc nhập dữ liệu cho
biến và hiển thị giá trị của biến ra màn hình console.
Ngồi ra, giáo trình cịn hướng dẫn viết thao tác với
mảng một chiều như nhập mảng, hiển thị mảng, tìm kiếm
trên mảng,…
Và cuối cùng, bạn đọc sẽ được làm quen với kiểu dữ liệu
mở rộng với việc sử dụng struct. Đây có thể nói là cuốn
giáo trình cung cấp những kiến thức cơ bản dành cho
những bạn mới làm quen với lập trình. Và cũng là cơ sở
để bạn đọc tiếp cận với các ngôn ngữ lập trình khác như
Java, C#, PHP,...dễ dàng hơn.

7


GIỚI THIỆU PHẦN MỀM CFREE
Giới thiệu phần mềm CFree
Hướng dẫn cài đặt và sử dụng
R2S chúng tôi xin giới thiệu xong về phần mềm lập trình C-Free, phần mềm đa soạn thảo
và biên dịch code hiệu quả cho người mới bắt đầu. Phần mềm lập trình này so với những
phần mềm lập trình khác thì tương đối nhẹ rất phù hợp với những người mới học về lập
trình C và C++. Trong phần này, chúng tôi sẽ hướng dẫn các bạn cách tải phần mềm lập
trình CFree Full Crack và cài đặt phần mềm này cũng như là cách sử dụng cơ bản.
Giới thiệu về phần mềm lập trình CFree

Nếu như bạn là người mới bắt đầu học về ngôn ngữ lập trình thì bạn nên tìm một vài
phần mềm đơn giản để có thể biên dịch được nhưng vẫn phải có đầy đủ tính năng. Một
phần mềm mà chúng tôi muốn giới thiệu cho bạn là phần mềm CFree.
CFree là ứng dụng biên dịch code và trình soạn thảo vơ cùng mạnh mẽ dành cho những
lập trình viên. Ứng dụng được thiết kế riêng cho ngơn ngữ lập trình C. Việc viết code của

bạn sẽ trở nên đơn giản khi sử dụng CFree, bạn chỉ cần cung cấp từ đầu tiên của từ khóa
chương trình sẽ tự động điền từ khóa phù hợp vào cho bạn.
Đối với CFree người dùng sẽ phải bất ngờ và đánh giá cao về nó vì tốc độ thực hiện phản
hồi nhanh. Một trong điểm đặc biệt của CFree là rất dễ sử dụng, được thiết kế 2 nút Start
8


và Stop giúp bạn có thể điều khiển chạy và dừng chương trình khi khơng sử dụng.
Tính năng của CFree
CFree hỗ trợ các code thường sử dụng
Sử dụng các code có màu sắc khác nhau như là Class/Struss/Union hoặc là Functions/
Variables/ Constants khi soạn thảo ngôn ngữ Code

Gợi ý những từ khóa giúp cho lập trình viên có thể sử dụng code dễ dàng và nhanh hơn
Hỗ trợ nhiều trình biên dịch: Hỗ trợ các trình biên dịch ngồi MinGW như sau:
Cygwin, trình biên dịch C++ của Microsoft, trình biên dịch Intel C++, Lcc-win32, … và
cịn nhiều trình biên dịch hơn sẽ được cập nhật trong tương lai.
Nhập thông minh: C-free có thể ghi nhớ các ký hiệu mà bạn đã nhập trước đó. Khi bạn
gõ 1 hoặc 2 chữ cái của những từ này thì C-free sẽ đưa ra gợi ý một số từ bạn muốn,
bạn chọn các từ gợi ý trong danh sách từ đó sẽ tự động nhập vào vùng chỉnh sửa

9


Hoàn thành mã và tham số mã: Liệt kê thuộc tính và phương thức của lớp hoặc cấu trúc.
Hướng dẫn cài đặt phần mềm CFee Full Crack
Link tải phần mềm lập trình CFree full crack:

Sau khi cài đặt bạn vào tệp bạn vừa tải và cho chạy chương trình phần mềm.
Bước 1: Bạn nhấn Run để tiến hành chạy ứng dụng và chọn ngôn ngữ bạn thành thạo


Bước 2: Nhấn Next để tiến hành cài đặt
10


Bước 3: Tích vào ơ ”I accept the agreement” và Nhấn Next để tiếp tục

11


Bước 4: Nhấn Next > Next > Đánh dấu vào ô Create a Desktop Icon > Nhấn Next

Bước 5:

Nhấn Install, sau đó thì bạn chờ vài giây để phần mềm tiến hành cài đặt
chương trình.

12


Bước 6: Nhấn Finish để kết thúc quá trình cài đặt

Các bước cài đặt ứng dụng ở trên đã thực hiện xong. Bạn cùng xem cách sử dụng ứng
dụng này nhé.
Hướng dẫn sử dụng phần mềm CFree đơn giản
Tại giao diện của ứng dụng C free cung cấp cho bạn một vài chương trình mẫu như là
CppHello.cpp. Bạn muốn xem chương trình thì có thể chọn cịn nếu khơng bạn có thể
nhấn Close để vào được giao diện chính của ứng dụng.

13



Ở màn hình chính bạn thực hiện những chức năng như sau: New ( hoặc bạn có thể
nhấn Ctrl + N) để làm mới tập tin.

14


Một số phím tắt cơ bản trong CFree ví dụ như F1 dùng để tra cứu các thông tin hàm
hay F5 dùng để biên dịch.
Bạn nhấn chọn file CppHello.cpp thì màn hình giao diện của bạn sẽ xuất hiện nội dung
như sau:

Tiếp theo, bạn nhấn F5 cho chương trình chạy, đôi lúc CFree báo lỗi và return về kiểu
int. Đây là lỗi gây ra khó chịu cho người dùng nhất.
Để sữa chữa code bị lỗi bạn thực hiện như hình:

Bạn bấm F5 để chạy chương trình và sẽ có kết quả như sau:

Hiện nay, có rất nhiều ý kiến cho rằng Visual quá dễ trong việc xây dựng mã nguồn.
Tuy nhiên, việc phân chia rõ ràng hai hàm của Visual rõ ràng, thích hợp với các hàm
15


và các thủ tục Pascal, giúp bạn có thể dễ dàng học phần mềm lập trình C++ thơng qua
phần mềm C-free mà không cần phải sử dụng Visual Studio vừa khó và nặng nề nữa.
Như bạn cũng biết thì ứng dụng nào cũng sẽ có những ưu và nhược điểm khác nhau,
nên khơng thể nói phần mềm nào là tốt nhất cả. Tùy vào sở thích của mỗi người mà
chọn ứng dụng phù hợp.
Giới thiệu phần mềm CFree - Tổng kết


Như vậy, chúng tôi đã giới thiệu xong về phần mềm lập trình CFree,
phần mềm đa soạn thảo và biên dịch code hiệu quả cho người mới
bắt đầu. Chúc bạn cài đặt CFree thành công và sử dụng phần mềm
thật thành thạo nhé!

16


BÀI 01: TỔNG QUAN VỀ LẬP TRÌNH C
Lập trình và ngơn ngữ lập trình

Thuật tốn và cách biểu diễn thuật tốn
Tổng quan về lập trình C sẽ giúp các bạn hiểu biết về Lập trình là cơng việc sử dụng
ngơn ngữ lập trình để thiết kế và cài đặt xử lý nhằm tạo ra những chương trình (software)
thực thi trên PC (desktop, laptop), hoặc trên thiết bị di động (iPhone, Sumsung, iPad, …).
Về ngơn ngữ lập trình bao gồm Lập trình C, Lập trình Java, Lập trình C#, Lập trình web
với PHP, Lập trình cho thiết bị di động với nền tảng Android…
Tổng quan về lập trình C – Biểu diễn thuật tốn
Trong lập trình để xử lý cho một chức năng nào đó, chẳng hạn chức năng tính tổng 2 số
được nhập từ bàn phím, người lập trình sẽ phải liệt kê ra những bước cần xử lý và được
gọi là thuật toán (algorithm).
Vấn đề đặt ra là làm thế nào để thể hiện thuật toán như một qui ước chung để nhiều
người có thể đọc và hiểu. Việc này cũng tương tự như trong ngành xây dựng luôn ln có
bản thiết kế cho cơng trình để dựa vào đó mà thi cơng. Có nhiều cách để biểu diễn thuật
toán như sử dụng mã giả (pseudocode), sử dụng lưu đồ (flowcharts).
Tổng quan về lập trình C – Sử dụng mã giả (pseudocode)
Sử dụng mã giả (pseudocode) là phương pháp biểu diễn thuật toán bằng cách sử dụng
một bộ tiêu chuẩn các từ để thể hiện.
Ví dụ biểu diễn thuật tốn hiển thị chuỗi “Hello World” ra màn hình console.


BEGIN DISPLAY ‘HELLO WORLD’ END

17


Giải thích: Bắt đầu (BEGIN) Hiển thị nội dung với (DISPLAY) Kết thúc (END).
Tổng quan về lập trình C – Sử dụng lưu đồ (flowcharts)
Quy ước ký hiệu khi sử dụng lưu đồ

Ví dụ về lưu đồ cho thuật tốn tính
tổng 2 số n1 và n2

Giải thích lưu đồ:
Bắt đầu
Bước 1: Nhập 2 số tương ứng cho n1 và n2
Bước 2: Tính tổng 2 số và lưu vào t (t = n1 + n2)
Bước 3: Hiển thị kết quả (t)
Kết thúc

18


Ví dụ về lưu đồ cho thuật tốn
kiểm tra số ngun n có phải là số
chẵn hay khơng

Giải thích lưu đồ:
Bắt đầu
Bước 1: Nhập số nguyên n

Bước 2: Thực hiện phép chia lấy phần dư n
cho 2 (r = mod 2)
Bước 3: Nếu r = 0 thì hiển thị “n là số chẵn”
Kết thúc

Ví dụ về lưu đồ cho thuật tốn hiển
thị các số từ 1 đến 10

Giải thích lưu đồ:
Bắt đầu
Bước 1: Bắt đầu với i = 1
Bước 2: Nếu i <= 10 thì sang bước 3, ngược
lại kết thúc
Bước 3: Hiển thị và tăng i lên 1 (i = i +1), sau
đó chuyển sang bước 2
Kết thúc
19


Tổng quan về lập trình C – Tổng kết

Trình bày về lập trình và ngơn ngữ lập trình như C, Java, C#,
PHP, Android,… Giới thiệu về thuật tốn. Trình bày phương
pháp biểu diễn thuật toán bằng mã giả (pseudocode) và
bằng lưu đồ (flowcharts).

Tổng quan về lập trình C – Bài tập thực hành

Bài thực hành số 1: Vẽ lưu đồ (flowcharts) cho thuật toán nhập vào độ C (Celsius) và
chuyển sang độ F (Fahrenheit). Biết rằng C/5 = (F-32)/9.

Bài thực hành số 2: Vẽ lưu đồ cho thuật toán nhập vào điểm tốn, điểm lý và điểm
hố. Tính tổng điểm và điểm trung bình rồi hiển thị kết quả.
Bài thực hành số 3: Vẽ lưu đồ cho thuật tốn tính chu vi và diện tích hình trịn.
Bài thực hành số 4: Vẽ lưu đồ hiển thị các số lẻ trong đoạn [a,b] với a và b được
nhập vào.
Bài thực hành số 5: Vẽ lưu đồ cho thuật tốn tìm số lớn nhất trong 3 số a, b và c.
Bài thực hành số 6: Vẽ lưu đồ cho thuật toán giải phương trình bậc nhất ax + b = 0.

20


BÀI 02: BIẾN VÀ TOÁN TỬ TRONG C
Biến và cách khai báo biến
Tốn tử: số học, luận lý, so sánh

Tìm hiểu nội dung bài học biến trong c thông qua hai vấn đề. Thứ nhất là viết chương
trình nhập vào 2 số rồi tính tổng (Vấn đề 1). Viết chương trình nhập điểm tốn, điểm lý,
điểm hố sau đó tính trung bình cộng và xếp loại kết quả học tập dựa vào điểm trung
bình (Vấn đề 2).
Đối với vấn đề 1 thì đầu vào là 2 số, xử lý là tính tổng = số thứ nhất + số thứ hai và Đầu
ra là hiển thị tổng. Vậy thì để xử lý nhập vào 2 số, chương trình cần phải có thành phần
để lưu 2 số này => Thành phần đó gọi là biến.
Đối với vấn đề 2 thì đầu vào là điểm toán, điểm lý, điểm hoá, xử lý là tính trung bình
cộng và xếp loại kết quả dựa vào điểm trung bình cộng và đầu ra là hiển thị kết quả xếp
loại.
Tương tự vấn đề 1 để xử lý nhập điểm tốn, điểm lý, điểm hố chương trình cần phải có
nơi để lưu các điểm này => Đó chính là biến.
Ngồi ra chương trình cũng có thể lưu điểm trung bình để xử lý xếp loại. Do đó, chương
trình cần phải có nơi lưu trữ điểm trung bình => Đó chính là biến.
Biến trong C – Kết luận

Kết luận thứ nhất: Trong chương trình cần xử lý nhập dữ liệu, người lập trình phải sử
dụng biến. Có bao nhiêu dữ liệu đầu vào, tương ứng với bấy nhiêu biến. Chúng ta cần tối
thiểu 2 biến. Biến thứ nhất dành cho số thứ nhất, biến thứ hai dành cho số thứ hai.
21


Kết luận thứ hai: Trong chương trình cần lưu dữ liệu trung gian (dữ liệu trung gian là kết
quả của q trình tính tốn như điểm trung bình = (điểm toán + điểm lý + điểm hoá) / 3).
Trong trường hợp này, người lập trình phải sử dụng biến. Chúng ta cần 4 biến tương ứng
cho điểm toán, điểm hoá, điểm lý và điểm trung bình.
Biến trong C – Cú pháp khai báo biến

Kiểu_Dữ_Liệu Tên_Biến;
Kiểu dữ liệu bao gồm
Kiểu số nguyên gồm int, long (về độ lớn thì int nhỏ hơn long).
Kiểu số thực gồm float, double (về độ lớn thì float nhỏ hơn double).
Kiểu ký tự gồm char.
Kiểu chuỗi gồm mảng ký tự.
Lựa chọn kiểu dữ liệu nào còn tuỳ thuộc vào u cầu của chương trình.
Ví dụ chương trình yêu cầu nhập vào 2 số thực => chọn kiểu dữ liệu là float hoặc double.
Chương trình cần lưu trữ tuổi của sinh viên => chọn kiểu int hoặc long.
Tên biến đặt theo qui tắc:
Gợi nhớ.
Không chứa khoảng trắng.
Không bắt đầu bằng số.
Không chứa ký tự đặc biệt.
Không trùng với từ khoá (Từ khoá là những từ được sử dụng trong ngôn ngữ C).
22



Biến trong C – Ví dụ
Ví dụ 1: Chương trình nhập điểm tốn, điểm lý, điểm hố sau đó tính điểm
trung bình cộng:
Phân tích u cầu: vì điểm là có phần lẻ như 7.2 hay 8.9 …. nên kiểu dữ liệu trong trường
hợp này là kiểu số thực.
Câu lệnh khai báo biến:
float diemtoan;
float diemhoa;
float diemly;
float diemtrungbinh;
Vì điểm tốn, điểm lý, điểm hố và điểm trung bình có cùng kiểu dữ liệu là float nên cú
pháp khai báo biến có thể được viết lại như sau:
float diemtoan, diemhoa, diemly, diemtrungbinh;
Ví dụ 2: Chương trình nhập thơng tinh sinh viên gồm họ tên, tuổi, điểm trung bình
Phân tích u cầu: họ tên là kiểu chuỗi (ví dụ Nguyễn Văn Tùng), tuổi là kiểu số ngun
(ví dụ 22), điểm trung bình là kiểu số thực (ví dụ 8.2)
Câu lệnh khai báo biến:
char hoten[50]; //Mảng các ký tự, sẽ được trình bày chi tiết ở bài học sau
int tuoi;
float diemtrungbinh;
23


Biến trong C – Tốn tử
Giả sử có biểu thức 12 * x + 7 thì trong đó 12 và 7 được gọi là toán hạng (Operands).
* và + được gọi là toán tử (Operators).
Toán tử gán (Assignment Operator) được sử dụng để gán giá trị cho biến. Ký hiệu là =
(dấu bằng). Ví dụ thực hiện phép gán x cho 10, ta thực hiện lệnh x = 10; Toán tử này
được sử dụng rất nhiều trong các biểu thức.
Toán tử tốn hoc (Arithmetic) gồm các phép tính như cộng (+), trừ (-), nhân (*), chia

(/), tăng (++), giảm (–). Trong đó, tốn tử ++ hoặc — được sử dụng để tăng hoặc giảm
giá trị của biến lên hoặc giảm đi 1 đơn vị. Ví dụ a = a + 1 tương đương đương với a++.
Hai toán tử này thường được sử dụng trong vịng lặp for.
Tốn tử so sánh hay cịn gọi là tốn tử quan hệ (Relational). Tốn tử này thường được
sử dung trong các biểu thức điều kiện của các câu lệnh như if, while, for
Toán tử

Giải thích

Ví dụ mẫu

Giải thích

>

Lớn hơn

if(a>b)

Nếu a lớn hơn b

>=

Lớn hơn hoặc bằng

if(a>=b)

Nếu a lớn hơn hoặc bằng b

<


Nhỏ hơn

if(a
Nếu a nhỏ hơn b

<=

Nhỏ hơn hoặc bằng

if(a<=b)

Nếu a nhỏ hơn hoặc bằng b

==

Bằng

if(a==b)

Nếu a bằng b

!=

Khác

if(a!=b)

Nếu a khác b


24


×