Ngôn ngữ lập trình - Chương 1.4 (HUST)

LI
lienhejb
0 téléchargements
39
0

Contenu du document

Page 1

goupee.vn goupee.com Đại Học Bách Khoa Hà Nội Viện Điện Tử - Tin Học Ngôn ngữ lập trình C/C++ Chương 1: Ôn tập về C Hàm và cấu trúc chương trình cuu duong than cong . com fb.com/goupee.vn 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 2

goupee.vn goupee.com Các nội dung chính • Cấu trúc một chương trình • Hàm • Cách tổ chức chương trình • Một số loại biến đặc biệt trong chương trình cuu duong than cong . com fb.com/goupee.vn 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 3

goupee.vn goupee.com Cấu trúc một chương trình • Mô hình hướng chức năng main F1 F2 F3 F1.1 F1.2 cuu duong than cong . comF1.3 F2.1 F2.2 F2.3 F3.1 F3.2 fb.com/goupee.vn 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 4

goupee.vn goupee.com Cấu trúc một chương trình • VD: các chức năng của chương trình giải PT bậc 2 main Nhập các Tính Tính các hệ số delta nghiệm cuu duong than cong . com fb.com/goupee.vn 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 5

goupee.vn goupee.com Hàm • Khái niệm • Phân loại • Cấu trúc một hàm • Các thao tác cơ bản trên hàm cuu duong than cong . com fb.com/goupee.vn 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 6

goupee.vn goupee.com Hàm • Khái niệm: – Là một đơn vị chức năng của chương trình. Mỗi chức năng của chương trình được cài đặt bằng một hoặc nhiều hàm – Nên hàm còn được gọi là “chương trình con” • Phân loại: trong C phân làm 2 loại hàm: – Hàm maincuu duong than cong . com: là hàm chính của chương trình – Hàm con: là các hàm còn lại fb.com/goupee.vn 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 7

goupee.vn goupee.com Hàm • Cấu trúc của một hàm: gồm 2 phần – Phần đầu (header): lại gồm tên hàm, kiểu giá trị trả về (void hoặc một kiểu DL), và danh sách các tham số (có thể rỗng) – Phần thân (body): là khối lệnh chứa các lệnh cài đặt cho chức năng của hàm. float tinhDelta(float a, float b, float c) Header { float d; d = b*b – 4*a*c; Body return d; cuu duong than cong . com } fb.com/goupee.vn 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 8

goupee.vn goupee.com Hàm • Các thao tác cơ bản với hàm: – Định nghĩa hàm (definition) – Khai báo hàm (declaration) – Gọi hàm (call) cuu duong than cong . com fb.com/goupee.vn 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 9

goupee.vn goupee.com Định nghĩa hàm • Là phần cài đặt chi tiết cho một hàm • Mỗi hàm cần có một và chỉ một định nghĩa • Định nghĩa này có thể được đặt trước hoặc sau hàm main • Không cho phép đặt định nghĩa hàm này lồng trong định nghĩa của hàm khác, kể cả hàm main. • Khi định nghĩa một hàm cần phải xác định đầy đủ, chi tiết tất cả các thành phần của hàm đó, gồmcuu duong than cong . com phần đầu và phần thân của nó. fb.com/goupee.vn 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 10

goupee.vn goupee.com Định nghĩa hàm • Cú pháp: T tên_hàm (T1 v1, T2 v2, …) Header { Lệnh 1; Lệnh 2; Body … } cuu duong than cong . com fb.com/goupee.vn 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 11

goupee.vn goupee.com Định nghĩa hàm • Phần đầu hàm: cần xác định – Tên hàm – Kiểu dữ liệu trả về cho hàm (kiểu hàm) – Tên, kiểu dữ liệu cho các tham số, và kiểu tham số (đầu vào, đầu ra, hoặc cả hai) tham số vào Tên/Chức tham số ra / kiểu hàm cuu duong than cong . comnăng của hàm fb.com/goupee.vn 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 12

goupee.vn goupee.com Định nghĩa hàm • Lưu ý về tham số đầu ra: Trong C, tham số đóng vai trò đầu ra (hoặc vừa đầu vào vừa đầu ra, hoặc chỉ đầu ra) phải là kiểu con trỏ. cuu duong than cong . com fb.com/goupee.vn 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 13

