Post on 02-Jul-2015
KỸ THUẬT LẬP TRÌNH
BÀI 1: GIỚI THIỆU VỀ NGÔN NGỮ LẬP
TRÌNH C – CÁC CÂU LỆNH CƠ BẢN TRÊN C
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM
KHOA CÔNG NGHỆ THÔNG TIN
GIÁO VIÊN: TRẦN HOÀNG MINH TÂN
MỤC TIÊU BÀI HỌC
Trình bày đƣợc lịch sử hình thành ngôn ngữ
C.
Trình bày đƣợc các đặc điểm của ngôn ngữ
lập trình C.
Trình bày đƣợc cấu trúc ngôn ngữ lập trình
C.
Trình bày đƣợc các câu lệnh nhập, xuất của
ngôn ngữ C.
Có tinh thần học hỏi, yêu thích lập trình.
2
NỘI DUNG BÀI HỌC
I. GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C.
II. ĐẶC ĐIỂM CỦA NGÔN NGỮ C.
III. CẤU TRÚC CỦA CHƯƠNG TRÌNH VIẾT
BẰNG NGÔN NGỮ C.
IV. CÁC CÂU LỆNH CƠ BẢN TRÊN C.
3
GIỚI THIỆU VỀ NGÔN NGỮ LẬP
TRÌNH C
1. Lịch sử hình thành
• Khoảng năm 1960 – 1970, cần 1 ngôn
ngữ bậc cao để xây dựng phần mềm hệ
thống, ngôn ngữ C ra đời tại phòng thí
nghiệm Bell.
• Cuối năm 1978, giáo trình “Ngôn ngữ lập
trình C đƣợc xuất bản.
• C ban đầu đƣợc dùng để viết hệ điều
hành UNIX, sau đó nó trở thành một ngôn
ngữ vạn năng. 4
2. Ứng dụng của ngôn ngữ C.
Lập trình hệ thống.
Hệ điều hành UNIX.
Trình biên dịch của hầu hết hệ thống máy tính.
Lập trình các hệ thống nhúng.
GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C
5
2. Ứng dụng của ngôn ngữ C
Những hệ thống sử dụng ngôn ngữ C
phổ biến:
Hệ điều hành UNIX
Các chƣơng trình đồ họa, nhận dạng,
xử lý ảnh.
Các hệ thống điều khiển tự động, hệ
thống sản xuất tự động trong nhà
máy….
GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C
6
Câu hỏi: Thông qua các ví dụ trên, theo anh
(chị) thì ngôn ngữ C có tầm quan trọng nhƣ
thế nào ?
GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C
7
Ngôn ngữ C là nền tảng của nhiều hệ thống
và ngôn ngữ lập trình khác, vì vậy nó rất
quan trọng, mọi hệ thống đều có sử dụng
đến ngôn ngữ C, C còn rất quan trọng đối
với học sinh, sinh viên, thƣờng là ngôn ngữ
đầu tiên mà các học viên đƣợc tiếp xúc.
GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH C
8
1. Từ khóa
Từ khóa là từ dành riêng của ngôn ngữ
lập trình đƣợc định nghĩa trƣớc với ý
nghĩa hoàn toàn xác định.
Dùng để khai báo biến, định nghĩa các
kiểu dữ liệu, các toán tử, hàm và câu
lệnh.
Từ khóa kết hợp với cú pháp hình thành
nên ngôn ngữ C.
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
9
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
1. Từ khóa Bảng từ khóa
asm break case cdecl const continue default
do double pascal near long interrupt int
sizeof signed struct static short return register
switch typedef union unsigned while void volatile
else if huge goto enum extern for
far10
1. Từ khóa
Các quy tắc áp dụng cho chƣơng trình C:
Tất cả từ khóa đều là từ viết thƣờng.
C phân biệt chữ hoa và chữ thƣờng.
Không đặt tên biến bằng từ khóa.
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
11
1. Từ khóa
Những từ khóa viết đúng: int, float, void,
printf.
Những từ khóa viết sai: Int, Fload, Void,
Printf.
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
12
Câu hỏi: Từ khóa là gì ?
• Từ khóa là từ dành riêng cho ngôn ngữ
lập trình, đƣợc định nghĩa trƣớc, hoàn
toàn xác định.
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
13
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
Câu hỏi: Từ khóa dùng để làm gì ?
• Từ khóa dùng để khai báo biến, định
nghĩa các kiểu dữ liệu, định nghĩa các toán
tử, các hàm, viết các câu lệnh.
14
Quy tắc đặt từ khóa nhƣ thế nào ?
o Là chữ viết thƣờng, không dùng từ khóa để
đặt cho tên biến, tên hàm.
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
15
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
2. Các kiểu dữ liệu
C có 4 kiểu dữ liệu cơ bản:
char: 1 byte, giá trị từ -128 đến 127.
int: 2 byte, giá trị từ -32768 đến 32768.
float: 4 byte, giá trị từ 3.4 * 10–38 đến 3.4
* 1038
double: 8 byte, giá trị từ 1.7 * 10–308 đến
1.7 * 10308
16
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
2. Các kiểu dữ liệu
• Ví dụ về kiểu dữ liệu:
• cần khai báo 1 biến a, kiểu số tự nhiên, có
giá trị nằm trong khoảng -3768 đến 32767
thì ta khai báo:
• int a;
17
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
2. Các kiểu dữ liệu
Bài tập: cần khai báo số có giá trị -4.34 thì
dùng kiểu dữ liệu nào hợp lý nhất ?
Đáp án: float.
18
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
3. Tên
Tên đƣợc dùng để xác định các đại lƣợng
khác nhau khi thực thi chƣơng trình.
Tên là 1 chuỗi ký tự liên tục gồm: ký tự
chữ, số và dấu gạch dƣới.
19
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
3. Tên.
Quy tắc đặt tên:
Tên có chiều dài tối đa 32 ký tự.
Ký tự đầu tiên phải là chữ hoặc dấu
gạch dƣới.
Tên không đƣợc đặt trùng với từ khóa.
20
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
3. Tên.
Ví dụ đặt tên biến:
int a; int _count; float soTien;
Ví dụ về đặt tên hàm:
void main() { }
int _tinhSoTien() { }
21
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
3. Tên.
Các tên sai:
int 3a; //bắt đầu bằng chữ số.
int pascal; // tên đặt trùng với từ khóa
int so tien; // tên chứa khoảng trắng.
22
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
3. Tên.
Phân biệt các tên sau:
int a; int 3a; char _HoTen;
float so_tien; int 3_a; int _3a;
double DiemSo; double _diem_so;
double diem so;
23
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
4. Khai báo biến
Khai báo danh sách biến:
Kiểu dữ liệu danh sách tên biến ;
VD: int a, b, c;
Vừa khai báo vừa gián:
Kiểu dữ liệu tên biến = giá trị ;
VD: int a = 3;
24
ĐẶC ĐIỂM CỦA NGÔN NGỮ C
Bài tập: cho các giá trị sau, hãy chọn kiểu dữ
liệu và viết lệnh khai báo biến phù hợp: a=3,
b=-3, c=1.25, d=„d‟.
Đáp án: int a=3; int b=-3; float c =1.25;
Char d=„d‟;
25
#include<stdio.h> //Khai báo tiền xử lý
void main() //Ham main()
{ //Bắt đầu hàm main
printf("hello world"); //Câu lệnh 1
printf("\n"); //Câu lệnh 2
} //Kết thúc hàm main()
CẤU TRÚC CHƢƠNG TRÌNH
26
1. Hàm main()
Chƣơng trình C đƣợc chia thành nhiều
thành phần nhỏ gọi là hàm.
Dù có bao nhiêu hàm thì hàm main() luôn
đƣợc hệ điều hành trao quyền thực thi.
Chƣơng trình bắt buộc phải có hàm
main().
Chƣơng trình sẽ đƣợc thực hiện theo thứ
tự từ trên xuống dƣới trong hàm main().
CẤU TRÚC CHƢƠNG TRÌNH
27
CẤU TRÚC CHƢƠNG TRÌNH
2. Dấu phân cách
Dấu { cho biết việc thực thi lệnh trong
hàm bắt đầu.
Dấu } cho biết việc thực thi lệnh trong
hàm kết thúc.
Các lệnh trong 1 hàm phải đƣợc đặt trong
dấu { }.
28
CẤU TRÚC CHƢƠNG TRÌNH
3. Dấu kết thúc lệnh.
1 câu lệnh trong C phải đƣợc kết thúc
bằng dấu ;
Trình biên dịch không hiểu đƣợc 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 ;
thì trình biên dịch sẽ báo lỗi.
29
CẤU TRÚC CHƢƠNG TRÌNH
4. Dòng chú thích /*…*/
Dùng để mô tả chƣơng trình, mô tả lệnh.
Trình biên dịch sẽ bỏ qua các dòng này.
Chú thích chỉ nằm trên 1 dòng thì bắt đầu
bằng dấu //.
30
CÁC CÂU LỆNH CƠ BẢN TRÊN C.
1. Hàm printf()
Đƣợc dùng để kết xuất dữ liệu đã đƣợc
định dạng.
Cú pháp: printf ("chuỗi định dạng", đối
mục 1, đối mục 2,…);
printf(): là tứ khóa, viết bằng chữ thƣờng.
Đối mục 1, đối mục 2, … là các mục dữ
liệu đƣợc in ra màn hình.
31
CÁC CÂU LỆNH CƠ BẢN TRÊN C.
1. Hàm printf()
Chuỗi định dạng: đƣợc đặt trong dấu
nháy kép, gồm 3 loại:
Chuỗi ký tự: viết sao in vậy.
Ký tự chuyển đổi định dạng
Tiền tố kèm theo.
32
CÁC CÂU LỆNH CƠ BẢN TRÊN C.
1. Hàm printf()
Các dấu mô tả định dạng:
%c: Ký tự đơn.
%s: chuỗi.
%d: số nguyên thập phân có dấu.
%f: số chấm động (ký hiệu thập phân).
%e: số chấm động ( ký hiệu số mũ).
%x: số nguyên thập phân không dấu.
%u: số nguyên hẽ không dấu.
%o: số nguyên bát phân không dấu.33
CÁC CÂU LỆNH CƠ BẢN TRÊN C.
1. Hàm printf()
Các ký tự điều khiển và ký tự đặc biệt
\n: nhảy xuống dòng kế tiếp canh về cột đầu
tiên.
\t : canh cột tab ngang.
\a: phát ra tiếng bip.
\\: in ra dấu \
\”: in ra dấu “
\‟: in ra dấu „
%%: in ra dấu % 34
CÁC CÂU LỆNH CƠ BẢN TRÊN C.
1. Hàm printf()
Bài tập: Cho a =3, b=5, viết 1 đoạn
chƣơng trình in ra dòng: “gia tri cua a la:
3, gia tri cua b la: 5”.
Đáp án:
int a=3, b=5;
printf(“gia tri cua a la: %d, gia tri cua b la:
%d”, a, b);
35
CÁC CÂU LỆNH CƠ BẢN TRÊN C.
1. Hàm scanf()
Đƣợc dùng để định dạng khi nhập dữ
liệu.
Cú pháp: scanf(“chuổi định dạng”, đối
mục 1, đối mục 2,…);
Chuổi định dạng: định dạng dữ liệu nhập
vào tƣơng tự hàm printf.
Đối mục 1, đối mục 2: danh sách giá trị
nhập vào.36
CÁC CÂU LỆNH CƠ BẢN TRÊN C.
1. Hàm scanf()
Bài tập: viết lệnh nhập vào giá trị sau:
a=1, b=1.25, c=„c‟.
Đáp án:
int a; float b; char c;
scanf(“%d%%f%c”, &a, &b, &c);
37
CỦNG CỐ KIẾN THỨC
Lịch sử hình thành ngôn ngữ C.
Ứng dụng của ngôn ngữ C.
Các đặc điểm của ngôn ngữ C.
Cấu trúc của ngôn ngữ C.
Hàm xuất.
Hàm nhập.
38
BÀI TẬP VỀ NHÀ
1. Anh (chị) hãy trình bày cấu trúc của
chƣơng trình viết bằng ngôn ngữ C.
2. Anh (chị) hãy viết một chƣơng trình nhập
vào giá trị của 3 biến a, b, c kiểu int, sau
đó xuất ra màn hình giá trị của 3 biến theo
thứ tự b, a, c.
39