Giáo án biên soạn với các nội dung tổng quan về ngôn ngữ lập trình C; các thành phần cơ bản; lệnh nhập, xuất; câu lệnh For; câu lệnh While... Đây là tài liệu tham khảo hữu ích dành cho giáo viên trong quá trình biên soạn giáo án, bài giảng phục vụ công tác giảng dạy.
Trang 1GIÁO ÁN S : 1Ố
Th i gian th c hi n: 05 ti tờ ự ệ ế
CHƯƠNG 1: T NG QUAN V NGÔN NỔ Ề G L P TRÌNH CỮ Ậ
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
CHƯƠNG 1: T NG QUAN V NGÔN NỔ Ề G L P TRÌNH CỮ Ậ
M C TIÊU C A BÀI: Ụ Ủ
Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Hi u để ượ ịc l ch s phát tri n c a ngôn ng l p trình C.ử ể ủ ữ ậ
Bi t kh i đ ng và thoát kh i C.ế ở ộ ỏ
S d ng đử ụ ược h th ng tr giúp Help Files.ệ ố ợ
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
HO TẠ
Đ NGỘ
C A GIÁOỦ VIÊN
HO TẠ
Đ NG C AỘ Ủ
H C SINHỌ
1 D n nh pẫ ậ
Trang 2tri nể ngôn ngữ l p trìnhậ C dựa trên
ngôn ngữ BCPL (do Martin
Richards đưa ra vào năm 1967) và
ngôn ngữ B (do Ken Thompson
phát tri nể từ ngôn ngữ BCPL vào
năm 1970 khi vi tế hệ đi uề hành
UNIX đ uầ tiên trên máy PDP7)
và được cài đ tặ l nầ đầu tiên trên
hệ đi uề hành UNIX của máy DEC
Trang 3N u b n mu n v a kh i đ ng ế ạ ố ừ ở ộ
TC v a so n th o chừ ạ ả ương trình v i ớ
m t t p tin có tên do chúng ta đ t, ộ ậ ặ
thì gõ l nh: ệ TC [đường d n]< tên ẫ
file c n so n th o>ầ ạ ả , n u tên file ế
c n so n th o đã có thì đầ ạ ả ược n p ạ
lên, n u ch a có s đế ư ẽ ượ ạc t o m i. ớ
Trang 4thông báo có l u hay không, b m Y ư ấ
Trang 5P.TRƯỞNG KHOA Ngày tháng năm 2015
Trang 6GIÁO VIÊN
Trang 7GIÁO ÁN S : 2Ố
Th i gian th c hi n: 05 ti tờ ự ệ ế Tên bài h c trọ ước: CHƯƠNG 1: T NG QUAN V NGÔN Ổ Ề
NG L P TRÌNH CỮ Ậ
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
CHƯƠNG 2: CÁC THÀNH PH N C B NẦ Ơ Ả
BÀI 1: CÁC THÀNH PH N C B NẦ Ơ Ả
M C TIÊU C A BÀI: Ụ Ủ
Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Hi u và s d ng để ử ụ ược h th ng kí hi u và t khóaệ ố ệ ừ
Hi u để ược và khai báo được các ki u d li uể ữ ệ
Hi u để ược 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 ụ ể
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
Trang 8Đ NGỘ
C A GIÁOỦ VIấN
Đ NG C AỘ Ủ
H C SINHỌ
GIAN
1 D n nh pẫ ậ
ư Cỏc lo i ký hi u, t khoỏ trong Cạ ệ ừ
ư Cỏc ki u d li u trong Cể ữ ệ
ư Bi n, h ng, bi u th cế ằ ể ứ
Có 4 kiểu dữ liệu cơ bản trong C
là: char, int, float, double.
- Kiểu dữ liệu char
Kiểu dữ liệu char đợc dùng để lu
trữ một ký tự đơn Một kiểu dữ
liệu char có thể lu một ký tự đơn
đợc bao đóng trong hai dấu nháy
đơn (‘’) Thí dụ kiểu dữ liệu char
- Kiểu dữ liệu int
Là kiểu dữ liệu lu trữ dữ liệu số
và là một trong những kiểu dữ
liệu cơ bản trong bất cứ ngôn ngữ
lập trình nào Nó bao gồm một
chuỗi của một hay nhiều con số
Thí dụ trong C, để lu trữ một giá
trị số nguyên trong một biến tên
là num, ta khai báo nh sau:
int num;
Biến num không thể lu trữ bất cứ
kiểu dữ liệu nào nh Alan hay abc
Trang 9Kiểu dữ liệu số này cho phép các
số nguyên trong phạm vi -32768 tới
32767 đợc lu trữ Hệ điều hành
cấp phát 16 bit (2 byte) cho một
biến đã đợc khai báo kiếu int Ví
dụ: 12322, 0, -232
- Kiểu dữ liệu số thực (float)
Một biến có kiểu dữ liệu số thực
đợc dùng để lu trữ các giá trị chứa
phần thập phân Trình biên dịch
phân biệt các kiểu dữ liệu float
và int.
iểm khác nhau chính của chúng
là kiểu dữ liệu int chỉ bao gồm
các số nguyên, trong khi kiểu dữ
liệu float có thể lu giữ thêm cả các
phân số
Ví dụ, trong C, để lu trữ một giá
trị float trong một biến tên gọi là
num, việc khai báo sẽ nh sau:
float num;
Biến đã khai báo là kiểu dữ liệu
float có thể lu giá trị thập phân
có độ chính xác tới 6 con số Biến
này đợc cấp phát 32 bit (4 byte)
của bộ nhớ Ví dụ: 23.05, 56.5,
32
- Kiểu dữ liệu double
Kiểu dữ liệu double đợc dùng khi
giá trị đợc lu trữ vợt quá giới hạn về
dung lợng của kiểu dữ liệu float
Biến có kiểu dữ liệu là double có
thể lu trữ nhiều hơn khoảng hai
lần số các chữ số của kiểu float.
Số các chữ số chính xác mà kiểu
dữ liệu float hoặc double có thể
lu trữ tùy thuộc vào hệ điều hành
cụ thể của máy tính
Các con số đợc lu trữ trong kiểu
dữ liệu float hay double đợc xem
nh nhau trong hệ thống tính toán
Tuy nhiên, sử dụng kiểu dữ liệu
float tiết kiệm bộ nhớ một nửa so
Trang 10với kiểu dữ liệu double.
Kiểu dữ liệu double cho phép
độ chính xác cao hơn (tới 10 con
số) Một biến khai báo kiểu dữ
liệu double chiếm 64 bit (8 byte)
trong bộ nhớ
Thí dụ trong C, để lu trữ một giá
trị double cho một biến tên num,
khai báo sẽ nh sau:
double num;
Có thể tạo ra các kiểu dữ liệu dẫn
xuất bằng các tiền tố sign, unsign,
long, short Nh sau:
2 Biến, Hằng, biểu thức
2.1.Biến (variable): là vùng nhớ
đợc cấp phát dùng để lu trữ giá trị
cho một kiểu dữ liệu nào đó tại
một thời điểm nhất định và nó
đợc truy xuất thông qua một tên đã
đợc khai báo cho biến đó
Một biến trong C phải đợc khai
báo ở đầu mỗi khối lệnh theo cú
pháp:
Tên_kiểu_dữ _liệu Tên_biến;
Có thể khai báo nhiều biến cùng
kiểu, cách nhau dấu phẩy (,)và
khởi tạo giá trị cho biến.v
Trang 11dụng nhất cho mọi ngôn ngữ và
mọi ngời đều biết Trong C, toán
tử gán có thể đợc dùng cho bất kỳ
biểu thức C hợp lệ Cú pháp
chung cho toán tử gán là:
Tên biến = biểu thức;
Toán tử quan hệ (Relational
Operators): dùng để kiểm tra
mối quan hệ giữa hai biến, hay
giữa một biến và một hằng
Trong C, true (đúng)
là bất cứ giá trị nào khác không
(0), và false (sai) là bất cứ giá trị
nào bằng không (0) Biểu thức
dùng toán tử quan hệ trả về 0 cho
false và 1 cho true Ví dụ biểu
thức sau:
a == 14 ;
tra xem giá trị của a có bằng 14
hay không Giá trị của biểu thức
sẽ là 0 (false) nếu a có giá trị
Trang 12! NOT: Chuyển đổi giá
trị của toán hạng duy
nhất từ true thành false và ngợc lại.
- Các loại ký hiệu, từ khoá trong C
- Các kiểu dữ liệu trong C
Trang 13P.TRƯỞNG KHOA Ngày tháng năm 2015
GIÁO VIÊN
Trang 14GIÁO ÁN S : 3Ố
Th i gian th c hi n: 05 ti tờ ự ệ ế Tên bài h c trọ ước: CHƯƠNG 2: CÁC THÀNH PH N C B N Ầ Ơ Ả
BÀI 1: CÁC THÀNH PH N C B NẦ Ơ Ả
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
BÀI 2: L NH NH P, XU TỆ Ậ Ấ
M C TIÊU C A BÀI: Ụ Ủ
Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Bi t, hi u và so sánh đế ể ược các l nh, kh i l nhệ ố ệ
Hi u để ược cú pháp, ch c năng c a các câu l nh nh p xu t d li u.ứ ủ ệ ậ ấ ữ ệ
Th c hi n đự ệ ược vi c ch y chệ ạ ương trình
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
Trang 15c n in ra màn hình. Các đ i m c nàyầ ố ụ
có th là bi n, h ng ho c bi u th cể ế ằ ặ ể ứ
ph i đả ược đ nh tr trị ị ước khi in
Chu i đ nh d ng: đỗ ị ạ ược đ t trong ặ
c p nháy kép (" "), g m 3 lo i: ặ ồ ạ
+ Đ i v i ố ớ chu i kí tỗ ự được in ra
nguyên v n. ẹ
+ Đ i v i nh ng ố ớ ữ kí t chuy n đ iự ể ổ
d ng th cạ ứ cho phép k t xu t giá trế ấ ị
Trang 16c a các đ i m c ra màn hình g i làủ ố ụ ọ
%u : S nguyên hex không d u ố ấ
%o : S nguyên bát phân không d u ố ấ
Trang 17m c cách nhau b i d u ph y, m iụ ở ấ ẩ ỗ
đ i m c s ti p nh n giá tr nh pố ụ ẽ ế ậ ị ậ
Trang 18&a, &d, &ch, name);
P.TRƯỞNG KHOA Ngày tháng năm 2015
Trang 19GIÁO VIÊN
Trang 20GIÁO ÁN S : 4Ố
Th i gian th c hi n: 05 ti tờ ự ệ ế Tên bài h c trọ ước: BÀI 2: L NH NH P, XU TỆ Ậ Ấ
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
Ch¬ng 3: c¸c lªnh cÊu tróc Bµi 1: LÖnh rÏ nh¸nh if
M C TIÊU C A BÀI: Ụ Ủ
Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Hi u để ược cú pháp, ch c năng c a các câu l nh if.ứ ủ ệ
Hi u để ược m t s bài toán s d ng l nh if thông qua các ví d ộ ố ử ụ ệ ụ
So sánh, đánh giá m t s bài toán s d ng l nh if . ộ ố ử ụ ệ
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
HO TẠ
Đ NGỘ
C A GIÁOỦ VIÊN
HO TẠ
Đ NG C AỘ Ủ
H C SINHỌ
Trang 21if (biÓu thøc logic) khèi lÖnh;
kÕt qu¶ cña biÓu thøc logic ph¶i
Trang 22/* Chuong trinh in ra thong bao "a
bang b" neu a = b, nguoc l¹i in ra
Trang 23báo "a lớn hơn b" nếu a >b, in ra
thông báo "a nhỏ hơn b" nếu a <b,
in ra thông báo "a bằng b" nếu a
=b
/* Chuong trinh nhap vao 2 so
nguyen a, b In ra thong bao a >
nhng trong 1 hoặc nhiều khối
lệnh bên trong phải chứa ít nhất
một trong 3 dạng trên gọi là cấu
trúc if lồng nhau Thờng cấu trúc if
lồng nhau càng nhiều cấp thì độ
Trang 24chạy càng chậm và trong lúc lập
trình dễ bị nhầm lẫn
Ví dụ: Viết chơng trình nhập
vào điểm của một học sinh In ra
xếp loại học tập của học sinh đó
(Cách xếp loại Nếu điểm >= 9,
Xuất sắc Nếu điểm từ 8 đến
cận 9, Giỏi Nếu điểm từ 7 đến
cận 8, Khá Nếu điểm từ 6 đến
cận 7, TBKhá Nếu điểm từ 5
đến cận 6, TBình Còn lại là
Yếu)
/* Chuong trinh nhap vao 2 so
nguyen a, b In ra thong bao a >
Trang 25P.TRƯỞNG KHOA Ngày tháng năm 2015
GIÁO VIÊN
Trang 26GIÁO ÁN S : 5Ố
Th i gian th c hi n: 05 ti tờ ự ệ ế Tên bài h c trọ ước: Ch¬ng 3: c¸c lªnh cÊu tróc
Bµi 1: LÖnh rÏ nh¸nh if
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ếBÀI 2: L NH R NHÁNH SWITCH CASEỆ Ẽ
M C TIÊU C A BÀI: Ụ Ủ
Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Hi u để ược cú pháp, ch c năng c a các câu l nh switchứ ủ ệ
Hi u để ược m t s bài toán s d ng l nh switch thông qua các ví d ộ ố ử ụ ệ ụ
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
HO TẠ
Đ NGỘ
C A GIÁOỦ VIÊN
Trang 27break th× sÏ tiÕp tôc thùc hiÖn
lÖnh i + 1Ngîc l¹i tho¸t khái cÊu
tróc switch
VÝ dô: ViÕt ch¬ng tr×nh nhËp
vµo th¸ng vµ in ra quý
/* Chuong trinh nhap vao thang In
ra quy tuong ung */
Trang 29* CÊu tróc switch lång nhau
VÝ dô: ViÕt ch¬ng tr×nh menu 2
Trang 30printf(" MENU FILE \n");
case 1: printf("Ban da chon chuc
nang New File\n");
break;
case 2: printf("Ban da chon chuc
nang Open File\n");
vào m t th trong tu n và in th i ộ ứ ầ ờ
gian bi u c a th đó. Riêng ngày thể ủ ứ ứ
Trang 31P.TRƯỞNG KHOA Ngày tháng năm 2015
GIÁO VIÊN
Trang 32GIÁO ÁN S : 6Ố
Th i gian th c hi n: 05 ti tờ ự ệ ế Tên bài h c trọ ước: BÀI 2: L NH R NHÁNH SWITCHỆ Ẽ
CASE
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
BÀI 3: CÂU L NH FORỆ
M C TIÊU C A BÀI: Ụ Ủ
Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Hi u để ược cú pháp, ch c năng c a các câu l nh l p Forứ ủ ệ ặ
Bi t s d ng các c u trúc for l ng nhau. ế ử ụ ấ ồ
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
HO TẠ
Đ NGỘ
C A GIÁOỦ VIÊN
HO TẠ
Đ NG C AỘ Ủ
H C SINHỌ
1 D n nh pẫ ậ
Trang 33+ Biểu thức 1: khởi tạo giá trị ban
đầu cho biến điều khiển
+ Biểu thức 2: là biểu thức logic
thể hiện điều kiện tiếp tục vòng
lặp
+ Biểu thức 3: biểu thức thay
đổi giá trị biến điều khiển
2.Chú ý:
+ Biểu thức 1, 2, 3 phải phân
cách bằng dấu chấm phẩy (;)
+ Nếu biểu thức 2 không có,
vòng for đợc xem là luôn luôn
đúng Muốn thoát khỏi vòng lặp
for phải dùng một trong 3 lệnh
break, goto hoặc return
Trang 34+ Với mỗi biểu thức có thể viết
thành một dãy biểu thức con
phân cách nhau bởi dấu phẩy
Khi đó các biểu thức con đợc xác
định từ trái sang phải Tính đúng
sai của dãy biểu thức con trong
biểu thức thứ 2 đợc xác định bởi
biểu thức con cuối cùng
+ Trong thân for (khối lệnh) có
thể chứa một hoặc nhiều cấu
trúc điều khiển khác
+ Khi gặp lệnh break, cấu trúc
lặp sâu nhất sẽ thoát ra
Trang 35Bước 2: Tính giá tr c a ị ủ bi u th c 2 ể ứ
Bước 3: Th c hi n vi c ki m tra:ự ệ ệ ể
N u giá tr c a ế ị ủ bi u th c 2 ể ứ là đúng
(true) thì máy s th c hi n ẽ ự ệ kh i ố
l nh ệ và chuy n sang bể ước 4
N u giá tr c a ế ị ủ bi u th c 2 ể ứ là sai
(false) thì máy s b qua không th cẽ ỏ ự
hi n ệ kh i l nh ố ệ và thoát kh i l nhỏ ệ
for
Bước 4: Tính giá tr c a ị ủ bi u th c ể ứ
3 và quay l i b c 2ạ ướ
th c hi n ch ng nào mà bi u th cự ệ ừ ể ứ
đi u ki n còn ề ệ đúng (true). Khi bi uể
th c đi u ki n là ứ ề ệ sai (false), ch ngươ
trình s thoát ra kh i vòng l p ẽ ỏ ặ for.
VÝ dô 1: ViÕt ch¬ng tr×nh in ra
c©u " Vi du su dung vong lap for"
3 lÇn
/* Chuong trinh in ra cau "Vi du su
dung vong lap for" 3 lan */
Trang 37P.TRƯỞNG KHOA Ngày tháng năm 2015
GIÁO VIÊN
Trang 38GIÁO ÁN S : 7Ố
Th i gian th c hi n: 05 ti tờ ự ệ ế Tên bài h c trọ ước: BÀI 3: CÂU L NH FORỆ
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
Th c hi n t ngày / /2015 đ n ngày / /2015ự ệ ừ ế
BÀI 4: CÂU L NH WHILEỆ
M C TIÊU C A BÀI: Ụ Ủ
Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Hi u để ược cú pháp, ch c năng c a các câu l nh l p Forứ ủ ệ ặ
Bi t s d ng các c u trúc for l ng nhau. ế ử ụ ấ ồ
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
HO TẠ
Đ NGỘ
C A GIÁOỦ VIÊN
Trang 39thức hoặc nhiều biểu thức con
Nếu là nhiều biểu thức con thì
cách nhau bởi dấu phẩy (,)và tính
đúng sai của biểu thức đợc quyết
định bởi biểu thức con cuối cùng
+ Trong thân while (khối lệnh) có
thể chứa một hoặc nhiều cấu
trúc điều khiển khác
+ Trong thân while có thể sử
dụng lệnh continue để chuyển
đến đầu vòng lặp (bỏ qua các
câu lệnh còn lại trong thân)
+ Muốn thoát khỏi vòng lặp while
tùy ý có thể dùng các lệnh break,
goto, return nh lệnh for.
2 Hoạt động
ư Tớnh giỏ tr cị ủa bi u tể hức trước
ư N u giỏ tr cế ị ủa bi u tể hức b ng giỏằ
tr 1 thỡ tị hực hi n ệ cụng vi c 1 ệ rồi
Trang 40VÝ dô: ViÕt ch¬ng tr×nh in ra c©u
" Vi du su dung vong lap while" 3
lÇn
/* Chuong trinh in ra cau "Vi du su
dung vong lap while" 3 lan */
Trang 43Sau khi h c xong bài này ng ọ ườ ọ i h c có kh năng: ả
Hi u để ược cú pháp, ch c năng c a các câu l nh l p do whileứ ủ ệ ặ
V n d ng đậ ụ ược câu l nh do…while vào các bài t p c thệ ậ ụ ể
Có thái đ nghiêm túc đ i v i môn h c.ộ ố ớ ọ
Đ DÙNG VÀ PHỒ ƯƠNG TI N D Y H CỆ Ạ Ọ
HO TẠ
Đ NGỘ
C A GIÁOỦ VIÊN
Trang 44while và câu lệnh while ư Nờu v n đấ ề ư Tr l iả ờ
2 Gi i thi u ch đớ ệ ủ ề ư Thuy t trỡnhế ưL ng ngheắ
3 Gi i quy t v n đả ế ấ ề
1.Cấu trúc vòng lặp do while
Vòng lặp thực hiện lặp lại cho
đến khi biểu thức sai
thức hoặc nhiều biểu thức con
Nếu là nhiều biểu thức con thì
cách nhau bởi dấu phẩy (,)và tính
đúng sai của biểu thức đợc quyết
định bởi biểu thức con cuối cùng
v
+ Trong thân dowhile (khối lệnh)
có thể chứa một hoặc nhiều cấu
trúc điều khiển khác
+ Trong thân dowhile có thể sử
dụng lệnh continue để chuyển
đến đầu vòng lặp (bỏ qua các
câu lệnh còn lại trong thân)
+ Muốn thoát khỏi vòng lặp
Trang 45 <Công vi c>:ệ được thể hiện
bằng 1 câu l nhệ hay 1 khối l nh.ệ
Trước tiên công việc được th cự
hi nệ trư c,ớ sau đó mới ki mể tra
Bi u t ể h c ứ đi u ki ề ện.
N u ế điều ki n sai thì thoát khệ ỏi
l nhệ do …while
N uế điều ki nệ còn đúng thì thực
hi nệ công vi cệ rồi quay l i ki mạ ể
tra đi uề ki n ti p.ệ ế
Ki mể tra đi uề ki nệ trước thực
hi nệ công vi cệ sau nên đoạn lệnh