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

Bài giảng môn học Kỹ thuật lập trình C: Chương 1 - Đại học Kinh tế Luật

58 69 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

Định dạng
Số trang 58
Dung lượng 1,39 MB

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 giảng Kỹ thuật lập trình C - Chương 1: Tổng quan về lập trình cung cấp cho người học các kiến thức: Biến và khai báo biến, các phép toán, các hàm có sẵn của C, phát biểu điều kiện Phát biểu lặp, hàm. Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

Ch ươ ng 1

Trang 3

D  li uữ ệ

v D  li u đ u vào ữ ệ ầ

v D  li u đ u ra ữ ệ ầ

v D  li u trong quá trình x  lý ữ ệ ử

§ Ch ươ ng trình tính s  ti n nh n đ ố ề ậ ượ c khi g i ti t  ử ế

ki m ệ

Trang 5

Bi nế

v Bi n ế

năng ch a đ ứ ượ c m t giá tr  = m t d  li u ộ ị ộ ữ ệ

§ Đ ượ c khai báo và s  d ng đ  ch a  ử ụ ể ứ d  li u c a  ữ ệ ủ

Trang 7

64 bit, l u tr  các thông tin v  ngày tháng và th i gian ư ữ ề ờ Giá tr  m c đ nh : 1/1//0001 – 0:00:00 ị ặ ị

decimal S  th c có d u 128 bit (96 bit ph n nguyên và 32 bit ph n th p  ố ự ấ ầ ầ ậ

phân). Giá tr  m c đ nh : 0 ị ặ ị double S  th c có d u 64 bit ố ự ấ

Giá tr  m c đ nh : 0 ị ặ ị int S  nguyên có d u 32 bit [­231, 231) ố ấ

Giá tr  m c đ nh: 0 ị ặ ị string M ng các ký t  thu c ki u Char ả ự ộ ể

Giá tr  m c đ nh : Nothing (không ph i chu i r ng) ị ặ ị ả ỗ ỗ

Trang 8

M t s  v n đ  nâng caoộ ố ấ ề

v Ki u s  c p (đ n tr ) & Ki u đ i t ể ơ ấ ơ ị ể ố ượ ng (đa 

tr ) ị

v Tham chi u ế

v Ki u bi n do ng ể ế ườ ậ i l p trình t  đ nh nghĩa ự ị

v Khái ni m  ệ C u trúc d  li u  ấ ữ ệ c a ch ủ ươ ng 

trình

v Ki u m ng ể ả

Trang 11

v Hàm x  lý trên ki u d  li u chu i ử ể ữ ệ ỗ

v Hàm x  lý trên ki u d  li u ngày tháng ử ể ữ ệ

Trang 12

Phát bi u đi u ki nể ề ệ

if  (<đi u ki n> ) ề ệ {

   <Công vi c 1>; ệ }

else {

   <Công vi c 2>; ệ }

Trang 13

Phát bi u đi u ki nể ề ệ

Trang 14

Phát bi u đi u ki nể ề ệ

Trang 15

Toán t  3 ngôi

v Có d ng: ạ

  <Đi u ki n>  ề ệ ?  <Bi u th c 1>  ể ứ :  <Bi u th c  ể ứ

2>

N u <Đi u ki n> đúng thì <Bi u th c 1> th c  ế ề ệ ể ứ ự

hi n, ng ệ ượ ạ c l i <Bi u th c 2> th c hi n ể ứ ự ệ

v Là d ng rút g n c a if…else ạ ọ ủ

Trang 16

Phát bi u l a ch nể ự ọ

switch (<bi n c n ki m tra>)  ế ầ ể {

    case <giá tr  1>: ị

<công vi c 1>; ệ break;

    case <giá tr  2>: ị

<công vi c 2>; ệ break;

…     default:

<công vi c n u không thu c tr ệ ế ộ ườ ng h p nào    ợ ở trên>;

break;

}

Trang 17

Phát bi u l a ch nể ự ọ

Trang 18

Phát bi u l a ch nể ự ọ

Trang 22

● B3: N u k t qu  là  ế ế ả false  thì 

v Đ  thoát vòng l p: dùng ể ặ break

v Đ  k t thúc s m 1 vòng l p: dùng ể ế ớ ặ continue

v L nh trong while có th  không đệ ể ược th c hi n l n nàoự ệ ầ

Trang 24

− Exp2: là bi u th c đi u ki n ể ứ ề ệ

− Exp3:  bi u  th c  đi u  khi n  ể ứ ề ể

l p ặ

v Đ  thoát vòng l p: dùng ể ặ break

v Đ  k t thúc s m 1 vòng l p: dùng ể ế ớ ặ continue

Trang 28

