tailieunhanh - Giáo trình C++ - Đại Học Bách Khoa (phần 4)

Tham khảo tài liệu 'giáo trình c++ - đại học bách khoa (phần 4)', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | CHƯƠNG2 NHỮNG MỞ RỘNG CỦA C Mục đích chương này 1. Giới thiêu những điểm khác biệt chủ yếu giữa C và C 2. Các điểm mới của C so với C những vấn đề cơ bản nhất 1. CÁC ĐIỂM KHÔNG TƯƠNG THÍCH GIỮA C YÀ ANSI C Định nghĩa hàm Trong định nghĩa hàm ANSI C cho phép hai kiểu khai báo dòng tiêu đề của hàm trong khi đó C chỉ chấp nhân một cách C không có khai báo kiểu này double fexple u v int u double v Khai báo hàm nguyên mầu cẩC vàC cho phép double fexple int u double v int u double v Trong ANSI C khi sử dụng một hàm chưa được định nghĩa trước đó trong cùng một tệp ta có thể 3. không cần khai báo khi đó ngầm định giá trị trả về của hàm là int 4. chỉ cần khai báo tên hàm và giá trị trả về không cần danh sách kiểu của các tham số. 5. khai báo hàm nguyên mẫu. Với C chỉ có phương pháp thứ 3 là chấp nhân được. Nói cách khác một lời gọi hàm chỉ được chấp nhân khi trình biên dịch biết được kiểu của các tham số kiểu của giá trị trả về. Mỗi khi trình biên dịch gặp một lời gọi hàm nó sẽ so sánh các kiểu của các đối số được truyền với các tham số hình thức tương ứng. Trong trường hợp có sự khác nhau có thể thực hiện một số chuyển kiểu tự động để cho hàm nhân được có danh sách các tham số đúng với kiểu đã được khai báo của hàm. Tuy nhiên phải tuân theo nguyên tắc chuyển kiểu tự động sau đây char-- int-- longint-- float-- double Ví dụ double fexple int double khaibáohàmfexple -13- Cácmở rộng của C main int n char c double z res1 res2 res3 resl fexple n z khôngcóchuyểnđổikiểu res2 fexple c z cóchuyểnđổikiểu từchar c thànhint res3 fexple z n cóchuyểnđổi kiểu từdouble z thànhint vàtừint n thành double Trong C bắt buộc phải có từ khoá void trước tên của hàm trong phần khai báo để chỉ rằng hàm không trả về giá trị. Trường hợp không có trình biên dịch ngầm hiểu kiểu của giá trị trả về là int và như thế trong thân hàm bắt buộc phải có câu lênh return. Điều này hoàn toàn không cần thiết đối với mô tả trong ngôn ngữ C. Thực ra các khả năng vừa mô tả không hoàn toàn là điểm không .

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.