Else là gì trong Tin học

Trong cuộc sống thường ngày, thường xuyên xảy ra các tình huống khác nhau và với mỗi tình huống đó thì ta sẽ có những hành vi khác nhau. Chẳng hạn như nếu bạn theo dõi Isinhvien thì bạn sẽ có thêm nhiều kiến thức bổ ích mỗi ngày. Trong ngôn ngữ lập trình cũng vậy, câu lệnh điều kiện sẽ giúp cho chúng ta linh hoạt hơn trong việc xử lí chương trình, dựa trên điều kiện đã cho mà thực thi các câu lệnh tương ứng. Trong bài viết ngày hôm nay, hãy cùng Isinhvien đi tìm hiểu chi tiết về câu lệnh if else – một trong những câu lệnh điều kiện khá quan trọng trong C/C++!

Đây là câu lệnh rất thường được sử dụng, nó có nhiều dạng khác nhau tùy vào mục đích của chúng ta. Isinhvien phân chia nó thành các dạng sau:

  • Câu lệnh if
  • Câu lệnh if .. else
  • Câu lệnh if…else lồng nhau
  • Câu lệnh if… else if

Lần lượt tìm hiểu chi tiết về các dạng này ở bên dưới nhé!


Điều kiện sẽ được đưa ra dưới dạng biểu thức quan hệ. Nếu điều kiện là True, lệnh/khối lệnh ở sau sẽ được thực thi. Ngược lại thì không làm gì cả. Chúng ta cũng có thể bỏ căp dấu ngoặc nhọn ‘{}’ nếu trong đó chỉ có một lệnh duy nhất. Nhưng Isinhvien nghĩ rằng bạn nên luôn dùng cặp dấu ngoặc nhọn ‘{}’ để chắc chắc rằng không bị thiếu sót khi có nhiều lệnh nhé! (Hậu quả khó lường lắm đấy :3)

Cú pháp

if (điều_kiện) { Lệnh/Khối_lệnh; }

Điều kiện sẽ được đưa ra dưới dạng biểu thức quan hệ. Nếu điều kiện là True, lệnh/khối lệnh ở sau sẽ được thực thi. Ngược lại thì không làm gì cả. Chúng ta cũng có thể bỏ căp dấu ngoặc nhọn ‘{}’ nếu trong đó chỉ có một lệnh duy nhất. Nhưng Isinhvien nghĩ rằng bạn nên luôn dùng cặp dấu ngoặc nhọn ‘{}’ để chắc chắc rằng không bị thiếu sót khi có nhiều lệnh nhé! (Hậu quả khó lường lắm đấy :3)


Ví dụ:

if(x>0) x-=1;// giảm x đi 1 nếu x>0 if(x<0) x+=1;// tăng x lên 1 nếu x<0

Lệnh if … else cũng là một lệnh điều kiện if, được sử dụng để thực thi khối câu lệnh sau if khi điều kiện được đánh giá là True, ngược lại nếu điều kiện được đánh giá là False khối câu lệnh sau if sẽ bỏ qua và thực thi khối câu lệnh sau else. Trong trường hợp bất kỳ, một khối sẽ được thực thi và khối kia bị bỏ qua. Lưu ý:

  • Cả 2 khối lệnh không bao giờ cùng được thực thi.
  • Cả 2 khối lệnh không bao giờ cùng được bỏ qua.

Cú pháp

if (điều_kiện) { Lệnh/Khối_lệnh; } else { Lệnh/Khối_lệnh; }

Lệnh if … else cũng là một lệnh điều kiện if, được sử dụng để thực thi khối câu lệnh sau if khi điều kiện được đánh giá là True, ngược lại nếu điều kiện được đánh giá là False khối câu lệnh sau if sẽ bỏ qua và thực thi khối câu lệnh sau else. Trong trường hợp bất kỳ, một khối sẽ được thực thi và khối kia bị bỏ qua. Lưu ý:


  • Cả 2 khối lệnh không bao giờ cùng được thực thi.
  • Cả 2 khối lệnh không bao giờ cùng được bỏ qua.

Ví dụ

if (x>0) x+=1; // nếu x>0 tăng x lên 1 else x-=1; // ngược lại giảm x đi 1

Chúng ta có thể sử dụng câu lệnh if else một cách linh hoạt hơn bằng cách lồng chúng với nhau, tùy theo mỗi yêu cầu mà ta có thể lồng nhiều cách khác nhau.

Cú pháp

if (điều_kiện) { if(điều_kiện) { lệnh/khối_lệnh; } else { lệnh/khối_lệnh; } } else { lệnh/khối_lệnh; }

Ví dụ

if (x>0) // nếu x >0 { if(x>10) x-=2; // nếu x>10, giảm x xuống 2 đơn vị else x-=1; // ngược lại giảm x xuống 1 đơn vị } else x+=1; // ngược lại (x<=0) tăng x lên 1 đơn vị

Lệnh if … else if được sử dụng khi ta có nhiều điều kiện và với mỗi điều kiện thì thực hiện các lệnh tương đương với nó.


Cú pháp

if (điêù_kiện_1) { Lệnh/Khối_lệnh_1; } else if (điều_kiện_2) { Lệnh/Khối_lệnh_2; } .... else if (điều_kiện_n) { Lệnh/Khối_lệnh_n; }

Ví dụ

if (x>10) { x+=1; } else if (x>0) { x+=2; } else if (x>-10) { x+=3; }

Trên đây là tất tần tật về câu lệnh if else trong ngôn ngữ lập trình C/C++. Nếu các bạn thấy bài viết hay bổ ích thì hãy like, share đến mọi người để tạo động lực cho Isinhvien ngày càng phát triển hơn nữa. Cảm ơn các bạn rất nhiều <3.

Mệnh đề đủ: Nếu ... thì .... nếu không thì...

1. Rẽ nhánh (cấu trúc rẽ nhánh)

- Cấu trúc dùng để diễn đạt một việc sẽ được thực hiện khi một điều kiện cụ thể được thỏa mãn.

- Rẽ nhánh bao gồm 2 loại:

+ Dạng thiếu: Nếu … thì

Ví dụ: Nếu trời nắng thì chúng ta sẽ đi chơi.

Vậy nếu trời không nắng thì chúng ta làm gì còn chưa biết.

+ Dạng đủ: Nếu … thì …, nếu không thì.

Ví dụ: Nếu trời nắng thì chúng ta sẽ đi chơi, nếu không thì chúng ta sẽ ở đọc truyện ở nhà.

Vậy nếu trời không nắng chúng ta sẽ ở nhà đọc truyện.

2.  Câu lệnh if - then

a) Dạng thiếu

    if <điều kiện> then <câu lệnh>;

b) Dạng đủ

   if <điều kiện> then <câu lệnh 1> else <câu lệnh 2> ;

Trong đó

- điều kiện: biểu thức quan hệ hoặc lôgic.

- Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal.

* Ở dạng thiếu: điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh sẽ được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua (Hình 13)

* Ở dạng đủ: điều kiện cũng được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh 1 sẽ thực hiện, ngược lại thì câu lệnh 2 sẽ được thực hiện (Hình 14).

3. Câu lệnh ghép

Câu lệnh ghép là dãy liên tiếp nhiều câu lệnh được ghép lại thành một nhóm màn giữa hai từ khóa "Begin" và "End" (trong Pascal):

Trong Pascal câu lệnh ghép có dạng:

Begin

       <các câu lệnh>;

End;

Ví dụ:

Begin

tg:= a; a:- b; b:= tg;

End;

Việc thực hiện một câu lệnh ghép là thực hiện lần lượt các câu lệnh thành phần trong dãy. Một câu lệnh ghép có thể chứa một câu lệnh ghép khác như một thành phần của nó.

 Loigiaihay.com

Đăng bởi: Admin | Lượt xem: 6808 | 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.

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).

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.

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” ; } }

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.

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; }

  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ê.
  2. 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.
  3. 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ố.
  4. 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.
  5. 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 đó.
  6. 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.
  7. 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.

Để 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ỳ.

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.

Video liên quan

Chủ đề