Phát bi u l pể ặ

§ do  …  while:  phù  h p  v i  suy  nghĩ  t  nhiên  khi  ợ ớ ự

thi t k  thu t toán ế ế ậ

§ while: kh c ph c m t s  tr ng h p l i c a phát  ắ ụ ộ ố ườ ợ ỗ ủ

bi u  ể do … while

§ for: cách vi t ng n g n c a phát bi u  ế ắ ọ ủ ể while, s   ử

d ng khi đi u ki n l p ph  thu c vào bi n l p  ụ ề ệ ặ ụ ộ ế ặ

và s  l n l p có th  bi t tr ố ầ ặ ể ế ướ c

§ foreach: duy t đ i t ng trong t p danh sách ệ ố ượ ậ

Trang 29

Ø Hàm là m t kh i l nh th c hi n m t công  ộ ố ệ ự ệ ộ

vi c hoàn ch nh (module), đ ệ ỉ ượ c đ t tên và  ặ

đ ượ c g i th c thi nhi u l n t i nhi u v  trí   ọ ự ề ầ ạ ề ị

trong ch ươ ng trình.

Ø Hàm còn g i là ch ọ ươ ng trình con ,ph ươ ng 

th c, hành vi ứ

Trang 30

Ø Hàm  có  th   đ ể ượ c  g i  t   ch ọ ừ ươ ng  trình 

chính (hàm main) ho c t  1 hàm khác ặ ừ

Ø Hàm có giá tr  tr  v  ho c không. N u hàm  ị ả ề ặ ế

không  có  giá  tr   tr   v   g i  là  th   t c  ị ả ề ọ ủ ụ

(procedure)

Trang 33

Tham s  hình th c & tham s  th cố ứ ố ự

Ø Khi  hàm  c n  nh n  đ i  s   ( ầ ậ ố ố arguments)  đ  

th c  thi  thì  khi  khai  báo  hàm  c n  khai  báo  ự ầ danh  sách  các  tham  s   đ   nh n  giá  tr   t   ố ể ậ ị ừ

ch ươ ng trình g i. Các tham s  này đ ọ ố ượ c g i  ọ

Trang 34

Tham s  hình th c & tham s  th cố ứ ố ự

• Khi g i hàm, ta cung c p các giá tr  th t, các  ọ ấ ị ậ

giá tr  này s  đ ị ẽ ượ c sao chép vào các tham s   ố

hình  th c  và  các  giá  tr   th t  đ ứ ị ậ ượ c  g i  là  ọ

Trang 35

Truy n tham tr  và tham chi u trong hàmề ị ế

Truy n  tham  bi n:  Sau  khi  thoát  ề ế

kh i  hàm,  nó  s   l y  giá  tr   b   thay  ỏ ẽ ấ ị ị

đ i trong hàm (N b  đ i thành 8) ổ ị ổ

Trang 36

Truy n tham tr  và tham chi u trong hàmề ị ế

Truy n tham tr  (call by value) ề ị

Sao chép giá tr  ịc a đ i s ố ố  vào  tham s  

hình th c ứ  c a hàm. 

– Nh ng  thay  đ i  c a  tham  s   không  nh  ữ ổ ủ ố ả

h ưở ng đ n giá tr  c a đ i s   ế ị ủ ố ố

Trang 37

Truy n tham tr  và tham chi u trong hàmề ị ế

• Truy n tham chi u  ề ế (call by reference)

– Sao chép đ a ch   ị ỉ c a đ i s  vào tham s   ủ ố ố ố hình  th c.  Do  đó,  nh ng  thay  đ i  đ i  v i  ứ ữ ổ ố ớ tham s  s  có tác d ng trên đ i s ố ẽ ụ ố ố

• S  d ng t  khoá  ử ụ ừ ref  ho c  ặ out

• Tham s  ki u đa tr  (m ng, đ i t ố ể ị ả ố ượ ng…) 

m c đ nh là truy n theo tham chi u (t c là  ặ ị ề ế ứ

không c n dùng t  khóa  ầ ừ ref  ho c  ặ out )

Trang 38

Truy n tham tr  và tham chi u trong hàmề ị ế

int b = TangSo(out a);

v K t qu ế ả

§ a = 11

§ b = 11

Trang 39

Hàm đ  qui

v Thu t toán đ  qui ậ ệ

§ Gi i bài toán b ng cách rút g n liên ti p bài toán  ả ằ ọ ế

ban đ u thành bài toán cũng t ầ ươ ng t  nh ng có  ự ư

d  li u đ u vào nh  h n ữ ệ ầ ỏ ơ

Trang 41

Đ  qui tuy n tínhệ ế

