tek4

Câu lệnh điều kiện trong C++

by - September. 26, 2021
Kiến thức
Học
Công nghệ
<p style="text-align: justify;">Điều kiện If, else v&agrave; Switch&hellip;case v&agrave; goto trong C++ l&agrave; c&aacute;c kh&aacute;i niệm cơ bản v&agrave; quan trọng trong lập tr&igrave;nh. Do đ&oacute;, trong b&agrave;i viết n&agrave;y, ta sẽ c&ugrave;ng t&igrave;m hiểu c&aacute;c kh&aacute;i niệm n&agrave;y c&ugrave;ng với c&aacute;c v&iacute; dụ dẫn chứng.</p> <h2 style="text-align: justify;">C&acirc;u lệnh điều kiện If...else</h2> <p><img style="width: 610px; display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/public_files/e5a84cf0-1768-44d6-86e2-4d773c5a4e5d" alt="Capture-167" height="371" /></p> <p style="text-align: justify;">C&acirc;u lệnh điều kiện trong C++ l&agrave; c&acirc;u lệnh cần thiết trong qu&aacute; tr&igrave;nh lập tr&igrave;nh, bởi đ&ocirc;i khi ta sẽ gặp phải những điều kiện nhất định để thực hiện một đoạn m&atilde; n&agrave;o đ&oacute;. Trong phần n&agrave;y, ch&uacute;ng ta sẽ t&igrave;m hiểu về c&acirc;u lệnh if ... else để nhằm đưa ra quyết định trong chương tr&igrave;nh.</p> <p style="text-align: justify;">Trong lập tr&igrave;nh m&aacute;y t&iacute;nh, ch&uacute;ng ta sử dụng c&acirc;u lệnh if để chạy đoạn m&atilde; khối khi c&oacute; một điều kiện nhất định được đ&aacute;p ứng.</p> <p style="text-align: justify;">V&iacute; dụ: Đưa ra c&aacute;c điểm theo hệ số A, B, C dựa tr&ecirc;n tổng số điểm của một học sinh.</p> <ul style="text-align: justify;"> <li>Nếu số điểm tr&ecirc;n 90, th&igrave; học sinh đ&oacute; nhận điểm l&agrave; A</li> <li>Nếu số điểm l&agrave; tr&ecirc;n 75, th&igrave; học sinh nhận điểm B</li> <li>V&agrave; nếu số điểm dưới 75, th&igrave; học sinh nhận điểm C</li> </ul> <p style="text-align: justify;">C&oacute; ba dạng c&acirc;u lệnh if ... else trong C ++.</p> <ol style="text-align: justify;"> <li>C&acirc;u lệnh if</li> <li>C&acirc;u lệnh if ... else</li> <li>C&acirc;u lệnh if&hellip;else if&hellip;.else</li> </ol> <h2 style="text-align: justify;">C&acirc;u lệnh if</h2> <p style="text-align: justify;"><strong><em>C&uacute; ph&aacute;p:</em></strong></p> <pre class="language-markup"><code>if (điều kiện) { //đoạn m&atilde; }</code></pre> <p style="text-align: justify;">C&acirc;u lệnh if sẽ đ&aacute;nh gi&aacute; điều kiện b&ecirc;n trong dấu ngoặc đơn ().</p> <ul style="text-align: justify;"> <li>Nếu điều kiện l&agrave; đ&uacute;ng, đoạn m&atilde; được thực thi.</li> <li>Nếu điều kiện l&agrave; sai, đoạn m&atilde; sẽ bị bỏ qua.</li> </ul> <p style="text-align: justify;"><strong>Ch&uacute; &yacute;: Đoạn m&atilde; b&ecirc;n trong {} l&agrave; phần nội dung của c&acirc;u lệnh if.</strong></p> <p><strong><img style="width: 610px; display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/public_files/d25549e3-2b9f-4b01-9fd4-6d23fb3d7289" alt="Capture-85" height="236" /></strong></p> <p style="text-align: justify;">V&iacute; dụ 1:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int ID; cout &lt;&lt; "Nhap ID: "; cin &gt;&gt; ID; if (ID &gt; 0) { cout &lt;&lt; "Xin moi vao!"; } return 0; }</code></pre> <p style="text-align: justify;">Kết quả:</p> <pre class="language-markup"><code>Nhap ID: 1 Xin moi vao!</code></pre> <p style="text-align: justify;">Khi người d&ugrave;ng nhập 1, c&acirc;u điều kiện if sẽ kiểm tra ID &gt; 0, trong trường hợp n&agrave;y ID = 1 n&ecirc;n điều kiện l&agrave; đ&uacute;ng, v&agrave; c&acirc;u lệnh b&ecirc;n trong if được thực thi</p> <h2 style="text-align: justify;">C&acirc;u lệnh If&hellip;else</h2> <p style="text-align: justify;"><strong><em>C&uacute; ph&aacute;p:</em></strong></p> <pre class="language-markup"><code>if (điều kiện) { // đoạn m&atilde; 1 } else { // đoạn m&atilde; 2 }</code></pre> <p><img style="width: 646px; display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/public_files/9d5b8e8b-049d-4bbf-9c0e-a0d4e28ad522" alt="Capture-86" height="281" /></p> <p style="text-align: justify;">Nếu c&acirc;u điều kiện đ&aacute;nh gi&aacute; l&agrave; đ&uacute;ng,</p> <ul style="text-align: justify;"> <li>Đoạn m&atilde; b&ecirc;n trong ngoặc của if được thực thi</li> <li>Đoạn m&atilde; b&ecirc;n trong ngoặc của else bị bỏ qua</li> </ul> <p style="text-align: justify;">Nếu điều kiện đ&aacute;nh gi&aacute; l&agrave; sai,</p> <ul style="text-align: justify;"> <li>Đoạn m&atilde; b&ecirc;n trong ngoặc của Else được thực thi</li> <li>Đoạn m&atilde; b&ecirc;n trong ngoặc của if bị bỏ qua</li> </ul> <p style="text-align: justify;">V&iacute; dụ 2:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int ID; cout &lt;&lt; "Nhap ID: "; cin &gt;&gt; ID; if (ID &gt;= 0) { cout &lt;&lt; "Xin moi vao!" &lt;&lt; endl; } else { cout &lt;&lt; "Tam biet!" &lt;&lt; endl; } return 0; }</code></pre> <p style="text-align: justify;">Kết quả:</p> <pre class="language-markup"><code>Nhap ID: -2 Tam biet!</code></pre> <p style="text-align: justify;">Trong đoạn m&atilde; tr&ecirc;n, điều kiện l&agrave; ID &gt; 0. Nếu ID thỏa m&atilde;n điều kiện lớn hơn 0 th&igrave; cho ph&eacute;p v&agrave;o hệ thống, v&agrave; ngược lại sẽ từ chối. V&igrave; ta nhập ID l&agrave; -2 n&ecirc;n kh&ocirc;ng thỏa m&atilde;n điều kiện cho ph&eacute;p, do đ&oacute; đoạn m&atilde; b&ecirc;n trong ngoặc của Else được thực hiện.</p> <h2 style="text-align: justify;">C&acirc;u lệnh If&hellip;else if&hellip;else</h2> <p style="text-align: justify;">C&acirc;u lệnh if ... else được sử dụng để thực thi một đoạn m&atilde; trong số hai lựa chọn thay thế. Tuy nhi&ecirc;n, nếu ch&uacute;ng ta cần phải lựa chọn nhiều hơn hai, ta sẽ sử dụng c&acirc;u lệnh if...else if...else.</p> <p style="text-align: justify;"><strong><em>C&uacute; ph&aacute;p:</em></strong></p> <pre class="language-markup"><code>if (điều kiện 1) { // đoạn m&atilde; 1 } else if (điều kiện 2) { // đoạn m&atilde; 2 } else { // đoạn m&atilde; 3 }</code></pre> <p style="text-align: justify;">Trong đ&oacute;:</p> <ul style="text-align: justify;"> <li>Nếu điều kiện 1 l&agrave; đ&uacute;ng, đoạn m&atilde; 1 được thực thi.</li> <li>Nếu điều kiện1 được đ&aacute;nh gi&aacute; l&agrave; sai, th&igrave; điều kiện 2 được đ&aacute;nh gi&aacute;.</li> <li>Nếu điều kiện 2 l&agrave; đ&uacute;ng, đoạn m&atilde; 2 được thực thi.</li> <li>Nếu điều kiện 2 l&agrave; sai, đoạn m&atilde; 3 được thực thi.</li> </ul> <p style="text-align: justify;">V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int ID; cout &lt;&lt; "Nhap ID: "; cin &gt;&gt; ID; if (ID &gt; 0) { cout &lt;&lt; "Xin moi vao! " &lt;&lt; endl; } else if (ID &lt; 0) { cout &lt;&lt; "Tam biet!" &lt;&lt; endl; } else { cout &lt;&lt; "Ban nhap sai gia tri!" &lt;&lt; endl; } return 0; }</code></pre> <p style="text-align: justify;">Trong đoạn lệnh tr&ecirc;n, ta kiểm tra điều kiện cho ID. Nếu ID &gt; 0 th&igrave; cho ph&eacute;p người d&ugrave;ng v&agrave;o hệ thống, nếu ID &lt; 0 th&igrave; từ chối người d&ugrave;ng v&agrave; ID = 0 th&igrave; mời người d&ugrave;ng nhập lại ID.</p> <h2 style="text-align: justify;">C&acirc;u lệnh If&hellip;else lồng nhau</h2> <p style="text-align: justify;">Đ&ocirc;i khi, ch&uacute;ng ta cần sử dụng một c&acirc;u lệnh if b&ecirc;n trong một c&acirc;u lệnh if kh&aacute;c. Đ&acirc;y được gọi l&agrave; c&acirc;u lệnh if lồng nhau.</p> <p style="text-align: justify;"><strong><em>C&uacute; ph&aacute;p:</em></strong></p> <pre class="language-markup"><code>if (điều kiện 1) { // đoạn m&atilde; if (điều kiện 1.2) { // đoạn m&atilde; } }</code></pre> <p style="text-align: justify;">V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int ID; cout &lt;&lt; "Nhap ID: "; cin &gt;&gt; ID; if (ID &gt; 0) { cout &lt;&lt; "Xin moi vao! " &lt;&lt; endl; if (ID == 1){ cout &lt;&lt; &ldquo;Xin chao Admin&rdquo; &lt;&lt; endl; } } return 0; }</code></pre> <p style="text-align: justify;">Trong đoạn m&atilde; tr&ecirc;n, ta sử kiểm tra điều kiện cho ID. Nếu ID &gt; 0 th&igrave; cho ph&eacute;p người d&ugrave;ng v&agrave;o hệ thống, tiếp theo sẽ kiểm tra điều kiện l&agrave; nếu ID = 1 th&igrave; cấp quyền admin (to&agrave;n bộ quyền) cho người d&ugrave;ng.</p> <p style="text-align: justify;"><strong>Ch&uacute; &yacute; 1: V&igrave; c&aacute;c c&acirc;u lệnh if&hellip;else lồng nhau nhiều sẽ g&acirc;y n&ecirc;n sự phức tạp v&agrave; kh&oacute; hiểu cho đoạn code. Do đ&oacute;, mọi người h&atilde;y cố gắng tr&aacute;nh viết nhiều c&acirc;u lệnh if&hellip;else lồng nhau</strong></p> <p style="text-align: justify;"><strong>Ch&uacute; &yacute; 2: Nếu đoạn m&atilde; b&ecirc;n trong c&acirc;u lệnh If&hellip;else chỉ c&oacute; 1 d&ograve;ng th&igrave; ta c&oacute; thể bỏ dấu ngoặc nhọn.</strong></p> <p style="text-align: justify;">V&iacute; dụ: Đoạn m&atilde; sau.</p> <pre class="language-cpp"><code>if (ID &gt; 0) { cout &lt;&lt; "Xin moi vao!" &lt;&lt; endl; } else { cout &lt;&lt; "Tam biet!" &lt;&lt; endl; }</code></pre> <p style="text-align: justify;">C&oacute; thể thay bằng.</p> <pre class="language-cpp"><code>if (ID &gt; 0) cout &lt;&lt; "Xin moi vao!" &lt;&lt; endl; else cout &lt;&lt; "Tam biet!" &lt;&lt; endl;</code></pre> <h2 style="text-align: justify;">C&acirc;u lệnh Switch&hellip;Case</h2> <p><img style="width: 592px; display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/public_files/22e791af-aadd-4a24-89eb-00919f26c0f0" alt="Capture-168" height="364" /></p> <p style="text-align: justify;">C&acirc;u lệnh Switch trong C++ thực hiện so s&aacute;nh gi&aacute; trị của biến với danh s&aacute;ch c&aacute;c gi&aacute; trị. Mỗi gi&aacute; trị trong danh s&aacute;ch n&agrave;y l&agrave; một trường hợp. Nếu gi&aacute; trị của biến tr&ugrave;ng khớp với gi&aacute; trị của trường hợp bất kỳ, th&igrave; đoạn m&atilde; trong trường hợp đ&oacute; sẽ được thực thi. Trong b&agrave;i viết n&agrave;y, ch&uacute;ng ta sẽ t&igrave;m hiểu về hoạt động của c&acirc;u lệnh Switch trong lập tr&igrave;nh C ++ c&ugrave;ng với một số v&iacute; dụ dẫn chứng.</p> <p style="text-align: justify;"><strong><em>C&uacute; ph&aacute;p:</em></strong></p> <pre class="language-cpp"><code>switch (biểu thức) { case 1: // m&atilde; được thực thi nếu biểu thức bằng 1; break; case 2: // m&atilde; được thực thi nếu biểu thức bằng 2; break; default: // m&atilde; được thực thi nếu biểu thức kh&ocirc;ng tr&ugrave;ng khớp với bất kỳ gi&aacute; trị n&agrave;o }</code></pre> <h2 style="text-align: justify;">C&aacute;ch thức hoạt động</h2> <p style="text-align: justify;">Biểu thức được đ&aacute;nh gi&aacute; v&agrave; so s&aacute;nh với c&aacute;c gi&aacute; trị của mỗi trường hợp. Nếu tr&ugrave;ng khớp, đoạn m&atilde; tương ứng trong trường hợp đ&oacute; sẽ được thực thi. V&iacute; dụ, nếu gi&aacute; trị của biểu thức bằng 2, đoạn m&atilde; trong trường hợp 2 được thực thi cho đến khi gặp c&acirc;u lệnh break. Nếu kh&ocirc;ng tr&ugrave;ng khớp với bất kỳ trường hợp n&agrave;o, đoạn m&atilde; của trường hợp mặc định được thực thi.</p> <p style="text-align: justify;"><strong>Ch&uacute; &yacute;: Ch&uacute;ng ta c&oacute; thể l&agrave;m điều n&agrave;y bằng c&acirc;u lệnh if ... else..if. Tuy nhi&ecirc;n, c&uacute; ph&aacute;p của c&acirc;u lệnh Switch gọn g&agrave;ng hơn v&agrave; dễ đọc hơn.</strong></p> <p><strong><img style="width: 607px; display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/public_files/2109dc4d-0ace-4b4b-8000-dccc149baff7" alt="Capture-103" height="375" /></strong></p> <h2 style="text-align: justify;">V&iacute; dụ về c&acirc;u lệnh Switch trong C++</h2> <p style="text-align: justify;">V&iacute; dụ 1: Người d&ugrave;ng nhập số thứ tự v&agrave; in ra trường hợp tương ứng.</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int so_thu_tu; cout &lt;&lt; "Nhap so thu tu: "; cin &gt;&gt; so_thu_tu; switch (so_thu_tu) { case 1: cout &lt;&lt; "Day la truong hop 1"; break; case 2: cout &lt;&lt; "Day la truong hop 2"; break; case 3: cout &lt;&lt; "Day la truong hop 3"; break; default: cout &lt;&lt; "Day la truong hop mac dinh"; break; } return 0; }</code></pre> <p style="text-align: justify;">Kết quả:</p> <pre class="language-markup"><code>Nhap so thu tu: 1 Day la truong hop 1</code></pre> <p style="text-align: justify;">Trong đoạn m&atilde; tr&ecirc;n, chương tr&igrave;nh sẽ y&ecirc;u cầu người d&ugrave;ng nhập số thứ tự cho mỗi trường hợp với 3 trường hợp. nếu người d&ugrave;ng nhập qu&aacute; số thứ tự th&igrave; trường hợp mặc định sẽ được in ra. Ngược lại, nếu người d&ugrave;ng nhập c&aacute;c gi&aacute; trị l&agrave; {1,2,3} th&igrave; c&aacute;c trường hợp tương ứng sẽ được in ra.<br /><strong>Ch&uacute; &yacute;: </strong><strong>C&acirc;u lệnh break được sử dụng b&ecirc;n trong mỗi trường hợp. Điều n&agrave;y sẽ gi&uacute;p kết th&uacute;c c&acirc;u lệnh switch. </strong><strong>Nếu c&acirc;u lệnh break kh&ocirc;ng được sử dụng, tất cả c&aacute;c trường hợp sau trường hợp khớp với biểu thức sẽ được thực hiện.</strong></p> <p style="text-align: justify;">V&iacute; dụ 2:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int so_thu_tu; cout &lt;&lt; "Nhap so thu tu: "; cin &gt;&gt; so_thu_tu; switch (so_thu_tu) { case 1: cout &lt;&lt; "Day la truong hop 1"&lt;&lt;endl; case 2: cout &lt;&lt; "Day la truong hop 2"&lt;&lt;endl; case 3: cout &lt;&lt; "Day la truong hop 3"&lt;&lt;endl; default: cout &lt;&lt; "Day la truong hop mac dinh"&lt;&lt;endl; } return 0; }</code></pre> <p style="text-align: justify;">Kết quả:</p> <pre class="language-markup"><code>Nhap so thu tu: 1 Day la truong hop 1 Day la truong hop 2 Day la truong hop 3 Day la truong hop mac dinh</code></pre> <p style="text-align: justify;">Trong đoạn m&atilde; tr&ecirc;n, do kh&ocirc;ng d&ugrave;ng c&acirc;u lệnh break n&ecirc;n khi người d&ugrave;ng nhập chọn trường hợp 1 th&igrave; trường hợp 1 được thực thi. Nhưng kh&ocirc;ng dừng lại ở đ&oacute;, c&aacute;c trường hợp sau trường hợp 1 cũng được thực thi v&agrave; kết quả l&agrave; tất cả c&aacute;c trường hợp sẽ thực hiện lệnh cout v&agrave; in ra m&agrave;n h&igrave;nh.</p> <h2 style="text-align: justify;">C&acirc;u lệnh goto</h2> <p><img style="width: 635px; display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/public_files/972295b5-84f8-49d4-9cbf-17ee3560ab5e" alt="Capture-108" height="383" /></p> <p style="text-align: justify;">Một c&acirc;u lệnh goto trong C++ được sử dụng nhằm đưa ra một bước nhảy v&ocirc; điều kiện từ c&acirc;u lệnh goto đến một nh&atilde;n trong c&ugrave;ng một h&agrave;m nhất định. C&acirc;u lệnh goto nhằm thay đổi tr&igrave;nh tự thực hiện chương tr&igrave;nh b&igrave;nh thường bằng c&aacute;ch chuyển việc thực thi sang một số phần kh&aacute;c của chương tr&igrave;nh.</p> <p style="text-align: justify;"><strong><em>C&uacute; ph&aacute;p:</em></strong></p> <pre class="language-cpp"><code>goto nh&atilde;n; Đoạn m&atilde; 1 nh&atilde;n: Đoạn m&atilde; 2</code></pre> <p style="text-align: justify;">Trong c&uacute; ph&aacute;p tr&ecirc;n, t&ecirc;n của nh&atilde;n l&agrave; một t&ecirc;n định danh do người d&ugrave;ng x&aacute;c định v&agrave; được ph&acirc;n t&aacute;ch bởi dấu (:) đằng sau t&ecirc;n của n&oacute;. Đoạn m&atilde; nằm đằng sau t&ecirc;n nh&atilde;n l&agrave; một c&aacute;c c&acirc;u lệnh sẽ được thực thi. Khi c&acirc;u lệnh goto nh&atilde;n; được thực hiện, việc thực thi của chương tr&igrave;nh sẽ nhảy đến nh&atilde;n đ&oacute; v&agrave; thực thi đoạn m&atilde; b&ecirc;n ở đằng sau n&oacute;.</p> <p><img style="width: 627px; display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/public_files/e3217c0c-dc99-4012-b7cb-5cb7cb22a742" alt="Capture-107" height="303" /></p> <p style="text-align: justify;">V&iacute; dụ về c&acirc;u lệnh goto trong C++.</p> <pre class="language-cpp"><code># include &lt;iostream&gt; using namespace std; int main() { int gia_tri=0; goto nhan; gia_tri = 3; nhan: cout &lt;&lt; "Gia tri = " &lt;&lt; gia_tri; return 0; }</code></pre> <p style="text-align: justify;">Kết quả của chương tr&igrave;nh:</p> <pre class="language-markup"><code>Gia tri = 0</code></pre> <p style="text-align: justify;">Trong đoạn m&atilde; tr&ecirc;n, ban đầu ta khai b&aacute;o một biến gia_tri v&agrave; g&aacute;n gi&aacute; trị 0 cho biến n&agrave;y, sau đ&oacute; thay v&igrave; g&aacute;n trị 3 v&agrave;o biến gia_tri th&igrave; lệnh goto nhảy sang đoạn m&atilde; nằm dưới một nh&atilde;n với t&ecirc;n định danh do người d&ugrave;ng đặt l&agrave; &ldquo;nhan:&rdquo;, v&agrave; thực hiện in ra gi&aacute; trị của biến, kết quả sẽ vẫn l&agrave; gi&aacute; trị 0 ban đầu bởi c&acirc;u lệnh goto đ&atilde; nhảy tới nh&atilde;n v&agrave; bỏ qua c&acirc;u lệnh g&aacute;n trị 3 cho biến được khai b&aacute;o.</p> <p style="text-align: justify;"><strong>Ch&uacute; &yacute;: Tr&ecirc;n thực tế, do lệnh goto c&oacute; thể nhảy tới bất kỳ ph&acirc;n đoạn m&atilde; n&agrave;o, điều n&agrave;y g&acirc;y ra việc mất t&iacute;nh logic v&agrave; luồng thực thi hoạt động của chương tr&igrave;nh. Do đ&oacute;, lệnh goto thường kh&ocirc;ng được sử dụng phổ biến.</strong></p> <p style="text-align: justify;">Tr&ecirc;n đ&acirc;y l&agrave; kh&aacute;i niệm v&agrave; c&aacute;c v&iacute; dụ cơ bản về Điều kiện If, else v&agrave; switch&hellip;case v&agrave; goto trong C++. Hy v&ograve;ng rằng mọi người đ&atilde; nắm được v&agrave; c&oacute; thể &aacute;p dụng được v&agrave;o trong chương tr&igrave;nh của m&igrave;nh. Mọi người h&atilde;y theo d&otilde;i c&aacute;c b&agrave;i tiếp theo tr&ecirc;n <a href="http://tek4.vn">tek4</a> nh&eacute;!</p>