goupee.vn goupee.com Định nghĩa hàm • Phần thân hàm: – Là khối lệnh chứa các lệnh xử lý cho phần đầu hàm – Có thể khai báo thêm các kiểu dữ liệu (biến/hằng) có phạm vi sử dụng cục bộ trong khối lệnh thân hàm – Các tham số trong phần đầu hàm được sử dụng như các dữ liệu cục bộ, nhưng cần chú ý thêm đến vai trò vào/ra của chúng – Phần này có thể chứa các lệnhcuu duong than cong . comreturn (có hoặc không có tham số) để thực hiện kết thúc khối lệnh (và có trả về giá trị cho hàm này nếu có tham số) fb.com/goupee.vn 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 14

goupee.vn goupee.com Một số ví dụ định nghĩa hàm • Định nghĩa hàm tính USCLN(a,b) //Cách 1: hàm có giá trị trả về int uscln(int a, int b){ while(a!=b) if(a>b) a -= b; else b -= a; return a;cuu duong than cong . com } fb.com/goupee.vn 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 15

goupee.vn goupee.com Một số ví dụ • Định nghĩa hàm tính USCLN(a,b) //Cách 2: hàm không có giá trị trả về void uscln(int a, int b, int* u){ while(a!=b) if(a>b) a -= b; else b -= a; *u = a;cuu duong than cong . com } fb.com/goupee.vn 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 16

goupee.vn goupee.com Một số ví dụ • Định nghĩa hàm tính tổng của một dãy a có n số //Cách 1: hàm có giá trị trả về float sum(float a[], int N){ int i; float sf=0; for (i=0;i<N;i++) sf += a[i]; return sf;cuu duong than cong . com } fb.com/goupee.vn 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 17

goupee.vn goupee.com Một số ví dụ • Định nghĩa hàm tính tổng của một dãy a có n số //Cách 2: hàm không có giá trị trả về void sum(float a[], int N, float* s){ int i; float sf=0; for (i=0;i<N;i++) sf += a[i]; *s = sf;cuu duong than cong . com } fb.com/goupee.vn 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 18

goupee.vn goupee.com Khai báo hàm • Là thao tác nhằm thông báo cấu trúc của phần đầu hàm trước khi gọi hàm đó • Cú pháp: T tên_hàm (T1 v1, T2 v2, …); Trong đó: Ti: kiểu tham số vi: tên tham số • Khai báo hàm nhằm 2 mục đích chính: – Đảm bảo việc gọi đúng hàm cần dùngcuu duong than cong . com – Giúp cho việc tìm và liên kết hàm dễ dàng hơn fb.com/goupee.vn 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 19

goupee.vn goupee.com Khai báo hàm • Một số lưu ý khi khai báo hàm: – Vị trí khai báo hàm tương tự như vị trí khai báo dữ liệu, và phạm vi của hàm cũng có hai loại cục bộ và toàn cục, phụ thuộc vào vị trí khai báo như dữ liệu – Thao tác này không bắt buộc phải có, nếu trước khi gọi hàm đã có phần định nghĩa của hàm này. Còn nếu để định nghĩa ở sau khi gọi hàm, hoặc để ở file khác thì cần phải có phần khai báo này – Khi khai báo thì tên của các tham số không quan trọng, và có thể bỏ đi, nhưng kiểu dữ liệu của chúng thì nhất định phải đầy đủ – Các tham số của hàm dùng khi định nghĩa/khai báo được gọi là tham số hình thứccuu duong than cong . com. Còn sau này khi gọi hàm, các tham số thực sẽ được sử dụng để thế chỗ cho các tham số hình thức này fb.com/goupee.vn 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Page 20

goupee.vn goupee.com Một số ví dụ khai báo hàm • int uscln(int a, int b); • int uscln(int , int ); • int uscln(int aa, int bb); • float sum(float a[], int n); • float sum(float[], int); cuu duong than cong . com fb.com/goupee.vn 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt

Affichage des 20 premières pages. Téléchargez le document pour le voir en entier.

Commentaires (0)

Se connecter pour rejoindre la discussion

Aucun commentaire pour le moment. Soyez le premier !