Danh mục

Giáo trình ngôn ngữ C++ Part 6

Số trang: 6      Loại file: pdf      Dung lượng: 607.92 KB      Lượt xem: 13      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Các cấu trúc điều khiển chương trìnhMột chương trình là tập nhiều câu lệnh, thông thường một cách trực quan chúng ta hiểu chương trình thực hiện tuần tự các lệnh từ trên xuống dưới, bắt đầu từ lệnh thứ nhất trong hàm main và kết thúc sau lệnh cuối cùng của nó. Nhưng thực tế chương trình có thể phức tạp hơn sự tuần tự nhiều, chẳng hạn như một câu lệnh (hay khối lệnh) chỉ được thực hiện khi có một điều kiện nào đó đúng, còn ngược lại nó sẽ bị bỏ qua, tức là xuất...
Nội dung trích xuất từ tài liệu:
Giáo trình ngôn ngữ C++ Part 6 Gi¸o tr×nh tin häc c¬ së II - Ngôn ngữ C IV - Các cấu trúc điều khiển chương trình Một chương trình là tập nhiều câu lệnh, thông thường một cách trực quan chúng ta hiểuchương trình thực hiện tuần tự các lệnh từ trên xuống dưới, bắt đầu từ lệnh thứ nhất tronghàm main và kết thúc sau lệnh cuối cùng của nó. Nhưng thực tế chương trình có thể phứctạp hơn sự tuần tự nhiều, chẳng hạn như một câu lệnh (hay khối lệnh) chỉ được thực hiệnkhi có một điều kiện nào đó đúng, còn ngược lại nó sẽ bị bỏ qua, tức là xuất hiện khảnăng lựa chọn một nhánh nào đó. Hay một chức năng nào đó có thể phải lặp lại nhiều lần.Như vậy với một ngôn ngữ lập trình có cấu trúc nói chung phải có các cấu trúc để điềukhiển trình tự thực hiện các lệnh trong chương trình (gọi ngắn gọn là các cấu trúc hoặccác toán tử điều khiển) Sau đây chúng ta sẽ tìm hiểu từng cấu trúc điều khiển chương trình của C.IV.1. Cấu trúc tuần tự Đây là cấu trúc đơn giản nhất của các ngôn ngữ lập trình nói chung, điều khiển thựchiện tuần tự các lệnh trong chương trình (bắt đầu từ các lệnh trong thân hàm main) theothứ tự từ trên xuống dưới (nếu không có điều khiển nào khác). Ví dụ 1.1: Chương trình nhập năm sinh của một người từ bàn phím, sau đó in ra lờichào và tuổi của người đó. #include #include void main() { int namsinh; printf(Nhap nam sinh cua ban : ); scanf(%d, &namsinh); printf( Chao ban! nam nay ban %4d tuoi,2002- namsinh); getch(); } Ví dụ 1.2: Viết chương trình nhập ba số thực a,b,c từ bàn phím là số đo 3 cạnh tamgiác, sau đó tính và in chu vi và diện tích của tam giác. Giải Dữ liệu vào : a,b,c kiểu float là 3 cạnh một tam giác 41 Gi¸o tr×nh tin häc c¬ së II - Ngôn ngữ C Tính toán : chu vi p = (a+b+c), diện tích s = sqrt(q*(q-a)*(q-b)*(q-c)) với q = p/2, sqrt là hàm tính căn bậc 2 Chúng ta có chương trình như sau: #include #include #include void main() { float a,b,c, p,q,s; printf(Nhap so do 3 canh cua tam giac ); printf( a = ); scanf(%f, &a); printf( b = ); scanf(%f, &b); printf( c = ); scanf(%f, &c); p = a+b+c; q = p/2; s = sqrt(q*(q-a)*(q-b)*(q-c)); printf( Chu vi la %5.1f, dien tich la %5.2f ,p,s); getch();} ví dụ về kết quả thực hiện chương trình Nhap so do 3 canh cua tam giac a = 3 ↵ b = 4 ↵ c = 5 ↵ Chu vi la 12.0, dien tich la 6.00Lưu ý: − Trong chương trình ví dụ trên chúng ta sử dụng hàm tính căn bậc 2 sqrt, hàm này được khai báo trong tệp tiêu đề math.h − Chương trình trên chưa xử lý trường hợp a,b,c không hợp lệ (ba số a,b,c có thể không thoả mãn là 3 cạnh một tam giác)IV.2. Cấu trúc rẽ nhánh Chúng ta hãy xem lại chương trình trong ví dụ 2 trên, điều gì xảy ra nếu dữ liệukhông thoả mãn, tức là khi bạn nhập 3 số a,b,c từ bàn phím nhưng chúng không thoả mãnlà số đo 3 cạnh một tam giác trong khi chương trình của chúng ta vẫn cứ tính và in diệntích. 42 Gi¸o tr×nh tin häc c¬ së II - Ngôn ngữ C Rõ ràng là có hai khả năng: − Nếu a,b,c thoả mãn là 3 cạnh tam giác thì tính chu vi, diện tích và in kết quả − Ngược lại phải thông báo dữ liệu không phù hợp Như vậy cần phải có một sự lựa một trong hai nhánh tuỳ vào điều kiện a,b,c có là bacạnh một tam giác hay không. Điều này gọi là rẽ nhánh, và C cung cấp cho chúng ta mộtcấu trúc điều khiển rẽ nhánh if. Cú pháp dạng đủ if (bt_E) S1; else S2; hoặc dạng khuyết if (bt_E) S1;Trong cú pháp trên S1, S2 chỉ là 1 lệnh, là biểu thức điều kiện của ifSự hoạt động của cấu trúc if:Trước hết biểu thức điều kiện được tính, có hai khả năng:→ Nếu giá trị của là ‘đúng’ (!=0) thì S1 được thực hiện và ra khỏi cấu trúc if.→ Ngược lại nếu là ‘sai’ thì - với dạng đầy đủ : thực hiện S2 rồi kết thúc if - với dạng khuyết : kết thúc cấu trúc if 43 Gi¸o tr×nh tin häc c¬ së II - Ngôn ngữ CVí dụ 2.1: chương trình nhập hai số nguyên a, b từ bàn phím, in số lớn nhất ra màn hình. #include #include void main() { int a,b; printf(“ Nhap so thu nhat : “); scanf(“%d”, &a); printf(“ Nhap so thu hai : “); scanf(“%d”, &b); if (a>b) ...

Tài liệu được xem nhiều: