CHƯƠNG 02: Ngôn Ng CHƯƠNG

02: Ngôn Ngữữ CC

Bài 03: Cấu Trúc Rẽ Nhánh

GV: Trần Phước Tuấn EMAIL: tranphuoctuan.khoatoan.dhsp@gmail.com

Nội dung bài học

1. Lệnh và Khối lệnh 2. Câu lệnh if 3. Câu lệnh switch … case…

Page 2 T.P.Tuấn-Lập Trình C 9/16/2008

1. Lệnh và Khối lệnh •• LLệệnhnh

– Lệnh là tác vụ, biểu thức, hàm, cấu trúc điều khiển, ... – Ví dụ: x=x+2;

•• KhKhốối li lệệnhnh

– Khối lệnh là dãy các câu lệnh được đặt trong cặp dấu {}, các lệnh thường được viết thụt vào 1 tab để chương trình rõ ràng, đẹp mắt.

– Ví dụ:

#include void main() {//dấu đầu khối

int a=5,b=6; printf(“%d + %d = %d.\n",a,b,a+b);

}//dấu cuối khối

Page 3 T.P.Tuấn-Lập Trình C 9/16/2008

2. Câu lệnh if

•• Công d

Công dụụngng: Sử dụng giải quyết những trường hợp liên quan đến việc giải bài toán có sự biện luận, phân chia trường hợp.

•• CCúú phpháápp

//thực hiện khi đúng

BTLOGIC>) if (

câu lệệnhnh hoặc khkhốối li lệệnhnh>

[[else

// thực hiện khi sai

câu lệệnhnh hoặc khkhốối li lệệnhnh>]]

•• VVíí ddụụ

“Nhập vào 1 số nguyên, cho biết số đó chẵn hay lẻ”

Page 4 T.P.Tuấn-Lập Trình C 9/16/2008

2. Câu lệnh if Lưu đồồ Lưu đ

Vào

Sai

BTLOGIC

Đúng

khối lệnh 1

khối lệnh 2

Ra

Page 5 T.P.Tuấn-Lập Trình C 9/16/2008

Nhập vào 1 số nguyên, cho biết số đó chẵn hay lẻ.

2. Câu lệnh if VVíí ddụụ

#include #include void main() {

clrscr(); int n;char kq[100]; printf(“Chuong trinh kiem tra so chan!\n”); printf(“Nhap so n: “);scanf(“%d”,&n); if (n%2==0)

sprintf(kq,”%d la so chan!”, n);

else

sprintf(kq,”%d la so le!”, n);

printf(“%s”,kq);

}

Page 6 T.P.Tuấn-Lập Trình C 9/16/2008

Nhập hai số thực a, b. Sắp xếp chúng tăng dần

2. Câu lệnh if VVíí ddụụ

#include #include void main() {

clrscr(); float a, b; printf(“Chuong trinh sap xep hai so!\n”); printf(“Nhap a: “);scanf(“%f”,&a); printf(“Nhap b: “);scanf(“%f”,&b); if (a>b) {

float tam=a;a=b;b=tam;

} printf(“a = %.2f, b = %.2f”,a,b); getch();

}

Page 7 T.P.Tuấn-Lập Trình C 9/16/2008

2. Câu lệnh if MMộột st sốố bbàài ti tậậpp

1. Nhập a, b, c. Tìm max. Phát triển nhiều số 2. Giải phương trình ax+b=0 3. Giải phương trình ax2+bx+c=0 4. Giải hệ phương trình: a1x+b1y=c1 a2x+b2y=c2

5. Nhập vào điểm trung bình, hãy xếp loại học tập 6. Tính tiền điện (nhập vào số kw) 7. Dạng tam giác (nhập a, b,c ) 8. Nhập vào 1 tháng, cho biết tháng này thuộc

quý mấy?

Page 8 T.P.Tuấn-Lập Trình C 9/16/2008

3. Câu lệnh switch … case… VVíí ddụụ -- 0000

----------------------------------

#include #include void main() {

Nhap i: 3 *** An phim bat ky de ket thuc! ----------------------------------

int i; printf("Nhap i: "); scanf("%d", &i); switch(i) {

Nhap i: 2 ** An phim bat ky de ket thuc! ----------------------------------

case 3: printf("*"); case 2: printf("*"); case 1: printf("*");

}; printf(“\nAn phim bat ky de ket thuc!\n"); getch();

}

Nhap i: 1 * An phim bat ky de ket thuc! ----------------------------------

Page 9 T.P.Tuấn-Lập Trình C 9/16/2008

3. Câu lệnh switch … case…

VVíí ddụụ -- 0101

#include #include void main() {

int ithang;char kq[100]; printf("Nhap vao thang: ");scanf("%d", &ithang); switch(ithang) {

case 1:case 2:case 3:

sprintf(kq,"Quy 1.\n"); break;

case 4:case 5:case 6:

sprintf(kq,"Quy 2.\n"); break;

case 7:case 8:case 9:

sprintf(kq,"Quy 3.\n"); break; case 10:case 11:case 12:

sprintf(kq,"Quy 4.\n"); break;

default: sprintf(kq,"Thang khong hop le.\n");

}; printf(“%s”,kq); getch();

}

Page 10 T.P.Tuấn-Lập Trình C 9/16/2008

3. Câu lệnh switch … case… CCúú phpháápp

switch () {

case TH1:

break;]

; [break

case TH2:

break;]

; [break

… case THn:

break;]

; [break [default: ;]

nguyên hoặc ký tký tựự.

} Với THi (1<=i<=k) là các hhằằng sng sốố nguyên

Page 11 T.P.Tuấn-Lập Trình C 9/16/2008

3. Câu lệnh switch … case… Lưu đ Lưu đồồ

Page 12 T.P.Tuấn-Lập Trình C 9/16/2008

3. Câu lệnh switch … case… Lưu đồồ Lưu đ

true

break

Hành động 1

Biểu thức = TH1

Không break

false

break

true

Hành động 2

Biểu thức = TH2

Không break

break

false

Hành động n (default)

exit

Page 13 T.P.Tuấn-Lập Trình C 9/16/2008

2. Câu lệnh switch … case … MMộột st sốố bbàài ti tậậpp

1. Viết chương trình nhập vào tháng, in ra

tháng đó có bao nhiêu ngày

2. Viết chương trình nhập vào 2 số x, y và 1 trong 4 toán tử +, -, *, /. Sau đó thực hiện phép tính (nếu y = 0 thì thông báo không chia được)

Lưu ý: Khi nhập ký tự hay chuỗi thì trước khi nhập ta gọi câu lệnh: fflush(stdin) -- #include để xóa vùng đệm

Page 14 T.P.Tuấn-Lập Trình C 9/16/2008

Page 15 T.P.Tuấn-Lập Trình C 9/16/2008