Chuong1 ontap c lap trinh ham

39 233 0
Chuong1 ontap c lap trinh ham

Đ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

Đạ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 C Hàm cấu trúc chương trình Các nội dung • • • • Cấu trúc 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 chương trình Cấu trúc chương trình • Mô hình hướng chức main F1 F1.1 F1.2 F2 F1.3 F2.1 F2.2 F3 F2.3 F3.1 F3.2 Cấu trúc chương trình • VD: chức chương trình giải PT bậc main Nhập hệ số Tính delta Tính nghiệm Hàm • • • • Khái niệm Phân loại Cấu trúc hàm Các thao tác hàm Hàm • Khái niệm: – Là đơn vị chức chương trình Mỗi chức chương trình cài đặt nhiều hàm – Nên hàm gọi “chương trình con” • Phân loại: C phân làm loại hàm: – Hàm main: hàm chương trình – Hàm con: hàm lại Hàm • Cấu trúc hàm: gồm phần – Phần đầu (header): lại gồm tên hàm, kiểu giá trị trả (void kiểu DL), danh sách tham số (có thể rỗng) – Phần thân (body): khối lệnh chứa lệnh cài đặt cho chức hàm float tinhDelta(float a, float b, float c) { float d; d = b*b – 4*a*c; return d; } Header Body Hàm • Các thao tác với hàm: – Định nghĩa hàm (definition) – Khai báo hàm (declaration) – Gọi hàm (call) Định nghĩa hàm • Là phần cài đặt chi tiết cho hàm • Mỗi hàm cần có định nghĩa • Định nghĩa đặt trước sau hàm main • Không cho phép đặt định nghĩa hàm lồng định nghĩa hàm khác, kể hàm main • Khi định nghĩa hàm cần phải xác định đầy đủ, chi tiết tất thành phần hàm đó, gồm phần đầu phần thân Định nghĩa hàm • Cú pháp: T tên_hàm (T1 v1, T2 v2, …) { Lệnh 1; Lệnh 2; … } Header Body 10 Ví dụ • Kết chạy chương trình: 25 Ví dụ 2: chương trình tính USCLN số #include #include //int uscln(int a, int b); //Khai báo hàm void uscln(int a, int b, int* u); //Khai báo hàm void main() { unsigned int x,y,u; printf("nhap so nguyen duong x, y : "); scanf("%u%u", &x,&y); //u = uscln(x,y); //Gọi hàm uscln(x,y,&u); //Gọi hàm printf("USCLN (%d,%d) = %u",x,y,u); getch(); }//end main int uscln(int a, int b){ //Định nghĩa hàm while(a!=b) if(a>b) a -= b; else b -= a; return a; } 26 Ví dụ • Kết chạy chương trình: 27 Tổ chức chương trình • Trong C ta tổ chức chương trình theo cách: – Tất phần chương trình nằm tệp – Chia phần chương trình nhiều tệp khác Khi có nhiều tệp chương trình, chúng thường tổ chức project 28 Tổ chức chương trình nhiều tệp • Mục đích việc tổ chức chương trình nhiều tệp: – Hỗ trợ việc phân chia chương trình thành modul nhỏ hơn, modul cài đặt tệp – Hỗ trợ việc phát triển chương trình theo nhóm gồm nhiều người lập trình, cần phải chia chương trình làm nhiều modul, người cần viết modul đó; sau đến cuối cần phải lắp ghép tất modul lại với để thành chương trình hoàn chỉnh – Hỗ trợ việc tái sử dụng thành phần chương trình cách thuận tiện, qua việc xây dựng tệp thư viện 29 Tổ chức chương trình nhiều tệp • Có loại tệp chủ yếu C: – Tệp chương trình nguồn (source file): thường có phần mở rộng “.c”: tệp chủ yếu chứa định nghĩa thành phần liệu hàm – Tệp phần đầu (header file): thường có phần mở rộng “.h”, tệp thường chứa khai báo liệu hay hàm 30 Ví dụ • Chương trình tính tổng dãy số, tìm USCLN tổng Chương trình tổ chức tệp: – main.c: chứa hàm main(), chứa lời gọi đến hàm tính tổng dãy số tính USCLN – myLib.c: chứa định nghĩa hàm tính tổng dãy số tính USCLN – myLib.h: chứa khai báo cho hàm tính tổng dãy số tính USCLN 31 Tệp main.c #include #include #include "myLib.h“ int main(int argc, char *argv[]) { //float sum(float [], int); float x[N] = {1,3,5,7,9,11}; float y[N] = {2,4,6,8,10,12}; float s1 = sum (x,N); float s2 = sum (y,N); printf("Tong cua day so =%.0f\n",s1); printf("Tong cua day so =%.0f\n",s2); printf("USCLN cua tong day = %d\n", uscln((int)s1,(int)s2)); system("PAUSE"); } 32 Tệp myLib.c //#include "myLib.h“ int uscln(int a, int b){ while(a!=b) if(a>b) a -= b; else b -= a; return a; } float sum(float a[], int n){ int i; float sf=0; for (i=0;i[...]... quả chạy chương trình: 27 Tổ ch c chương trình • Trong C ta c thể tổ ch c một chương trình theo 2 c ch: – Tất c c c phần c a chương trình nằm trên 1 tệp – Chia c c phần c a chương trình trên nhiều tệp kh c nhau Khi c nhiều tệp chương trình, thì chúng thường đư c tổ ch c trong một project 28 Tổ ch c chương trình trên nhiều tệp • M c đích c a vi c tổ ch c chương trình trên nhiều tệp: – Hỗ trợ vi c phân... 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ệnh return (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... ở 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 c 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 19 Một số ví dụ khai báo hàm • int uscln(int a,... hay c c hàm con 30 Ví dụ • Chương trình tính tổng c a 2 dãy số, rồi tìm USCLN c a 2 tổng đó Chương trình này đư c tổ ch c trên 3 tệp: – main .c: chứa hàm main(), trong đó chứa lời gọi đến c c hàm tính tổng 1 dãy số và tính USCLN – myLib .c: chứa định nghĩa c c hàm tính tổng 1 dãy số và tính USCLN – myLib.h: chứa khai báo cho c c hàm tính tổng 1 dãy số và tính USCLN 31 Tệp main .c #include #include... tái sử dụng c c thành phần c a chương trình một c ch thuận tiện, qua vi c xây dựng c c tệp thư viện 29 Tổ ch c chương trình trên nhiều tệp • C 2 loại tệp chủ yếu trong C: – Tệp chương trình nguồn (source file): thường c phần mở rộng là “ .c : là tệp chủ yếu chứa định nghĩa c a c c thành phần dữ liệu và hàm – Tệp phần đầu (header file): thường c phần mở rộng là “.h”, là tệp thường chứa c c khai báo... 6 int uscln(int a, int b); float sum(float [], int ); 34 C c loại biến đ c biệt • Biến kiểu static: là loại biến c phạm vi sử dụng giống như biến non-static thông thường (c thể c c bộ ho c toàn c c) , nhưng lại c vòng đời trong suốt vòng đời c a c chương trình • Biến kiểu extern: là biến ngoài (external), t c là khi c một biến toàn c c mà phạm vi sử dụng c a nó vượt ra ngoài tệp chính chứa nó,... 23 Tham số th c và tham số hình th c Tham số hình th c float sum(float [], int); //Khai báo hàm float sum(float a[], int n){ //Định nghĩa hàm int i; float sf=0; for (i=0;i

Ngày đăng: 20/06/2016, 14:59

Từ khóa liên quan

Mục lục

  • Ngôn ngữ lập trình C/C++

  • Các nội dung chính

  • Cấu trúc một chương trình

  • Slide 4

  • Hàm

  • Slide 6

  • Slide 7

  • Slide 8

  • Định nghĩa hàm

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Một số ví dụ định nghĩa hàm

  • Một số ví dụ

  • Slide 16

  • Slide 17

  • Khai báo hàm

  • Slide 19

  • Một số ví dụ khai báo hàm

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan