intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Chương 1Kỹ thuật lập trìnhChương 2: Các yếu tố cơ bản của C và

Chia sẻ: Thao Thao | Ngày: | Loại File: PDF | Số trang:66

79
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 1 Kỹ thuật lập trình Chương 2: Các yếu tố cơ bản của C và C++ 0101010101010101100001 0101010101010101100001 StateController 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 start() 1100101100100010000010 1100101100100010000010 stop() 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 1010011000110010010010+ B*u; 1010011000110010010010 y = A*x 1100101100100010000010+ d*u; 1100101100100010000010 x = C*x LQGController 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 start() 1010011000110010010010 stop() 1010011000110010010010 1100101100100010000010 1100101100100010000010 © 2004, HOÀNG MINH SƠN 8/19/2006 Nội dung chương 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Tổ chức chương trình C/C++ Biến và các kiểu dữ liệu cơ bản Các kiểu dữ liệu dẫn xuất trực tiếp Định nghĩa kiểu dữ liệu mới Điều...

Chủ đề:
Lưu

Nội dung Text: Chương 1Kỹ thuật lập trìnhChương 2: Các yếu tố cơ bản của C và

  1. Kỹ thuật lập trình Chương 1 Chương 2: Các yếu tố cơ bản 0101010101010101100001 0101010101010101100001 StateController 0101010100101010100101 của C và C++ 0101010100101010100101 1010011000110010010010 1010011000110010010010 start() 1100101100100010000010 1100101100100010000010 stop() 0101010101010101100001 0101010101010101100001 © 2004, HOÀNG MINH SƠN 0101010100101010100101 0101010100101010100101 1010011000110010010010+ B*u; y = A*x 1010011000110010010010 1100101100100010000010+ d*u; 1100101100100010000010 x = C*x LQGController 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 start() 1010011000110010010010 1010011000110010010010 stop() 1100101100100010000010 1100101100100010000010 8/19/2006
  2. Nội dung chương 2 2.1 Tổ chức chương trình C/C++ 2.2 Biến và các kiểu dữ liệu cơ bản 2.3 Các kiểu dữ liệu dẫn xuất trực tiếp 2.4 Định nghĩa kiểu dữ liệu mới 2.5 Điều khiển chương trình: phân nhánh 2.6 Điều khiển chương trình: vòng lặp 2.7 Một số lệnh ₫iều khiển chương trình khác © 2004, HOÀNG MINH SƠN 2 Chương 2: Các yếu tố cơ bản của C và C++
  3. 2.1 Tổ chức chương trình C/C++ Cấu trúc và các phần tử cơ bản của một chương trình viết trên C/C++ Qui trình tạo ra một chương trình chạy ₫ược: — Vấn ₫ề tạo dự án — Qui tắc soạn thảo mã nguồn — Biên dịch từng phần và sửa các loại lỗi biên dịch — Liên kết và sử dụng thư viện, sửa lỗi liên kết — Chạy thử và gỡ rối (Debug) Sơ lược về tổ chức bộ nhớ © 2004, HOÀNG MINH SƠN 3 Chương 2: Các yếu tố cơ bản của C và C++
  4. 2.1 Tổ chức chương trình C/C++ Khai báo thư viện và macro # Tiền xử lý Khai báo hàm ₫ược sử Khai báo biến, hàm ... dụng trong CT chính void main() { Chương trình (CT) Chương trình chính Thân hàm chính © 2004, HOÀNG MINH SƠN } Định nghĩa thân hàm ₫ã Định nghĩa hàm (thân hàm) khai báo 4 Chương 2: Các yếu tố cơ bản của C và C++
  5. Chương trình tính giai thừa: Phiên bản C #include #include int factorial(int); void main() { char c = 'N'; int N = 1; int kq; do { printf(“\nEnter a number > 0:"); /* writing on the screen */ scanf("%d",&N); /* reading from keyboard to N */ kq = factorial(N); /* calling function with argument N */ printf(“\nFactorial of %d is %d", N, kq); /*write result on screen */ printf(“\nPress 'Y' to continue or any other key to stop"); c = getch(); /* reading a character from keyboard*/ } while (c=='y' || c=='Y'); /* checking loop condition */ © 2004, HOÀNG MINH SƠN } int factorial(int n) { int kq = 1; while (n > 1) kq *= n--; return kq; } 5 Chương 2: Các yếu tố cơ bản của C và C++
  6. Chương trình tính giai thừa: Phiên bản C++ #include #include int factorial(int); void main() { char c = 'N'; int N = 1; do { cout 0:“ // writing on the screen cin >> N; // reading from keyboard to N int kq = factorial(N); // calling function with argument cout
  7. Tạo dự án 1 3 4 2 © 2004, HOÀNG MINH SƠN 7 Chương 2: Các yếu tố cơ bản của C và C++
  8. Bổ sung file mã nguồn 5 và soạn thảo Các công cụ biên dịch và liên kết Cửa sổ soạn thảo Cửa sổ bàn làm việc/ dự án © 2004, HOÀNG MINH SƠN Cửa sổ thông báo kết quả (biên dịch,…) 8 Chương 2: Các yếu tố cơ bản của C và C++
  9. 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: Tránh sử dụng các từ khóa và tên kiểu cơ sở Các ký tự dùng ₫ược: ‘A’..’Z’, ‘a’..’z’, ‘0’..’9’, ‘_’ Phân biệt giữa chữ hoa và chữ thường: n khác N Ngắn nhưng ₫ủ khả năng phân biệt, gợi nhớ ₫ể nhận biết Sử dụng tiếng Anh hoặc tiếng Việt không dấu (kể cả dòng chú thích) 2. Sau mỗi câu lệnh có chấm phảy; 3. Đoạn { … } ₫ược coi là nhóm lệnh, không có dấu chấm phảy sau ₫ó, trừ trường hợp khai báo kiểu © 2004, HOÀNG MINH SƠN 4. Cấu trúc mã nguồn theo kiểu phân cấp => dễ ₫ọc 5. Bổ sung chú thích ₫ầy ₫ủ, hợp lý (/* …*/ hoặc //) 6. Chia một file lớn thành nhiều file nhỏ 9 Chương 2: Các yếu tố cơ bản của C và C++
  10. 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 signed void default goto sizeof volatile do if static while © 2004, HOÀNG MINH SƠN 10 Chương 2: Các yếu tố cơ bản của C và C++
  11. Từ khóa trong C++ bool break asm auto case char catch class const continue default const_cast else extern do delete enum double false explicit float export for dynamic_cast goto if friend inline mutable namespace int long new operator private protected register return public reinterpret_cast short signed sizeof static struct switch static_cast template © 2004, HOÀNG MINH SƠN this throw true try typedef union typeid typename unsigned void using virtual volatile while wchar_t 11 Chương 2: Các yếu tố cơ bản của C và C++
  12. Biên dịch (compile) Biên dịch từng file nguồn riêng biệt (*.c: C compiler, *.cpp: C++ compiler), kết quả => *.obj Trong Visual C++: Gọi Compile (Ctrl + F7) ₫ể biên dịch riêng rẽ hoặc Build (F7) ₫ể kết hợp biên dịch và liên kết 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ấ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 —… © 2004, HOÀNG MINH SƠN 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ể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 == — … 12 Chương 2: Các yếu tố cơ bản của C và C++
  13. Liên kết (link) yy.lib MyLib2.obj xx.obj MyProg.obj MyLib1.obj MyProg.exe Liên kết là quá trình ghép nhiều file ₫ích (*.obj, *.lib) ₫ể tạo ra chương trình chạy cuối cùng *.exe Trong Visual C++: Gọi Build (F7) Lỗi liên kết có thể là do: — Sử dụng hàm nhưng không có ₫ịnh nghĩa hàm © 2004, HOÀNG MINH SƠN — Biến hoặc hàm ₫ược ₫ịnh nghĩa nhiều lần —… 13 Chương 2: Các yếu tố cơ bản của C và C++
  14. Chạy thử và gỡ rối (debug) Chạy thử trong Visual C++: Execute 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ả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ần tiến hành debug. Chạy Debug trong Visual C++: — Chạy tới chỗ ₫ặt cursor: Ctrl+F10 — Chạy từng dòng lệnh: F10 © 2004, HOÀNG MINH SƠN — 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 14 Chương 2: Các yếu tố cơ bản của C và C++
  15. Tổ chức bộ nhớ Hệ điều hành Các CT khác Đỉnh ngăn xếp Mã chương trình SP Dữ liệu toàn cục n Matran_A Vùng nhớ tự do f Ngăn xếp k © 2004, HOÀNG MINH SƠN (tham biến, biến i cục bộ) count a Vùng nhớ tự do 15 Chương 2: Các yếu tố cơ bản của C và C++
  16. 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 dữ liệu cơ bản — Các phép toán áp dụng — Tương thích và chuyển ₫ổi kiểu — Khai báo biến, phân loại biến © 2004, HOÀNG MINH SƠN 16 Chương 2: Các yếu tố cơ bản của C và C++
  17. 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) 8 −127 to 127 char 8 −127 .. 127 signed char 8 0 .. 255 unsigned char 16/32 −32767 .. 32767 int 16/32 -nt- signed int 16/32 0 .. 65535 unsigned int 16 −32767 .. 32767 short 16 nt signed short 16 0 .. 65535 unsigned short 32 −2147483647..2147483647 long 32 - nt- signed long 32 0 .. 4294967295 unsigned long © 2004, HOÀNG MINH SƠN Độ chính xác 6 chữ số 32 float Độ chính xác 15 chữ số 64 double Độ chính xác 17 chữ số 80 long double bool (C++) - - wchar_t (C++) 16 −32767 .. 32767 17 Chương 2: Các yếu tố cơ bản của C và C++
  18. 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 = Gán X X X +, -, *, /, Số học X X x +=, -=, *=, /= %, %= X x ++, -- X x >, =,
  19. Tương thích và chuyển ₫ổi kiểu Tương thích kiểu => 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à ₫ộ chính xác) — Kiểu bool sang số nguyên, số thực: true => 1, false => 0 — Số nguyên, số thực sang kiểu bool: ≠ 0 => true, 0 => false Nếu có lỗi hoặc cảnh báo => khắc phục bằng cách ép chuyển ₫ổi kiểu: — VD: © 2004, HOÀNG MINH SƠN i = int(2.2) % 2; j = (int)2.2 + 2; // C++ 19 Chương 2: Các yếu tố cơ bản của C và C++
  20. Nhìn nhận về chuyển ₫ổi kiểu long long double int double short float char bool © 2004, HOÀNG MINH SƠN 20 Chương 2: Các yếu tố cơ bản của C và C++
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2