Câu lệnh if trong c – Bài tập thực hành
Bài thực hành số 1: Viết chương trình nhập vào 2 số a và b và kiểm tra có thể thực hiện được phép chia a cho b hay không?
Bài thực hành số 2: Viết chương trình tìm số lớn nhất trong 3 số thực a, b và c.
Bài thực hành số 3: Viết chương trình để thể hiện khả năng của máy tính. Người dùng nhập vào một ký tự và chương trình sẽ hiển thị ngôn ngữ tương ứng. Sử dụng switch-case để chọn và hiển thị thông báo. Sử dụng default để hiển thị thông báo “Bạn đã nhập sai” trong trường hợp người dùng nhập không khớp với các ký tự như đã mô tả ở cột đầu vào của bảng sau
Đầu vào (Input) | Đầu ra (Output) |
A hoặc a | Ada |
B hoặc b | Basic |
C hoặc c | Cobol |
D hoặc d | Android |
F hoặc f | Fortran |
W hoặc w | Windows Phone |
Bài thực hành số 4: Viết chương trình tính lương thực lãnh của nhân viên, biết rằng lương thực lãnh = lương + phụ cấp. Trong đó phụ cấp sẽ dựa vào thứ hạng của nhân viên.
Nhập lương, thứ hạng và tính lương thực lãnh của nhân viên. Cho bảng phụ cấp dựa vào thứ hạng
Thứ hạng của nhân viên | Phụ cấp |
300 | |
200 | |
100 |
Bài thực hành số 5: Viết chương trình giải phương trình bậc hai (ax2 + bx + c = 0) với a,b,c nhập từ bàn phím.
Câu điều kiện If và Toán tử điều kiện (If statements and Conditional operator)
Câu lệnh điều kiện if và if…else
Ý nghĩa
Một câu lệnh if cho phép chương trình có thể thực hiện khối lệnh này hay khối lệnh khác phụ thuộc vào một điều kiện được viết trong câu lệnh là đúng hay sai. Nói cách khác câu lệnh if cho phép chương trình rẽ nhánh (chỉ thực hiện 1 trong 2 nhánh).
Cú pháp
if (điều kiện) { khối lệnh 1; } else { khối lệnh 2; }
if(điều kiện) { khối lệnh 1; }
Trong cú pháp trên câu lệnh if có hai dạng: có else và không có else. điều kiện là một biểu thức lôgic tức nó có giá trị đúng (khác 0) hoặc sai (bằng 0). Khi chương trình thực hiện câu lệnh if nó sẽ tính biểu thức điều kiện.
Nếu điều kiện đúng chương trình sẽ tiếp tục thực hiện các lệnh trong khối lệnh 1, ngược lại nếu điều kiện sai chương trình sẽ thực hiện khối lệnh 2 (nếu có else) hoặc không làm gì (nếu không có else).
1. Đặc điểm chung của các câu lệnh có cấu trúc là bản thân nó chứa các câu lệnh khác. Điều này cho phép các câu lệnh if có thể lồng nhau.2. Nếu nhiều câu lệnh if (có else và không else) lồng nhau việc hiểu if và else nào đi với nhau cần phải chú ý. Qui tắc là else sẽ đi với if gần nó nhất mà chưa được ghép cặp với else khác.
Ví dụ minh hoạ:
Viết chương trình tính năm nhuận bằng C++. Năm thứ n là nhuận nếu nó chia hết cho 4, nhưng không chia hết cho 100 hoặc chia hết 400. Chú ý: một số nguyên a là chia hết cho b nếu phần dư của phép chia bằng 0, tức a%b == 0.
#include void main() { int year; cout &lt&lt “year = “ ; cin &gt&gt year ; if (year%4 == 0 &amp&amp year%100 !=0 || year%400 == 0){ cout &lt&lt year &lt&lt "la nam nhuan” ; }else{ cout &lt&lt year &lt&lt "la nam khong nhuan” ; } }
Toán tử điều kiện (Conditional operator)
Cấu trúc câu điều kiện if/else:
if (condition) // nếu condition là true
expression1; // thực thi câu lệnh nàyelseexpression2; // nếu condition là false, thực thi câu lệnh này
Hoặc :
if (condition) // nếu condition là true
x = value1; // x = value 1elsex = value2; // nếu condition là false, x = value 2
Viết lại dưới dạng toán tử điều kiện ( ?: ):
(condition) ? expression1 : expression2;
Hoặc:
x = (condition) ? value1 : value2;
Toán tử điều kiện “?:” là toán tử 3 ngôi duy nhất trong C++ (vì nó chứa 3 toán hạng). Có thể dùng để thay thế câu lệnh if/else cơ bản.
Chú ý: Các toán hạng của toán tử điều kiện không phải là một câu lệnh, nên sẽ không chứa dấu chấm phẩy “;”.
Ví dụ 1:
int a(10), b(20), max; if (a > b) { max = a; } else { max = b; }
Bạn có thể viết lại ở dạng toán tử điều kiện:
int a(10, b(20); int max = (a > b) ? a : b;
Ví dụ 2:
if (1 > 0) { cout << 1 << endl; } else { cout << 0 << endl; }
Bạn có thể viết lại ở dạng toán tử điều kiện:
// Cách 1 (1 > 0) ? (cout << 1 << endl) : (cout << 0 << endl); // Cách 2 cout << ((1 > 0) ? 1 : 0) << endl;
Kinh nghiệm: Khi viết các câu lệnh có nhiều toán tử, luôn sử dụng dấu ngoặc tròn để hạn chế sai sót về độ ưu tiên của toán tử.
Bạn có thể xem lại bài TOÁN TỬ QUAN HỆ, LOGIC, BITWISE, MISC & ĐỘ ƯU TIÊN TOÁN TỬ TRONG C++ (Operators) để nắm rõ hơn về độ ưu tiên toán tử.
Toán tử điều kiện tương đương với một biểu thức
Toán tử điều kiện “?:“ có thể là một biểu thức (expression), trong khi câu điều kiện if/else chỉ là một câu lệnh (statements).
Ví dụ:
bool bIsVip = true; // Initializing a const variable const double dPrice = bIsVip ? 1000 : 500;
Trong ví dụ trên, không thể dùng câu điều kiện if/else để thay thế. Vì một hằng số phải được khởi tạo giá trị tại thời điểm khai báo.
Câu lệnh if trong c – Câu lệnh if-else
Được sử dụng để kiểm tra điều kiện và thực hiện xử lý tương ứng với điều kiện đó. Ví dụ nếu điểm trung bình nhỏ hơn 5 thì xếp loại yếu. Trong trường hợp này, điều kiện là điểm trung bình < 5 thì thực hiện xử lý hiển thị thông báo ra màn hình là yếu.
Cú pháp:
Câu lệnh if trong c – Đối với một trường hợp
if(Biểu_Thức_Điều_Kiện) {
Xử lý trong trường hợp biểu thức điều kiện đúng
Nếu điểm trung bình (dtb) nhỏ hơn < 5 thì hiển thị thông báo “Loại yếu”
if(dtb<5) {
printf("Loại yếu");
Câu lệnh if trong c – Đối với hai trường hợp
if (Biểu_Thức_Điều_Kiện) {
Xử lý 1;
} else {
Xử lý 2;
Nếu điểm trung bình < 5 thì thông báo “Loại yếu”, ngược lại thông báo “Loại trung bình”
if (dtb<5) {
printf("Loại yếu");
} else {
printf("Loại trung bình");
Câu lệnh if trong c – Đối với nhiều hơn 2 trường hợp
if (Biểu_Thức_Điều_Kiện_1) {
Xử lý 1;
} else if (Biểu_Thức_Điều_Kiện_2) {
Xử lý 2;
} else if (Biểu_Thức_Điều_Kiện_N-1) {
Xử lý N-1;
} else {
Xử lý N;
Ví dụ:
Yêu cầu | Kết luận |
Nếu điểm trung bình < 5 thì thông báo “Loại yếu” | Trường hợp thứ nhất |
Nếu điểm trung bình < 6.5 thì thông báo “Loại trung bình” | Trường hợp thứ hai |
Nếu điểm trung bình < 8 thì thông báo “Loại khá” | Trường hợp thứ ba |
Nếu điểm trung bình < 10 thì thông báo “Loại giỏi” | Trường hợp thứ tư |
Ngược lại thì thông báo “Loại xuất sắc” | Trường hợp thứ năm |
Với yêu cầu này, chúng ta phải sử dụng if-else lồng nhau. Tức là trong biểu thức else chúng ta đặt biểu thức if và cứ như vậy cho đến hết các trường hợp.
//Trường hợp thứ nhất if(dtb<5) { printf("Loại yếu"); //Trường hợp thứ hai } else if(dtb<6.5) { printf("Loại trung bình"); //Trường hợp thứ ba } else if(dtb<8) { printf("Loại khá"); //Trường hợp thứ tư } else if(dtb<10) { printf("Loại giỏi"); //Trường hợp thứ năm } else { printf("Loại xuất sắc"); }
Lưu ý trong biểu thức điều kiện, chúng ta có thể sử dụng toán tử và (&&), toán tử hoặc (||) để lập biểu thức điều kiện. Ví dụ viết xử lý tìm số lớn nhất trong 3 số nguyên tương ứng là a, b, c. Câu lệnh if sẽ được viết như sau
if (a>b && a>c) {
printf("Số lớn nhất là %d", a);
Giải thích: Nếu a lớn hơn b và đồng thời a lớn hơn c thì số lớn nhất trong 3 số a, b, c là a. Trong xử lý trên, nếu a = 10, b = 3, c = 9 thì chương trình sẽ thông báo “Số lớn nhất là 10”. Các bạn có thể xem lại phần xử lý xuất của bài 3 tại đây để ôn lại cú pháp và cách sử dụng của hàm xử lý xuất printf.
Thảo luận
Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
Nội dung bài viết
Khóa học
Khóa học lập trình C++ căn bản
Hiện nay, C++ đã là cái tên rất quen thuộc trong ngành lập trình. Mặc dù C++ là ngôn ngữ lập trình đã ra đời khá lâu, nhưng không phải ai cũng có cơ hội để tìm hiểu về nó.
Vì vậy, Kteam đã xây dựng lên khóa học LẬP TRÌNH C++ CĂN BẢN để cung cấp một lượng kiến thức về ngôn ngữ C++ nói riêng, và các khái niệm khác trong lập trình nói chung.
Nội dung khóa học sẽ được phân tách một cách chi tiết, nhằm giúp các bạn dễ hiểu và thực hành được ngay. Serial dành cho những bạn chưa có bất kỳ kiến thức gì về lập trình, hoặc những bạn mất căn bản muốn lấy lại kiến thức nền tảng lập trình, cụ thể là C++.
Đánh giá
Cảm ơn Kteam vì đã tạo ra một kho kiến thức bổ ích mà lại hoàn toàn free thế này ạ!
Câu lệnh
if-else
trong ngôn ngữ lập trình C được sử dụng để thực hiện điều kiện rẽ nhánh trong chương trình. Nó cho phép bạn kiểm tra một biểu thức hoặc điều kiện và thực hiện các lệnh khác nhau dựa trên kết quả của biểu thức đó.
Video hướng dẫn câu lệnh if else trong C
Xin chào các bạn độc ɡiả củɑ khóɑ học lập trình C, bài học Câu lệnh if else tronɡ C này là bài đầu tiên tronɡ chươnɡ Cấu trúc điều khiển và rẽ nhánh. Cấu trúc if else là thành phần được sử dụnɡ ɡần như tronɡ mọi chươnɡ trình phần mềm. Do đó, bạn cần nắm chắc kiến thức về lệnh if else để có thể học tốt các bài tập tiếp theo. Bắt đầu từ bài này thì các bạn sẽ được thực hành nhiều để luyện tập kỹ nănɡ lập trình.
Câu lệnh if
Cấu trúc của câu lệnh if như sau:
if (điều kiện){ // Khối lệnh sẽ được thực hiện nếu <điều kiện> đúng. }
Flowchart của trường hợp chỉ có if trông như sau, điều kiện (condition), stament (khối code), còn rest of code là phần code phía sau khối if (nếu có)
Code minh họa:
/* 1. Chỉ có if 2. Có if else 3. Có if else if 4. if else lồng nhau */ // 1. Chỉ có if // BT: Nhập vào 1 số nguyên, kiểm tra số đó có phải số chẵn hay ko? #include
int main(){ int a; printf(“Nhap a = “); scanf(“%d”, &a); if (a % 2 == 0) // a chia hết cho 2 { printf(“%d la so chan”, a); } printf(“nXong!”); }
Kết quả chạy thử chương trình:
PS G:c_courcesday_13> .IfStatement.exe Nhap a = 5 Xong! PS G:c_courcesday_13> .IfStatement.exe Nhap a = 6 6 la so chan Xong!
Câu lệnh if else
Cấu trúc của câu lệnh if else như sau:
if (condition){ // statement1 // khối lệnh sẽ thực hiện nếu điều kiện đúng }else{ // statement2 // khối lệnh sẽ thực hiện nếu điều kiện sai }
Flowchart của cấu trúc if else trong C có quy trình hoạt động như sau:
Ví dụ minh họa:
/* 1. Chỉ có if 2. Có if else 3. Có if else if 4. if else lồng nhau */ // 2. Có if else // BT: Nhập vào 1 số nguyên, kiểm tra số đó có phải số chẵn hay số lẻ #include
int main(){ int a; printf(“Nhap a = “); scanf(“%d”, &a); if (a % 2 == 0) // a chia hết cho 2 { printf(“%d la so chan”, a); }else{ printf(“%d la so le”, a); } }
Kết quả chạy chương trình:
PS G:c_courcesday_13> .IfElseStatement.exe Nhap a = 4 4 la so chan PS G:c_courcesday_13> .IfElseStatement.exe Nhap a = 3 3 la so le
Cấu trúc if … elseif … else
Cú pháp của cấu trúc này như sau:
if (test expression1) { // statement(1) } else if(test expression2) { // statement(2) } else if (test expression3) { // statement(3) } . . else { // statement(n) }
Code minh họa:
/* 1. Chỉ có if 2. Có if else 3. Có if else if 4. if else lồng nhau */ // 3. if else if // BT: Nhập vào hai số nguyên, đưa ra kết luận so sánh 2 số đó #include
int main(){ int a, b; printf(“Nhap a = “); scanf(“%d”, &a); printf(“Nhap b = “); scanf(“%d”, &b); // a, b if(a > b){ // printf(“%d lon hon %d”, a, b); }else if(a == b){ printf(“%d bang %d”, a, b); }else{ printf(“%d nho hon %d”, a, b); } }
Kết quả chạy:
PS G:c_courcesday_13> .IfElseIf.exe Nhap a = 4 Nhap b = 5 4 nho hon 5
Cấu trúc if else lồng nhau
Chính là việc bạn sử dụng một cấu trúc if else khác trong thân của một cấu trúc if else đã có. Xem ví dụ code sau đây để hiểu rõ hơn.
/* 1. Chỉ có if 2. Có if else 3. Có if else if 4. if else lồng nhau */ // 4. if else lồng nhau // BT: Nhập vào 1 số nguyên, kiểm tra số đó là số âm chẵn, âm lẻ, dương chẵn hay dương lẻ hay là số 0? #include
int main(){ int a; printf(“Nhap a = “); scanf(“%d”, &a); if(a > 0){ // Số dương if(a % 2 == 0){ printf(“Day la so duong chan!”); }else{ printf(“Day la so duong le!”); } }else if(a == 0){ // Số 0 printf(“Day la so 0!”); }else{ // Số âm if(a % 2 == 0){ printf(“Day la so am chan!”); }else{ printf(“Day la so am le!”); } } }
Kết quả chạy thử chương trình:
PS G:c_courcesday_13> .IfElseNested.exe Nhap a = 4 Day la so duong chan! PS G:c_courcesday_13> .IfElseNested.exe Nhap a = -3 Day la so am le!
Bài tập thực hành
Có vô số bài tập về cấu trúc điều khiển đang chờ bạn luyện tập tại đây: 1000 bài tập lập trình C/C++ có lời giải của thầy Khang
Nó là hợp lệ để lồng các lệnh if-else trong Ngôn ngữ C, nghĩa là bạn có thể sử dụng một lệnh if hoặc else bên trong lệnh if hoặc else khác.
if( bieu_thuc_boolean 1) { /* Thuc thi khi bieu thuc boolean 1 la true */ if(bieu_thuc_boolean 2) { /* Thuc thi khi bieu thuc boolean 2 la true */ } }
Bạn có thể lồng else if…else theo cách tương tự như bạn đã lồng lệnh if.
Ví dụ:
#include
int main () { /* phan dinh nghia bien cuc bo */ int a = 667; int b = 7028; /* kiem tra dieu kien */ if( a == 667 ) { /* neu dieu kien la true thi tiep tuc kiem tra dieu kien sau */ if( b == 7028 ) { /* neu dieu kien la true thi in dong sau */ printf("Gia tri cua a la 667 va cua b la 7028\n" ); } } printf("Gia tri chinh xac cua a la: %d\n", a ); printf("Gia tri chinh xac cua b la: %d\n", b ); printf("===========================\n"); printf("Hoclaptrinh chuc cac ban hoc tot! \n"); return 0; }
Biên dịch và thực thi chương trình C trên sẽ cho kết quả sau:
Unpublished comment
Viết câu trả lời
If … Else trong C
Điều kiện If … Else trong C là gì? Ý nghĩa và cách dùng lệnh If Else trong C như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!
Câu điều kiện If
Câu điều kiện If là loại cơ bản nhất trong cấu trúc rẽ nhánh có điều kiện. Cấu trúc câu điều kiện If được mô tả bên dưới:
If thiếu:
if (condition) // nếu condition là true
statement; // thực thi câu lệnh này
If đủ:
if (condition) // nếu condition là true
statement1; // thực thi câu lệnh nàyelsestatement2; // nếu condition là false, thực thi câu lệnh này
Xét cú pháp câu điều kiện If bên trên, nếu condition là một mệnh đề true, statement1 sẽ được thực thi, ngược lại thì statement2 sẽ được thực thi.
Ví dụ về chương trình kiểm tra đăng nhập đơn giản sử dụng câu điều kiện if:
#include
#include
using namespace std; int main() { const string PASSWORD("howkteam.com"); string password; cout << "Enter password: "; getline(cin, password); if (password == PASSWORD) cout << "Login succeed!" << endl; else cout << "Login failed!" << endl; return 0; }
Outputs:
Nếu bạn không nhập đúng password là “howkteam.com”, chương trình sẽ thông báo “Login failed!”. Ngược lại sẽ thông báo “Login succeed!”.
Câu điều kiện If với nhiều dòng lệnh (If with multiple statements)
Lưu ý rằng dưới câu lệnh if hoặc else chỉ có duy nhất một câu lệnh được thực thi. Nếu bạn muốn thực thi nhiều câu lệnh ở dưới if hoặc else bạn phải sử dụng khối lệnh (block).
#include
#include
using namespace std; int main() { const string PASSWORD("howkteam.com"); string password; cout << "Enter password: "; getline(cin, password); if (password == PASSWORD) { cout << "Login succeed!" << endl; cout << "Hello howkteam.com!" << endl; cout << "Free education!" << endl; // ... } else { cout << "Login failed!" << endl; cout << "Hello howkteam.com!" << endl; cout << "Free education!" << endl; // ... } return 0; }
Outputs:
Kinh nghiệm: Nên đặt các câu lệnh của câu điều kiện If bên trong cặp dấu ngoặc nhọn {}, dù nó chỉ có một dòng lệnh. Điều này giúp chương trình rõ ràng hơn, dễ hiểu hơn.
Chuỗi các câu điều kiện If (Chaining if statements)
Nếu muốn kiểm tra nhiều hơn 2 trường hợp trong một câu điều kiện If, bạn có thể sử dụng cấu cú pháp “if … else if …”:
if (condition) { // do A } else if (another_condition) { // do B } else if (one_more_condition) { // do C } else { // do D }
Ví dụ về chương trình sử dụng chuỗi các câu điều kiện if:
#include
using namespace std; int main() { cout << "Nhap so ban yeu thich (1, 2, 3): "; int n; cin >> n; if (n == 1) cout << "Ban that dep trai!" << endl; else if (n == 2) cout << "Ban qua dep trai!" << endl; else if (n == 3) cout << "Ban dep trai vo dich vu tru!" << endl; else cout << "Du lieu chua chinh xac!" << endl; return 0; }
Outputs:
Toán tử logic với câu điều kiện If (Using logical operators with if statements)
Bạn có thể sử dụng toán tử logic (AND, OR, NOT, …) vào mệnh đề so sánh để kiểm tra nhiều điều kiện cùng một lúc. Toán tử logic đã được hướng dẫn chi tiết trong bài TOÁN TỬ QUAN HỆ, LOGIC, BITWISE, MISC & ĐỘ ƯU TIÊN TOÁN TỬ TRONG C++ (Operators).
Ví dụ:
#include
#include
using namespace std; int main() { const string USERNAME("kteam"); const string PASSWORD("howkteam.com"); string userName; string password; cout << "Enter username: "; getline(cin, userName); cout << "Enter password: "; getline(cin, password); if ((userName == USERNAME) && (password == PASSWORD)) { cout << "Login succeed!" << endl; } else { cout << "Login failed!" << endl; } return 0; }
Outputs:
Bạn có thể xem lại bài TOÁN TỬ QUAN HỆ, LOGIC, BITWISE, MISC & ĐỘ ƯU TIÊN TOÁN TỬ TRONG C++ (Operators).để biết được cách thức hoạt động các toán tử logic.
Giải đáp thắc mắc về điều kiện if-else trong ngôn ngữ C
2.Gán x=0 cho điều kiện biến if-else trong ngôn ngữ C
Khi bạn gán 0 cho điều kiện biến, nó sẽ trở thành false vì 0 đại diện cho false và bất kỳ giá trị nào khác 0 đại diện cho true. Vì vậy, khi bạn gán 0 điều kiện khác được thực thi và khi bạn gán 2 điều kiện đại diện cho một câu lệnh đúng, vì vậy, câu lệnh thực thi.
if(condition = 0) |
Sau khi gán giá trị 0 cho điều kiện nó sẽ trở thành:
if(condition) |
Vì nó là false, câu lệnh không thực thi. Nhưng khi điều kiện = 2, nó hoạt động theo cách tương tự và trở thành true. Do đó, điều kiện if được thực thi sau đó.
2.Gán x=2 cho điều kiện biến
Trong ngôn ngữ C, phép gán là một biểu thức trả về giá trị đã đặt; tức là x = 2 sẽ cho kết quả là 2.
Điều này cho phép bạn thực hiện điều gì đó như sau:
unsigned char ch; while((ch = readFromFile(f)) != EOF) { // do something with ch |
Câu lệnh cũng cho phép bạn sửa và thay đổi nếu bạn vô tình nhập nhầm == như =, vì vậy lý do này không xuất hiện trong nhiều ngôn ngữ khác.
Trong vòng lặp đầu tiên của bạn, biểu thức condition = 0 sẽ luôn dẫn đến kết quả 0 là else nhánh được lấy. Tương tự, condition = 2 dẫn đến kết quả 2 là nhánh thực được lấy.
Như vậy, với các bài toán điều kiện if-else trong ngôn ngữ C này, bạn có thể gán giá trị để giải các câu lệnh. Trong ngôn ngữ C, tùy thuộc vào đề ra bạn viết câu lệnh và gán giá trị cho phù hợp.
Để tìm hiểu về các khóa công nghệ thông tin, dễ dàng hơn trong công tác giải các hàm trong toán. FUNiX là lựa chọn tốt cho bạn. Là đơn vị chuyên đào tạo học viên cử nhân, chứng chỉ với các mảng chuyên sâu về CNTT. FUNiX là cơ hội giúp người học nắm bắt được các kiến thức phong phú, chủ động và hiệu quả. Phương pháp học thông minh, kích thích sự phát triển tiềm ẩn của các học viên tham gia. Đặc biệt, chương trình học lập trình online của FUNiX giúp bạn vừa tiết kiệm thời gian, vừa tiết kiệm chi phí học.
Bài gốc: https://stackoverflow.com/questions/26395548/if-else-condition-in-c
>>> Tìm hiểu ngay các khóa học lập trình của FUNiX tại:
>>> Xem thêm nhiều hơn bài viết tại đây:
- Lưu ý để học blockchain trực tuyến hiệu quả cao tại FUNiX
- Lý do nữ giới nên chọn FUNiX để học chuyển nghề IT
- FUNiX trở thành đối tác của Liên minh Blockchain Việt Nam
- 3 lý do bạn trẻ nên học blockchain trực tuyến ở FUNiX
Nguyễn Vân Anh (theo Stack Overflow)
Câu lệnh if trong c – Phân tích yêu cầu
Đối với vấn đề 1, chúng ta phải dựa vào điểm trung bình và xét 5 trường hợp tương ứng với Yếu, Trung bình, Khá, Giỏi và Xuất sắc. Để xử lý được yêu cầu này chương trình sẽ phải lập và kiểm tra biểu thức điều kiện như sau:
- Nếu dtb < 5 thì “Yếu”
- Ngược lại nếu dtb < 6.5 thì “Trung bình”
- Ngược lại nếu dtb < 8 thì “Khá”
- Ngược lại nếu dtb < 10 thì “Giỏi”
- Ngược lại “Xuất sắc”
Đối với vấn đề 2 phải xử lý để cho phép người sử dụng lựa chọn phép tính được qui định theo những con số: 1 tương đương với phép cộng, 2 tương đương với phép trừ, 3 tương đương với phép nhân, 4 tương đương với phép chia. Vậy trong trường hợp này, chương trình sẽ xử lý như sau:
- Nếu biến pheptinh = 1 thì thực hiện phép tổng
- Nếu biến pheptinh = 2 thì thực hiện phép trừ
- Nếu biến pheptinh = 3 thì thực hiện phép nhân
- Nếu biến pheptinh = 4 thì thực hiện phép chia
Để giải quyết 2 vấn đề trên chúng ta phải sử dụng đến câu lệnh if-else/switch-case. Chi tiết về cú pháp và cách sử dụng, bạn đọc xem bên dưới
Lệnh if trong C
Lệnh if trong C bao gồm từ khóa if, một condition(biểu thức điều kiện) và một khối gồm các câu lệnh được mô tả trong khối đó. Khối lệnh trong if được đặt giữa cặp dấu ngoặc nhọn
{}
để biểu thị bắt đầu và kết thúc của khối. Các lệnh mô tả trong khối chỉ được xử lý khi biểu thức điều kiện được chỉ định là True (đúng).
Chúng ta sử dụng lệnh if trong C với cú pháp sau đây:
if(condition){câu lệnh xử lý nếu condition là True (đúng);}
Nếu
condition
(biểu thức điều kiện) là True (đúng), các câu lệnh mô tả trong khối sẽ được thực thi theo thứ tự. Chúng ta cũng có thể viết nhiều câu lệnh liên tiếp trong khối như sau:
if(condition){câu-lệnh-1;câu-lệnh-2;câu-lệnh-3;}
Nếu chỉ có 1 câu lệnh trong khối lệnh if, chúng ta cũng có thể lược bỏ cặp dấu
{}
và sử dụng if rút gọn trong c như sau:
if(condition)câu-lệnh;
Chúng ta cũng có thể viết gọn các lệnh trên một dòng trong trường hợp này như sau:
if(condition) câu-lệnh;
Sơ đồ khối câu lệnh điều kiện trong C như sau:
Lại nữa, khi viết lệnh if trong C, mặc dù không phải là bắt buộc nhưng chúng ta nên sử dụng các dấu thụt lề đầu dòng để cấu trúc câu lệnh rõ ràng và dễ đọc hơn. Tất cả các câu lệnh mô tả trong khối nên được viết với độ thụt lề giống nhau. Thông thường, chúng ta sẽ dùng 2 hoặc 4 khoảng trắng tạo ra bởi phím cách, hoặc là một dấu tab được tạo ra khi bạn nhấn phím Tab một lần, để quy định độ thụt lề của khối.
- Bạn có thể tìm hiểu chi tiết về cách thụt lề tại bài viết Thụt lề trong C
Trong biểu thức điều kiện, chúng ta sử dụng toán tử so sánh và toán tử logic để mô tả điều kiện. Nếu kết quả của các phép so sánh hoặc logic này True, các lệnh mô tả trong khối mới được thực hiện. Bạn có thể tìm hiểu chi tiết về các loại toán tử sử dụng trong biểu thức điều kiện của câu lệnh if C tại bài viết Toán tử so sánh trong C và toán tử logic trong C.
Sau đây, chúng ta sẽ thử viết một câu lệnh if trong C đơn giản để kiểm tra tuổi của một người đã đủ 18 hay chưa.
Trước hết, chúng ta khai báo biến
old
với giá trị 17. Sau đó chúng ta so sánh giá trị gán trong biến
old
với số
18
để kiểm tra kết quả biểu thức điều kiện
old < 18
. Và nếu kết quả này là True, lệnh thay đổi giá trị
result = "Em chưa 18"
trong khối mới được thực hiện.
Ở ví dụ trên, do
old =17
nên biểu thức
old < 18
True, dẫn đến lệnh thay đổi giá trị được thực hiện.
Giả sử chúng ta chỉ định
old = 20
trong ví dụ trên, do biểu thức điều kiện
old <18
khi này không còn True (đúng) nữa, do đó lệnh thay đổi giá trị
result = "Em chưa 18"
mô tả trong khối sẽ không được thực hiện. Kết quả, giá trị ban đầu
result= "Trên 18 tuổi"
không bị thay đổi và được in ra như sau:
Lại nữa, do trong ví dụ này chỉ có 1 lệnh duy nhất trong khối if nên chúng ta đã có thể bỏ qua cặp dấu
{}
như cách viết if rút gọn trong c sau:
|
Lệnh else
Dùng lệnh
else
để xác định khối code được triển khai nếu điều kiện là
false
.
Công thức:
if (điều kiện) { // Các câu lệnh được thực thi nếu điều kiện là đúng } else { // Các câu lệnh được thực thi nếu điều kiện là sai }
Ví dụ:
int a = 5; if (a > 0) { printf("a là một số dương\n"); } else if (a < 0) { printf("a là một số âm\n"); }
Giải thích ví dụ:
Trong ví dụ trên, biểu thức
a > 0
sẽ trả về true, vì vậy câu lệnh
printf
trong khối
if
sẽ được thực thi và in ra màn hình “a là một số dương”.
Lệnh else if
Dùng lệnh
else if
để xác định một điều kiện mới nếu điều kiện đầu tiên là
false
.
Công thức:
if (condition1) { // Khối code được triển khai nếu condition1 là true } else if (condition2) { // Khối code được triển khai nếu condition1 là false và condition2 là true } else { // Khối code được triển khai nếu condition1 là false và condition2 là false }
Ví dụ:
int time = 22; if (time < 10) { printf("Good morning."); } else if (time < 20) { printf("Good day."); } else { printf("Good evening."); } // Outputs "Good evening."
Giải thích ví dụ:
Ở ví dụ trên, thời gian (22) lớn hơn 10, vì thế, điều kiện đầu tiên là
false
. Điều kiện tiếp theo, trong lệnh
else if
cũng là
false
, vì thế, chúng ta sẽ chuyển sang điều kiện
else
vì
condition1
và
condition2
đều là
false
– và kết quả màn hình sẽ hiện Good evening.
Tuy nhiên, nếu thời gian là 14, chương trình sẽ hiện “Good day”.
Trên đây là những điều cơ bản bạn cần biết về điều kiện If…Else trong C. Hi vọng bài viết hữu ích với các bạn.
if else trong C
if else trong C được sử dụng để xử lý lệnh if khi biểu thức điều kiện được chỉ định là False (sai).Ở phần trên chúng ta đã biết lệnh if trong C chỉ xử lý các lệnh mô tả trong khối if nếu biểu thức điều kiện là True (đúng). Trong trường hợp bạn muốn xử lý lệnh if trong C khi biểu thức điều kiện là False (sai), hãy sử dụng lệnh if else trong C với cú pháp sau đây:
if(condition){câu lệnh xử lý nếu condition là True (đúng);}else{câu lệnh xử lý nếu condition là False (sai);}
Nếu chỉ có 1 câu lệnh trong khối if else thì chúng ta cũng có thể lược bỏ cặp dấu
{}
và sử dụng if rút gọn trong c như sau:
if(condition)câu lệnh xử lý nếu condition là True (đúng);elsecâu lệnh xử lý nếu condition là False (sai);
Hoặc là viết gọn các câu lệnh trên một dòng như sau:
if(condition) câu-lệnh-nếu-condition-là-True;else câu-lệnh-nếu-condition-là-False;
Chúng ta thêm các lệnh sẽ được xử lý nếu biểu thức điều kiện là False vào trong khối lệnh else, và các lệnh này sẽ chỉ được chạy nếu biểu thức điều kiện là False mà thôi.
Sơ đồ khối câu lệnh if else trong C như sau:
Một ví dụ cụ thể, giả sử bạn mười bảy tuổi và bạn muốn vào một bar chơi. Khi đó, hãy viết một mã lệnh kiểm tra điều kiện tuổi được vào bar như sau:
Kết quả:
|
Ở trên, do bạn 17 tuổi (
old = 17
), nên biểu thức điều kiện
old < 18
là True, dẫn đến các lệnh trong khối lệnh if sẽ được thực hiện, do đó kết quả
Em chưa 18, không được vào bar
được in ra màn hình.
Trong trường hợp chỉ định lại tuổi
old = 20
, khi này biểu thức điều kiện lại trở thành False, do đó các lệnh trong khối lệnh else sẽ được thực hiện, nên kết quả khác sẽ in ra màn hình như sau:
Lại nữa, các khối lệnh if và else ở trên do chỉ có một lệnh duy nhất trong nó, do đó chúng ta cũng có thể lược bỏ đi các cặp dấu
{}
như cách viết if rút gọn trong c sau:
|
Thông tin về yêu cầu giải đáp điều kiện if-else trong ngôn ngữ C
Đồng nghiệp của tôi viết câu lệnh như sau:
if(condition = 0) //do process A else // do process B |
Thực rõ ràng, câu lệnh là sai, tôi biết nó phải được viết như vậy condition == 0 hoặc ((condition=foo()) == 0). Nhưng giả định của tôi là chương trình nên luôn thực hiện quy trình A vì tôi nghĩ rằng if(condition = 0) phải luôn trả về true vì giá trị này được đặt thành 0 biến condition và quy trình đặt này phải đúng. Tuy nhiên, chương trình luôn thực hiện quy trình B, điều đó có nghĩa là if sử dụng condition giá trị biến và giả định của tôi là sai.
Sau đó, tôi đã thực hiện một phiên bản thử nghiệm khác như dưới đây:
if(condition = 2) //or other none-zero value //do process A else // do process B |
Sau lần này, chương trình luôn thực hiện quá trình A. Tại sao điều kiện if-else không sử dụng giá trị hoạt động của điều kiện mà sử dụng biến bên trái sau khi thiết lập?
Có thể bạn quan tâm
- Bài 1: Tổng quan ngôn ngữ lập trình C
- Bài 2: Hướng dẫn cài đặt C
- Bài 3: Biến trong C
- Bài 4: Các kiểu dữ liệu trong C
- Bài 5: Toán tử trong C
- Bài 6: Định danh trong C
- Bài 7: Câu lênh điều kiện if, if-else và switch trong C
- Bài 8: Vòng lặp trong C – Câu lệnh for, while, do…while
- Bài 9: Câu lệnh break, continue goto và hàm exit() trong C
- Bài 10: Mảng trong C
- Bài 11: Con trỏ trong C
- Bài 12: Đọc ghi file trong C
- Bài 13: Chuỗi trong C
- Bài 14: Struct trong C
Bài 7: Câu lênh điều kiện if, if-else và switch trong C – Học lập trình C cơ bản
Đăng bởi: Admin | Lượt xem: 10923 | Chuyên mục: C/C++
Để việc lập trình hiệu quả hơn hầu hết các Ngôn ngữ lập trình bậc cao đều có các câu lệnh rẽ nhánh và các câu lệnh lặp cho phép thực hiện các câu lệnh của chương trình không theo trình tự tuần tự như trong văn bản. Trong bài này, chúng ta sẽ tìm hiểu về những câu lệnh rẽ nhánh trong C.
if rút gọn trong C
Như phần trên Kiyoshi đã trình bày, thì nếu trong khối lệnh của if, if else hoặc else chỉ chứa một câu lệnh duy nhất thì chúng ta có thể lược bỏ đi cặp dấu
{}
và sử dụng tới if rút gọn trong C.
Ví dụ cụ thể về if rút gọn trong C trong câu lệnh if else trong c như sau:
Lại nữa, chúng ta cũng có thể kết hợp cả cú pháp lệnh if trong c thông thường và if rút gọn trong C trong cùng một chỗ như sau:
Giống như ở trên thì trong khối lệnh if có nhiều hơn 2 lệnh, do đó chúng ta phải dùng cú pháp lệnh if thông thường với cặp dấu
{}
, tuy nhiên trong khối lệnh else do chỉ có 1 lệnh, nên chúng ta hoàn toàn có thể lược bỏ cặp dấu này đi.
elif trong C | if nhiều điều kiện trong C
elif trong C được sử dụng để xử lý câu lệnh if nhiều điều kiện trong C.
Ở phần trên, chúng ta đã làm việc với câu lệnh if một điều kiện trong C. Khi bạn cần làm việc với câu lệnh if nhiều điều kiện trong C , chúng ta cần sử dụng tới elif trong C với cú pháp sau đây:
if(condition-1){câu lệnh xử lý nếu condition-1 là True (đúng);}else if(condition 2){câu lệnh xử lý nếu condition-2 là True (đúng);}else if(condition 3){câu lệnh xử lý nếu condition-3 là True (đúng);
}else{câu lệnh xử lý nếu tất cả các condition ở trên đều False (sai);}
Chúng ta sẽ viết các
condition
(biểu thức điều kiện) cùng các lệnh sẽ xử lý nếu biểu thức điều kiện đó True (đúng) vào khối tương ứng sau lệnh if và elif. Cuối cùng chúng ta viết các lệnh xử lý mặc định vào trong khối khối else, và các lệnh này sẽ được xử lý trong trường hợp tất các các biểu thức điều kiện được chỉ định đều False (sai).
Sơ đồ khối câu lệnh elif trong C như sau:
Trong lệnh if elif else C các biểu thức điều kiện sẽ được phán đoán từ trên xuống dưới. Nếu biểu thức điều kiện là True (đúng), các lệnh trong khối tương ứng sẽ được thực thi, các biểu thức điều kiện tiếp theo sẽ không được kiểm tra nữa, và toàn bộ mã lệnh được kết thúc.Nếu biểu thức điều kiện là False (sai) thì tiến hành kiểm tra kết quả của biểu thức điều kiện tiếp theo, và lặp lại quá trình cho tới cuối cùng.Và nếu như tất cả các biểu thức điều kiện được chỉ định đều cho kết quả False (sai), các lệnh mặc định trong khối else sẽ được thực hiện.
Lại nữa, bạn cũng có thể lược bỏ đi cả khối else, khi đó chương trình sẽ không có lệnh xử lý mặc định, và trong trường hợp toàn bộ các biểu thức điều kiện được chỉ định đều False (sai), sẽ không có câu lệnh nào được thực thi hay kết quả nào được trả về.
Ví dụ về sử dụng elif trong C như sau. Chúng ta cũng sẽ sử dụng lại ví dụ kiểm tra tuổi vào bar như trên, nhưng sẽ kèm thêm một trường hợp nữa là kiểm tra thẻ chứng minh nhân dân:
Với ví dụ trên, chỉ khi nào bạn có mang theo CMND và trên 18 tuổi thì kết quả của lệnh elif trong C mới cho bạn vào bar mà thôi.
Kết luận
Qua bài học này, bạn đã nắm được hoàn toàn kiến thức về Câu điều kiện If và Toán tử điều kiện trong C++ (If statements).
Trong bài tiếp theo, mình sẽ giới thiệu thêm 1 cấu trúc rẽ nhánh khác trong C++, cụ thể là CÂU ĐIỀU KIỆN SWITCH TRONG C++ (Switch statements).
Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.
Điều kiện và lệnh IF trong C
Bạn đã biết rằng C hỗ trợ các điều kiện logic từ toán học:
- Nhỏ hơn: a < b
- Nhỏ hơn hoặc bằng: a <= b
- Lớn hơn: a > b
- Lớn hơn hoặc bằng: a >= b
- Bằng: a == b
- Không bằng: a != b
Bạn có thể dùng những điều kiện này để triển khai các tác vụ khác nhau cho các quyết định khác. C có các lệnh điều kiện sau:
-
Dùng
if
để xác định một khối code được triển khai nếu một điều kiện được chỉ định là true. -
Dùng
else
để xác định một khối code được triển khai nếu điều kiện tương tự là false. -
Dùng
else if
để xác định điều kiện mới cho thử nghiệm nếu điều kiện đầu tiên là false. -
Dùng
switch
để xác định nhiều khối code thay thế được triển khai.
Câu lệnh Switch
Ý nghĩa
Câu lệnh if cho ta khả năng được lựa chọn một trong hai nhánh để thực hiện, do đó nếu sử dụng nhiều lệnh if lồng nhau sẽ cung cấp khả năng được rẽ theo nhiều nhánh. Tuy nhiên trong trường hợp như vậy chương trình sẽ rất khó đọc, do vậy C++ còn cung cấp một câu lệnh cấu trúc khác cho phép chương trình có thể chọn một trong nhiều nhánh để thực hiện, đó là câu lệnh switch.
Cú pháp
switch (biểu thức điều khiển) { case biểu_thức_1: khối lệnh 1 ; break; case biểu_thức_2: khối lệnh 2 ; break; case ……………...: ............... ; break; case biểu_thức_n: khối lệnh n ; break; default: khối lệnh n+1; }
- Biểu thức điều khiển được sử dụng trong một lệnh switch phải có kiểu là integer hoặc liệt kê, hoặc là một trong các kiểu lớp trong đó lớp có một hàm biến đổi đơn tới một kiểu integer hoặc kiểu liệt kê.
- Bạn có thể có bất kỳ số lệnh case nào trong một switch. Mỗi case được theo sau bởi giá trị để được so sánh và một dấu hai chấm.
- biểu_thức_n, là biểu thức hằng, cho một case phải cùng kiểu dữ liệu với biến trong switch, và nó phải là hằng số.
- Khi biến được chuyển tới cùng giá trị với một case nào đó, lệnh theo sau case đó sẽ thực thi tới khi gặp lệnh break.
- Khi gặp lệnh break, switch kết thúc, và dòng điều khiển nhảy tới dòng lệnh tiếp theo của lệnh switch đó.
- Không nhất thiết mỗi case cần phải chứa một lệnh break. Nếu không có lệnh break nào xuất hiện, dòng điều khiển sẽ không tới được case tiếp theo cho tới khi bắt gặp một lệnh break.
- Một lệnh switch có thể có một case mặc định tùy chọn, và phải xuất hiện ở cuối cùng của lệnh switch. Case mặc định này có thể được sử dụng để thực hiện một nhiệm vụ khi không có case nào là đúng (true). Trong trường hợp case mặc định này thì không cần lệnh break.
Cách thực hiện
Để thực hiện câu lệnh switch đầu tiên chương trình tính giá trị của biểu thức điều khiển (btđk), sau đó so sánh kết quả của btđk với giá trị của các biểu_thức_i bên dưới lần lượt từ biểu thức đầu tiên (thứ nhất) cho đến biểu thức cuối cùng (thứ n), nếu giá trị của btđk bằng giá trị của biểu thức thứ i đầu tiên nào đó thì chương trình sẽ thực hiện dãy lệnh thứ i và tiếp tục thực hiện tất cả dãy lệnh còn lại (từ dãy lệnh thứ i+1) cho đến hết (gặp dấu ngoặc đóng } của lệnh switch). Nếu quá trình so sánh không gặp biểu thức (nhánh case) nào bằng với giá trị của btđk thì chương trình thực hiện dãy lệnh trong default và tiếp tục cho đến hết (sau default có thể còn những nhánh case khác).
Trường hợp câu lệnh switch không có nhánh default và btđk không khớp với bất cứ nhánh case nào thì chương trình không làm gì, coi như đã thực hiện xong lệnh switch. Nếu muốn lệnh switch chỉ thực hiện nhánh thứ i (khi btđk = biểu_thức_i) mà không phải thực hiện thêm các lệnh còn lại thì cuối dãy lệnh thứ i thông thường ta đặt thêm lệnh break; đây là lệnh cho phép thoát ra khỏi một lệnh cấu trúc bất kỳ.
Ví dụ minh hoạ:
Viết chương trình C++ nhập 2 số a và b vào từ bàn phím. Nhập kí tự thể hiện một trong bốn phép toán: cộng, trừ, nhân, chia. In ra kết quả thực hiện phép toán đó trên 2 số a, b.
void main() { float a, b, c ; // các toán hạng a, b và kết quả c char dau ; // phép toán được cho dưới dạng kí tự cout &lt&lt "Hãy nhập 2 số a, b: " ; cin &gt&gt a &gt&gt b ; cout &lt&lt "và dấu phép toán: " ; cin &gt&gt dau ; switch (dau) { case '+': c = a + b ; break ; case '−': c = a - b ; break ; case 'x': case '.': case '*': c = a * b ; break ; case ':': case '/': c = a / b ; break ; } cout &lt&lt setiosflags(ios::showpoint) &lt&lt setprecision(4) ; // in 4 số lẻ cout &lt&lt "Kết quả là: " &lt&lt c ; }
Như vậy, thông qua bài học này, chúng ta đã cùng nhau tìm hiểu về 3 câu lệnh rẽ nhánh trong C là if, if-else và switch. Cảm ơn các bạn đã đọc.
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Tổng quan ngôn ngữ lập trình C
- Bài 2: Hướng dẫn cài đặt C
- Bài 3: Biến trong C
- Bài 4: Các kiểu dữ liệu trong C
- Bài 5: Toán tử trong C
- Bài 6: Định danh trong C
- Bài 7: Câu lênh điều kiện if, if-else và switch trong C
- Bài 8: Vòng lặp trong C – Câu lệnh for, while, do…while
- Bài 9: Câu lệnh break, continue goto và hàm exit() trong C
- Bài 10: Mảng trong C
- Bài 11: Con trỏ trong C
- Bài 12: Đọc ghi file trong C
- Bài 13: Chuỗi trong C
- Bài 14: Struct trong C
Giải đáp điều kiện if-else trong ngôn ngữ C
- Tất tần tật về lập trình phần mềm cho dân không chuyên
- Hướng dẫn tự học lập trình Python online đơn giản nhất
- Lập trình PHP là gì? Cơ hội nghề nghiệp ngành lập trình PHP
- Lập trình PLC đèn giao thông là gì? Đặc điểm của lập trình PLC đèn giao thông
- Lập trình PHP có khó không? Học lập trình PHP cần những điều kiện gì?
Hỏi: Trong ngôn ngữ C, kết quả x=0 đạt được là gì nếu tôi đặt nó trong điều kiện if-else? Nếu nó là đại diện false hoặc nếu nhiệm vụ này kết thúc, sau đó đại diện true? Tại sao điều kiện if-else trong ngôn ngữ C không sử dụng giá trị hoạt động của điều kiện mà sử dụng biến bên trái sau khi thiết lập?
Trả lời:
Lệnh if trong C
Dùng lệnh
if
để xác định khối code được triển khai nếu một điều kiện là true.
Công thức:
if (condition) { // khối code được triển khai nếu điều kiện là true }
Lưu ý rằng
if
viết ở dạng chữ thường. Nếu viết in hoa (If hoặc IF), bạn sẽ nhận được kết quả lỗi.
Ví dụ bên dưới đã thử nghiệm hai giá trị để xem 20 có lớn hơn 18 hay không. Nếu điều kiện đó là true, bạn sẽ nhận được thông báo:
if (20 > 18) { printf("20 lớn hơn 18"); }
Bạn cũng có thể thử các biến:
int x = 20; int y = 18; if (x > y) { printf("x lớn hơn y"); }
Giải thích ví dụ:
Ví dụ trên dùng hai biến, x và y, kiểm tra xem x có lớn hơn y hay không bằng toán tử . Vì x là 20, y là 18 nên rõ ràng 20 lớn hơn 18 và bạn sẽ thấy thông báo sau trên màn hình: x lớn hơn y.
Tải xuống
Tài liệu
Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Câu điều kiện If và Toán tử điều kiện (If statements and Conditional operator) dưới dạng file PDF trong link bên dưới.
Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com
Đừng quên like và share để ủng hộ Kteam và tác giả nhé!
Tổng kết
Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng các loại câu lệnh lệnh if trong C như lệnh if trong C, if else trong C, và elif trong C rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.
Và hãy cùng tìm hiểu những kiến thức sâu hơn về C trong các bài học tiếp theo.
URL Link
https://laptrinhcanban.com/c/lap-trinh-c-co-ban/lenh-dieu-kien-trong-c/cau-lenh-if-trong-c/
Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại Creativecommons và DMCA
Bài viết liên quan
HOME › lập trình c cơ bản dành cho người mới học lập trình>>08. lệnh điều kiện trong c
Câu lệnh if trong c sẽ trình bày đến bạn đọc về cách viết điều kiện với câu lệnh if…else và câu lệnh switch…case.
Hai câu lệnh này được sử dụng để lập điều kiện và sẽ có những xử lý tương ứng được thực hiện tuỳ vào điều kiện nào được thoã.
Câu lệnh if trong c – Câu lệnh switch-case
Nếu biểu thức điều kiện so sánh bằng với với một hằng kiểu số nguyên hoặc ký tự thì chúng ta nên sử dụng câu lệnh switch-case vì 2 lý do: Mã nguồn (source code) dễ đọc và Chương trình sẽ thực thi nhanh hơn.
Cú pháp:
switch (Biến) {
case Giá_Trị_1:
Xử lý 1;
break;
case Giá_Trị_2:
Xử lý 2;
break;
case Giá_Trị_N-1:
Xử lý N-1;
break;
default:
Xử lý N;
Giải thích cú pháp switch-case
Thực hiện so sánh biến với từng case và nếu thoả case nào thì sẽ thực hiện xử lý bên trong của case đó và kết thúc một case bằng lệnh break. Trường hợp không thỏa bất kỳ case nào thì xử lý bên trong default sẽ được thực hiện.
Ví dụ chương trình cho phép người dùng lựa chọn phép tính cho 2 số nguyên, cụ thể như sau:
- Nếu biến pheptinh = 1 thì thực hiện phép tổng
- Nếu biến pheptinh = 2 thì thực hiện phép trừ
- Nếu biến pheptinh = 3 thì thực hiện phép nhân
- Nếu biến pheptinh = 4 thì thực hiện phép chia
int a, b, pheptinh;
printf("a = ");
scanf("%d", &a);
printf("b = ");
scanf("%d", &b);
printf("Nhap phep tinh ");
scanf("%d", &pheptinh);
switch(pheptinh) {
case 1: //Phép cộng
printf("Tong 2 so la %d", a+b);
break;
case 2: //Phép trừ
printf("Hieu 2 so la %d", a-b);
break;
case 3: //Phép nhân
printf("Tich 2 so la %d", a*b);
break;
case 4: //Phép chia
printf("Thuong 2 so la %f", (float)a/b);
break;
default:
printf("Nhap sai phep tinh");
Kết luận: Những xử lý bằng switch-case đều xử lý được với if-else nhưng ngược lại thì KHÔNG vì switch-case chỉ chấp nhận kiểu số nguyên và kiểu ký tự và chỉ xử lý SO SÁNH BẰNG.
Câu lệnh if trong c – Yêu cầu
Yêu cầu 1: Viết chương trình xếp loại kết quả học tập dựa vào điểm trung bình khoá học theo tiêu chí sau:
- Nếu điểm trung bình (sau đây gọi là dtb) nhỏ hơn 5, xếp loại “Yếu”
- Nếu dtb lớn hơn hoặc bằng 5 và nhỏ hơn 6.5, xếp loại “Trung bình”
- Nếu dtb lớn hơn hoặc bằng 6.5 và nhỏ hơn 8, xếp loại “Khá”
- Nếu dtb lớn hơn hoặc bằng 8 và nhỏ hơn 10, xếp loại “Giỏi”
- Nếu dtb bằng 10, xếp loại “Xuất sắc”
Yêu cầu 2: Viết chương trình nhập vào 2 số nguyên, hiển thị chức năng cho phép người dùng lựa chọn
- Nhấn phím số 1: Thực hiện phép cộng
- Nhấn phím số 2: Thực hiện phép trừ
- Nhấn phím số 3: Thực hiện phép nhân
- Nhấn phím số 4: Thực hiện phép chia
Keywords searched by users: hàm if nhiều điều kiện trong c
Categories: Khám phá 14 Hàm If Nhiều Điều Kiện Trong C
See more here: kientrucannam.vn
See more: https://kientrucannam.vn/vn/