1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài giảng Ngôn ngữ lập trình C - Chương 6: Hàm và cấu trúc chương trình

34 119 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 34
Dung lượng 283,27 KB

Nội dung

Nối tiếp nội dung chương 5 của Bài giảng Ngôn ngữ lập trình C chương 6 sẽ tiếp tục giới thiệu đến bạn đọc về hàm và cấu trúc chương trình, quy tắc xây dựng một hàm, các khái niệm liên quan đến hàm, cách xây dựng hàm, con trỏ và địa chỉ. Hy vọng, đây là tài liệu tham khảo hữu ích dành cho các bạn.

Trang 2

Các dòng ti p theo dùng  ế đ  khai báo ki u giá  ể ể

tr  c a  ị ủ đ i s Và b t bu c ph i khai báo ki u  ố ố ắ ộ ả ể giá tr  cho t t c  các  ị ấ ả đ i s ố ố

Cú pháp chung c a l nh return ủ ệ

return ([Bi u th c]); ể ứ

Giá tr  c a bi u th c trong ngo c s   ị ủ ể ứ ặ ẽ đư c  ợ gán cho hàm.

Trang 3

2 Quy t c ho t ắ ạ đ ng c a hàmộ ủ

Cách g i hàm:ọ

tên_hàm([Danh sách tham s  th c]);ố ựChú ý: 

­ S   tham  s   th c  ph i  b ng  v i  s   tham ố ố ự ả ằ ớ ố

s  hình th c (ố ứ đ i) và m i tham s  th c ph i ố ỗ ố ự ả

có cùng ki u v i giá tr  nhể ớ ị ư ki u giá tr  c a ể ị ủ

đ i tố ương  ng c a nó.ứ ủ

­ V   nguyên  t c  m i  hàm  c n ề ắ ọ ầ đư c  khái ợbáo  trư c  khi  s   d ng  nó.  Nó  hoàn  toàn ớ ử ụ

gi ng v i vi c khai báo m t bi n.ố ớ ệ ộ ế

Trang 4

Ví d :ụ

Vi t chế ương trình tìm s  l n nh t và nh  nh t ố ớ ấ ỏ ấ

c a t ng c t trong ma tr n, có s  d ng hàm tìm ủ ừ ộ ậ ử ụmax, tìm min

Trang 5

clrscr();

Trang 6

  }

Trang 7

return 0;

}

Trang 9

­ Khi xây d ng hàm c n n m v ng nh ng qui  ự ầ ắ ữ ữ đ nh  ị

v  m i quan h  gi a: tham s  th c và tham s  hình  ề ố ệ ữ ố ự ố

th c ( ứ đ i) cũng nh ố ư các đ i trong thân c a hàm ố ủ

Trang 10

­ Đ i v i hàm không cho giá tr  thì chúng ta  ố ớ ị không c n khai báo ki u giá tr  c a nó ầ ể ị ủ

­ Đ i  v i  các  hàm  có  giá  tr   mà  ta  quên  ố ớ ị

đ i  v i  hàm  có  gái  tr   ki u  nguyên  thì  ố ớ ị ể

­ Khi g p l nh return có ch a bi u th c, thì  ặ ệ ứ ể ứ giá  tr   c a  bi u  th c  bao  gi   cũng  ị ủ ể ứ ờ đư c  ợ chuy n v  theo ki u giá tr  c a hàm tr ể ề ể ị ủ ư c  ớ

Trang 11

 Nguyên t c ho t  ắ ạ đ ng c a tham s  th c, các  ộ ủ ố ự đ i và các  ố

bi n c c b ế ụ ộ

­ Do đ i và bi n c c b   ố ế ụ ộ đ u có ph m vi ho t  ề ạ ạ đ ng trong  ộ cùng m t hàm nên  ộ đ i và bi n c c b  c n có tên khác  ố ế ụ ộ ầ nhau.

­ Đ i và bi n c c b   ố ế ụ ộ đ u là bi n t   ề ế ự đ ng. Chúng  ộ đư c  ợ cung c p b  nh  khi hàm  ấ ộ ớ đư c kh i  ợ ở đ ng và chúng s   ộ ẽ

l p t c bi n m t khi máy ra kh i hàm. Nh ậ ứ ế ấ ỏ ư v y, không  ậ

th  mang giá tr  c a  ể ị ủ đ i ra kh i hàm. Đi u này có nghĩa  ố ỏ ề

