Hướng dẫn int function in c++ - hàm int trong c ++
Dẫn nhậpỞ bài học trước, bạn đã nắm được tổng quan về ép kiểu dữ liệu và kỹ thuật ÉP KIỂU TƯỜNG MINH TRONG C++ (Explicit type conversion). Show Hôm nay, mình sẽ giới thiệu cho các bạn về Cơ bản về Hàm và Giá trị trả về (Basics of Functions and Return values), một phần không thể thiếu trong hầu hết các ngôn ngữ lập trình.Cơ bản về Hàm và Giá trị trả về (Basics of Functions and Return values), một phần không thể thiếu trong hầu hết các ngôn ngữ lập trình. Nội dungĐể đọc hiểu bài này tốt nhất các bạn nên có kiến thức cơ bản về các phần:
Trong bài ta sẽ cùng tìm hiểu các vấn đề:
Tổng quan về hàm (functions overview)Giá trị trả về (return values)
Outputs: Giá trị trả về của kiểu void (return values of type void) Giả sử có một chương trình yêu cầu tính tuổi của người dùng với năm sinh được nhập từ bàn phím.lặp lại những dòng code tương tự bên trên để tính tuổi cho 2 người tiếp theo. Dẫn đến tình trạng trùng lắp code và mất nhiều thời gian xây dựng chương trình. Để khắc phục vấn đề đó, khái niệm Hàm (Function) trong lập trình được ra đời.
Vấn đề phát sinh từ đây, bạn phát hiện ra mình phải lặp lại những dòng code tương tự bên trên để tính tuổi cho 2 người tiếp theo. Dẫn đến tình trạngtrùng lắp code và mất nhiều thời gian xây dựng chương trình. Để khắc phục vấn đề đó, khái niệm Hàm (Function) trong lập trình được ra đời.của hàm trong C++:
Cú phápcủa hàm trong C++:
: tham số hình thức đầu vào giống khai báo biến, cách nhau bằng dấu phẩy “,”. (Có thể không có) : trả về cho hàm qua lệnh return. (Có thể không có) về chương trình đơn giản có 2 hàm: main() và sayHello()
Outputs: Ở bài CẤU TRÚC MỘT CHƯƠNG TRÌNH C++ (Structure of a program), bạn đã biết mỗi chương trình C++ đều có một hàm tên là main(), hàm này là nơi bắt đầu của chương trình. Trong thực tế, một chương trình thường sẽ có rất nhiều hàm bên trong.tuần tự bên trong một hàm. Khi gặp một lời gọi hàm, CPU sẽ gián đoạn hàm hiện tại để thực thi các câu lệnh bên trong hàm được gọi. Khi hàm được gọi kết thúc, CPU sẽ lại tiếp tục thực thi hàm hiện tại.
Chương trình sẽ thực thi các câu lệnh một cách tuần tự bên trong một hàm. Khi gặp một lời gọi hàm, CPU sẽ gián đoạn hàm hiện tại để thực thi các câu lệnh bên trong hàm được gọi. Khi hàm được gọi kết thúc, CPU sẽ lại tiếp tục thực thi hàm hiện tại.main() ở vị trí cuối cùng trong file code của chương trình. Lý do tại sao sẽ được đề cập cụ thể trong bài TIỀN KHAI BÁO & ĐỊNH NGHĨA HÀM (Forward declarations and Definitions of Functions). Giá trị trả về (return values)Giá trị trả về của kiểu void (return values of type void)main() có kiểu int nên bắt buộc phải có một câu lệnh return giá trị kiểu int. Khi chương trình thực thi kết thúc, hàm main() sẽ return một giá trị cho hệ điều hành, để thông báo là nó chạy thành công hay không. Giả sử có một chương trình yêu cầu tính tuổi của người dùng với năm sinh được nhập từ bàn phím. Chương trình bên trên dùng để tính tuổi của 1 người. Giả sử bây giờ bài toán cần được mở rộng thêm, yêu cầu tính tuổi của 3 người.
([]) { [return ;] }về chương trình có hàm trả về một số nguyên:
Outputs: Trong đó:có thể đặt riêng biệt, hoặc bên trong một biểu thức như ở ví dụ trên. : kiểu bất kỳ của C++ (bool, char, int, double,…). Nếu không trả về thì là void.Khi sử dụng câu lệnh return, hàm chỉ có thể trả về một giá trị duy nhất. : theo quy tắc đặt tên định danh.truyền tham chiếu hoặc truyền địa chỉ cho hàm để có thể lấy được nhiều giá trị:
Giá trị trả về của kiểu void (return values of type void)Giả sử có một chương trình yêu cầu tính tuổi của người dùng với năm sinh được nhập từ bàn phím.không có mục đích tính toán (Vd: hàm setter, hàm print, …), C++ hỗ trợ sử dụng kiểu dữ liệu void cho những hàm không có giá trị trả về.
Chương trình bên trên dùng để tính tuổi của 1 người. Giả sử bây giờ bài toán cần được mở rộng thêm, yêu cầu tính tuổi của 3 người.“binary '<<': no operator found which takes a right-hand operand of type 'void' (or there is no acceptable conversion)” Vấn đề phát sinh từ đây, bạn phát hiện ra mình phải lặp lại những dòng code tương tự bên trên để tính tuổi cho 2 người tiếp theo. Dẫn đến tình trạngtrùng lắp code và mất nhiều thời gian xây dựng chương trình. Để khắc phục vấn đề đó, khái niệm Hàm (Function) trong lập trình được ra đời.sayHello() có kiểu void nên sẽ không trả về giá trị. Nên compiler sẽ thông báo lỗi không thể in giá trị của hàm sayHello() ra màn hình trong lần gọi hàm thứ 2.
Kết luậnQua bài học này, bạn đã nắm được Cơ bản về Hàm và Giá trị trả về (Basics of Function and Return values)trong C++. Mình tóm tắt lại một số nội dung quan trọng các bạn cần nắm:Cơ bản về Hàm và Giá trị trả về (Basics of Function and Return values)trong C++. Mình tóm tắt lại một số nội dung quan trọng các bạn cần nắm:
Ở bài tiếp theo, mình sẽ chia sẻ cho các bạn về kỹ thuật TRUYỀN GIÁ TRỊ TRONG C++ (Passing Arguments by Value in C++). Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.Luyện tập – Thử thách – Không ngại khó”. Thảo luậnNếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng. |