Loading...

 

CÂU LỆNH ĐIỀU KIỆN

 

5.1 Lệnh if

Câu lệnh if cho phép lựa chọn một trong hai nhánh tùy thuộc vào giá trị của biểu thức logic là đúng (true) hay sai (false)

- Dạng 1

Cú pháp:

if (bt_logic)

<khối lệnh>;

           

Diễn giải: Nếu bt_logic có giá trị đúng thì thực hiện khối lệnh và thoát khỏi if, ngược lại không làm gì cả và thoát khỏi if.

 

Ví dụ 1: Viết chương trình nhập vào 2 số nguyên a, b. Tìm và in ra số lớn nhất.

 

a. Phác họa lời giải:

Trước tiên ta cho giá trị a là giá trị lớn nhất bằng cách gán a cho max (max là biến được khai báo cùng kiểu dữ liệu với a, b). Sau đó so sánh b với a, nếu b lớn hơn a ta gán b cho max và cuối cùng ta được kết quả max là giá trị lớn nhất.

b. Viết chương trình

 

#include <stdio.h>
void  main(void){

            int ia, ib, imax;

            printf("Nhap vao so a: ");

            scanf("%d", &ia);

            printf("Nhap vao so b: ");

            scanf("%d", &ib);

            imax = ia;

            if (ib > ia)

                        imax = ib;

            printf("So lon nhat = %d.\n", imax);

}

- Dạng 2

Cú pháp:

if (bt_logic)

<khối lệnh 1>;

                        else

                                    <Khối lệnh 2>;

Diễn giải: Nếu bt_logic có giá trị đúng thì thực hiện khối lệnh 1 và thoát khỏi if, ngược lại thực hiện khối lệnh 2 và thoát khỏi if.

 

Ví dụ 2: Viết chương trình nhập vào 2 số nguyên a, b. In ra thông báo "a bằng b" nếu a = b, ngược lại in ra thông báo "a khác b".

 

a. Phác họa lời giải:

So sánh a với b, nếu a bằng b thì in ra câu thông báo "a bằng b", ngược lại in ra thông báo "a khác b".

b. Viết chương trình:

 

#include <stdio.h>
void main(void)

{

     int ia, ib;

     printf("Nhap vao so a: ");

     scanf("%d", &ia);

     printf("Nhap vao so b: ");

     scanf("%d", &ib);

if (ia == ib)

     printf("a bang b\n");

else

     printf("a khac b\n");

}

 

?Lưu ý:  Nếu <khối lệnh>, bao gồm từ 2 lệnh trở lên thì phải đặt trong cặp dấu {}

 

4.2 Cấu trúc if …else if

 

Cú pháp:

if (bt_logic1)

khối lệnh 1;

else if (bt_logic 2)

khối lệnh 2;

else if (bt_logic n-1)

khối lệnh n-1;

else

khối lệnh n;

 

Diễn giải: Nếu bt_logic 1 có giá trị đúngthì thực hiện khối lệnh 1 và thoát khỏi cấu trúc if. Ngược lại, nếu bt_logic 2 có giá trị đúngthì thực hiện khối lệnh 2 và thoát khỏi cấu trúc if.

Ngược lại, nếu bt_logic n-1 đúngthì thực hiện khối lệnh n-1 và thoát khỏi cấu trúc if, ngược lại thì thực hiện khối lệnh n.

 

Ví dụ 3: Viết chương trình nhập vào 2 số nguyên a, b. In ra thông báo "a lớn hơn b" nếu a>b, in ra thông báo "a nhỏ hơn b" nếu a<b, in ra thông báo "a bằng b" nếu a=b.

 

a. Phác họa lời giải

Trước tiên so sánh a với b. Nếu a > b thì in ra thông báo "a lớn hơn b", ngược lại nếu a < b thì in ra thông báo "a nhỏ hơn b", ngược với 2 trường hợp trên thì in ra thông báo "a bằng b".

b. Viết chương trình:

 

#include <Stdio.h>

void main(void)

{

int ia, ib;

     printf("Nhap vao so a: ");scanf("%d", &ia);

     printf("Nhap vao so b: ");scanf("%d", &ib);

if (ia>ib)

     printf("a lon hon b.\n");

else if...}

 

4.3 Lệnh switch

Cú pháp:

 

switch (biểu thức)

{

case giá trị 1 : khối lệnh 1;

            break;

case giá trị 2 : khối lệnh 2;

break;

case giá trị n : khối lệnh n;

break;

default : khối lệnh;

[break;]

}

 

Diễn giải: Khi giá trị của biểu thức bằng giá trị i thì lệnh i sẽ được thực hiện. Nếu sau lệnh i không có lệnh break thì tiếp tục thực hiện các lệnh sau nó. Ngược lại thoát khỏi  cấu trúc switch. Nếu giá trị biểu thức không trùng với bất kỳ giá trị i nào thì lệnh tương ứng với từ khóa default sẽ được thực hiện.

 

Lưu ý:

- Không đặt dấu chấm phẩy sau câu lệnh switch.

- Biểu thức phải là có kết quả làgiá trị nguyên (char, int, long,…)

- Lệnh 1, 2…n có thể gồm nhiều lệnh, nhưng không cần đặt trong cặp dấu { }

 

Ví dụ 4: Nhập vào một tháng trong năm, cho biết tháng này thuộc quý nào trong năm

 

#include <stdio>

#include <stdio>

void main(void)

{

int ithang;

printf("Nhap vao thang: ");

scanf("%d", &ithang);

switch(ithang)

{

    case 1: case 2: case 3 : printf("Quy 1.\n");break;

    case 4: case 5: case 6: printf("Quy 2.\n");break;

    case 7: case 8: case 9: printf("Quy 3.\n");break;

    case 10: case 11: case 12: printf("Quy 4.\n");break;

    default : printf("Phai nhap vao so trong khoang 1..12\n");

}

getch(); //Dừng màn hình để xem kết quả, gõ phím bất kỳ để tiếp tục


}

 

5.4 Bài thực hành

1. Viết chương trình nhập vào số nguyên dương, in ra thông báo số vừa nhập là số chẵn hay lẻ.

Hướng dẫn: Nhập vào số nguyên dương x. Kiểm tra nếu x chia hết cho hai (tức x chia 2 dư 0) thì x là số chẵn, ngược lại là số lẻ.

 

2. Viết chương trình nhập vào 4 số nguyên. Tìm và in ra số lớn nhất.

Hướng dẫn: Ta có 4 số nguyên a, b, c, d. Tìm 2 số nguyên lớn nhất x, y của 2 cặp (a, b) và (c, d). Sau đó so sánh 2 số nguyên x, y để tìm ra số nguyên lớn nhất.

 

3. Viết chương trình giải phương trình bậc nhất: ax +b =0

Hướng dẫn: Nhập vào 2 biến a, b

Nếu a=0 thì

            Nếu b=0 thì

                        Phương trình vô số nghiệm

            Ngược lại

                        Phương trình vô nghiệm

            Hết nếu

Ngược lại

            x= -b/a

Hết nếu

 

4. Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0, với a, b, c nhập vào từ bàn phím.

Hướng dẫn: Nhập vào 3 biến a, b, c.

Nếu a=0 thì

            Giải phương trình bậc nhất

Ngược lại

Tính Delta = b*b - 4*a*c

Nếu Delta < 0 thì

Phương trình vô nghiệm

Ngược lại

Nếu Delta = 0 thì

x1 = x2 = - b/(2*a)

Ngược lại

x1 = (- b - sqrt(Delta))/(2*a)

x2 = (- b + sqrt(Delta))/(2*a)

Hết Nếu

Hết Nếu

Hết nếu

- Sqrt(Delta) là hàm lấy căn bậc hai của Delta

 

5. Viết chương trình nhập vào giờ phút giây (hh:mm:ss). Cộng thêm số giây nhập vào và in ra kết quả dưới dạng hh:mm:ss.

Hướng dẫn: Nhập giờ, phút, giây vào 3 biến gio, phut, giay và nhập và0 giây công thêm cho biến them:

phut = (phut + (giay + them)/60)%60

giay = (giay + them)%60

gio = (gio + phut/60)%24

 

6. Viết chương trình nhập vào tháng, in ra tháng đó có bao nhiêu ngày.

Hướng dẫn: Nhập vào tháng

Nếu là tháng 1, 3, 5, 7, 8, 10, 12 thì có 30 ngày

Nếu là tháng 4, 6, 9, 11 thì có 31 ngày

Nếu là tháng 2 và là năm nhuận thì có 29 ngày ngược lại 28 ngày

(Năm nhuận là năm chia hết cho 4)

 

7. Viết chương trình xác định biến ký tự color rồi in ra thông báo

- RED, nếu color = 'R' hoặc color = 'r'

- GREEN, nếu color = 'G' hoặc color = 'g'

- BLUE, nếu color = 'B' hoặc color = 'b'

- BLACK, nếu color có giá trị khác.

 

8. Viết chương trình nhập vào 2 số x, y và 1 trong 4 toán tử +, -, *, /. Nếu là + thì in ra kết quả x + y, nếu là – thì in ra x – y, nếu là * thì in ra x * y, nếu là / thì in ra x / y (nếu y = 0 thì thông báo không chia được).

 

9. Viết chương trình nhập vào điểm 3 môn thi: Toán, Lý, Hóa của học sinh. Nếu tổng điểm >= 15 và không có môn nào dưới 4 thì in kết quả đậu. Nếu đậu mà các môn đều lớn hơn 5 thì in ra lời phê "Học đều các môn", ngược lại in ra "Học chưa đều các môn", các trường hợp khác là "Thi hỏng".

 

10. Viết chương trình nhập số giờ làm và lương giờ rồi tính số tiền lương tổng cộng. Nếu số giờ làm lớn hơn 40 thì những giờ làm dôi ra được tính 1,5 lần.

 

11. Viết chương trình tính tiền điện gồm các khoảng sau:

- Tiền thuê bao điện kế: 1000đ/tháng

- Định mức sử dụng điện cho mỗi hộ là: 50 KW với giá 230đ/KW

- Nếu phần vượt định mức <= 50KW thì tính giá 480đ/KW

- Nếu 50KW < phần vượt định mức < 100KW thì tính giá 700đ/KW

- Nếu phần vượt định mức <= 100KW thì tính giá 900đ/KW

Chỉ số mới và cũ được nhập vào từ bàn phím

- In ra màn hình chỉ số cũ, chỉ số mới, tiền trả định mức, tiền trả vượt định mức, tổng tiền phải trả.

Vyht

 

Từ khóa:

Ý kiến của bạn

Mã bảo vệ
Làm mới

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Bài xem nhiều nhất

Tự học lập trình C - Bài 1: Một số khái niệm cơ bản

Khái niệm tên rất quan trọng trong quá trình lập trình, ...

MySQL – Bài 8: Khóa chính (primary key) và khóa ngoại (foreign key) của table

Với ràng buộc này thì, việc người sử dụng vô tình hay cố ...

Tự học lập trình JAVA – Bài 1: Bước đầu với Java

Một chương trình java có thể được định nghĩa như là một ...

Tự học lập trình C - Bài 10: Mảng một chiều

Mảng 1 chiều là tập hợp các phần tử có cùng kiểu dữ ...

Tự học lập trình C - Bài 2: Cấu trúc chương trình C

Một chương trình bao gồm một hoặc nhiều hàm, mỗi hàm ...

Hướng dẫn in ấn trong Word 2007/2010 – Step by Step

[Tự học] - Tiêu đề đầu trang (Header)/tiêu đề cuối ...

Tự học lập trình Assembly - Bài 1: Bước đầu với lập trình Assembly trên vi xử lý Intel 8086/8088

Như đã biết, lệnh ngôn ngữ máy là một dãy các con số 0, ...

Hãy đăng quảng cáo trên TuHocAnNinhMang.com

Về đầu trang Hỏi - Đáp