X , In ra kiểu số nguyín viết dưới dạng sổ hexa (cơ số 16)
2.3.3. Câc lệnh điều khiển rẽ nhânh
2.3.3.1. if...else
Cấu trúc rẽ nhânh if... else được thực hiện trong trường hợp khi cần phải có sự lựa chọn thực hiện lệnh dựa trín việc kiểm tra điều kiện của một biểu thức. Nếu thỏa mên điều kiện thì chương trình thực hiện một hoặc một số cơng việc (mơ tă sau biểu thức điều kiện) cịn ngược lại thì
chương trình sẽ thực hiện một (hoặc câc) cđu lệnh nằm sau từ khóa else.
Cú phâp
Có thể chia thănh 2 dạng như sau
if <điều kiện> { // khối lệnhl } else { // khối lệnh 2 }
Sự hoạt động
Nếu biểu thức điều kiện lă đúng (có giâ trị khâc 0) thì thực hiện khối lệnh 1. Nếu biểu thức điều kiện lă sai (có giâ trị bằng 0) thì thực hiện
khối lệnh 2.
Ví dụ 2.3.3
if ((b!=0) &&(a%b=0)) {
printf(“%d chia hết cho %d”,a,b);
}
else {
printf(“%d không chia hết cho %d”,a,b);
}
Ví dụ trín kiểm tra nếu b khâc 0 vă a chia hết cho b thì in ra dịng
chữ a chia hết cho b. Ngược lại thì in ra dịng chữ a khơng chia hết cho b.
Chỉ một trong hai nhânh được thực hiện. Trong ví dụ trín, cấu trúc của rẽ
nhânh được thể hiện với đăy đủ cả hai nhânh của điều kiện. Tuy nhiín,
trong nhiều trường hợp, nhânh else có thể bị khuyết, khi đó cú phâp của
cđu lệnh if như sau:
Cú phâp
if(biểu thức điều kiện) {
// khối lệnh
}
Sự hoạt động: Nếu biểu thức điều kiện lă đúng thì thực hiện khối
lệnh. Như vậy chỉ khi năo biểu thức điều kiện trín frả về giâ trị khâc 0 thì
khối lệnh trong cặp {} mới được thực hiện.
Ví dụ 2.3.4
{
printf(“%d chia hết cho %d”,a,b); }
Nếu b khâc 0 vă a chia hết cho b thì in ra dịng chữ a chia hết cho b. Chú ý: Ngơn ngữ c cũng cho phĩp có nhiều cấu trúc if...else lồng
nhau.
Ví dụ 2.3.5.
if(x>0)
{
printf(“%d lă số dương” ,x); } else if(x<0) { printf(“%d lă số đm”,x); }
else printf (“Day la so 0”);
Ví dụ trín sẽ kiểm tra nếu X lớn hơn 0 thì in ra dòng “x lă số dương”.
Ngược lại nếu X nhỏ hơn 0 thì in ra dịng “x lă số đm”. Cịn lại thì in ra dịng “Day la so 0”. Như vậy trong câc khối lệnh sau if vă sau else không hạn chế số lượng cấu trúc if...else. Neu sau biểu thức if hoặc lă else có
nhiều hơn một cđu lệnh thì bắt buộc phải sử dụng cặp {}, cịn chỉ có một cđu lệnh thì khơng cần phải sử dụng cặp { }. Tuy nhiín, có thể vẫn sử dụng {} cho một cđu lệnh để dễ phđn biệt vă khơng gặp khó khăn khỉ
muốn thím nhiều dịng lệnh văo trong câc khối lệnh của if hoặc else.
Ví dụ 2.3.6: 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<stdio.h> #include<conio.h>
int main 0 {
int a, b;
printf(“Nhap so thu nhat:”); scanf(“%d”, &a);
printf(“Nhap so thu hai:”);
scanf(“%d”, &b);
if(a>b) printf(“\n So lon nhat la: %d”,a);
else printf(“\n So lon nhat la: %d”,b); getch();
return 1;
}
Ví dụ 2.3.7: Nhập văo 3 số dương a, b, c. Kiểm tra xem ba sổ đó cỏ
thoă mên lă 3 cạnh cùa một tam giâc hay không. Điều kiện kiểm ưa lă một số bất kì sẽ nhỏ hơn tổng hai số còn lại vă lớn hơn giâ ưị tuyệt đổi
của hiệu hai sổ còn lại. #include <stdio.h> #include <conio.h> #include <math.h> int main 0 { int a, b,c;
printf("Nhap so thu nhat:");
scanf("%d", &a);
printf("Nhap so thu hai:"); scanf("%d", &b);
printf("Nhap so thu ba:"); scanf("%d", &c);
if ((a+b>c)&&(a+ob)&&(c+b>a))
printf("\n Day la ba canh mot tam giac");
else printf("\n Day khong phai la ba canh mot tam giac");
getchO; return 1; }