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

Bài giảng Ngôn ngữ lập trình C/C++ - GV. Vũ Song Tùng

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

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

Bài giảng "Ngôn ngữ lập trình C/C++" trình bày về đặc điểm của C/C++, các thành phần cơ bản, biểu thức và toán tử, hàm, mảng và con trỏ, kiểu dữ liệu trừu tượng, các cấu trúc dữ liệu cơ bản. Đây là tài liệu tham khảo hữu ích cho các bạn chuyên ngành Công nghệ thông tin.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Ngôn ngữ lập trình C/C++ - GV. Vũ Song Tùng

  1. NGÔN NGỮ LẬP TRÌNH C/C++ Vũ Song Tùng 1
  2. NỘI DUNG Đặc điểm của C/C++ 3 Các thành phần cơ bản 5 Biểu thức và toán tử 22 Hàm, mảng và con trỏ 45 Kiểu dữ liệu trừu tượng 77 Các cấu trúc dữ liệu cơ bản 123 2
  3. I. Đặc điểm của C/C++ • Ngôn ngữ lập trình hàm • Linh hoạt trong việc sử dụng các kiểu biến • Truy cập trực tiếp bộ nhớ thông qua các con trỏ • Định nghĩa các kiểu biến mới bằng các struct • Có thể chia nhỏ chương trình thành nhiều mô-đun 3
  4. I. Đặc điểm của C/C++ • Kế thừa các đặc điểm của C • Đa hình bằng kỹ thuật xếp chồng (overload) • Hướng đối tượng bằng các lớp (class) • Sử dụng lại các mã bằng kỹ thuật kế thừa (inheritance) 4
  5. II. Các thành phần cơ bản Bộ ký tự Chú thích Định danh Hằng Biến Vào/ra 5
  6. II. Các thành phần cơ bản • Chữ cái thường : a – z • Chữ cái hoa : A – Z • Chữ số : 0 – 9 • Phần lớn các dấu (trừ @ và $) Ví dụ #include void main() { int Arr[] = { 1, 2, 3, 4 }; for (int i = 0; i < 4; i++) std::cout
  7. II. Các thành phần cơ bản • Dùng để mô tả một hàm hay một đoạn chương trình // Hàm tính x^n // x - số thực, n - số nguyên dương Mô tả hàm double power(double x, int n) { /* double g = 1; for (int i = 0; i < n; i++) Có thể dùng để bỏ tạm thời một g *= x; đoạn chương trình return g; */ if (n == 0) return 1; // x^0 = 1 Làm rõ nghĩa return x * power(x, n - 1); } 7
  8. II. Các thành phần cơ bản • Tên được đặt cho các hàm, các biến, các kiểu dữ liệu v.v… • Các quy tắc định danh – Chỉ được dùng các chữ cái, chữ số hoặc dấu gạch nối – Ký tự đầu tiên không là chữ số – Không được phép trùng từ khóa Chú ý. Ngôn ngữ C/C++ phân biệt chữ cái hoa và chữ cái thường Ví dụ void _foo() // đúng quy cách { int so nguyen; // sai vì có chứa dấu cách int soNguyen; // đúng quy cách } 8
  9. II. Các thành phần cơ bản • Các giá trị cụ thể trong chương trình • Có thể là số nguyên, số thực, ký tự hoặc xâu ký tự Ví dụ 5 // số nguyên kiểu int 05 // số nguyên biểu diễn trong hệ 8 0x5 // số nguyên biểu diễn trong hệ 16 5u // U hoặc u – số nguyên kiểu unsigned 5l // L hoặc l – số nguyên kiểu long 5.0 // số nguyên kiểu double '5' // ký tự có giá trị số (mã ASCII) bằng 53 'A' // ký tự có giá trị số (mã ASCII) bằng 65 "5" // xâu ký tự gồm ký tự '5' và ký tự NULL 9
  10. II. Các thành phần cơ bản Bảng 2.1. Các ký tự đặc biệt Ký tự Mô tả \t TAB \n ENTER \’ Nháy đơn \” Nháy kép \\ \ \0 Ký tự NULL (giá trị bằng 0) 10
  11. II. Các thành phần cơ bản • Là một vùng trong bộ nhớ RAM dùng để lưu trữ tạm thời các giá trị được xác định bằng một tên biến • Phân loại • Biến đơn • Biến mảng • Biến con trỏ 11
  12. II. Các thành phần cơ bản • Cần khai báo biến trước khi sử dụng kiểu tên_biến; Cú pháp kiểu tên_biến = biểu_thức_khởi_tạo; Ví dụ int a, b = 1; // Khai báo biến đơn double A[10]; // Khai báo biến mảng int *pa = &a; // Khai báo biến con trỏ 12
  13. II. Các thành phần cơ bản Bảng 2.2. Các kiểu biến Kích thước Kiểu Vùng giá trị (byte) char 1 -128 … 127 short 2 –32,768 … 32,767 Số nguyên int 4 –2,147,483,648 … 2,147,483,647 unsigned 4 0 … 4,294,967,295 long 4 –2,147,483,648 … 2,147,483,647 long long 8 –9,223,372,036,854,775,808 … 9,223,372,036,854,775,807 float 4 ±3.4E±38 Số thực double 8 ±1.7E±308 long double 8 ±1.7E±308 13
  14. II. Các thành phần cơ bản • Một vài chú ý Ví dụ void main() { int x = 10, y; Trong một khối ,…-, các tên biến phải khác nhau // Các biểu thức for (int i = 0; i < 4; i++) { Cùng một tên biến có thể khai báo trong các khối ,…- int x = 5; khác nhau // Các biểu thức } int y; error C2086: 'int y' : redefinition } 14
  15. II. Các thành phần cơ bản • Một vài chú ý • Kích thước của các kiểu phụ thuộc vào hệ thống mà chương trình được biên dịch • Dùng toán tử sizeof(...) để lấy kích thước của một kiểu, một hằng hay một biến // Chương trình Win32 Console Application int sz; sz = sizeof(sz); // sz = 4 sz = sizeof(long long); // sz = 8 sz = sizeof("12345"); // sz = 6 15
  16. II. Các thành phần cơ bản • Kiểu liệt kê • Dùng để định danh cho các giá trị kiểu int enum tên_kiểu { danh sách tên }; Ví dụ enum Boolean { False, True }; // False = 0, True = 1 enum Keys { Enter = 13, Escape = 27, A = 65, B, C }; // B = 66, C = 67 16
  17. II. Các thành phần cơ bản Dùng các chuẩn vào/ra trong thư viện iostream để làm việc với màn hình và bàn phím – Chuẩn vào (cin) sử dụng toán tử luồng vào (>>) – Các chuẩn ra (cout, cerr) sử dụng toán tử luồng ra (> b >> c; // Dùng dấu cách, TAB hoặc ENTER để phân biệt các luồng if (a != 0) { cout
  18. II. Các thành phần cơ bản Yêu cầu bài toán • Nhập các hệ số a, b, c từ bàn phím • Nếu a ≠ 0 thì – Tính  – In kết quả ra màn hình với các trường hợp •  > 0  X1 = …, X2 = … •  = 0  X1 = X2 = … •  < 0  Vo nghiem. 18
  19. II. Các thành phần cơ bản PhuongTrinhBac2.cpp #include // thư viện vào/ra using namespace std; // nơi khai báo các thành phần chuẩn void main() { double a, b, c; cout > a >> b >> c; if (a != 0) { // Đoạn biểu thức giải và biện luận phương trình // } else cerr
  20. II. Các thành phần cơ bản PhuongTrinhBac2.cpp // Giải và biện luận phương trình double d = b*b - 4*a*c; if (d >= 0) { if (d > 0) { cout
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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