Bài giảng Nhập môn lập trình - Chương 15: Hàm nâng cao (phần 1)
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn lập trình - Chương 15: Hàm nâng cao (phần 1) &&VCVC BB BB Nộidung 1 Các tham số của hàm main 2 Hàm có đối số mặc định 3 Hàm trả về tham chiếu 4 Hàm nội tuyến (inline) NMLTHàmnângcao(phần1) 1 &&VCVC BB BB Cácđốisốcủachươngtrình Các đối số của chương trình Hàm main là hàm nên cũng có tham số. Chương trình tự động thực hiện hàm main mà không cần lời gọi hàm. Làm sao truyền đối số? Khi thực thi tập tin chương trình (.exe), ta truyền kèm đối số. Tất nhiên, hàm main cũng phải định nghĩa các tham số để có thể nhận các đối số này. NMLTHàmnângcao(phần1) 2 &&VCVC BB BB Cácthamsốcủahàmmain Các tham số của hàm main voidmain(intargc,char*argv[]) { … } Trong đó • argc là số lượng đối số (tính luôn tên tập tin chương trình) • argv là mảng chứa các đối số (dạng chuỗi) NMLTHàmnângcao(phần1) 3 &&VCVC BB BB Cácthamsốcủahàmmain Ví dụ Viết chương trình có tên Cong, nhận 2 đối số x và y và xuất ra giá trị x + y. argv={“Cong.EXE”,“2912”,“1706”}; Cong.EXE 2912 1706 argc=3 NMLTHàmnângcao(phần1) 4 &&VCVC BB BB Cácthamsốcủahàmmain Ví dụ Viết chương trình có tên Cong, nhận 2 đối số x và y và xuất ra giá trị x + y. #include #include // atoi void main(int argc, char *argv[]) { if (argc == 3) { int x = atoi(argv[1]); int y = atoi(argv[2]); printf(“%d + %d = %d”, x, y, x+y); } else printf(“Sai! VD: Cong 2912 1706”); } NMLTHàmnângcao(phần1) 5 &&VCVC BB BB Cácthamsốcủahàmmain Ví dụ Viết chương trình có tên test nhận dữ liệu từ tập tin input.txt, xử lý và xuất kết quả ra tập tin output.txt. argv={“test”,“input.txt”,“output.txt”}; test input.txt output.txt argc=3 NMLTHàmnângcao(phần1) 6 &&VCVC BB BB Cácthamsốcủahàmmain Ví dụ Viết chương trình có tên test nhận dữ liệu từ tập tin input.txt, xử lý và xuất kết quả ra tập tin output.txt. #include void main(int argc, char *argv[]) { if (argc == 3) { // Nhập dữ liệu từ tập tin argv[1] // Xử lý // Xuất kết quả ra tập tin argv[2] } else printf(“Sai! VD: test in.txt out.txt”); } NMLTHàmnângcao(phần1) 7 &&VCVC BB BB Hàmcóđốisốmặcđịnh Ví dụ Viết hàm Tong để tính tổng 4 số x, y, z, t int Tong(int x, int y, int z, int t) { return x + y + z + t; } Tính tổng 4 số 2912, 1706, 1506, 1904 Tong(2912,1706,1506,1904); Nếu chỉ muốn tính tổng 2 số 2912, 1706 Tong(2912,1706,0,0); //z=0,t=0 NMLTHàmnângcao(phần1) 8 &&VCVC BB BB Hàmcóđốisốmặcđịnh Khái niệm Hàm có đối số mặc định là hàm có một hay nhiều tham số hình thức được gán giá trị. Tham số này nhận giá trị mặc định đó nếu không có đối số truyền vào cho tham số đó. Phải được dồn về tận cùng bên phải. Ví dụ int Tong(int x, int y, int z = 0, int t = 0) { return x + y + z + t; } NMLTHàmnângcao(phần1) 9 &&VCVC BB BB Hàmcóđốisốmặcđịnh Lưu ý Muốn truyền đối số khác thay cho đối số mặc định, phải truyền đối số thay cho các đối số mặc định trước nó. intTong(intx,inty=0,intz=0); intTong(1,5); intTong(1,0,5); NMLTHàmnângcao(phần1) 10 &&VCVC BB BB Hàmcóđốisốmặcđịnh Ví dụ In thông tin SV trong lớp gồm: họ tên, phái, lớp, năm sinh void XuatThongTin(char *hoten, char phai = 0, char *lop = “TH07”, int namsinh = 1989) { puts(hoten); printf(phai == 0? “Nam\n” : “Nu\n”); puts(lop); printf(“%d”, namsinh); } NMLTHàmnângcao(phần1) 11 &&VCVC BB BB Hàmcóđốisốmặcđịnh Ví dụ In thông tin SV trong lớp gồm: họ tên, phái, lớp, năm sinh void main() { XuatThongTin(“Nguyen Van A”); XuatThongTin(“Tran Thi B”, 1); XuatThongTin(“Hoang Van C”, 0, “TH00”); XuatThongTin(“Le D”, 1, “TH07”, 1988); } NMLTHàmnângcao(phần1) 12 &&VCVC BB BB Hàmcóđốisốmặcđịnh Nhận xét x = a thường xuyên xảy ra thì nên chuyển x thành tham số có đối số mặc định là a. Ví dụ, hầu hết phai = 0 (nam), lo ...
Tìm kiếm theo từ khóa liên quan:
Nhập môn lập trình Bài giảng Nhập môn lập trình Ngôn ngữ lập trình Hàm nâng cao Tham số của hàm main Hàm nội tuyếnTài liệu cùng danh mục:
-
Tìm hiểu về lỗi tràn bộ đệm (Buffer Overflow)
5 trang 364 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 345 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 7 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
16 trang 335 0 0 -
180 trang 274 0 0
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 253 0 0 -
173 trang 248 2 0
-
Bài giảng Phân tích thiết kế và giải thuật - Chương 2: Kỹ thuật thiết kế giải thuật
80 trang 245 0 0 -
Kiến thức phần cứng máy tính - Sửa chữa nâng cấp và cài đặt máy tính xách tay Tập 2
483 trang 243 3 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 243 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 6 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
12 trang 240 0 0
Tài liệu mới:
-
85 trang 0 0 0
-
97 trang 0 0 0
-
Luận văn Thạc sĩ Quản lý kinh tế: Quản lý sử dụng vốn ODA của chính quyền tỉnh Lào Cai
108 trang 0 0 0 -
132 trang 0 0 0
-
Đề kiểm tra HK1 môn GDCD lớp 11 năm 2018-2019 - Sở GD&ĐT Quảng Nam - Mã đề 807
2 trang 2 0 0 -
Đề thi thử tốt nghiệp THPT năm 2021 môn GDCD có đáp án - Trường THPT Hai Bà Trưng
6 trang 0 0 0 -
Đề thi học kì 1 môn GDCD lớp 11 năm 2021-2022 có đáp án - Sở GD&ĐT Bắc Ninh
3 trang 3 0 0 -
Đề khảo sát chất lượng môn GDCD năm 2020-2021 - Sở GD&ĐT Nghệ An - Mã đề 314
4 trang 0 0 0 -
Quyết định số 39/2012/QĐ-UBND
7 trang 1 0 0 -
Nghị quyết số 86/2017/NQ-HĐND Tỉnh Hà Giang
4 trang 1 0 0