1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Nhập môn lập trình: Bài 1 - Trần Duy Thanh

70 78 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nhập môn lập trình: Bài 1 - Các khái niệm cơ bản
Trường học Trường Đại Học Khoa Học Tự Nhiên Tp. Hồ Chí Minh
Chuyên ngành Nhập môn lập trình
Thể loại Bài giảng
Năm xuất bản 2015
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 70
Dung lượng 569,64 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 1 của bài giảng Nhập môn lập trình giúp người học hiểu được tổng quan ngôn ngữ lập trình C/C++ ; hiểu về công cụ lập trình, cấu trúc và cách thực thi chương trình; nắm bắt được các kiến thức về tập ký tự, từ khóa, quy tắc đặt tên, câu lệnh, chú thích;...và một số kiến thức liên quan khác. Mời các bạn cùng tham khảo.

Trang 1

Tr ườ ng ĐH Khoa H c T Nhiên Tp H Chí Minh ọ ự ồ

TRUNG TÂM TIN H C Ọ

2015

Nh p môn l p trình ậ ậ

Bài 1- Các khái ni m c b n ệ ơ ả

Trang 3

Nh p môn l p trình ậ ậ 3

1 L ch s c a ngôn ng C/C++ ị ử ủ ữ

.C được t o b i Dennis Ritchie Bell Telephone Laboratories vào năm 1972.ạ ở ở

.Vào năm 1983, h c vi n chu n qu c gia Mỹ (American National Standards ọ ệ ẩ ố

Institute - ANSI) thành l p m t ti u ban đ chu n hóa C đậ ộ ể ể ẩ ược bi t đ n nh ANSI ế ế ưStandard C

.C++ được xây d ng trên n n t ng ANSI Standard Cự ề ả

.C++ là m t ngôn ng l p trình hộ ữ ậ ướng đ i tố ượng, nó bao hàm c ngôn ng Cả ữ

Trang 4

Nh p môn l p trình ậ ậ 4

2 Kỹ thu t đ gi i quy t m t bài toán ậ ể ả ế ộ

.M t chộ ương trình máy tính được thi t k đ gi i quy t m t bài toán nào đó Vì ế ế ể ả ế ộ

v y, nh ng bậ ữ ước c n đ tìm ki m l i gi i cho m t bài toán cũng gi ng nh ầ ể ế ờ ả ộ ố ư

Trang 5

Nh p môn l p trình ậ ậ 5

3.Các b ướ c trong chu trình phát tri n ch ể ươ ng trình

Trang 6

Nh p môn l p trình ậ ậ 6

3.Các b ướ c trong chu trình phát tri n ch ể ươ ng trình

. Nh p mã ngu n (source code)ậ ồ

−. Mã ngu n là t p l nh dùng đ ch d n máy tính th c hi n công vi c do ồ ậ ệ ể ỉ ẫ ự ệ ệ

ngườ ậi l p trình đ a raư

−. T p tin mã ngu n có ph n m r ng cpp (C++)ậ ồ ầ ở ộ

. Biên d ch mã ngu n (compile)ị ồ

−. Chương trình vi t b ng ngôn ng c p cao C/C++ đế ằ ữ ấ ược biên d ch sang mã ị

máy b ng m t chằ ộ ương trình d ch(compiler)ị

Trang 7

Nh p môn l p trình ậ ậ 7

3.Các b ướ c trong chu trình phát tri n ch ể ươ ng trình

. Liên k t các t p tin đ i tế ậ ố ượng t o các t p tin th c thi (executable file).ạ ậ ự

−. C/C++ có m t th vi n hàm độ ư ệ ượ ạc t o s nẵ

−. T p tin đ i tậ ố ượng do trình biên d ch t o ra k t h p v i mã đ i tị ạ ế ợ ớ ố ượng đ t o ể ạ

t p tin th c thi, quá trình này đậ ự ượ ạc t o b i b liên k t (Linker)ở ộ ế

. Th c hi n chự ệ ương trình

Trang 8

−. N u chế ương trình có l i ph i đổ ả ược ch nh s a và biên d ch l i.ỉ ử ị ạ

−. Quá trình 4 bước sẽ đượ ậ ạc l p l i cho đ n khi t p tin th c thi th c hi n đúng ế ậ ự ự ệ

yêu c u bài toánầ

Trang 11

Nh p môn l p trình ậ ậ 11

4 Kh o sát m t ch ả ộ ươ ng trình C/C++ đ n gi n ơ ả

int main():

−. Hàm main là đi m mà t t c các chể ấ ả ương trình C/C++ b t đ u th c hi n.ắ ầ ự ệ

