Kiểu dữ liệu c++
Nộidung chương 2 2.1 Tổ chứcchương trình C/C++ 2 2 Biế à á kiể dữ liệ bả 2 . 2 Biế nv à c á c kiể u dữ liệ ucơ bả n 2.3 Các kiểudữ liệudẫnxuấttrựctiếp 2 4 Định nghĩa kiểu dữ liệu mới 2 . 4 Định nghĩa kiểu dữ liệu mới 2.5 Các lệnh ₫iều khiển chương trình 2 . 6 Hàm và thư viện 2 . 6 Hàm và thư viện Chương 2: Tổng quan về C và C++ 2 2.1 Tổ chức chương trình C/C++ T d á dù gi ltdi t 200 8 T ạo d ự á n dù n g v i sua l s t u di o .ne t 200 8 Chương 2: Tổng quan về C và C++ 3 Chương trình tính giai thừa: Phiên bảnC #include <stdio.h> #include <conio.h> int gthua ( int ); Lệnh tiềnxử lý: Khai báo sử dụng hàm thư viện Khai báo hàm int gthua ( int ); void main() { char c = 'N'; int N = 1; it k Lời chú thích Chương trình chính Khai báo biến i n t k q; do { printf(“\n Nhap mot nguyen duong"); /* Viet ra man hinh*/ scanf("%d",&N); /* Nhap tu ban phim cho N*/ k q = g thua ( N ); q g (); printf(“\n Giai thua cua %d la %d", N, kq); printf(“\n Ban co muon tiep tuc khong? Y/N"); c = getch(); } while (c=='y' || c=='Y'); } } int gthua(int n) { int kq = 1; while (n > 1) k q *= n ; Định nghĩa hàm (thân hàm) Chương 2: Tổng quan về C và C++ 4 q ; return kq; } Chương trình tính giai thừa: Phiên bản C++ #include <iostream.h> #include <conio.h> int g thua ( int ); g ( ); void main() { char c = 'N'; int N = 1; do { do { cout << “\nNhap mot so nguyen duong: “ cin >> N; int kq = gthua(N); cout << “\nGiai thua cua ” << N << “ la “ << kq cout << “\nBan co muon tiep tuc khong? Y/N"; c = getch(); } while (c == 'y' || c == 'Y'); } int gthua(int n) { int kq = 1; while (n > 1) kq *= n ; Chương 2: Tổng quan về C và C++ 5 return kq; } Qui tắc soạn thảo mã nguồn 1. Tên biến, tên hàm, tên kiểumới: Tránh sử dụng các từ khóa và tên kiểucơ sở C hỉ ₫ dù á ký t ‘A’ ’Z’ ‘ ’’ ’‘ 0 ’’ 9 ’ ‘’ C hỉ ₫ ư ợ c dù ng c á c ký t ự sau: ‘A’ ’Z’ , ‘ a ’ ’ z ’ , ‘ 0 ’ ’ 9 ’ , ‘ _ ’ Chỉ₫ượcbắt ₫ầubằng chữ cái hoặc dấu _ Phân biệtgiữachữ hoa và chữ thường. Nên ₫ặt tên ngắn gọn và có ý nghĩa (có tính mô tả) 2. Sau mỗicâulệnh có chấmphảy (;) 3 Đ {} ₫ i là hó lệ h khô ó dấ 3 . Đ oạn { … } ₫ ượcco i là n hó m lệ n h , khô ng c ó dấ u chấmphảysau₫ó, trừ khi khai báo kiểu 4 Cấu trúc mã nguồn theo kiểu phân cấp => dễ ₫ọc 4 . Cấu trúc mã nguồn theo kiểu phân cấp => dễ ₫ọc 5. Bổ sung chú thích hợplý(/* chú thích một ₫oạn */ hoặc // chú thích một dòng ) Chương 2: Tổng quan về C và C++ 6 6. Chia một file lớn thành nhiều file nhỏ Các từ khóa trong C auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for si g ned void g default goto sizeof volatile do if static while Chương 2: Tổng quan về C và C++ 7 Từ khóa trong C++ asm auto bool break case catch char class const const cast continue default const const _ cast continue default delete else extern do enum false double explicit float dynamic cast export for float dynamic _ cast export for friend goto if inline int long mutable namespace new operator private protected new operator private protected public register reinterpret_cast return short signed sizeof static static cast struct switch template static _ cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void Chương 2: Tổng quan về C và C++ 8 unsigned using virtual void volatile wchar_t while Biên dịch (compile) Trong Visual studio .Net 2008: Gọi Compile (Ctrl + F7) ₫ể biên dịch riêng rẽ hoặc Build (F6) ₫ể kết hợp biên dịch và liên kết cho toàn bộ dự án cho toàn bộ dự án Các kiểu lỗi biên dịch (compile error): —Lỗi cú pháp: Sử dụng tên sai qui ₫ịnh hoặc chưa khai báo, thiếu dấuchấmphảy; dấu ₫óng } dấu chấm phảy ; , dấu ₫óng } —Lỗi kiểu: Các số hạng trong biểu thức không tương thích kiểu, gọi hàm với tham số sai kiểu — … … Các kiểu cảnh báo biên dịch (warning): —Tự ₫ộng chuyển ₫ổi kiểu làm mất chính xác Hàm khai báo có kiểutrả về nhưng không trả về — Hàm khai báo có kiểu trả về nhưng không trả về —Sử dụng dấu = trong trường hợp nghi vấn là so sánh == —… Chương 2: Tổng quan về C và C++ 9 Liên kết (link) Liên kết là quá trình ghép nhiều file ₫ích (*.obj, *.lib) ₫ể tạo r a c h ươ n g t rình c h ạy cuố i cù n g * .e x e ₫ể tạo a c ươ g t c ạy cuố cù g .e e Trong Visual studio .Net 2008: Gọi Build (F6) Lỗi liên kếtcóthể là do: — S ử dụng hàm nhưng không có ₫ịnh nghĩahàm —Biếnhoặchàm₫ược ₫ịnh nghĩa nhiềulần —… Chương 2: Tổng quan về C và C++ 10 Chạy thử và gỡ rối (debug) Chạy thử trong Visual studio .Net 2008: Start without debugging hoặc Ctrl+F5 Tìm lỗi: —Lỗi khi chạy là lỗi thuộc về phương pháp, tư duy, thuật toán, không phảivề cú pháp không phải về cú pháp —Lỗi khi chạy bình thường không ₫ược báo —Lỗi khi chạy rất khó phát hiện, vì thế trong ₫a số trường hợp cầntiếnhành debug cần tiến hành debug . Chạy Debug trong Visual studio .Net 2008: —Chạy tới chỗ ₫ặt cursor: F9 —Chạy từng dòng lệnh: F10 —Chạy vào trong hàm: F11 — Chạytiếpbìnhthường: F 5 Chương 2: Tổng quan về C và C++ 11 Chạy tiếp bình thường: F 5 —Xem kết quả dưới cửa sổ Output hoặc gọi QuickWatch [...]... hành Các CT khác Mã chương trình Dữ liệu toàn cục Vùng nhớ tự do Đỉnh ngăn xếp SP n Array_A f Ngăn xếp (tham biế biến (th biến, biế cục bộ) k i count a Vùng nhớ tự do Chương 2: Tổng quan về C và C++ 12 2.2 Biến và dữ liệu Biểu thức = dữ liệu + phép toán Biểu diễn dữ liệu: Thông qua biến hoặc hằng số, kèm theo kiểu Nội dung trong phần này: — — — — Các kiểu Cá kiể dữ liệu cơ bả liệ bản Các phép toán... gthua(int n) { int kq = 1; while (n > 1) kq *= n ; n ; return kq; } Tham biến Chương 2: Tổng quan về C và C++ 18 2.3 Các kiểu dữ liệu dẫn xuất trực tiếp Kiểu liệt kê Kiểu hằng Kiểu con trỏ Kiểu mảng Kiểu tham chiếu (C++) Chương 2: Tổng quan về C và C++ 19 2.3.1 Kiểu liệt kê (enum) Tương tự như một kiểu số nguyên ể Được dùng khi: — Cần hạn chế phạm vi sử dụng — Hoặc khi muốn sử dụng tên cụ thể thay cho... Chương 2: Tổng quan về C và C++ X Kiểu bool X 15 Tương thích và chuyển ₫ổi kiểu Những kiểu dữ liệu tương thích nhau có thể tự ₫ộng chuyển ₫ổi kiểu: — Giữa các kiểu số nguyên với nhau (lưu ý phạm vi giá trị) — Giữa các kiểu số thực với nhau (lưu ý ₫ộ chính xác) — Giữa các kiểu số nguyên và số thực (lưu ý phạm vi giá trị và G ữa ểu guyê t ực ( ưu p ạ v g á t ị ₫ộ chính xác) — Kiểu bool sang số nguyên,... 2: Tổng quan về C và C++ 33 2.4 Định nghĩa kiểu dữ liệu mới Cấu trúc (struct): — Tập hợp những dữ liệu dùng ₫ể mô tả một ₫ối tượng, truy nhập theo tên (biến thà h iê ) th tê (biế thành viên) — Thông dụng nhất trong C, ý nghĩa ₫ược mở rộng trong C++ Hợp nhất (union): ợp ( ) — Một tên kiểu chung cho nhiều dữ liệu khác nhau (chiếm cùng chỗ trong bộ nhớ) — Ít thông dụng trong cả C và C++ Lớp (class): — mở... dụng Tương thích và chuyển ₫ổi kiểu Khai báo biến, phân loại biến Chương 2: Tổng quan về C và C++ 13 2.2.1 Các kiểu dữ liệu cơ bản của C /C++ Kiểu Kích cỡ thông dụng Phạm vi tối thiểu (tính bằng bit) char signed char unsigned char int signed int unsigned int short signed short unsigned short long signed long unsigned long float double long double bool (C++) b l (C ) wchar_t (C++) 8 8 8 16/32 16/32 16/32... main() { struct emp e1={100,”Nguyen X”}; C++ cout . chứcchương trình C /C++ 2 2 Biế à á kiể dữ liệ bả 2 . 2 Biế nv à c á c kiể u dữ liệ ucơ bả n 2.3 Các kiểudữ liệudẫnxuấttrựctiếp 2 4 Định nghĩa kiểu dữ liệu mới 2 . 4 Định nghĩa kiểu dữ liệu mới 2.5. về C và C++ 18 Tham biến 2.3 Các kiểu dữ liệu dẫn xuất trực tiếp Kiểu liệt kê Kiểu hằng Kiểu con trỏ Kiểu mảng Kiểu tham chiếu (C++) Chương 2: Tổng quan về C và C++ 19 2.3.1 Kiểu liệt. và C++ 12 2.2 Biến và dữ liệu Biểu thức = dữ liệu + phép toán Biểu diễn dữ liệu: Thông qua biến hoặc hằng số, kèm theo kiểu Nội dung trong phần này: Cá kiể dữ liệ bả — Cá c kiể u dữ