Cấu trúc lệnh rẽ nhánh IF ELSE.
đâ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
các bạn có thể tải code và bài làm sẵn của những bài tập trong bài viết này TẠI ĐÂY . chúc các bạn có 1 buổi học tập vui vẻ
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:
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 == 100) printf("x = 100");
Nếu chúng ta muốn có hơn một lệnh được thực hiện trong trường hợp condition là true chúng ta có thể chỉ định một khối lệnh bằng cách sử dụng một cặp ngoặc nhọn { }:
if (x == 100) { printf("x is %d",x); }
Chúng ta cũng có thể chỉ định điều gì sẽ xảy ra nếu điều kiện không được thoả mãn bằng cách sửu dụng từ khoá else. Nó được sử dụng cùng với if như sau:
if (condition) statement1 else statement2
Ví dụ:
if (x == 100) printf("x is 100"); else printf("x is not 100");
Cấu trúc if + else có thể được móc nối để kiểm tra nhiều giá trị. Ví dụ sau đây sẽ kiểm tra xem giá trị chứa trong biến x là dương, âm hay bằng không.
if (x > 0) printf("x is positive"); elseif (x < 0) printf("x is negative"); else printf( "x is 0");
Các bài luyện tập:
1. Write a program that accepts two numbers a and b and checks whether or not a is divisible by b.
dịch: viết chương trình nhập vào 2 số a và b kiểm tra xem a có chia hết cho b hay không
Phân Tích từng bước:
- - nhập vào 2 số a và b
- - kiểm tra số dư của a chia cho b có bằng 0 hay không
- - nếu có hiện kết quả thông báo a chia hết cho b
- - nếu không thì hiện kết quả thông báo a không chia hết cho b
sơ đồ khối
kiểm tra a chia hết cho b |
code:
#include <stdio.h>
#include <stdlib.h>
/* 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("day la chuong trinh kiem tra 2 so a va b co chia het cho nhau hay khong a > b \n\n\n Xin moi ban nhap a : ");
scanf("%d",&a);
printf("\n Xin Moi ban nhap b: ");
scanf("%d",&b);
if (0==a%b)
{
printf("\n\n A co chia het cho B");
}
else
{
printf ("\n\n A khong chia het cho B");
}
printf("\n\n\n");
system("pause");
return 0;
}
Bài 2: Write a program to accept 2 numbers and tell whether the product of the two numbers is equal to or greater than 1000.
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.
Phân tích từng bước:
- - 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ì
sơ đồ khối:
kiểm tra tích |
code:
#include <stdio.h>
#include <stdlib.h>
/* 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("\n\n\n");
if (a+b >= 1000)
{
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("\n\n\n");
if (a*b >= 1000)
{
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("\n\n\n");
system("pause");
return 0;
}
Difference is equal to value <number of value entered>
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:
Sự khác biệt là bằng với giá trị <số giá trị nhập vào>
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
Phân Tích Từng Bước:
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:
Sự khác biệt là bằng với giá trị <số giá trị nhập vào>
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
Phân Tích Từng Bước:
- - 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
sơ đồ khối:
so sánh hiệu số |
code:
#include <stdio.h> #include <stdlib.h> /* 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; // printf ("%d %d",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("\n\n\n"); system("pause"); return 0; }
4. Montek company gives allowances to its employees depending on their grade as follows :
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
sơ đồ khối
in ra số tương ứng |
code:
#include <stdio.h>
#include <stdlib.h>
/* 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("\n\n\n");
system("pause");
return 0;
}
Bài 5. Write a program to evaluate the Grade of a student for the following constraints
If marks >75 – grade A
If 60< marks < 75 – grade B
If 45<marks<60 – grade C
If 35<marks<45 - grade D
If marks < 35 – grade E5. 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
Nếu dấu> 75 - lớp A
Nếu 60 <dấu <75 - lớp B
Nếu 45 <dấu <60 - lớp C
Nếu 35 <dấu <45 - lớp D
Nếu các dấu <35 - lớp E
Phân tích từng bước:
- - khai báo biến số nguyên i
- - vào i
- - kiểm tra i > 75
- - nếu đúng in ra mark = A
- - nếu sai kiểm tra i> 60
- - nếu đúng in ra mark = B
- - nếu sai kiểm tra i > 45
- - nếu đúng in ra mark = C
- - nếu sai kiểm tra i>35
- - nếu đúng in ra mark = D
- - nếu sai in ra mark = E
sơ đồ khối
Mark = ? |
code:
#include <stdio.h> #include <stdlib.h> /* 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); if (i > 75) { printf(" grade A"); } else { if (i > 60) { printf("grade B"); } else { if (i > 45) { printf("grade C"); } else { if (i>35) { printf ("grade D"); } else { printf ("grade E"); } } } } printf("\n\n\n"); system("pause"); return 0; }
xếp lớp cho học sinh |
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
Điều kiện trong C#
Trả lờiXóa