Violet
Dethi

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 091 912 4899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Tìm kiếm Đề thi, Kiểm tra

C++

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Phan Tuệ (trang riêng)
Ngày gửi: 14h:33' 23-07-2010
Dung lượng: 60.0 KB
Số lượt tải: 33
Số lượt thích: 0 người
Các lệnh trong C++
tai-lieu-tin-hoc
Giống nhiều ngôn ngữ thủ tục khác, C++ cung cấp những hình thức khácnhau cho các mục đích khác nhau. Các lệnh khai báo được sử dụng chođịnh nghĩa các biến. Các lệnh như gán được sử dụng cho các tính toánđại số đơn giản. Các lệnh rẽ nhánh được sử dụng để chỉ định đường dẫncủa việc thực thi phụ thuộc vào kết quả của một điều kiện luận lý. Cáclệnh lặp được sử dụng để chỉ định các tính toán cần được lặp cho tớikhi một điều kiện luận lý nào đó được thỏa. Các lệnh điều khiển được sửdụng để làm chuyển đường dẫn thực thi tới một đường dẫn khác của chươngtrình. Chúng ta sẽ lần lượt thảo luận tất cả những vấn đề này. 1. Lệnh đơn và lệnh phức Lệnh đơn là một sự tính toán được kết thúc bằng dấu chấm phẩy. Các địnhnghĩa biến và các biểu thức được kết thúc bằng dấu chấm phẩy như trongví dụ sau: int i; // lệnh khai báo ++i; // lệnh này có một tác động chính yếu double d = 10.5; // lệnh khai báo d + 5; // lệnh không hữu dụng Ví dụ cuối trình bày một lệnh không hữu dụng bởi vì nó không có tác động chính yếu (d được cộng với 5 và kết quả bị vứt bỏ). Lệnh đơn giản nhất là lệnh rỗng chỉ gồm dấu chấm phẩy mà thôi. ; // lệnh rỗng Mặc dầu lệnh rỗng không có tác động chính yếu nhưng nó có một vài việc dùng xác thật. Nhiều lệnh đơn có thể kết nối lại thành một lệnh phức bằng cách rào chúng bên trong các dấu ngoặc xoắn. Ví dụ: { int min, i = 10, j = 20; min = (i < j ? i : j); cout << min << ` `; } Bởi vì một lệnh phức có thể chứa các định nghĩa biến và định nghĩa mộtphạm vi cho chúng, nó cũng được gọi một khối. Phạm vi của một biến C++được giới hạn bên trong khối trực tiếp chứa nó. Các khối và các luậtphạm vi sẽ được mô tả chi tiết hơn khi chúng ta thảo luận về hàm trongchương kế. 2. Lệnh if Đôi khi chúng ta muốn làm cho sự thực thi một lệnh phụ thuộc vào mộtđiều kiện nào đó cần được thỏa. Lệnh if cung cấp cách để thực hiện côngviệc này, hình thức chung của lệnh này là: if (biểu thức) lệnh; Trước tiên biểu thức được ước lượng. Nếu kết quả khác 0 (đúng) thì sau đó lệnh được thực thi. Ngược lại, không làm gì cả. Ví dụ, khi chia hai giá trị chúng ta muốn kiểm tra rằng mẫu số có khác 0 hay không. if (count != 0) average = sum / count; Để làm cho nhiều lệnh phụ thuộc trên cùng điều kiện chúng ta có thể sử dụng lệnh phức: if (balance > 0) { interest = balance * creditRate; balance += interest; } Một hình thức khác của lệnh if cho phép chúng ta chọn một trong hailệnh: một lệnh được thực thi nếu như điều kiện được thỏa và lệnh cònlại được thực hiện nếu như điều kiện không thỏa. Hình thức này được gọilà lệnh if-else và có hình thức chung là: if (biểu thức) lệnh 1; else lệnh 2; Trước tiên biểu thức được ước lượng. Nếu kết quả khác 0 thì lệnh 1 được thực thi. Ngược lại, lệnh 2 được thực thi. Ví dụ: if (balance > 0) { interest = balance * creditRate; balance += interest; } else { interest = balance * debitRate; balance += interest; } Trong cả hai phần có sự giống nhau ở lệnh balance += interest vì thế toàn bộ câu lệnh có thể viết lại như sau: if (balance > 0) interest = balance * creditRate; else interest = balance * debitRate; balance += interest; Hoặc đơn giản hơn bằng việc sử dụng biểu thức điều kiện: interest = balance * (balance > 0 ? creditRate : debitRate); balance += interest; Hoặc chỉ là: balance += balance * (balance > 0 ? creditRate : debitRate); Các lệnh if có thể được L*o*n/*g nhau bằng cách để cho một lệnh if xuất hiện bên trong một lệnh if khác. Ví dụ: if (callHour > 6) { if (callDuration <= 5) charge = callDuration * tarrif1; else charge = 5 * tarrif1 + (callDuration - 5) * tarrif2; } else charge = flatFee; Một hình thức được sử dụng thường xuyên của những lệnh if L*o*n/*g nhauliên quan đến phần else gồm có một lệnh if-else khác. Ví dụ: if (ch >= `0` & ch <= `9`) kind = digit; else { if (ch >= `A` & ch <= `Z`) kind = upperLetter; else { if (ch >= `a` & ch <= `z`) kind = lowerLetter; else kind = special; } } Để cho dễ đọc có thể sử dụng hình thức sau: if (ch >= `0` & ch <= `9`) kind = digit; else if (ch >= `A` & ch <= `Z`) kind = capitalLetter; else if (ch >= `a` & ch <= `z`) kind = smallLetter; else kind = special; 3. Lệnh switch Lệnh switch cung cấp phương thức lựa chọn giữa một tập các khả năng dựatrên giá trị của biểu thức. Hình thức chung của câu lệnh switch là: switch (biểu thức) { case hằng : 1 các lệnh; ... case hằng : n các lệnh; default: các lệnh; } Biểu thức (gọi là thẻ switch) được ước lượng trước tiên và kết quả đượcso sánh với mỗi hằng số (gọi là các nhãn) theo thứ tự chúng xuất hiệncho đến khi một so khớp được tìm thấy. Lệnh ngay sau khi so khớp đượcthực hiện sau đó. Chú ý số nhiều: mỗi case có thể được theo sau bởi không haynhiều lệnh (không chỉ là một lệnh). Việc thực thi tiếp tục cho tới khihoặc là bắt gặp một lệnh break hoặc tất cả các lệnh xen vào đến cuốilệnh switch được thực hiện.Trường hợp default ở cuối cùng là một tùychọn và được thực hiện nếu như tất cả các case trước đó không được sokhớp. Ví dụ, chúng ta phải phân tích cú pháp một phép toán toán học nhị hạngthành ba thành phần của nó và phải lưu trữ chúng vào các biến operator,operand1, và operand2. Lệnh switch sau thực hiện phép toán và lưu trữkết quả vào result. switch (operator) { case `+`: result = operand1 + operand2; break; case `-`: result = operand1 - operand2; break; case `*`: result = operand1 * operand2; break; case `/`: result = operand1 / operand2; break; default: cout << "unknown operator: " << operator << ` `; break; } Như đã được minh họa trong ví dụ, chúng ta cần thiết chèn một lệnhbreak ở cuối mỗi case. Lệnh break ngắt câu lệnh switch bằng cách nhảyđến điểm kết thúc của lệnh này. Ví dụ, nếu chúng ta mở rộng lệnh trênđể cho phép x cũng có thể được sử dụng như là toán tử nhân, chúng ta sẽcó: switch (operator) { case `+`: result = operand1 + operand2; break; case `-`: result = operand1 - operand2; break; case `x`: case `*`: result = operand1 * operand2; break; case `/`: result = operand1 / operand2; break; default: cout << "unknown operator: " << operator << ` `; break; } Bởi vì case `x` không có lệnh break nên khi case này được thỏa thì sựthực thi tiếp tục thực hiện các lệnh trong case kế tiếp và phép nhânđược thi hành. Chúng ta có thể quan sát rằng bất kỳ lệnh switch nào cũng có thể đượcviết như nhiều câu lệnh if-else. Ví dụ, lệnh trên có thể được viết nhưsau: if (operator == `+`) result = operand1 + operand2; else if (operator == `-`) result = operand1 - operand2; else if (operator == `x` || operator == `*`) result = operand1 * operand2; else if (operator == `/`) result = operand1 / operand2; else cout << "unknown operator: " << ch << ` `; người ta có thể cho rằng phiên bản switch là rõ ràng hơn trong trườnghợp này. Tiếp cận if-else nên được dành riêng cho tình huống mà trongđó switch không thể làm được công việc (ví dụ, khi các điều kiện làphức tạp không thể đơn giản thành các đẳng thức toán học hay khi cácnhãn cho các case không là các hằng số). 4. Lệnh while Lệnh while (cũng được gọi là vòng lặp while) cung cấp phương thức lặpmột lệnh cho tới khi một điều kiện được thỏa. Hình thức chung của lệnhlặp là: while (biểu thức) lệnh; Biểu thức (cũng được gọi là điều kiện lặp) được ước lượng trước tiên.Nếu kết quả khác 0 thì sau đó lệnh (cũng được gọi là thân vòng lặp)được thực hiện và toàn bộ quá trình được lặp lại. Ngược lại, vòng lặpđược kết thúc. Ví dụ, chúng ta muốn tính tổng của tất cả các số nguyên từ 1 tới n. Điều này có thể được diễn giải như sau: i = 1; sum = 0; while (i <= n){ sum += i; i++; } Trường hợp n là 5, Bảng 3.1 cung cấp bảng phát họa vòng lặp bằng cáchliệt kê các giá trị của các biến có liên quan và điều kiện lặp. Vòng lặp i n i <= n sum += i++ Một 1 5 1 1 Hai 2 5 1 3 Ba 3 5 1 6 Bốn 4 5 1 10 Năm 5 5 1 15 Sáu 6 5 0 Đôi khi chúng ta có thể gặp vòng lặp while có thân rỗng (nghĩa là mộtcâu lệnh null). Ví dụ vòng lặp sau đặt n tới thừa số lẻ lớn nhất của nó. while (n % 2 == 0 & n /= 2) ; Ở đây điều kiện lặp cung cấp tất cả các tính toán cần thiết vì thếkhông thật sự cần một thân cho vòng lặp. Điều kiện vòng lặp không nhữngkiểm tra n là chẵn hay không mà nó còn chia n cho 2 và chắc chắn rằngvòng lặp sẽ dừng. 5. Lệnh do - while Lệnh do (cũng được gọi là vòng lặp do) thì tương tự như lệnh whilengoại trừ thân của nó được thực thi trước tiên và sau đó điều kiện vònglặp mới được kiểm tra. Hình thức chung của lệnh do là: do lệnh; while (biểu thức); Lệnh được thực thi trước tiên và sau đó biểu thức được ước lượng. Nếukết quả của biểu thức khác 0 thì sau đó toàn bộ quá trình được lặp lại.Ngược lại thì vòng lặp kết thúc. Vòng lặp do ít được sử dụng thường xuyên hơn vòng lặp while. Nó hữudụng trong những trường hợp khi chúng ta cần thân vòng lặp thực hiện ítnhất một lần mà không quan tâm đến điều kiện lặp. Ví dụ, giả sử chúngta muốn thực hiện lặp đi lặp lại công việc đọc một giá trị và in bìnhphương của nó, và dừng khi giá trị là 0. Điều này có thể được diễn giảitrong vòng lặp sau đây: do { cin >> n; cout << n * n << ` `; } while (n != 0); Không giống như vòng lặp while, vòng lặp do ít khi được sử dụng trongnhững tình huống mà nó có một thân rỗng. Mặc dù vòng lặp do với thânrỗng có thể là tương đương với một vòng lặp while tương tự nhưng vònglặp while thì luôn dễ đọc hơn. 6. Lệnh for Lệnh for (cũng được gọi là vòng lặp for) thì tương tự như vòng lặpwhile nhưng có hai thành phần thêm vào: một biểu thức được ước lượngchỉ một lần trước hết và một biểu thức được ước lượng mỗi lần ở cuốimỗi lần lặp. Hình thức tổng quát của lệnh for là: for (biểu thức1; biểu thức2; biểu thức3) lệnh; Biểu thức1 (thường được gọi là biểu thức khởi tạo) được ước lượng trướctiên. Mỗi vòng lặp biểu thức2 được ước lượng. Nếu kết quả không là 0(đúng) thì sau đó lệnh được thực thi và biểu thức3 được ước lượng.Ngược lại, vòng lặp kết thúc. Vòng lặp for tổng quát thì tương đươngvới vòng lặp while sau: biểu thức1; while (biểu thức 2) { lệnh; biểu thức 3; } Vòng lặp for thường được sử dụng trong các trường hợp mà có một biếnđược tăng hay giảm ở mỗi lần lặp. Ví dụ, vòng lặp for sau tính toántổng của tất cả các số nguyên từ 1 tới n.
 
Gửi ý kiến