Bài giảng Tin đại cương - Bài 3: Các thành phần cơ bản của C++ & Nhập xuất dữ liệu - Lý Anh Tuấn

pdf 28 trang ngocly 3490
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin đại cương - Bài 3: Các thành phần cơ bản của C++ & Nhập xuất dữ liệu - Lý Anh Tuấn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_tin_dai_cuong_bai_3_cac_thanh_phan_co_ban_cua_c_nh.pdf

Nội dung text: Bài giảng Tin đại cương - Bài 3: Các thành phần cơ bản của C++ & Nhập xuất dữ liệu - Lý Anh Tuấn

  1. Môn học Tin đại cương Lý Anh Tuấn Bộ môn Khoa học máy tính, Khoa Công nghệ thông tin, Trường đại học Thủy Lợi 1/26
  2. Buổi 3: Các thành phần cơ bản cuả C++ & Nhập xuất dữ liệu  Các thành phần cơ bản của C++ (phần tiếp)  Các toán tử  Biểu thức  Câu lệnh  Một số hàm toán học  Xuất nhập dữ liệu  Xuất dữ liệu  Nhập dữ liệu  Nhập xâu kí tự 2/26
  3. Các toán tử  Phép gán  Toán tử số học  Toán tử tăng/giảm  Toán tử quan hệ  Toán tử logic  Toán tử điều kiện 3/26
  4. Phép gán  Gán một giá trị cho một biến  Khi biến được gán giá trị mới, giá trị cũ sẽ được tự động xoá  Cú pháp của phép gán: tên_biến = biểu_thức;  Ví dụ:  a = 5;  a = b; 4/26
  5. Phép gán 5/26
  6. Viết gọn phép gán  C++ cho phép viết gọn phép gán theo cách sau: 6/26
  7. Viết gọn phép gán 7/26
  8. Toán tử số học Ngoại trừ toán tử lấy phần dư (%) thì tất cả các toán tử số học cho phép pha trộn các toán hạng số nguyên và số thực 8/26
  9. Toán tử tăng/giảm  Các toán tử tăng một (++) và giảm một ( ) giúp tiện lợi trong việc tăng thêm 1 hoặc giảm đi 1 đối với biến số. 9/26
  10. Toán tử quan hệ  Được sử dụng để so sánh giá trị của hai biểu thức  Giá trị trả về thuộc kiểu logic: true (đúng) hoặc false (sai) 10/26
  11. Toán tử logic  Các toán hạng của toán tử logic phải thuộc kiểu logic tức là có giá trị true (đúng) hoặc false (sai)  Giá trị trả về cũng thuộc kiểu logic  Phép toán "phủ định" đúng khi và chỉ khi toán hạng của nó sai  Phép toán "và" đúng khi và chỉ khi hai toán hạng cùng đúng  Phép toán "hoặc" sai khi và chỉ khi hai toán hạng cùng sai 11/26
  12. Toán tử điều kiện  Toán tử điều kiện tính giá trị của một biểu thức và trả về một giá trị nếu biểu thức đúng và trả về một giá trị khác nếu biểu thức sai  Cú pháp: điều_kiện ? kết_quả1: kết_quả2;  Nếu điều kiện đúng kết_quả1 được trả về, ngược lại kết_quả2 sẽ được trả về  Ví dụ:  7==5 ? 4 : 3 // trả về 3, vì 7 không bằng 5.  7==5+2 ? 4 : 3 // trả về 4, vì 7 bằng 5+2.  5>3 ? a : b // trả về giá trị của a, vì 5 lớn hơn 3.  a>b ? a : b // trả về số lớn hơn trong hai số a, b. 12/26
  13. Toán tử điều kiện 13/26
  14. Biểu thức  Biểu thức là dãy kí hiệu kết hợp giữa các toán hạng, toán tử và cặp dấu () theo một qui tắc nhất định  Các toán hạng là hằng, biến, hàm  Biểu thức cung cấp cách thức tính giá trị mới dựa trên các toán hạng và toán tử trong biểu thức.  Ví dụ:  (x + y) * 2 - 4 ;  3 - x + sqrt(y) ;  (-b + sqrt(delta)) / (2*a) ; 14/26
  15. Thứ tự ưu tiên của các toán tử  C++ qui định trật tự tính toán theo các mức độ ưu tiên như sau: 1. Các biểu thức trong cặp dấu ngoặc () 2. Các toán tử 1 ngôi (phủ định, tăng, giảm, ) 3. Các toán tử số học 4. Các toán tử quan hệ 5. Các toán tử logic 6. Các phép gán 15/26
  16. Thứ tự ưu tiên của các toán tử Ví dụ: 7+3*5 // = 22 (65 > 21) && (‘B’ 4 / 2) // = true 16/26
  17. Các hàm trong thư viện  Một số hàm toán học trong thư viện cmath:  sin(x), cos(x), tan(x), asin(x), acos(x), atan(x): các hàm lượng giác x  exp(x): hàm mũ, trả lại giá trị e mũ x (e ).  log(x), log10(x): trả lại lôgarit cơ số e và lôgarit thập phân của x (lnx, logx) . y  pow(x, y): hàm mũ, trả lại giá trị x lũy thừa y (x ).  sqrt(x): trả lại căn bậc 2 của x.  abs(x), labs(x), fabs(x): trả lại giá trị tuyệt đối của x.  ceil(x): trả lại giá trị làm tròn lên của x  floor(x): trả lại giá trị làm tròn xuống của x 17/26
  18. Câu lệnh  Câu lệnh trong C++ được thiết lập từ các từ khoá và các biểu thức  Câu lệnh luôn luôn được kết thúc bằng dấu chấm phẩy  Các câu lệnh được phép viết trên cùng một hoặc nhiều dòng  Câu lệnh gồm nhiều lệnh được bao bởi cặp dấu ngoặc {} và được gọi là khối lệnh.  Các biến được khai báo trong khối lệnh nào thì chỉ có tác dụng trong khối lệnh đó 18/26
  19. Xuất nhập dữ liệu  Xuất nhập dữ liệu  Xuất dữ liệu  Nhập dữ liệu  Nhập xâu kí tự  Đọc ghi dữ liệu với tệp tin (Bài 5) 19/26
  20. Xuất nhập dữ liệu  C++ hỗ trợ việc xuất nhập dữ liệu thông qua thư viện vào ra chuẩn iostream  Thư viện iostream chứa các đối tượng cin, cout làm nhiệm vụ nhập dữ liệu từ bàn phím và đưa dữ liệu ra màn hình  Các đối tượng này được khai báo trong không gian tên std do vậy phải tham chiếu đến chúng bằng tên đầy đủ, vd: std::cin, hoặc viết lệnh using namespace std; 20/26
  21. Xuất dữ liệu  Để in giá trị của các biểu thức ra màn hình ta dùng câu lệnh sau:  cout << bt_1 ;  cout << bt_2 ;  cout << bt_3 ;  hoặc:  cout << bt_1 << bt_2 << bt_3 ; 21/26
  22. Xuất dữ liệu  Ví dụ, in xâu kí tự, hằng, biến ra màn hình:  Có thể sử dụng toán tử << nhiều lần trên cùng một dòng, ví dụ:  Kết hợp in xâu kí tự và biểu thức, ví dụ: 22/26
  23. Xuất dữ liệu  Sau khi in cout không làm con trỏ xuống dòng mới  Ví dụ: => Xau thu nhat.Xau thu hai.  Để xuống dòng chúng ta có thể sử dụng ký tự xuống dòng \n hoặc ký hiệu endl  Ví dụ: => Xau thu nhat. Xau thu hai. 23/26
  24. Nhập dữ liệu  Để nhập giá trị cho các biến có tên biến_1, biến_2, biến_3 chúng ta sử dụng câu lệnh:  cin >> biến_1 ;  cin >> biến_2 ;  cin >> biến_3 ;  hoặc:  cin >> biến_1 >> biến_2 >> biến_3 ; 24/26
  25. Nhập dữ liệu  Ví dụ, nhập giá trị cho một biến nguyên: dòng một khai báo biến age nguyên, dòng hai đợi người dùng nhập giá trị cho biến age  Có thể sử dụng cin để nhập giá trị cho nhiều biến trên cùng một dòng  Ví dụ: tương đương với 25/26
  26. Nhập dữ liệu  Lưu ý:  Ấn phím Enter để kết thúc việc nhập giá trị  Giá trị nhập vào phải phù hợp với kiểu dữ liệu của biến  Nếu nhập giá trị cho nhiều biến cùng một lúc thì phải phân cách nhau bằng khoảng trống: dấu cách, dấu tab, dấu xuống dòng  Nếu dùng cin để nhập một xâu ký tự từ bàn phím, trong trường hợp xâu kí tự có chứa khoảng trống ta sẽ chỉ nhận được một phần của xâu ký tự 26/26
  27. Xuất nhập dữ liệu 27/26
  28. Nhập xâu kí tự Sử dụng hàm getline để nhận toàn bộ xâu ký tự nhập vào 28/26