−. Hàm main không ph thu c vào v trí c a hàmụ ộ ị ủ

−. N i dung trong hàm main luôn độ ược th c hi n đ u tiên khi chự ệ ầ ương trình được

th c thiự

−. Chương trình C/C++ ph i t n t i hàm main()ả ồ ạ

−. N i dung c a hàm main() ti p sau ph n khai báo chính th c đ t trong c p d u { }ộ ủ ế ầ ứ ặ ặ ấ

Trang 12

Nh p môn l p trình ậ ậ 12

4 Kh o sát m t ch ả ộ ươ ng trình C/C++ đ n gi n ơ ả

−. cout << "Hello World!“:

Đây là m t l nh n m trong ph n thân c a hàm mainộ ệ ằ ầ ủ

−. Cout: là m t dòng (stream) xu t chu n C/C++ độ ấ ẩ ược đ nh nghĩa trong th vi n ị ư ệ

iostream.h Khi dòng l nh th c thi thì dòng l nh Hello Word! đệ ư ệ ược xu t ra màn ấhình

−. getch(): dùng đ ch nh p m t ký t t bàn phím.ể ờ ậ ộ ự ừ

−. return 0: l nh k t thúc hàm main tr v mã đi sau nó ệ ế ả ề

Trang 14

Nh p môn l p trình ậ ậ 14

5 Các chú thích