là  không  th   s   d ng  ể ử ụ đ i  ố đ   làm  thay  ể đ i  giá  tr   c a  ổ ị ủ

b t k  m t  ấ ỳ ộ đ i l ạ ư ng nào   ngoài hàm ợ ở

­ Khi m t hàm  ộ đư c g i t i, vi c  ợ ọ ớ ệ đ u tiên là gái tr  c a  ầ ị ủ các tham s  th c  ố ự đư c gán cho các  ợ đ i. Nh ố ư v y, các  ậ

đ i chính là b n sao c a các tham s  th c. Hàm ch  làm  ố ả ủ ố ự ỉ

vc c trên các  ệ đ i, t c là ch  làm vi c trên các b n sao  ố ứ ỉ ệ ả này. Các đ i có t  b  bi n  ố ể ị ế đ i nh ổ ưng các tham s  th c  ố ự (các b n chính) không h  b  thay  ả ề ị đ i ổ

Trang 12

II Con tr  và ỏ đ a chị ỉ

Trang 13

Chúng ta cũng có th  hi u: Đ a ch  c a bi n là ể ể ị ỉ ủ ế

s  th  t  c a byte ố ứ ự ủ đ u tiên trong m t dãy các byte ầ ộliên ti p nhau mà máy dành cho bi n.ế ế

C n  chú  ý  r ng:  Đ a  ch   c a  bi n  là  m   s  ầ ằ ị ỉ ủ ế ộ ốnguyên  nhưng  không  đư c ợ đánh  đ ng  nó  v i  các ồ ớ

s  nguyên thông thố ư ng trong các phép tínhờ

Phép toán

&x cho ta đ a ch  c a bi n xị ỉ ủ ế

Trang 14

2 Con tr  ỏ

Con tr  là m t bi n dùng ỏ ộ ế đ  ch a ể ứ đ a ch  Vì có ị ỉnhi u  lo i ề ạ đ a  ch   nên  cũng  có  b y  nhiêu  ki u ị ỉ ấ ểcon tr  tỏ ương  ng.ứ

Ví d :ụ

Con tr  ki u int dùng ỏ ể đ  ch a ể ứ đ a ch  các ị ỉ

bi n ki u int.ế ểCũng  như  bi n  thì  con  tr   cũng  c n  ph i ế ỏ ầ ả đ oc ựkhai báo trư c khi s  d ng.ớ ử ụ

Cú pháp khai báo:

type *tên_con_trỏ   

Ví d :ụ

int x,y,*px,*py

Trang 15

Toán t : & và * là các toán t  m t ngôi, nó ch  tác  ử ử ộ ỉ đ ng  ộ lên bi n, ph n t  c a m ng ho c chu i ế ầ ử ủ ả ặ ỗ

&: Toán t  l y  ử ấ đ i ch  c a bi n ạ ỉ ủ ế

*: Toán t  l y giá tr  t i  ử ấ ị ạ đ a ch  nào  ị ỉ đó.

Các toán t  này có  ử đ   ộ ưu tiên hơn các toán t  s  h c và  ử ố ọ

có đ   ộ ưu tiên tương đương v i toán t  m t ngôi ớ ử ộ

3 Các bi u th c con tr : ể ứ ỏ

p2=p1;

Trang 16

p= p+3: Nh y  ả đ n  ế đ a ch  cách p là 3*Sizeof(p) ị ỉ Trong bi u th c ta có th  dùng các d ng sau c a m t bi n  ể ứ ể ạ ủ ộ ế con tr  p: ỏ

(*p)++,++(*p):Tăng giá tr  t i p lên 1 ị ạ

*(p++): l y gía tr  ph n t  k  ti p tr  b i p, ấ ị ầ ử ế ế ỏ ở

Trang 17

M i thành ph n c a cùng m t khai báo (bi n, ọ ầ ủ ộ ế

ph n t  m ng, hàm, con tr ) khi xu t hi n trong ầ ử ả ỏ ấ ệ

bi u th c ể ứ đ u có cùng m t ki u giá tr ề ộ ể ị

Ví d :ụ

int a, b[5], f(), *p;

Thì a, b[i], f(x) ho  *p xu t hi n trong m t ặ ấ ệ ộ

bi u ể th c thì chúng luôn luôn cho m t gia tr  ứ ộ ị

ki u ể float

Trang 18

