đây là bài viết về lệnh rẽ nhánh IF nếu các bạn chưa có kiến thức về các lệnh vào ra và lệnh gán thì các bạn có thể tham khảo TẠI ĐÂY để có thể nắm chắc hơn kiến thức trong bài này
chúng ta sẽ đi vào phần lý thuyết với cấu trúc rẽ nhánh if else sau đây:
Cấu trúc này được dùng khi một lệnh hay một khối lệnh chỉ được thực hiện khi một điều kiện nào đó thoả mãn. Dạng của nó như sau: if (condition) statement trong đó condition là biểu thức sẽ được tính toán. Nếu điều kiện đó là true, statement được thực hiện. Nếu không statement bị bỏ qua (không thực hiện) và chương trình tiếp tục thực hiện lệnh tiếp sau cấu trúc điều kiện. Ví dụ, đoạn mã sau đây sẽ viết x is 100 chỉ khi biến x chứa giá trị 100:
if (x < 0) printf("x is negative"); else printf( "x is 0");
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
int main(int argc, char *argv[]) { int a,b; scanf(“%d”,&a); printf(“n Xin Moi ban nhap b: “); scanf(“%d”,&b); if (0==a%b) { printf(“nn A co chia het cho B”); } else { printf (“nn A khong chia het cho B”); }
printf(“nnn”); system(“pause”); return 0; }
dịch : Viết một chương trình để chấp nhận 2 con số và cho biết các sản phẩm của hai số là bằng hoặc lớn hơn 1000.
– nhập vào 2 số a và b
– tính tổng 2 số
– so sánh tổng với 1000
– nếu lớn hơn hoặc bằng hiện kết quả tổng a + b lớn hơn 1000
– nếu nhỏ hơn thì hiện kết quả a + b nhỏ hơn 1000
– tính tích 2 số
– so sánh tích với 1000
– nếu lớn hơn 1000 thì hiện kết quả tích a * b lớn hơn 1000
– nếu nhỏ hơn 1000 thì
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
int main(int argc, char *argv[]) {
int a,b; printf(“A = “); scanf(“%d”,&a); printf(“B = “); scanf(“%d”,&b);
printf(“nnn”);
{ printf(“tong %d + %d = %d lon hon hoac bang 1000”,a,b,a+b); } else { printf(“tong %d + %d = %d be hon 1000”,a,b,a+b); }
printf(“nnn”);
{ printf(“tich %d x %d = %d lon hon hoac bang 1000”,a,b,a*b); } else { printf(“tich %d x %d = %d be hon 1000”,a,b,a*b); }
printf(“nnn”); system(“pause”); return 0; }
If the difference is not equal to any of the values entered, display the following message:
Difference is not equal to any of the values entered
dịch. Viết một chương trình để chấp nhận 2 con số. Tính toán sự khác biệt giữa hai giá trị. Nếu sự khác biệt bằng bất kỳ giá trị nhập vào ban đầu, sau đó hiển thị thông báo sau:
Nếu sự khác biệt là không bằng bất kỳ giá trị nhập vào, hiển thị thông báo sau:
Sự khác biệt là không bằng bất kỳ giá trị được nhập
– khai báo 3 biến nguyên a,b,c:
– nhập và đọc 2 số a và b là số bị trừ và số trừ:
– gán c = a – b:
– so sánh c với a
– nếu c bằng a thì in ra ta có c = a
– nếu không thì so sánh c với b
– nếu c= b thì kết luận c=b
– nếu không c không bằng a cũng không bằng b
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
int main(int argc, char *argv[]) { int a,b,c; printf (“Vao so thu nhat a = “); scanf(“%d”,&a); printf(“vao so thu 2 b = “); scanf(“%d”,&b); c = a – b; if (c == a) { printf(“ta co c = a = a – b = %d”,c); } else { if (c == b) { printf (“ta co c = b = a -b = %d “,c); } else { printf (“ta co c = %d khac a khac b”,c); }
} printf(“nnn”); system(“pause”); return 0; }
Grade Allowance A 300 B 250 Others 100
Calculate the salary at the end of the month. (Accept Salary and Grade from the user )
4. Công ty Montek cho phụ cấp cho nhân viên của mình tùy thuộc vào lớp của mình như sau:
Grade Allowance A 300 B 250 Others 100
Tính lương vào cuối tháng. (Chấp nhận lương và hạng từ người sử dụng)
Phân tích từng bước:
– nhập vào i là số grade
– xét i == a
– nếu đúng thì in ra 300
– nếu sai xét i==b
– nếu đúng in ra 250
– nếu sai in ra 100
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
int main(int argc, char *argv[]) { printf (” what grade (a,b or c): “); char i; scanf(“%c”,&i); if (i == ‘a’) { printf(“Allowance = 300”); } else{ if (i == ‘b’) { printf(“Allowance = 250”); } else { printf(“allwance = 100”); } }
printf(“nnn”); system(“pause”); return 0; }
If marks < 35 – grade E 5. Viết chương trình để đánh giá các lớp của một học sinh vì các khó khăn sau đây
Phân tích từng bước:
– khai báo biến số nguyên i
– vào i
– nếu đúng in ra mark = A
– nếu đúng in ra mark = B
– nếu đúng in ra mark = C
– nếu đúng in ra mark = D
– nếu sai in ra mark = E
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
int main(int argc, char *argv[]) {
printf (“Mark = “); int i; scanf(“%d”,&i); { printf(” grade A”); } else { { printf(“grade B”); } else { { printf(“grade C”); } else { { printf (“grade D”); } else { printf (“grade E”); } } } } printf(“nnn”); system(“pause”); return 0; }
Kết luận: đây là lý thuyết và những bài tập về lệnh rẽ nhanh if else… cũng rất khó để hiểu được nhưng khi đã hiểu thì lại cảm thấy rất dễ 🙂 mong các bạn sau khi đọc xong bài của mình sẽ nắm được bài học 1 cách tốt nhất