/* My second program in C/C++ with more comments

Author: Novice programmer

cout << "Hello World! "; // output Hello World!

cout << "I hate C/C++."; // output I hate C/C++

getch();

return 0;

}

Trang 15

Nh p môn l p trình ậ ậ 15

6 C u trúc c a m t ch ấ ủ ộ ươ ng trình C/C++

.C u trúc m t chấ ộ ương trình C/C++ g m: các ti n x lý, khai báo bi n toàn c c, hàm ồ ề ử ế ụ

main…

Trang 16

Nh p môn l p trình ậ ậ 16

6 C u trúc c a m t ch ấ ủ ộ ươ ng trình C/C++

Trang 17

Nh p môn l p trình ậ ậ 17

7 Các t p tin th vi n thông d ng ậ ư ệ ụ

.Đây là các t p tin ch a đ nh nghĩa các hàm thông d ng khi l p trình C/C++.ậ ứ ị ụ ậ

.Mu n s d ng các hàm trong các t p tin header này thì ph i khai báo #include ố ử ụ ậ ả

<FileName.h> ph n đ u c a chở ầ ầ ủ ương trình, v i FileName.h là tên t p tin th ớ ậ ư

vi n.ệ

Trang 18

Nh p môn l p trình ậ ậ 18

7 Các t p tin th vi n thông d ng ậ ư ệ ụ

.Các t p tin th vi n thông d ng g m:ậ ư ệ ụ ồ

1. Stdio.h(C), iostream.h(C++): đ nh nghĩa các hàm vào ra chu n nh các hàm ị ẩ ư

xu t d li u (printf())/cout), nh p giá tr cho bi n (scanf())/cin), nh n ký t ấ ữ ệ ậ ị ế ậ ự

t bàn phím (getc()), in ký t ra màn hình (putc()), nh p m t chu i ký t t ừ ự ậ ộ ỗ ự ừbàm phím (gets()), xu t chu i ký t ra màn hình (puts())ấ ỗ ự

2. Conio.h: đ nh nghĩa các hàm vào ra trong ch đ DOS, nh clrscr(), getch(), …ị ế ộ ư

Trang 19

Nh p môn l p trình ậ ậ 19

7 Các t p tin th vi n thông d ng ậ ư ệ ụ

1. math.h: Đ nh nghĩa các hàm toán h c nh : abs(), sqrt(), log(), log10(), sin(), ị ọ ư

cos(), tan(), acos(), asin(), atan(), pow(), exp(), …

2. alloc.h: đ nh nghĩa các hàm vào ra c p th p g m các hàm open(), _open(), ị ấ ấ ồ

read(), _read(), close(), _close(), creat(), _creat(), creatnew(), eof(), filelength(), lock(), …

Trang 20

Nh p môn l p trình ậ ậ 20

BI U TH C Ể Ứ

(Expressions)

Trang 21

.Trong trường h p, bi u th c có nhi u toán t , ta dùng c p d u ngo c đ n ( ) đ ợ ể ứ ề ử ặ ấ ặ ơ ể

ch đ nh toán t nào đỉ ị ử ược th c hi n trự ệ ước

Trang 24

Nh p môn l p trình ậ ậ 24

2 Ki u d li u(Data type) ể ữ ệ

Trang 25

Nh p môn l p trình ậ ậ 25

3 Đ nh danh (Identifier Name) ị

.Trong C/C++, tên bi n, h ng, hàm,… đế ằ ượ ọc g i là đ nh danh ị

.Nh ng đ nh danh này có th là 1 ho c nhi u ký t Ký t đ u tiên ph i là m t ch ữ ị ể ặ ề ự ự ầ ả ộ ữcái ho c d u _ (underscore), nh ng ký t theo sau ph i là ch cái, ch s , ho c ặ ấ ữ ự ả ữ ữ ố ặ

d u _ấ

.C/C++ phân bi t ký t HOA và thệ ự ường

.Đ nh danh không đị ược trùng v i t khóa (keywords).ớ ừ

Trang 26

Nh p môn l p trình ậ ậ 26

4 T khóa (keywords) ừ

.Là nh ng t đữ ừ ược dành riêng b i ngôn ng l p trình cho nh ng m c đích riêng ở ữ ậ ữ ụ

c a nóủ

.T t c các t khóa trong C/C++ đ u là ch thấ ả ừ ề ữ ường (lowercase)

.Danh sách các t khóa trong C/C++ừ

Trang 28

Nh p môn l p trình ậ ậ 28

5 Bi n (variables) ế

.Ngoài ra, ta có th v a khai báo v a kh i t o giá tr ban đ u cho bi n: ể ừ ừ ở ạ ị ầ ế

type varName1=value, ,varName_n=value;

.Ví d :ụ

float mark1, mark2, mark3, average = 0;

Trang 29

Nh p môn l p trình ậ ậ 29

6 Ph m vi c a bi n ạ ủ ế

.Bi n c c b (local variables) ế ụ ộ

−. Nh ng bi n đữ ế ược khai báo bên trong m t hàm g i là bi n c c b ộ ọ ế ụ ộ

−. Các bi n c c b ch đế ụ ộ ỉ ược tham chi u đ n b i nh ng l nh trong kh i (block) có ế ế ở ữ ệ ố

khai báo bi n ế

−. M t kh i độ ố ược đ t trong c p d u { } ặ ặ ấ

−. Bi n c c b ch t n t i trong khi kh i ch a nó đang th c thi và b h y khi kh i ế ụ ộ ỉ ồ ạ ố ứ ự ị ủ ố

ch a nó th c thi xong ứ ự

Trang 31

Nh p môn l p trình ậ ậ 31

6 Ph m vi c a bi n ạ ủ ế

.Tham s hình th c(formal parameters) ố ứ

−.N u m t hàm có nh n các đ i s truy n vào hàm thì nó ph i khai báo các ế ộ ậ ố ố ề ả

bi n đ nh n giá tr c a các đ i s khi hàm đế ể ậ ị ủ ố ố ược g i ọ

−.Nh ng bi n này g i là các tham s hình th c Nh ng bi n này đữ ế ọ ố ứ ữ ế ượ ửc s

d ng gi ng nh các bi n c c b ụ ố ư ế ụ ộ

Trang 33

Nh p môn l p trình ậ ậ 33

6 Ph m vi c a bi n ạ ủ ế

.Bi n toàn c c (global variables) ế ụ

−.Bi n toàn c c có ph m vi là toàn b chế ụ ạ ộ ương trình

−.T t c các l nh có trong chấ ả ệ ương trình đ u có th tham chi u đ n bi n ề ể ế ế ếtoàn c c ụ

−.Bi n toàn c c đế ụ ược khai báo bên ngoài t t c hàm ấ ả

Trang 34

cout << “Value of gVar= “ << gVar; increase();

cout << “After increased, gVar= “ << gVar; decrease();

cout << “After decreased, gVar= “ << gVar;

}

Trang 35

Nh p môn l p trình ậ ậ 35

7 T khóa const ừ

.Giá tr c a bi n thay đ i trong su t quá trình th c thi chị ủ ế ổ ố ự ương trình

.Đ giá tr c a bi n không b thay đ i, ta đ t trể ị ủ ế ị ổ ặ ước khai báo bi n t khóa const ế ừ

.Thông thường ta dùng ch HOA đ đ t tên cho nh ng bi n này ữ ể ặ ữ ế

Ví d :ụ

const int MAX = 200;

Trang 36

Nh p môn l p trình ậ ậ 36

8 H ng (constants) ằ

.H ng là nh ng giá tr c đ nh (fixed values) mà chằ ữ ị ố ị ương trình không th thay ể

đ i M i ki u d li u đ u có h ng tổ ỗ ể ữ ệ ề ằ ương ng H ng còn đứ ằ ượ ọc g i là literals

.H ng ký t đằ ự ược đ t trong c p nháy đ n ặ ặ ơ

Ví d : 'a’ụ

.H ng nguyên là nh ng s mà không có ph n th p phân ằ ữ ố ầ ậ

Ví d 100 , -100 ụ

Trang 38

Nh p môn l p trình ậ ậ 38

8 H ng chu i ký t ằ ỗ ự (string constants)

.H ng chu i ký t là m t t p các ký t đ t trong c p nháy kép “”.ằ ỗ ự ộ ậ ự ặ ặ

Ví d :ụ

•. "This is a string" //là m t chu i ộ ỗ

•. ‘a’ //là m t h ng ký t ộ ằ ự

•. “a” //là m t h ng chu i.ộ ằ ỗ

Trang 39

Nh p môn l p trình ậ ậ 39

9 H ng ký t đ c bi t(escape sequences) ằ ự ặ ệ

Trang 42

Nh p môn l p trình ậ ậ 42

11 Chuy n đ i ki u trong câu l nh gán ể ổ ể ệ

1. Đ i v i câu l nh gán, giá tr c a bi u th c bên ph i d u = đố ớ ệ ị ủ ể ứ ả ấ ượ ự ộc t đ ng chuy n ể

thành ki u d li u c a bi n bên trái d u =ể ữ ệ ủ ế ấ

Ví d : ụ

int i=100;

double d = 123.456;

2. N u th c thi l nh ế ự ệ i = d; thì i = 123 (chuy n đ i ki u m t mát thông tin).ể ổ ể ấ

3. N u th c thi l nh ế ự ệ d = i; thì d =100.0 (chuy n đ i ki u không m t mát thông tin).ể ổ ể ấ

Trang 43

Nh p môn l p trình ậ ậ 43

1. Khi chuy n đ i t ki u d li u có mi n giá tr nh sang ki u d li u có mi n giá ể ổ ừ ể ữ ệ ề ị ỏ ể ữ ệ ề

tr l n h n:charị ớ ơ intlongfloatdouble, thì vi c chuy n đ i ki u này là không ệ ể ổ ể

m t mát thông tinấ

2. Khi chuy n đ i t ki u d li u có mi n giá tr l n sang ki u d li u có mi n giá ể ổ ừ ể ữ ệ ề ị ớ ể ữ ệ ề

tr nh h n:doubleị ỏ ơ floatlongintchar, thì vi c chuy n đ i ki u này là m t ệ ể ổ ể ấmát thông tin

11 Chuy n đ i ki u trong câu l nh gán ể ổ ể ệ

Trang 45

Nh p môn l p trình ậ ậ 45

1 Khi t s và m u s c a phép chia là s nguyên thì đó là phép chia nguyên nên ph n ử ố ẫ ố ủ ố ầ

d c a phép chia nguyên b c t b ư ủ ị ắ ỏ

Ví d : 5/2 cho k t qu là 2 ụ ế ả

2 Toán t l y ph n d % (modulus operator) ch áp d ng v i s nguyên.ử ấ ầ ư ỉ ụ ớ ố

12 Toán t s h c (arithmetic operators) ử ố ọ

Trang 48

Nh p môn l p trình ậ ậ 48

14 Toán t ++ và (increment and decrement operators) ử

1. Toán t tăng (++) và toán t gi m ( ) có tác d ng làm tăng ho c gi m 1 giá tr l u ử ử ả ụ ặ ả ị ư

trong bi n ế

2. Ví d :ụ

a++;//tương đương v i a+=1; và a=a+1ớ

a ;//tương đương v i a-=1; và a=a-1ớ

Trang 49

Nh p môn l p trình ậ ậ 49

14 Toán t ++ và (increment and decrement operators) ử

Toán t tăng/gi m có 2 d ng:ử ả ạ

1. Ti n t ề ố (prefix): Toán t ử ++/ đ t trặ ước toán h ng, hành đ ng tăng/gi m trên ạ ộ ả

toán h ng đạ ược th c hi n trự ệ ước, sau đó giá tr m i c a toán h ng sẽ tham gia ị ớ ủ ạ

Trang 50

Nh p môn l p trình ậ ậ 50

14 Toán t ++ và (increment and decrement operators) ử

1. H u t (postfix): ậ ố Toán t ử ++/ đ t sau toán h ng, giá tr trong toán h ng đặ ạ ị ạ ược

tăng/gi m sau khi đã tính toán.ả

2. Ví dụ:

B=3;

A=B++;

K t qu : A ch a giá tr 3, B ch a giá tr 4 ế ả ứ ị ứ ị

Trang 52

Nh p môn l p trình ậ ậ 52

14 Toán t ++ và (increment and decrement operators) ử

1. Khi các toán t s h c xu t hi n trong m t bi u th c, thì đ u tiên th c hi n ử ố ọ ấ ệ ộ ể ứ ộ ư ự ệ

Trang 53

Nh p môn l p trình ậ ậ 53

15 Toán t quan h & lu n lý (relational & logical operators) ử ệ ậ

1. Toán t quan h đử ệ ược đ nh tr là true ho c false ị ị ặ

Trang 55

Nh p môn l p trình ậ ậ 55

15 Toán t quan h & lu n lý (relational & logical operators) ử ệ ậ

1. Đ u tiên c a toán t quan h và lu n lý:ộ ư ủ ử ệ ậ

Trang 57

Nh p môn l p trình ậ ậ 57

16 Toán t ử ? ( ? operator)

1. Toán t ử ? là m t toán t ba ngôi do đó ph i có ba toán h ng ộ ử ả ạ

2. D ng t ng quát c a toán t ? là: ạ ổ ủ ử

Exp1 ? Exp2 : Exp3;

3. Exp1, Exp2, và Exp3 là các bi u th c ể ứ

4. Ý nghĩa:

−. N u Exp1 đúng thì Exp2 đế ược đ nh tr và nó tr thành giá tr c a bi u th c.ị ị ở ị ủ ể ứ

−. Ngượ ạc l i, n u Exp1 sai, Exp3 đế ược đ nh tr và tr thành giá tr c a bi u ị ị ở ị ủ ể

th c ứ

Trang 59

Nh p môn l p trình ậ ậ 59

17 Toán t sizeof ử

nh Tùy môi trớ ường (h đi u hành, lo i CPU, ) mà m i ki u d li u có s byte ệ ề ạ ỗ ể ữ ệ ốkhác nhau

2. Cú pháp:

sizeof(operand)

3. operand: có th là tên ki u d li u, bi n, bi u th c ể ể ữ ệ ế ể ứ

Trang 60

Nh p môn l p trình ậ ậ 60

18 Toán t d u ph y (comma operator) ử ấ ẩ

1. Toán t comma bu c các bi u th c cùng v i nhau ử ộ ể ứ ớ

2. Bi u th c bên trái c a toán t comma luôn luôn để ứ ủ ử ược đ nh tr nh void, bi u ị ị ư ể

th c bên ph i đứ ả ược đ nh tr và tr thành giá tr c a bi u th c.ị ị ở ị ủ ể ứ

3. D ng t ng quát c a toán t comma: ạ ổ ủ ử

(exp_1, exp_2, , exp_n)

Trang 61

Nh p môn l p trình ậ ậ 61

18 Toán t d u ph y (comma operator) ử ấ ẩ

1. Các bi u th c để ứ ược đ nh tr t trái sang ph i, bi u th c cu i cùng (exp_n) đị ị ừ ả ể ứ ố ược

Trang 62

Nh p môn l p trình ậ ậ 62

19 Đ u tiên c a các toán t ộ ư ủ ử

Trang 65

Nh p môn l p trình ậ ậ 65

21 Chuy n ki u trong bi u th c ể ể ể ứ

1. Khi các h ng và bi n c a nh ng ki u khác nhau t n t i trong m t bi u th c, giá ằ ế ủ ữ ể ồ ạ ộ ể ứ

tr c a chúng ph i đị ủ ả ược chuy n thành cùng ki u trể ể ước khi các phép toán gi a ửchúng được th c hi n ự ệ

2. Trình biên d ch sẽ th c hi n vi c chuy n ki u (convert) t đ ng đ n ki u c a ị ự ệ ệ ể ể ự ộ ế ể ủ

toán h ng có ki u l n nh t Vi c chuy n ki u này g i là thăng c p ki u (type ạ ể ớ ấ ệ ể ể ọ ấ ểpromotion)

Trang 68

1. Do 7/2 là phép chia nguyên nên k t qu không có ph n th p phân ế ả ầ ậ

2. Sau l nh trên result có giá tr là 3 Đ phép chia trên là phép chia s th c ta ệ ị ể ố ự

th c hi n ép ki u t s ho c m u s ho c c hai ự ệ ể ử ố ặ ẫ ố ặ ả

Trang 70

Nh p môn l p trình ậ ậ 70

Th o lu n ả ậ

Ngày đăng: 08/05/2021, 14:12

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm