TRƯNG ĐI HC PHM VĂN ĐNG
KHOA CÔNG NGH THÔNG TIN
TRN TN T
BÀI GING
(Dùng cho sinh viên các lp đi hc Công ngh
thông tin, đi hc Sư phm tin hc)
- Tài liu lưu hành ni b -
LI NÓI ĐU
Cơ s lp trình là hc phn giúp cho sinh viên nm đưc kiến thc cơ bn đ
cài đt thành công mt thut toán thành chương trình bng ngôn ng lp trình C.
Qua đó, trang b cho sinh viên kiến thc nn đ tiếp cn và hc tp tt các ngôn ng
lp trình khác trong các hc k tiếp theo.
Bài ging đưc biên son và ging dy cho sinh viên năm th nht, bc đi
hc ngành Công ngh thông tin và ngành Sư phm tin hc k t năm 2008, theo
hình thc đào to niên chế. Hin nay chương trình đào to ti Trưng Đi hc Phm
Văn Đng đưc chuyn đi sang đào to theo hc chế tín ch. Chính vì vy, bài
ging đưc chnh sa, b sung cho phù hp vi hình thc đào to theo hc chế tín
ch.
Cũng nhân đây tôi xin chân thành cám ơn hi đng chuyên môn khoa Công
ngh thông tin, Th.S Hunh Triu V và Th.S Võ Đc Lân đã dành thi gian đc và
đóng góp nhiu ý kiến quý báu đ bài ging đưc hoàn chnh hơn, đáp ng nhu cu
hc tp ca sinh viên Khoa Công ngh thông tin - Trưng Đi hc Phm Văn Đng.
Bài ging không sao tránh khi nhng thiếu sót, mong các bn đng nghip
đóng góp ý kiến đ bài ging hoàn thin hơn trong các ln chnh sa sau.
Xin chân thành cám ơn quý thy cô, các bn đng nghip !
Qung Ngãi, ngày 25/12/2013
TRN TN T
Bài ging Cơ s lp trình
-1-
Ging viên: Th.S Trn Tn T - Khoa CNTT Đi hc Phm Văn Đng.
CHƯƠNG 1: CÁC THÀNH PHN CƠ BN
Mc tiêu
Kết thúc chương, sinh viên có th:
Nm đưc các thành phn cơ bn ca ngôn ng lp trình C: b ký hiu, t
khóa, tên và cách đt tên, cách ghi li chú thích.
Nm đưc cu trúc chung ca mt chương trình C.
Hiu và vn dng đưc các phép toán, các hàm đã đưc xây dng cho các
kiu d liu cơ s: kiu s nguyên, kiu s thc, kiu ký t, kiu boolean.
1.1 B ký hiu và t khóa
1.1.1 B ký hiu
- 26 ch cái la tinh hoa: A, B, , Z.
- 26 ch cái la tinh thưng: a, b, , z.
- 10 ch s thp phân: 0,1,,9.
- Các ký hiu toán hc: +, -, *, /, = <, >, (, ).
- Các ký hiu đc bit: . , ; _ @ # $ ! ^ [ ] { }
- Du cách hay khong trng.
1.1.2 T khóa
Là các t dùng riêng ca ngôn ng lp trình C và mi t khóa có mt ý nghĩa và
tác dng c th.
* Chú ý:
- Không th đnh nghĩa li t khóa.
- Các t khóa trong C đưc viết dưi dng ch thưng.
Mt s t khóa thông dng hay dùng trong ngôn ng lp trình C
auto break case char continue default
do double else extern float for
goto if int long register return
short sizeof static struct switch typedef
union usnigned void volatile while asm .
1.1.3 Tên và cách đt tên
Trong chương trình, ngưi lp trình có th dùng rt nhiu tên: tên chương
trình, tên biến, tên hng, tên hàm, Mi tên đu phi khai báo trưc khi s dng.
Qui tc đt tên:
- Tên bao gm dãy các ký t lin nhau như các ch cái a,,z, A, Z, các ch
s 0, , 9 và du gch ni dưi.
Bài ging Cơ s lp trình
-2-
Ging viên: Th.S Trn Tn T - Khoa CNTT Đi hc Phm Văn Đng.
- Tên không đưc bt đu bng ch s.
- Tên không đưc cha các ký t đc bit như du cách, du chm câu, S
ký t ti đa trong tên ca Turbo C là 32.
- Tên không đưc trùng vi t khóa.
- C là ngôn ng lp trình phân bit ch hoa và ch thưng, vì vy tên
NGHIEM s khác vi các tên: Nghiem, nghiem,.
- Không đưc đt tên bng tiếng Vit (C xem cách làm đó là sai cú pháp) .
- Các ví d v đt tên:
+ Mt s tên đt đúng: Gia_tri, _DX, pi, .
+ Mt s tên đt sai: 3X, PI$, Bien 1,...
1.1.4 Chú thích
Khi viết chương trình bn nên thêm vào các li chú thích đ cho chương
trình sáng sa và d hiu. Trình biên dch s không biên dch các chú thích đ to ra
mã chương trình mà nó có tác dng thuyết minh thêm cho d hiu.
Phn văn bn nm gia cp ký hiu m /* và đóng */ chính là phn chú
thích. Phn chú thích có th nm trên nhiu dòng, min là nm trong cp du m và
đóng nêu trên.
Lưu ý: Trong C++ li chú thích nm sau cp du // và viết trên mt dòng.
1.2 Cu trúc chung ca mt chương trình C
Cu trúc tng th ca mt chương trình C thưng có các khi thông dng sau:
#include <> /* đ gi các tp tin tin x lý */
#define <> /* đnh nghĩa các hng s */
typedefs <> /* đnh nghĩa kiu d liu */
Function prototype /* khai báo nguyên mu hàm gm tên và tham s */
Khai báo các biến ngoài
.
<Kiu d liu tr v> main() /* chương trình C bt buc phi có hàm main */
{ Khai báo các biến cc b, các hng ca hàm main
Các câu lnh thc hin ca hàm main
return <Kết qu tr v>
}
Bài ging Cơ s lp trình
-3-
Ging viên: Th.S Trn Tn T - Khoa CNTT Đi hc Phm Văn Đng.
Function prototype /* đnh nghĩa ni dung tưng minh ca hàm */
{
Khai báo các biến, hng ca hàm.
Các câu lnh thc hin ca hàm.
}
Như vy, mt chương trình C thưng bao gm các thành phn: các ch tin
x lý, các đnh nghĩa: kiu, hng, khai báo biến ngoài, các hàm t to, hàm main.
Trong đó:
+ #include <> /* đ gi các tp tin tin x lý */
Ví d 1.1: #include <stdio.h>
+ #define <Tên hng s> <Giá tr hng> /* đnh nghĩa các hng s */
Ví d 1.2: #define MAX 100
+ typedef <tên kiu cũ> <tên kiu mi> /* đnh nghĩa kiu d liu */
Ví d 1.3: typedef int Songuyen;
+ Function prototype /* khai báo nguyên mu hàm gm tên và tham s */
Trong phn khai báo nguyên mu hàm, bn ch ra kiu giá tr tr v ca
hàm, tên hàm, tham s hình thc ca hàm.
Ví d 1.4: Khai báo nguyên mu hàm tính din tích hình tròn
float Tinh_dien_tich(float radius);
+ Khai báo các biến ngoài (biến toàn cc): Là nơi khai báo các biến có tm
tác dng trong c chương trình.
Ví d 1.5: int n;
+ Trong chương trình C có th có nhiu hàm, trong đó hàm main là hàm
chính, bt buc phi có và các câu lnh đưc thc hin tun t t trên xung dưi.
V nguyên tc hàm phi tr li mt giá tr cho tên hàm, nhưng nếu không mun s
dng giá tr tr v, bn có th viết như sau: void main(). T khóa void đ ch hàm
không có giá tr riêng ca nó (tc hàm không mang mt giá tr c th nào khi thc
hin xong hàm)
+ /* đnh nghĩa ni dung tưng minh ca hàm */
Ví d 1.6: Đnh nghĩa ni dung hàm tính din tích hình tròn vi tham s là
radius (bán kính ca hình tròn).
float Tinh_dien_tich(float radius)
#define PI 3.14