Câu lệnh if else :

Một phần của tài liệu Lập trình C (Trang 35 - 38)

I.1. Các dạng của câu lệnh if :

Dạng 1 : if (biểu thức) /* không có dấu chấm phẩy ở đây*/ lệnh_1; Dạng 2 : if (biểu thức) lệnh_1; else lệnh_2; biểu thức khối lệnh 1 T F

Dạng 1 : nếu biểu thức có giá trị khác 0 (TRUE) thì thực hiện khối lệnh 1, nếu bằng 0 (FALSE) thì tiếp tục thực hiện lệnh tiếp theo sau lệnh if.

Dạng 2 : nếu biểu thức có giá trị khác 0 (TRUE) thì thực hiện khối lệnh 1, nếu bằng 0 (FALSE) thì thực hiện khối lệnh 2.

Biểu thức không nhất thiết phải là biểu thức so sánh mà có thể là biểu thức số học. Ví dụ : tìm số lớn nhất và nhỏ nhất trong 2 số nhập từ bàn phím. #include <stdio.h> #include <conio.h> main() { float x,y,min,max;

printf(“Nhap so thuc thu nhat:”);scanf(“%f”,&x); printf(“Nhap so thuc thu hai :”);scanf(“%f”,&y); if ( x<y ) { min = x; max = y; } else { min = y; max = x; }

printf(“\n Gia tri lon nhat = %f, Gia tri nho nhat = %f”,max, min); getch(); return 0; } Ta có thể thay thế lệnh trên bằng lệnh : min=(x<y)? x:y; max=(x>y)? x:y;

I.2. Sự lồng nhau giữa các câu lệnh if:

Các câu lệnh if có thể lồng nhau : trong khối lệnh của câu lệnh if này có thể có câu lệnh if khác. Để tránh nhầm lẫn ta nên sử dụng dấu đóng mở khối lệnh.

biểu thức Khối lệnh 2

khối lệnh 1 T

Nếu số từ khóa if bằng số từ khóa else thì ta có tương ứng từng cặp if-else Nếu số từ khóa if nhiều hơn số từ khóa else thì else được gắn với if liền trước nó. Ví dụ :

if (n>0) if (a>b) z=a; else z=b;

Như vậy else sẽ gắn liền với if thứ hai.

Để chương trình trong sáng, ta cần tuân thủ :

• Ta nên sử dụng cặp dấu {} để chắc chắn không nhầm lẫn.

• Các câu lệnh, khối lệnh nằm trong một câu lệnh if nằm dịch về bên phải. • Các câu lệnh, khối lệnh cùng cấp thì viết thẳng cột.

• Điểm đầu và điểm cuối của khối lệnh phải nằm thẳng cột. Ví dụ :

if (n>0) if(a>b) z=a;

tương đương với : if ((n>0)&&(a>b)) z=a;

I.3. else if:

if (biểu thức 1) khối lệnh 1; else if (biểu thức 2) khối lệnh 2; ... else if ( biểu thức n) khối lệnh n; else khối lệnh n+1; Đối với câu lệnh này :

• Chỉ có 1 trong n+1 khối lệnh được thực hiện .

• Nếu biểu thức i là biểu thức đầu tiên khác 0 (TRUE) thì khối lệnh i được thực hiện • Nếu cả n biểu thức đều bằng 0 (FALSE) thì khối lệnh n+1 được thực hiện.

Ví dụ : giải phương trình bậc 2 #include <stdio.h> #include <conio.h> #include <math.h> main() {

float a,b,c,delta;

printf(“\nNhap vao 3 he so:”); scanf(“%f%f%f”,&a,&b,&c); if (a==0)

if (b==0) if (c==0)

printf(“\nPhuong trinh dung voi moi x”); else printf(“\nPhuong trinh vo nghiem!”); else printf(“\nPhuong trinh co 1 nghiem x: %f”,(-c) / b); else

{

delta=b*b-4*a*c; if (delta<0.0) (adsbygoogle = window.adsbygoogle || []).push({});

printf(“\nPhuong trinh vo nghiem”); else if (delta==0.0)

printf(“\nPhuong trinh co mot nghiem kep : x = %f”,-b/(2*a)); else { printf(“\nPhuong trinh co hai nghiem phan biet :”);

printf(“\nx1 = %f”, (-b+sqrt(delta))/(2*a)); printf(“\nx2 = %f”, (-b-sqrt(delta))/(2*a)); } } getch(); return 0; }

Một phần của tài liệu Lập trình C (Trang 35 - 38)