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
Số trang: 34
Loại file: ppt
Dung lượng: 350.00 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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.
Nội dung trích xuất từ tài liệu:
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 CHƯƠNGVI HÀMVÀCẤUTRÚCCHƯƠNGTRÌNHI. Hàm1. Quytắcxâydựngmộthàm: Hàm có thể xem là một đơn vị độc lập của chương trình. Các hàm có vai trò ngang nhau, vì vậykhôngchophépxâydựngmộthàmbêntrong mộthàmkhác. Dòngđầutiên(củamộthàm)chứacácthôngtinvề hàm: Kiểugiátrịcủahàm(nếuhàmcógiátrị) Tênhàm Danhsáchcácđốisố(nếucó)Cácdòngtiếptheodùngđểkhaibáokiểugiátrịcủađốisố.Vàbắtbuộcphảikhaibáokiểugiátrịchotấtcảcácđốisố.Tiéptheolàthânhàm.Thânhàmlànộidungchínhcủahàmnóbắtđầubằngdấu{vàkếtthúc}Trongthânhàmcóthểdùng1hoặcnhiềulệnhreturnhoặccóthểkhôngdùng.Vàcóthểđặtchúngởbấtkỳchỗnàonếuthấythíchhợp.Cúphápchungcủalệnhreturn return([Biểuthức]); Giátrịcủabiểuthứctrongngoặcsẽđược gánchohàm.2. Quytắchoạtđộngcủahàm Cáchgọihàm: tên_hàm([Danhsáchthamsốthực]); Chúý: Số tham số thực phải bằng với số tham sốhìnhthức(đối)vàmỗithamsốthựcphải cócùngkiểuvớigiátrịnhưkiểugiátrịcủa đốitươngứngcủanó. 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ốngvớiviệckhaibáomộtbiến.Vídụ: Viếtchươngtrìnhtìmsốlớnnhấtvànhỏnhất củatừngcộttrongmatrận,cósửdụnghàmtìm max,tìmmin. #includestdio.h intmax(a,b) inta,b; { intm; m=a>b?a:b; return(m); }intmin(a,b)inta,b;{intm;m=a for(i=0;ifor(j=0;j3.Cáckháiniệmliênquanđếnhàm: Tênhàm Kiểugiátrịcủahàm Đốihaythamsốhìnhthức Thânhàm Kháibáohàm Lờigọihàm Thamsốthực4. Cáchxâydựnghàm [type]tên_hàm([Danhsáchđốisố]) [Khaibáokiểugiátrịchotấtcảcácđối] { [Cáckhaibáokiểugiátrịchocácbiếncụcbộvà các hàmnósửdụng] [return([Biểuthức]);] } Chúý: Khi xây dựng hàm cần nắm vững những qui định vềmốiquanhệgiữa:thamsốthựcvàthamsốhình thức(đối)cũngnhưcácđốitrongthâncủahàm Đốivớihàmkhôngchogiátrịthìchúngta khôngcầnkhaibáokiểugiátrịcủanó. Đối với các hàm có giá trị mà ta quên khôngkhaibáokiểugiátrịcủanó,thìmáy sẽ coi hàm đó có giá trị nguyên. Như vậy đối với hàm có gái trị kiểu nguyên thì khôngcầnkhaibáokiểugiátrịchochúng. Khigặplệnhreturncóchứabiểuthức,thì giá trị của biểu thức bao giờ cũng được chuyểnvềtheokiểugiátrịcủahàmtrước khinóđượcgánchohàm. Nguyêntắchoạtđộngcủathamsốthực,cácđốivàcác biếncụcbộ Dođốivàbiếncụcbộđềucóphạmvihoạtđộngtrong cùngmộthàmnên đốivàbiếncụcbộcầncótênkhác nhau. Đốivàbiếncụcbộ đềulàbiếntự động.Chúng được cungcấpbộnhớkhihàm đượckhởi độngvàchúngsẽ lậptứcbiếnmấtkhimáyrakhỏihàm.Nhưvậy,không thểmanggiátrịcủađốirakhỏihàm.Điềunàycónghĩa là không thể sử dụng đối để làm thay đổi giá trị của bấtkỳmộtđạilượngnàoởngoàihàm. Khimộthàm đượcgọitới,việc đầutiênlàgáitrịcủa cácthamsốthực đượcgánchocác đối.Như vậy,các đốichínhlàbảnsaocủacácthamsốthực.Hàmchỉlàm vcệctrêncác đối,tứclàchỉlàmviệctrêncácbảnsao này.Cácđốicótểbịbiến đổinhưngcácthamsốthực (cácbảnchính)khônghềbịthayđổiII. Contrỏvàđịachỉ1. Điachỉ Liênquanđếnmộtbiếntađãcócáckháiniệm: Tênbiến Kiểugiátrịcủabiến Giátrịcủabiến Khikhaibáomộtbiếnthìmáysẽcấpphátcho biếnmộtvùngnhớcósốbytebằngvới độlớn củakiểuđó. Vídụ: Kiểuintlà2byte Kiểufloatlà4byte Chúngtacũngcóthểhiểu:Địachỉcủabiếnlàsốthứtựcủabyte đầutiêntrongmộtdãycácbyteliêntiếpnhaumàmáydànhchobiế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ácsốnguyênthôngthườngtrongcácphéptính Phéptoán &x chotađịachỉcủabiếnx2. Contrỏ Contrỏlàmộtbiếndùng đểchứa địachỉ.Vìcó nhiều loại địa chỉ nên cũng có bấy nhiêu kiểu contrỏtươngứng. Vídụ: Contrỏkiểuintdùng đểchứa địachỉcác biếnkiểuint. Cũng như biến thì con trỏ cũng cần phải đựoc khaibáotrướckhisửdụng. Cúphápkhaibáo: type*tên_con_trỏ Vídụ: intx,y,*px,*py Toántử:&và*làcác ...
Nội dung trích xuất từ tài liệu:
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 CHƯƠNGVI HÀMVÀCẤUTRÚCCHƯƠNGTRÌNHI. Hàm1. Quytắcxâydựngmộthàm: Hàm có thể xem là một đơn vị độc lập của chương trình. Các hàm có vai trò ngang nhau, vì vậykhôngchophépxâydựngmộthàmbêntrong mộthàmkhác. Dòngđầutiên(củamộthàm)chứacácthôngtinvề hàm: Kiểugiátrịcủahàm(nếuhàmcógiátrị) Tênhàm Danhsáchcácđốisố(nếucó)Cácdòngtiếptheodùngđểkhaibáokiểugiátrịcủađốisố.Vàbắtbuộcphảikhaibáokiểugiátrịchotấtcảcácđốisố.Tiéptheolàthânhàm.Thânhàmlànộidungchínhcủahàmnóbắtđầubằngdấu{vàkếtthúc}Trongthânhàmcóthểdùng1hoặcnhiềulệnhreturnhoặccóthểkhôngdùng.Vàcóthểđặtchúngởbấtkỳchỗnàonếuthấythíchhợp.Cúphápchungcủalệnhreturn return([Biểuthức]); Giátrịcủabiểuthứctrongngoặcsẽđược gánchohàm.2. Quytắchoạtđộngcủahàm Cáchgọihàm: tên_hàm([Danhsáchthamsốthực]); Chúý: Số tham số thực phải bằng với số tham sốhìnhthức(đối)vàmỗithamsốthựcphải cócùngkiểuvớigiátrịnhưkiểugiátrịcủa đốitươngứngcủanó. 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ốngvớiviệckhaibáomộtbiến.Vídụ: Viếtchươngtrìnhtìmsốlớnnhấtvànhỏnhất củatừngcộttrongmatrận,cósửdụnghàmtìm max,tìmmin. #includestdio.h intmax(a,b) inta,b; { intm; m=a>b?a:b; return(m); }intmin(a,b)inta,b;{intm;m=a for(i=0;ifor(j=0;j3.Cáckháiniệmliênquanđếnhàm: Tênhàm Kiểugiátrịcủahàm Đốihaythamsốhìnhthức Thânhàm Kháibáohàm Lờigọihàm Thamsốthực4. Cáchxâydựnghàm [type]tên_hàm([Danhsáchđốisố]) [Khaibáokiểugiátrịchotấtcảcácđối] { [Cáckhaibáokiểugiátrịchocácbiếncụcbộvà các hàmnósửdụng] [return([Biểuthức]);] } Chúý: Khi xây dựng hàm cần nắm vững những qui định vềmốiquanhệgiữa:thamsốthựcvàthamsốhình thức(đối)cũngnhưcácđốitrongthâncủahàm Đốivớihàmkhôngchogiátrịthìchúngta khôngcầnkhaibáokiểugiátrịcủanó. Đối với các hàm có giá trị mà ta quên khôngkhaibáokiểugiátrịcủanó,thìmáy sẽ coi hàm đó có giá trị nguyên. Như vậy đối với hàm có gái trị kiểu nguyên thì khôngcầnkhaibáokiểugiátrịchochúng. Khigặplệnhreturncóchứabiểuthức,thì giá trị của biểu thức bao giờ cũng được chuyểnvềtheokiểugiátrịcủahàmtrước khinóđượcgánchohàm. Nguyêntắchoạtđộngcủathamsốthực,cácđốivàcác biếncụcbộ Dođốivàbiếncụcbộđềucóphạmvihoạtđộngtrong cùngmộthàmnên đốivàbiếncụcbộcầncótênkhác nhau. Đốivàbiếncụcbộ đềulàbiếntự động.Chúng được cungcấpbộnhớkhihàm đượckhởi độngvàchúngsẽ lậptứcbiếnmấtkhimáyrakhỏihàm.Nhưvậy,không thểmanggiátrịcủađốirakhỏihàm.Điềunàycónghĩa là không thể sử dụng đối để làm thay đổi giá trị của bấtkỳmộtđạilượngnàoởngoàihàm. Khimộthàm đượcgọitới,việc đầutiênlàgáitrịcủa cácthamsốthực đượcgánchocác đối.Như vậy,các đốichínhlàbảnsaocủacácthamsốthực.Hàmchỉlàm vcệctrêncác đối,tứclàchỉlàmviệctrêncácbảnsao này.Cácđốicótểbịbiến đổinhưngcácthamsốthực (cácbảnchính)khônghềbịthayđổiII. Contrỏvàđịachỉ1. Điachỉ Liênquanđếnmộtbiếntađãcócáckháiniệm: Tênbiến Kiểugiátrịcủabiến Giátrịcủabiến Khikhaibáomộtbiếnthìmáysẽcấpphátcho biếnmộtvùngnhớcósốbytebằngvới độlớn củakiểuđó. Vídụ: Kiểuintlà2byte Kiểufloatlà4byte Chúngtacũngcóthểhiểu:Địachỉcủabiếnlàsốthứtựcủabyte đầutiêntrongmộtdãycácbyteliêntiếpnhaumàmáydànhchobiế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ácsốnguyênthôngthườngtrongcácphéptính Phéptoán &x chotađịachỉcủabiếnx2. Contrỏ Contrỏlàmộtbiếndùng đểchứa địachỉ.Vìcó nhiều loại địa chỉ nên cũng có bấy nhiêu kiểu contrỏtươngứng. Vídụ: Contrỏkiểuintdùng đểchứa địachỉcác biếnkiểuint. Cũng như biến thì con trỏ cũng cần phải đựoc khaibáotrướckhisửdụng. Cúphápkhaibáo: type*tên_con_trỏ Vídụ: intx,y,*px,*py Toántử:&và*làcác ...
Tìm kiếm theo từ khóa liên quan:
Ngôn ngữ lập trình C Hàm và cấu trúc chương trình Bài giảng Ngôn ngữ lập trình C Quy tắc xây dựng một hàm Cách xây dựng hàm Con trỏ và địa chỉGợi ý tài liệu liên quan:
-
101 trang 193 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 143 0 0 -
161 trang 126 1 0
-
Giáo trình Vi điều khiển PIC: Phần 1
119 trang 114 0 0 -
Thực hành ngôn ngữ lập trình C
6 trang 112 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 108 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 90 1 0 -
Tìm hiểu về ngôn ngữ lập trình C: Phần 2 - Quách Tuấn Ngọc
210 trang 84 0 0 -
ĐỀ CƯƠNG THI TRẮC NGHIỆM MÔN LẬP TRÌNH CÓ CẤU TRÚC
43 trang 54 0 0 -
Bài giảng Cấu trúc dữ liệu và giải thuật: Phần 1 - ThS. Hoàng Thế Phương
128 trang 50 0 0