Bài giảng Ngôn ngữ lập trình C: Chương 3 - GV. Dương Khai Phong

30 25 0
Bài giảng Ngôn ngữ lập trình C: Chương 3 - GV. Dương Khai Phong

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nội dung trình bày của chương 3 Các cấu trúc điều khiển thuộc bài giảng ngôn ngữ lập trình C nhằm trình bày về câu lệnh, khối lệnh trong C,cấu trúc điều khiển là gì? cấu trúc điều kiện: IF.. ELSE.. Cấu trúc rẽ nhánh: SWITCH..CASE, cấu trúc lặp: FOR, WHILE, DO..WHILE và cấu trúc điều khiển GOTO.

TIN HỌC ĐẠI CƯƠNG Ngơn ngữ lập trình: C Lý thuyết: buổi Thực hành: buổi GVHD: Dương Khai Phong Email: khaiphong@gmail.com NỘI DUNG CÁC BUỔI HỌC Tổng quan C (chương 1,2) Các cấu trúc điều khiển C (chương 3) Hàm cấu trúc chương trình (chương 4) Mảng, chuỗi trỏ (chương 5) Kiểu cấu trúc, đệ qui, tập tin (chương 6,7,8) Ôn tập CHƯƠNG 3: CÁC CẤU TRÚC ĐIỀU KHIỂN Câu lệnh , khối lệnh C Cấu trúc điều khiển gì? Cấu trúc điều kiện: IF ELSE Cấu trúc rẽ nhánh: SWITCH CASE Cấu trúc lặp: FOR, WHILE, DO WHILE Cấu trúc điều khiển GOTO CÂU LỆNH , KHỐI LỆNH TRONG C a Khái niệm câu lệnh: Mỗi câu lệnh (code) thực chức (như lệnh gán, xuất liệu hình ) Mỗi câu lệnh viết dịng nhiều dòng kết thúc dấu chấm phẩy “;” b Khái niệm khối lệnh: - Một dãy câu lệnh đặt cặp dấu ngoặc nhọn { } gọi khối lệnh - Những câu lệnh hàm hay cấu trúc có nhiều lệnh phải đặt dấu { }  Lưu ý: - Khi muốn ghi câu lệnh ta dùng dấu : // nội dung - Khi muốn ghi khối lệnh ta dùng dấu : /* nội dung */ CẤU TRÚC ĐIỀU KHIỂN TRONG C a Cấu trúc điều khiển gì? Là cách thức cho phép thay đổi trật tự thực câu lệnh (khối lệnh) máy từ câu lệnh nhảy tới thực câu lệnh trước sau b Phân loại: Cấu trúc điều khiển ĐIỀU KIỆN IF ELSE SWITCH CASE LẶP FOR KẾT HỢP: GOTO WHILE DO WHILE CẤU TRÚC ĐIỀU KIỆN: IF ELSE a Cấu trúc 1: if () { ; } Ý nghĩa: Nếu Biểu_thức_điều_kiện cho kết khác khơng (tức điều kiện đúng) thực khối lệnh, ngược lại không thực Ta lồng câu lệnh if vào b Cấu trúc 2: if () { ; } else { ; } Ý nghĩa: Nếu Biểu_thức_điều_kiện cho kết khác khơng (tức điều kiện đúng) thực khối_lệnh_1, ngược lại thực khối_lệnh_2 CẤU TRÚC ĐIỀU KIỆN: IF ELSE Một số ví dụ if: Ví dụ 1: Nếu tuổi người 18 tuổi xuất thơng báo “Bạn niên”? int tuoi; printf(“Cho biet tuoi:”); scanf (“%d”,&tuoi); if (tuoi>=18) { printf(“Ban la nien”); } int tuoi; printf(“Cho biet tuoi:”); scanf (“%d”,&tuoi); if (tuoi>=18) printf(“Ban la nien”); Nếu khối lệnh sau if có lệnh ta khơng cần dùng cặp dấu ngoặc nhọn {…} CẤU TRÚC ĐIỀU KIỆN: IF ELSE Một số ví dụ if: Ví dụ 2: Nếu tuổi người 18 tuổi xuất thông báo “Bạn niên”, ngược lại “Bạn chưa đủ tuổi”? int tuoi; printf(“Cho biet tuoi:”); scanf (“%d”,&tuoi); if (tuoi>=18) { printf(“Ban la nien”); } else { printf(“Ban la nien”); } int tuoi; printf(“Cho biet tuoi:”); scanf (“%d”,&tuoi); if (tuoi>=18) printf(“Ban la nien”); else printf(“Ban la nien”); CẤU TRÚC ĐIỀU KIỆN: IF ELSE Một số ví dụ if: Ví dụ 3: Giải ptb1 ax+b=0 với a,b số nguyên nhập từ bàn phím int a,b; float x; printf(“Cho biet a=”);scanf (“%d”,&a); printf(“Cho biet b=”);scanf (“%d”,&b); if (a==0) if (b==0) printf(“pt VSN”); else printf(“pt VN”); else { x=(float)a/b; printf(“pt co nghiem x=%f”,x); } CẤU TRÚC RẼ NHÁNH: SWITCH CASE Cấu trúc chung: switch () { case giá_trị_1: ; [break;] case giá_trị_2: ; [break;] case giá_trị_k: ; [break;] [default: ;] } * Lưu ý: - Kết biểu thức tính tốn phải giá trị nguyên, ký tự - Các giá trị 1,2, ,k: phải nguyên, ký tự - Khi giá trị biểu thức khác tất giá trị 1,2, ,k câu lệnh sau default thực - Câu lệnh break dùng để thoát khỏi lệnh switch sau thực xong trường hợp case (nếu break lệnh bên thực mà không xét lại điều kiện) CẤU TRÚC LẶP:  Các lệnh dùng kết hợp với cấu trúc lặp: (xem trang 70,71)  break: dùng để để khỏi vịng lặp for lặp tức  continue: dùng để bắt đầu thực vòng lặp chu trình bên chứa (khơng thực lệnh sau nó) Ví du: break void main() { int dem; for (dem=0;dem KQ xuất dòng : dem =  for Ví du: continue Viết CT xuất số lẻ nhỏ 20 trừ số 5,11 void main() { int dem; for (dem=0;dem Nhận xét: chương trình có tính chất lặp lặp lại nhiều lần số lần lặp không xác định trước => while int main() { int so=11; while (so>10) { printf(“Nhap mot so khoang 9: ”); scanf(“%d”,&so); } printf(“So ban da nhap chinh xac la %d”,so); } CẤU TRÚC LẶP:  while Cú pháp: while while (biểu thức) { ; ; }  Nhận xét:  Nếu biểu thức khác (hay biểu thức có giá trị true) cịn thực khối lệnh vòng lặp  Vòng lặp while thường sử dụng số lần lặp không xác định trước  Số lần lặp tối thiểu lần CẤU TRÚC LẶP: while Ví dụ: viết lại CT cho phép nhập số nguyên khoảng 9, nhập ngồi khoảng bắt nhập lại int main() { int so; { printf(“Nhap mot so khoang 9: ”); scanf(“%d”,&so); } while (so>=0 && so Thứ tự ưu tiên phép toán (tr34) ( ) => = => gán a=2 ? => biểu thức hợp lệ => giá trị biểu thức true => nhận giá trị b+=2 => b=b+2 => b=6 Do khơng có break nên lệnh sau thực tiếp: a-b => b=b-1 a-b => b=5 a => a=a-1 => a=1 b=> b=b-1 => b=4 Bài 2/ trang 78: cho biết kết thực thi CT #include “stdio.h” #include “conio.h” int a=-1,b; main() { while (a>=b && b) if (a==b) break; printf (“%d %d”,a,b); } Kết in ra: -1 b = (do b biến toàn cục) Biểu thức : (a>=b && b) (-1>=0 && b) Do vế đầu biểu thức false nên CT không thực tiếp vế sau –b (do phép && (AND): vế biểu thức có giá trị false tồn biểu thức có giá trị false => vịng while khơng thực Bài 3/ trang 79: cho biết kết thực thi CT #include “stdio.h” #include “conio.h” main() { int a,b=0; while (a=b++==1) if (a==b) break; else a++; printf (“%d %d”,b,a); } Kết in ra: a = giá trị rác (-8599…) Thứ tự thực (tr34) biểu thức: (a=b++==1) sau: -a=b++ tức gán a=b trước thực b=b+1 => a=0 b=1 - Thực so sánh a với => biểu thức so sánh cho giá trị false => Vịng while khơng thực lệnh Bài 4/ trang 79: cho biết kết thực thi CT #include “stdio.h” #include “conio.h” main() { int i,a=0; for(i=0;i1) break; printf(“%d ”,a); } } Kết in ra: i = giá trị rác (-8599…) Thực vòng lặp: i=0: gán a+=i => a=a+i => a=0 => Xuất: i=1: gán a+=i => a=a+i => a=1 Xuất: i=2: thực lệnh continue => bỏ qua lệnh sau i=3: so sánh i vòng lặp Bài 5/ trang 80: cho biết kết thực thi CT #include “stdio.h” #include “conio.h” int i=0; main() { int a=2; for(;i a=a-1 => a=1 b=> b=b-1 => b=4 Bài 2/ trang 78: cho biết kết thực thi CT #include “stdio.h” #include “conio.h” int a =-1 ,b; main() { while (a>=b... Ví dụ: int main(){ int s=1,a =3; goto Lệnh goto nhảy đến nhãn lệnh t mà không thực lệnh ++a goto t; ++a; t: s+=a; } Nhãn lệnh t; PHẦN BÀI TẬP ÔN TẬP CHƯƠNG 1,2 ,3 Bài 1/ trang 77: cho biết kết

Ngày đăng: 08/05/2021, 19:43

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan