1. Câu lệnh if/else dạng tổng quát
if(biểu thức 1) { Khối lệnh 1; } else { Khối lệnh 2; }
Nếu biểu thức 1 có giá trị #0 thì chương trình sẽ thực hiện khối lệnh 1 trong câu lệnh if.
Nếu biểu thức 1 có giá trị = 0 thì chương trình sẽ thực hiện khối lệnh 2.
Ví dụ 1: Tìm giá trị lớn nhất của 2 số nguyên a,b nhập vào từ bàn phím
#include <stdio.h> #include <conio.h> void main() { int a, b; printf("\n nhap vao so a = "); scanf("%d", &a); printf("\n nhap vao so b = "); scanf("%d", &b); if(a > b) { printf("\n max(%d,%d) = %d", a, b, a); } else { printf("\n max(%d, %d) = %d", a, b, b); } getch(); }
Kết quả:
nhap vao so a = 3
nhap vao so b = 9
max(3, 9) = 9
2. Lệnh if khuyết lệnh else
if(biểu thức 1) { Khối lệnh 1; } …
Nếu biểu thức 1 có giá trị 1 thì khối lệnh 1 sẽ được thực hiện,
Nếu biểu thức 1 bằng 0 thì khối lệnh 1 không được thực hiện.
3. Lệnh else if
Khi ta muốn chọn 1 trong n quyết định ta dùng lệnh sau:
if(biểu thức 1) { Khối lệnh 1; } else if(biểu thức 2) { Khối lệnh 2; } … else { Khối lệnh n; }
Ví dụ 2: Nhập vào số điểm, chương trình sẽ in ra thang điểm A, B, C, D, F tương ứng
#include <stdio.h> #include <conio.h> void main() { float diem; printf("\n Nhap vao diem : "); scanf("%f", &diem); if( diem >= 8.5 && diem <= 10) { printf("\n Diem A"); } else if(diem >= 7 && diem < 8.5) { printf("\n Diem B"); } else if(diem >= 6 && diem < 7) { printf("\n Diem C"); } else if(diem >= 4 && diem < 6) { printf("\n Diem D"); } else if(diem < 4 && diem >= 0) { printf("\n Diem F"); } else { printf("\n Diem nhap vao khong hop le"); } getch(); }
Kết quả:
Nhap vao diem : 6
Diem C
lỗi expected primary-expression before “else” là như thế nào ạ
Hình như cú pháp lệnh if/else của bạn đang bị sai.
Bạn post đoạn code lên đây để mình xem