Bài giảng Kỹ thuật lập trình C: Chương 5 - ThS. Trần Quang Hải Bằng
Số trang: 15
Loại file: pdf
Dung lượng: 279.56 KB
Lượt xem: 1
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Sau khi học xong chương 5 Xây dựng hàm nằm trong bài giảng kỹ thuật lập trình C nhằm trình bày về các nội dung chính: khái niệm hàm, ví dụ hàm, hàm trong C, các khái niệm về hàm, biến toàn cục, biến cục bộ, biến cục bộ động và tĩnh.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình C: Chương 5 - ThS. Trần Quang Hải Bằng K THU T L P TRÌNH C Chương 5: Xây d ng hàmbangtqh@hotmail.com 04/2010Khái ni m hàm (function)• Hàm (function) là m t dãy các l nh nh m th c hi n m t công vi c nào đó, thư ng đư c s d ng nhi u l n• Ví d – Hàm tính sin, cos, tan, … trong toán h c – Hàm tính max, min, TBC, TBN c a dãy s , …• M t chương trình C là m t dãy các hàm, trong đó có m t hàm chính, ñư c đ t tên là main• Trong C không ch p nh n khái ni m hàm l ng trong hàmbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 2 04/2010Ví d hàm trong C #include #include float max2so(float a, float b); /* Nguyên m u c a hàm */ void main() /* b t đ u hàm chính */ { float x, y; printf(“Nh p vào 2 s : ”); scanf(“%f%f”, &x, &y); printf(“Giá tr l n nh t c a %f và %f là %f\n”, x, y, max2so(x, y)); getch(); } /* k t thúc hàm main */ /* đ nh nghĩa hàm max2so */ float max2so(float a, float b) { float max; /* khai báo bi n c c b */ max = a > b ? a : b; return max; }bangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 3 04/2010Hàm trong C• Đ nh nghĩa hàm – Cú pháp ki u_d _li u_tr _v _c a_hàm TÊNHÀM ([khai_báo_các_tham_s ]) { /* các khai báo dùng riêng bên trong hàm n u có; */ /* các l nh bên trong hàm; */ [return giá_tr _tr _v ;] } – Đ nh nghĩa hàm có th ñ t trư c ho c sau hàm main • N u đ nh nghĩa hàm đ t sau hàm main thi ph i khai báo nguyên m u hàm (prototype) ñ u chương trình • Nên đ nh nghĩa hàm sau hàm main và khai báo nguyên m u hàmbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 4 04/2010Hàm trong C• Đ nh nghĩa hàm – Ki u d li u tr v c a hàm và ki u d li u tham s là ki u d li u chu n ho c do ngư i l p trình đ nh nghĩa – Tên hàm và tên tham s ñ t theo quy t c tên bi n – Câu l nh return là tùy ch n • N u hàm không tr v giá tr , thì không c n có l nh return • N u hàm tr v giá tr thì b t bu c ph i có l nh return, trong trư ng h p này giá tr tr v ph i có cùng ki u v i ki u d li u tr v c a hàm – N u hàm không tr v giá tr thì khai báo ki u tr v c a hàm là void – N u hàm không có tham s hình th c có th s d ng t khóa void, ho c không khai báo gì cbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 5 04/2010Hàm trong C• Lưu ý – Không cho phép đ nh nghĩa m t hàm bên trong hàm khác – Các tham s hình th c và các bi n đ nh nghĩa bên trong hàm (bi n c c b ) ch đư c s d ng bên trong hàm đó• Bài t p ví d – Vi t hàm ki m tra 3 s th c có là 3 c nh c a tam giác – M r ng: n u là 3 c nh tam giác thì xác đ nh đó là tam giác gì (cân, vuông, đ u)bangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 6 04/2010Hàm trong C• L i g i hàm – Hàm đư c s d ng thông qua l i g i hàm – Cú pháp: tên_hàm ( [danh sách các tham s th c] ); – C n phân bi t • Tham s hình th c hay ñ i: xu t hi n trong đ nh nghĩa hàm • Tham s th c: xu t hi n trong l i g i hàm – Ví d max2so(12, 341); – Lưu ý • S tham s th c ph i b ng s tham s hình th c • Ki u các tham s th c ph i phù h p v i ki u c a các tham s hình th cbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 7 04/2010Hàm trong C• Ví d : vi t hàm tính giá tr n! #include #include long giai_thua(int n); /* nguyên m u hàm */ void main(){ int n; long gt; printf(\nn = ); scanf(%d, &n); /* Đ c s n */ gt = giai_thua(n); /* g i hàm tính giai th a */ printf(\n n! = %ld\n, gt); /* In ra k t qu */ getch(); } long giai_thua(int n) { int i; long gt = 1; if (n < 0) gt = 0; else for (i=2; i 04/2010Hàm - các khái ni m• Tên hàm• Ki u giá tr tr v c a hàm• Đ i hay tham s hình th c• Thân hàm• Nguyên m u hàm / khai báo hàm• L i g i hàm• Tham s th cbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 9 04/2010Bi n toàn c c, bi n c c b• Bi n toàn c c: đư c khai báo bên ngoài thân hàm, thư ng ñ u chương trình• Bi n c c b : đư c khai báo bên trong thân hàm• Ph m vi ho t đ ng – Bi n toàn c c đư c s d ng k t v trí khai báo đ n cu i chương trình – Bi n c c b ch ñư c s d ng bên trong hàm đó.• Th i gian s ng – Bi n toàn c c b h y khi chương trình k t thúc – Sau khi hàm k t thúc ho t đ ng thì các tham s hình th c và các bi n c c b s b h ybangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 10 04/2010Bi n toàn c c, bi n c c b• Ví d #include #include int i; /* Bi n toàn c c */ void vi_du(void); void main(){ for(i=1; i ...
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình C: Chương 5 - ThS. Trần Quang Hải Bằng K THU T L P TRÌNH C Chương 5: Xây d ng hàmbangtqh@hotmail.com 04/2010Khái ni m hàm (function)• Hàm (function) là m t dãy các l nh nh m th c hi n m t công vi c nào đó, thư ng đư c s d ng nhi u l n• Ví d – Hàm tính sin, cos, tan, … trong toán h c – Hàm tính max, min, TBC, TBN c a dãy s , …• M t chương trình C là m t dãy các hàm, trong đó có m t hàm chính, ñư c đ t tên là main• Trong C không ch p nh n khái ni m hàm l ng trong hàmbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 2 04/2010Ví d hàm trong C #include #include float max2so(float a, float b); /* Nguyên m u c a hàm */ void main() /* b t đ u hàm chính */ { float x, y; printf(“Nh p vào 2 s : ”); scanf(“%f%f”, &x, &y); printf(“Giá tr l n nh t c a %f và %f là %f\n”, x, y, max2so(x, y)); getch(); } /* k t thúc hàm main */ /* đ nh nghĩa hàm max2so */ float max2so(float a, float b) { float max; /* khai báo bi n c c b */ max = a > b ? a : b; return max; }bangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 3 04/2010Hàm trong C• Đ nh nghĩa hàm – Cú pháp ki u_d _li u_tr _v _c a_hàm TÊNHÀM ([khai_báo_các_tham_s ]) { /* các khai báo dùng riêng bên trong hàm n u có; */ /* các l nh bên trong hàm; */ [return giá_tr _tr _v ;] } – Đ nh nghĩa hàm có th ñ t trư c ho c sau hàm main • N u đ nh nghĩa hàm đ t sau hàm main thi ph i khai báo nguyên m u hàm (prototype) ñ u chương trình • Nên đ nh nghĩa hàm sau hàm main và khai báo nguyên m u hàmbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 4 04/2010Hàm trong C• Đ nh nghĩa hàm – Ki u d li u tr v c a hàm và ki u d li u tham s là ki u d li u chu n ho c do ngư i l p trình đ nh nghĩa – Tên hàm và tên tham s ñ t theo quy t c tên bi n – Câu l nh return là tùy ch n • N u hàm không tr v giá tr , thì không c n có l nh return • N u hàm tr v giá tr thì b t bu c ph i có l nh return, trong trư ng h p này giá tr tr v ph i có cùng ki u v i ki u d li u tr v c a hàm – N u hàm không tr v giá tr thì khai báo ki u tr v c a hàm là void – N u hàm không có tham s hình th c có th s d ng t khóa void, ho c không khai báo gì cbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 5 04/2010Hàm trong C• Lưu ý – Không cho phép đ nh nghĩa m t hàm bên trong hàm khác – Các tham s hình th c và các bi n đ nh nghĩa bên trong hàm (bi n c c b ) ch đư c s d ng bên trong hàm đó• Bài t p ví d – Vi t hàm ki m tra 3 s th c có là 3 c nh c a tam giác – M r ng: n u là 3 c nh tam giác thì xác đ nh đó là tam giác gì (cân, vuông, đ u)bangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 6 04/2010Hàm trong C• L i g i hàm – Hàm đư c s d ng thông qua l i g i hàm – Cú pháp: tên_hàm ( [danh sách các tham s th c] ); – C n phân bi t • Tham s hình th c hay ñ i: xu t hi n trong đ nh nghĩa hàm • Tham s th c: xu t hi n trong l i g i hàm – Ví d max2so(12, 341); – Lưu ý • S tham s th c ph i b ng s tham s hình th c • Ki u các tham s th c ph i phù h p v i ki u c a các tham s hình th cbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 7 04/2010Hàm trong C• Ví d : vi t hàm tính giá tr n! #include #include long giai_thua(int n); /* nguyên m u hàm */ void main(){ int n; long gt; printf(\nn = ); scanf(%d, &n); /* Đ c s n */ gt = giai_thua(n); /* g i hàm tính giai th a */ printf(\n n! = %ld\n, gt); /* In ra k t qu */ getch(); } long giai_thua(int n) { int i; long gt = 1; if (n < 0) gt = 0; else for (i=2; i 04/2010Hàm - các khái ni m• Tên hàm• Ki u giá tr tr v c a hàm• Đ i hay tham s hình th c• Thân hàm• Nguyên m u hàm / khai báo hàm• L i g i hàm• Tham s th cbangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 9 04/2010Bi n toàn c c, bi n c c b• Bi n toàn c c: đư c khai báo bên ngoài thân hàm, thư ng ñ u chương trình• Bi n c c b : đư c khai báo bên trong thân hàm• Ph m vi ho t đ ng – Bi n toàn c c đư c s d ng k t v trí khai báo đ n cu i chương trình – Bi n c c b ch ñư c s d ng bên trong hàm đó.• Th i gian s ng – Bi n toàn c c b h y khi chương trình k t thúc – Sau khi hàm k t thúc ho t đ ng thì các tham s hình th c và các bi n c c b s b h ybangtqh@hotmail.com K thu t l p trình C - Xây d ng Hàm 10 04/2010Bi n toàn c c, bi n c c b• Ví d #include #include int i; /* Bi n toàn c c */ void vi_du(void); void main(){ for(i=1; i ...
Tìm kiếm theo từ khóa liên quan:
Xây dựng hàm Biến cục bộ Biến toàn diện Kỹ thuật lập trình C Lập trình C Ngôn ngữ lập trình CGợi ý tài liệu liên quan:
-
101 trang 199 1 0
-
Tìm hiểu về ngôn ngữ lập trình C: Phần 1 - Quách Tuấn Ngọc
211 trang 149 0 0 -
161 trang 129 1 0
-
Giáo trình Kỹ thuật lập trình C: Căn bản & nâng cao - Phần 1
202 trang 126 0 0 -
Hướng dẫn thực hành lập trình C trên Visual Studio
9 trang 125 0 0 -
Giáo trình Vi điều khiển PIC: Phần 1
119 trang 116 0 0 -
Bài giảng Phương pháp lập trình: Chương 9 - GV. Từ Thị Xuân Hiền
36 trang 109 0 0 -
Giáo trình Ngôn ngữ lập trình C căn bản
142 trang 98 0 0 -
Đồ án vi xử lý đề tài : nghiên cứu thiết kế mạch đo khoảng cách sử dụng vi điều khiển Pic 16F887
45 trang 96 1 0 -
Giáo trình kỹ thuật lập trình C part 9
22 trang 92 0 0