5. Hàm có đ i con tr :ố ỏ

N u ế đ i là con tr  thì tham s  th c tố ỏ ố ự ương  ng ứ

ph i là ả đ a ch  c a bi n ho c ị ỉ ủ ế ặ đ a ch  c a ph n t  ị ỉ ủ ầ ử

m ng có ki u tả ể ương  ng.ứ

Khi đó đ a ch  c a bi n ị ỉ ủ ế đư c truy n cho ợ ề đ i con ố

tr  tỏ ương  ng.ứ

Ví d :ụ

Trang 19

#include "stdio.h"int swap(x,y)

Trang 20

return 0;

}

Trang 21

#include "stdio.h"swap(x,y)

Trang 22

printf("\nx = %d    y = %d",x,y); getch();

return 0;

}

Trang 23

Vi t chế ương trình gi i phuả ơng trình b c hai có ậ

s  ử d ng  con  tr  ụ ỏ đ   xây  d ng  hàm  gi i ể ự ảphương trình

Trang 24

}

Trang 25

printf("\nKhong phai la phuong trinh bac 2 vi a=0");

Trang 26

getch();

return 0;

}

Trang 27

m ng a, ả đi u này có nghĩa p = &a[0]ề

Khi đó các bi u th c sau là tể ứ ương đương nhau:

*p  a[0]

*(p+i)  a[i]

p+i  &a[i]

p=p+1  *pa=a[4]

Trang 28

Vi c khai báo m ng là ệ ả đ a ch  c a m ng ị ỉ ủ ả đư c c p ợ ấ

rõ  ràng  và  đ   kích  thủ ư c, ớ đ a  ch   này  không  thay ị ỉ

đ i. Tên m ng ổ ả đư c xem nhợ ư m t h ng ộ ằ đ a chị ỉ

Vi c  khai  báo  con  tr   thì  v   trí ệ ỏ ị đư c  c p  là  ch  ợ ấ ổ

c a con tr   , còn v  trí con tr  tr  ủ ỏ ở ị ỏ ỏ đ n là tu  ý, và ế ỳ

nó ch  trao ỉ đ i ổ đ a ch , giá tr  khi nó ị ỉ ị đã có đ a ch ị ỉ

Ví  d :  Vi t  chụ ế ương  trình  nh p  vào  m ng  m t ậ ả ộchi u dề ư i d ng con tr ớ ạ ỏ

Trang 29

   }

Trang 30

}

Trang 31

IV Con tr  và m ng nhi u chi uỏ ả ề ề

Vi c x  lý m ng nhi u chi u ph c t p hệ ử ả ề ề ứ ạ ơn so 

v i m ng m t chi u. Vì không ph i m i quy ớ ả ộ ề ả ọ

t c c a m ng m t chi u có th  áp d ng ắ ủ ả ộ ề ể ụ đư c ợ

v i m ng nhi u chi u. B i nh ng lý do sau:ớ ả ề ề ở ữ

 Phép  toán  l y ấ đ a  ch   không  dùng ị ỉ đư c ợ

đ i  v i  các  ph n  t   c a  m ng  nhi u ố ớ ầ ử ủ ả ềchi u.ề

 M ng nhi u chi u thì các ph n t  ả ề ề ầ ử đư c ợ

b   trí  liên  ti p  nhau  trong  b   nh   h t ố ế ộ ớ ếhàng  này  đ n  hàng  khác.  Nhế ưng  không 

th   s   dung  phép  toán  a+i ể ử đ   nh p  s  ể ậ ố

li u cho ph n t  c a m ng nhi u chi u.ệ ầ ử ủ ả ề ề

Trang 32

Tuy nhiêu chúng ta có th  dùng con tr  ể ỏ đ  truy ể

c p ậ đ n t ng ph n t  c a m ng nhi u chi u, v i ế ừ ầ ử ủ ả ề ề ớ

s  ố đ a ch  b ng v i s  ph n t  trong m ng nhi u ị ỉ ằ ớ ố ầ ử ả ềchi u.ề

Ví d : ụ

Vi t chế ương trình nh p vào m t ma trân 3 dòng ậ ộ

3 c t và xác ộ đ nh ph n ph n t  l n nh t trong ma ị ầ ầ ử ớ ấtrân ch  s  d ng con tr , không dùng m ng.ỉ ử ụ ỏ ả

Trang 34

}

Ngày đăng: 30/01/2020, 05:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w