Tài liệu Hướng dẫn thực hành: Nhập môn lập trình - Nguyễn Hải Minh
Số trang: 8
Loại file: pdf
Dung lượng: 439.18 KB
Lượt xem: 17
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:
Tài liệu "Hướng dẫn thực hành: Nhập môn lập trình - Nguyễn Hải Minh" giới thiệu các lỗi thường gặp khi biên dịch chương trình trên VC ++ 6.0 và một số bài tập áp dụng. Mời các bạn cùng tham khảo
Nội dung trích xuất từ tài liệu:
Tài liệu Hướng dẫn thực hành: Nhập môn lập trình - Nguyễn Hải Minh Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B Người soạn: Nguyễn Hải Minh Email: nhminh@fit.hcmuns.edu.vn CHỦ ĐỀ: CÁC LỖI THƯỜNG GẶP KHI BIÊN DỊCH CHƯƠNG TRÌNH TRÊN VC++ 6.0 ---oOo--- I. GIỚI THIỆU Khi biên dịch chương trình (F7), chú ý cửa sổ Build ở dưới, các thông tin về lỗi (errors) và cảnh báo (warnings) nếu có sẽ được liệt kê chi tiết ở đây: Ví dụ trong hình: dòng màu vàng là lỗi, màu xanh là cảnh báo. Con số phía trước mỗi lỗi/cảnh báo cho biết số thứ tự dòng code xuất hiện lỗi/cảnh báo (ở đây là dòng thứ 9). Dựa vào những ký hiệu cũng như thông tin về lỗi/cảnh báo này, bạn có thể tìm ra nhanh chóng lỗi của mình nằm ở đâu và cách sửa như thế nào. Các bước cần làm khi biên dịch chương trình có lỗi: 1) Xem có bao nhiêu lỗi, bấm F4 để nhảy đến dòng chứa lỗi đầu tiên 2) Đọc xem thông báo lỗi là gì, sửa lỗi đó 3) Biên dịch lại project (F7) rồi quay lại bước 1 Trang 1 Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B II. MỘT SỐ LỖI THƯỜNG GẶP C2143: Syntax error : missing before Lỗi cú pháp (syntax error), thường là thiếu dấu đóng ngoặc, chấm phẩy Ví dụ: (9) missing ‘;’ before ‘return’ => Thiếu dấu ‘;’ trước câu lệnh return ở dòng 9. Rà soát lại trước dòng 9, phát hiện thiếu dấu ‘;’ sau câu lệnh printf(“Hello World!”) C1010: unexpected end of file while looking for precompiled header directive Lỗi này xuất hiện khi bạn không tạo Empty project mà tạo một project có sẵn (Hello World) với 2 file được tạo sẵn là StdAfx.h và StdAfx.cpp. Với loại project này, bạn phải #include StdAfx.h ngay đầu file .cpp chứa hàm main của bạn. Nếu không trình biên dịch sẽ báo lỗi như trên. Cách giải quyết: Cách 1: Thêm dòng #include “StdAfx.h” vào ngay đầu file .cpp chứa code chương trình của bạn Trang 2 Hướng dẫn thực hành: Nhập môn lập trình Cách 2: Vào Project Settings Lớp 07DB_A/B chuyển sang tab C/C++, chọn Precompiled Headers trong Category, check vào ô Not Using Precompile Header C2001: newline in constant Lỗi này thường gặp khi một chuỗi hay ký tự khai báo mà quên đóng ngoặc kép ’ hay ” Ví dụ: chuỗi đưa vào lệnh printf (dòng thứ 8) thiếu dấu đóng ngoặc kép ” Trang 3 Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B C2065: '' : undeclared identifier Lỗi này là do bạn đã sử dụng một biến hay hàm con mà chưa khai báo biến/hàm đó trong phạm vi sử dụng. Ví dụ: Dòng 8 sử dụng biến giatri chưa được khai báo Dòng 9 sử dụng hàm abs chưa được khai báo Dòng 10 sử dụng hàm Xuat chưa được khai báo Cách giải quyết: thêm vào các khai báo thích hợp (khai báo hàm abs được đặt trong math.h) Trang 4 Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B C2447: missing function header (old-style formal list?) Lỗi này thường gặp khi sử dụng dấu ; trước dấu { trong thân hàm. Ví dụ: void Function(int a, int b); { a = a + b; } C2556: '' : overloaded functions only differs only by return type C2371: '' : redefinition; different basic types Hai lỗi này thường gặp khi có sự không khớp nhau giữa kiểu của hàm trong khai báo hàm và trong định nghĩa hàm Ví dụ: Khai báo hàm: int Function(int a, int b); Cài đặt: void Function(int a, int b) { a = b * 2.3; return a; } Trang 5
Nội dung trích xuất từ tài liệu:
Tài liệu Hướng dẫn thực hành: Nhập môn lập trình - Nguyễn Hải Minh Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B Người soạn: Nguyễn Hải Minh Email: nhminh@fit.hcmuns.edu.vn CHỦ ĐỀ: CÁC LỖI THƯỜNG GẶP KHI BIÊN DỊCH CHƯƠNG TRÌNH TRÊN VC++ 6.0 ---oOo--- I. GIỚI THIỆU Khi biên dịch chương trình (F7), chú ý cửa sổ Build ở dưới, các thông tin về lỗi (errors) và cảnh báo (warnings) nếu có sẽ được liệt kê chi tiết ở đây: Ví dụ trong hình: dòng màu vàng là lỗi, màu xanh là cảnh báo. Con số phía trước mỗi lỗi/cảnh báo cho biết số thứ tự dòng code xuất hiện lỗi/cảnh báo (ở đây là dòng thứ 9). Dựa vào những ký hiệu cũng như thông tin về lỗi/cảnh báo này, bạn có thể tìm ra nhanh chóng lỗi của mình nằm ở đâu và cách sửa như thế nào. Các bước cần làm khi biên dịch chương trình có lỗi: 1) Xem có bao nhiêu lỗi, bấm F4 để nhảy đến dòng chứa lỗi đầu tiên 2) Đọc xem thông báo lỗi là gì, sửa lỗi đó 3) Biên dịch lại project (F7) rồi quay lại bước 1 Trang 1 Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B II. MỘT SỐ LỖI THƯỜNG GẶP C2143: Syntax error : missing before Lỗi cú pháp (syntax error), thường là thiếu dấu đóng ngoặc, chấm phẩy Ví dụ: (9) missing ‘;’ before ‘return’ => Thiếu dấu ‘;’ trước câu lệnh return ở dòng 9. Rà soát lại trước dòng 9, phát hiện thiếu dấu ‘;’ sau câu lệnh printf(“Hello World!”) C1010: unexpected end of file while looking for precompiled header directive Lỗi này xuất hiện khi bạn không tạo Empty project mà tạo một project có sẵn (Hello World) với 2 file được tạo sẵn là StdAfx.h và StdAfx.cpp. Với loại project này, bạn phải #include StdAfx.h ngay đầu file .cpp chứa hàm main của bạn. Nếu không trình biên dịch sẽ báo lỗi như trên. Cách giải quyết: Cách 1: Thêm dòng #include “StdAfx.h” vào ngay đầu file .cpp chứa code chương trình của bạn Trang 2 Hướng dẫn thực hành: Nhập môn lập trình Cách 2: Vào Project Settings Lớp 07DB_A/B chuyển sang tab C/C++, chọn Precompiled Headers trong Category, check vào ô Not Using Precompile Header C2001: newline in constant Lỗi này thường gặp khi một chuỗi hay ký tự khai báo mà quên đóng ngoặc kép ’ hay ” Ví dụ: chuỗi đưa vào lệnh printf (dòng thứ 8) thiếu dấu đóng ngoặc kép ” Trang 3 Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B C2065: '' : undeclared identifier Lỗi này là do bạn đã sử dụng một biến hay hàm con mà chưa khai báo biến/hàm đó trong phạm vi sử dụng. Ví dụ: Dòng 8 sử dụng biến giatri chưa được khai báo Dòng 9 sử dụng hàm abs chưa được khai báo Dòng 10 sử dụng hàm Xuat chưa được khai báo Cách giải quyết: thêm vào các khai báo thích hợp (khai báo hàm abs được đặt trong math.h) Trang 4 Hướng dẫn thực hành: Nhập môn lập trình Lớp 07DB_A/B C2447: missing function header (old-style formal list?) Lỗi này thường gặp khi sử dụng dấu ; trước dấu { trong thân hàm. Ví dụ: void Function(int a, int b); { a = a + b; } C2556: '' : overloaded functions only differs only by return type C2371: '' : redefinition; different basic types Hai lỗi này thường gặp khi có sự không khớp nhau giữa kiểu của hàm trong khai báo hàm và trong định nghĩa hàm Ví dụ: Khai báo hàm: int Function(int a, int b); Cài đặt: void Function(int a, int b) { a = b * 2.3; return a; } Trang 5
Tìm kiếm theo từ khóa liên quan:
Nhập môn lập trình Tài liệu lập trình Lập trình căn bản Hướng dẫn thực thành nhập môn lập trình Các lỗi thương gặp khi lập trìnhGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 317 0 0 -
114 trang 241 2 0
-
80 trang 221 0 0
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 207 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 167 0 0 -
Giáo trình nhập môn lập trình - Phần 22
48 trang 138 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 132 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 118 0 0 -
124 trang 112 3 0
-
Bài giảng lập trình c căn bản - Trường Apptech - Chương 6
21 trang 103 0 0