Trong thân ha m co  duy nhâ t môt l i goi ha m goi lai ̀ ́ ́ ̣ ờ ̣ ̀ ̣ ̣

chi nh nó ́

môt ca ch ṭ ́ ường minh:

<Kiêu d  liêu ha m>̉ ữ ̣ ̀  TenHam (<danh sa ch tham sô >)́ ́

Trang 43

Đ  qui nh  phânệ ị

Trong thân cua ha m co  hai l i goi ha m goi lai chi nh  ̉ ̀ ́ ơ ̀ ̣ ̀ ̣ ̣ ́

no  môt ca ch t ́ ̣ ́ ươ ̀ ng minh:

<Kiêu d  liêu ha m>̉ ữ ̣ ̀  TenHam (<danh sa ch tham sô >)́ ́

//Th c hiên môt sô  công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́

. . .TenHam (<danh sa ch tham sô >); ́ ́ //Giai quyê t vâ n đê  nho h n ̉ ́ ́ ̀ ̉ ơ

//Th c hiên môt sô  công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́

. . . TenHam (<danh sa ch tham sô >); //Giai quyê t vâ n đê  co n ́ ́ ̉ ́ ́ ̀ ̀laị

//Th c hiên môt sô  công viêc (nê u co )ự ̣ ̣ ́ ̣ ́ ́

}

Trang 44

Đ  qui nh  phânệ ị

Vi  du: Ti nh sô  hang th  n cua da y Fibonaci đ ́ ̣ ́ ́ ̣ ư ́ ̉ ̃ ượ c 

đinh nghi a nh  sau: ̣ ̃ ư

Trang 47

Đ  qui tệ ương h

Trong thân cua ha m na y co  l i goi ha m đê n ha m  ̉ ̀ ̀ ́ ơ ̀ ̣ ̀ ́ ̀

kia va  trong thân cua ha m kia co  l i goi ha m t i  ̀ ̉ ̀ ́ ơ ̀ ̣ ̀ ơ ́

ha m na y ̀ ̀

Trang 48

Đ  qui tệ ương h

<Kiêu d  liêu ha m>̉ ữ ̣ ̀  TenHam2 (<danh sa ch tham sô >);́ ́

<Kiêu d  liêu ha m>̉ ữ ̣ ̀  TenHam1 (<danh sa ch tham sô >)́ ́

Trang 49

­ Điê u kiên d ng:X(0) = Y(0) = 1.̀ ̣ ừ

long  TinhXn  (int n)

Trang 50

C  ch  ho t đ ng c a Đ  quiơ ế ạ ộ ủ ệ

Ø Ho t đ ng theo c  ch  LIFO (LAST IN FIRST  ạ ộ ơ ế

OUT)

Ø Dùng stack đ  l u v t d  li u và ch  th  l nh ể ư ế ữ ệ ỉ ị ệ

Trang 51

C  ch  ho t đ ng c a Đ  quiơ ế ạ ộ ủ ệ

Ø Minh h a Đ  qui giai th a ọ ệ ừ

Ví d  tính n! v i n=3 ụ ơ ́

Trang 52

C  ch  ho t đ ng c a Đ  quiơ ế ạ ộ ủ ệ

Ø Minh h a Đ  qui chuy n c  s  10 sang c  s  2 ọ ệ ể ơ ố ơ ố

Trang 53

C  ch  ho t đ ng c a Đ  quiơ ế ạ ộ ủ ệ

Ø Minh h a Đ  qui Fibonacci ọ ệ

long Fibonaci (int n) {

if(n==0 || n==1) return 1;

return Fibonaci(n­1) +          Fibonaci(n­2);

Trang 54

C  ch  ho t đ ng c a Đ  quiơ ế ạ ộ ủ ệ

Ø Minh h a Đ  qui Tháp Hà N i ọ ệ ộ

Trang 55

C  ch  ho t đ ng c a Đ  quiơ ế ạ ộ ủ ệ

Ø Minh h a Đ  qui Tháp Hà N i ọ ệ ộ

Trang 56

Kh  đ  quiử ệ

Ø Nh ng  gi i  thu t  có  th   cài  đ t  đ ữ ả ậ ể ặ ượ c  b ng  các  ằ

vòng l p thay th  cho đ  qui thì nên dùng vòng l p,  ặ ế ệ ặ

vì đ  qui r t t n b  nh , x  lý ch m ệ ấ ố ộ ớ ử ậ

Ø Hãy kh  đ  qui tính giai th a ử ệ ừ

Ø Hãy kh  đ  qui tính s  fibonacci ử ệ ố

Trang 58

END

Ngày đăng: 11/01/2020, 20:21

TỪ KHÓA LIÊN QUAN

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