Tổng Hợp

Câu lệnh if trong c (Bài 4)

Câu lệnh if trong c sẽ trình bày đến độc giả 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 – 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 chuẩn 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 to hơn hoặc bằng 5 và nhỏ hơn 6.5, xếp loại “Trung bình”
  • Nếu dtb to hơn hoặc bằng 6.5 và nhỏ hơn 8, xếp loại “Khá”
  • Nếu dtb to 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ị tính 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

Câu lệnh if trong c – Phân tích yêu cầu

So với vấn đề 1, tất cả 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à xác minh biểu thức điều
kiện như sau:

  • Nếu dtb < 5 thì “Yếu”
  • Trái lại nếu dtb < 6.5 thì “Trung bình”
  • Trái lại nếu dtb < 8 thì “Khá”
  • Trái lại nếu dtb < 10 thì “Giỏi”
  • Trái lại “Xuất sắc”

So với vấn đề 2 phải xử lý để cho phép người tiêu 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

Xem Thêm :   Những điểm cần lưu ý về sự phát triển của trẻ 2 tháng tuổi

Để khắc phục 2 vấn đề trên tất cả chúng ta phải sử dụng đến câu
lệnh if-else/switch-case. Cụ thể về cú pháp và cách sử dụng, độc giả
xem bên dưới

Câu lệnh if trong c – Câu lệnh if-else

Được sử dụng để xác minh đ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ông báo ra màn hình là yếu.

Cú pháp:

Câu lệnh if trong c – So 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ông báo “Loại yếu”

if(dtbandlt;5) {   
printf("Loại yếu");
}

Câu lệnh if trong c – So 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”, trái lại thông báo “Loại trung bình”

if (dtbandlt;5) {    
printf("Loại yếu");
} else {
printf("Loại trung bình");
}

Câu lệnh if trong c – So 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ầuTổng kếtNếu điểm trung bình < 5 thì thông báo “Loại yếu”Trường hợp thứ nhấtNếu điểm trung bình < 6.5 thì thông báo “Loại trung bình”Trường hợp thứ haiNếu điểm trung bình < 8 thì thông báo “Loại khá”Trường hợp thứ baNế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, tất cả chúng ta phải sử dụng
if-else lồng nhau. Tức là trong biểu thức else tất cả 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(dtbandlt;5) {
   printf("Loại yếu");
//Trường hợp thứ hai
} else if(dtbandlt;6.5) {
   printf("Loại trung bình");
//Trường hợp thứ ba
} else if(dtbandlt;8) {
   printf("Loại khá");
//Trường hợp thứ tư
} else if(dtbandlt;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 (aandgt;b && aandgt;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 to 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.

Xem Thêm :   Đề tài Bài toán cái túi

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ì tất cả chúng ta nên sử dụng câu
lệnh switch-case vì 2 nguyên nhân: 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");
}

Tổng kết: Những xử lý bằng switch-case đều xử lý được với if-else nhưng trái lại thì KHÔNG vì switch-case chỉ chấp thuận kiểu số nguyên và kiểu ký tự và chỉ xử lý SO SÁNH BẰNG.

Xem Thêm :   hình ảnh nghệ thuật trong tiếng Tiếng Anh – Tiếng Việt-Tiếng Anh

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à xác minh 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 để trổ tài
khả năng của PC. 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ô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 aAdaB hoặc bBasicC hoặc cCobolD hoặc dAndroidF hoặc fFortranW hoặc wWindows 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 số đó 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ênPhụ cấpA300B200C100

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ừ keyboard.

Xem thêm bài viết thuộc chuyên mục: Kĩ Năng Sống

Xem thêm bài viết thuộc chuyên mục: Tổng Hợp
Xem thêm :  Giải bài 6, 7, 8, 9, 10 trang 118 sgk toán lớp 8 tập 1

Related Articles

Back to top button