Xem mẫu

  1. om .c Lập trình ng co an Chương 2: Tổng quan về C/C++ th o ng du  2004, HOÀNG MINH SƠN u cu 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Nội dung chương 2 2.1 Tổ chức chương trình C/C++ om 2.2 Biến và các kiểu dữ liệu cơ bản .c 2.3 Các kiểu dữ liệu dẫn xuất trực tiếp ng co 2.4 Định nghĩa kiểu dữ liệu mới an 2.5 Các lệnh điều khiển chương trình th 2.6 Hàm và thư viện o ng du u cu Chương 2: Tổng quan về C và C++ 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. 2.1 Tổ chức chương trình C/C++ Tạo dự án dùng visual studio .net 2008 om .c ng co an th o ng du u cu Chương 2: Tổng quan về C và C++ 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. Chương trình tính giai thừa: Phiên bản C #include Lệnh tiền xử lý: Khai báo sử dụng hàm thư viện #include om Khai báo hàm int gthua(int); .c Chương trình chính void main() { ng char c = 'N'; Lời chú thích int N = 1; Khai báo biến co int kq; do { an printf(“\n Nhap mot nguyen duong"); /* Viet ra man hinh*/ th scanf("%d",&N); /* Nhap tu ban phim cho N*/ kq = gthua(N); ng printf(“\n Giai thua cua %d la %d", N, kq); printf(“\n Ban co muon tiep tuc khong? Y/N"); o c = getch(); du } while (c=='y' || c=='Y'); } u cu int gthua(int n) { int kq = 1; while (n > 1) Định nghĩa hàm (thân hàm) kq *= n--; return kq; } Chương 2: Tổng quan về C và C++ 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. Chương trình tính giai thừa: Phiên bản C++ #include #include om int gthua(int); .c void main() { ng char c = 'N'; int N = 1; co do { cout > N; th int kq = gthua(N); cout
  6. Qui tắc soạn thảo mã nguồn 1. Tên biến, tên hàm, tên kiểu mới: om  Tránh sử dụng các từ khóa và tên kiểu cơ sở  Chỉ được dùng các ký tự sau: ‘A’..’Z’, ‘a’..’z’, ‘0’..’9’, ‘_’ .c  Chỉ được bắt đầu bằng chữ cái hoặc dấu _ ng  Phân biệt giữa chữ hoa và chữ thường. co  Nên đặt tên ngắn gọn và có ý nghĩa (có tính mô tả) an 2. Sau mỗi câu lệnh có chấm phảy (;) th ng 3. Đoạn { … } được coi là nhóm lệnh, không có dấu o chấm phảy sau đó, trừ khi khai báo kiểu du 4. Cấu trúc mã nguồn theo kiểu phân cấp => dễ đọc u cu 5. Bổ sung chú thích hợp lý (/*chú thích một đoạn*/hoặc //chú thích một dòng) 6. Chia một file lớn thành nhiều file nhỏ Chương 2: Tổng quan về C và C++ 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  7. Các từ khóa trong C om .c auto double int struct break else long switch ng case enum register typedef co char extern return union an const float short unsigned th continue for signed void ng default goto sizeof volatile o du do if static while u cu Chương 2: Tổng quan về C và C++ 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  8. Từ khóa trong C++ asm auto bool break om case catch char class const const_cast continue default .c delete else extern do ng enum false double explicit co float dynamic_cast export for friend goto if inline an int long mutable namespace th new operator private protected ng public register reinterpret_cast return o du short signed sizeof static static_cast struct switch template u cu this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while Chương 2: Tổng quan về C và C++ 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. Biên dịch (compile)  Trong Visual studio .Net 2008: Gọi Compile (Ctrl + F7) để biên om 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 .c  Các kiểu lỗi biên dịch (compile error): ng – Lỗi cú pháp: Sử dụng tên sai qui định hoặc chưa khai báo, thiếu co dấu chấm phảy ;, dấu đóng } an – 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 th – … ng  Các kiểu cảnh báo biên dịch (warning): o du – Tự động chuyển đổi kiểu làm mất chính xác – Hàm khai báo có kiểu trả về nhưng không trả về u cu – 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 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  10. Liên kết (link)  Liên kết là quá trình ghép nhiều file đích (*.obj, *.lib) om để tạo ra chương trình chạy cuối cùng *.exe .c  Trong Visual studio .Net 2008: Gọi Build (F6) ng  Lỗi liên kết có thể là do: co – Sử dụng hàm nhưng không có định nghĩa hàm an – Biến hoặc hàm được định nghĩa nhiều lần th – … ng o du u cu Chương 2: Tổng quan về C và C++ 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. Chạy thử và gỡ rối (debug)  Chạy thử trong Visual studio .Net 2008: Start om without debugging hoặc Ctrl+F5 .c  Tìm lỗi: ng – Lỗi khi chạy là lỗi thuộc về phương pháp, tư duy, thuật toán, co không phải về cú pháp – Lỗi khi chạy bình thường không được báo an th – Lỗi khi chạy rất khó phát hiện, vì thế trong đa số trường hợp cần tiến hành debug. ng  Chạy Debug trong Visual studio .Net 2008: o du – Chạy tới chỗ đặt cursor: F9 u – Chạy từng dòng lệnh: F10 cu – Chạy vào trong hàm: F11 – Chạy tiếp bình thường: F5 – Xem kết quả dưới cửa sổ Output hoặc gọi QuickWatch Chương 2: Tổng quan về C và C++ 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Tổ chức bộ nhớ om Hệ điều hành .c Các CT khác ng Mã chương trình Đỉnh ngăn xếp co Dữ liệu toàn cục SP an n th Array_A Vùng nhớ tự do o ng f du Ngăn xếp k (tham biến, biến u i cu cục bộ) count a Vùng nhớ tự do Chương 2: Tổng quan về C và C++ 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. 2.2 Biến và dữ liệu  Biểu thức = dữ liệu + phép toán om  Biểu diễn dữ liệu: Thông qua biến hoặc hằng số, kèm .c theo kiểu ng  Nội dung trong phần này: co – Các kiểu dữ liệu cơ bản an – Các phép toán áp dụng th – Tương thích và chuyển đổi kiểu ng – Khai báo biến, phân loại biến o du u cu Chương 2: Tổng quan về C và C++ 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. 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) om char 8 −127 to 127 .c signed char 8 −127 .. 127 unsigned char 8 0 .. 255 ng int 16/32 −32767 .. 32767 co signed int 16/32 -nt- unsigned int 16/32 0 .. 65535 an short 16 −32767 .. 32767 th signed short 16 ng nt unsigned short 16 0 .. 65535 long 32 −2147483647 .. 2147483647 o du signed long 32 nt unsigned long 32 0 .. 4294967295 u float 32 Độ chính xác 6 chữ số cu double 64 Độ chính xác 10 chữ số long double 80 Độ chính xác 10 chữ số bool (C++) - - wchar_t (C++) 16 −32767 .. 32767 Chương 2: Tổng quan về C và C++ 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. Các phép toán cơ bản Phép toán Ký hiệu Kiểu nguyên Kiểu số thực Kiểu bool om Gán = X X X +, -, *, /, .c Số học X X x +=, -=, *=, /= ng %, %= X x co ++, -- X x an So sánh >, =,
  16. 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 om chuyển đổi kiểu: .c – Giữa các kiểu số nguyên với nhau (lưu ý phạm vi giá trị) ng – Giữa các kiểu số thực với nhau (lưu ý độ chính xác) co – Giữa các kiểu số nguyên và số thực (lưu ý phạm vi giá trị và độ chính xác) an – Kiểu bool sang số nguyên, số thực: true => 1, false => 0 th – Số nguyên, số thực sang kiểu bool:  0 => true, 0 => false ng  Nếu có lỗi hoặc cảnh báo => khắc phục bằng cách ép o du chuyển đổi kiểu u – VD: cu i = int(5.1) % 2; //C j = (int)5.1 + 2; // C++ Chương 2: Tổng quan về C và C++ 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. 2.2.2 Khai báo biến char c = 'N'; Khai báo và khởi tạo giá trị bool b = true; om int kq; Chỉ khai báo, giá trị bất định .c double d; long count, i=0; Khai báo kết hợp, chỉ i=0 ng unsigned vhexa=0x00fa; Đặt giá trị đầu hexa co unsigned voctal=082; Đặt giá trị đầu octal -> 66 chứ không phải 82 an  C: Toàn bộ biến phải khai báo ngay đầu thân hàm th  C++: Có thể khai báo tại chỗ nào cần ng  Phân loại biến: o du – Biến toàn cục: Khai báo ngoài hàm, lưu giữ trong vùng nhớ dữ liệu chương trình u cu – Biến cục bộ: Khai báo trong thân hàm, lưu giữ trong ngăn xếp (vùng nhớ tự do) – Tham biến: Khai báo trên danh sách tham số của hàm, lưu giữ trong ngăn xếp Chương 2: Tổng quan về C và C++ 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. Ví dụ khai báo các loại biến Biến toàn cục int N = 1; om void main() { char c = 'N'; .c do { cout
  19. 2.3 Các kiểu dữ liệu dẫn xuất trực tiếp  Kiểu liệt kê om  Kiểu hằng .c  Kiểu con trỏ ng  Kiểu mảng co  Kiểu tham chiếu (C++) an th o ng du u cu Chương 2: Tổng quan về C và C++ 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. 2.3.1 Kiểu liệt kê (enum)  Tương tự như một kiểu số nguyên.  Được dùng khi: om – Cần hạn chế phạm vi sử dụng .c – Hoặc khi muốn sử dụng tên cụ thể thay cho hằng số nguyên  Ví dụ void main() ng { co enum Color {Red, Green, Blue}; enum WeekDay {Mon = 2,Tue, Wed, Thu, Fri, Sat, Sun = 1 }; an //Tue=3, Wed=4… th int n=Red; cout
nguon tai.lieu . vn