tek4

Toán tử và biểu thức trong C++

by - September. 25, 2021
Kiến thức
Học
Công nghệ
<p>To&aacute;n tử v&agrave; biểu thức trong C++ l&agrave; c&aacute;c kh&aacute;i niệm cơ bản v&agrave; quan trọng trong khi lập tr&igrave;nh. Do vậy, trong b&agrave;i viết n&agrave;y, ta sẽ c&ugrave;ng t&igrave;m hiểu về c&aacute;c kh&aacute;i niệm n&agrave;y.</p> <h2>To&aacute;n tử trong C++</h2> <p>To&aacute;n từ l&agrave; c&aacute;c k&yacute; hiệu thực hiện c&aacute;c thao t&aacute;c tr&ecirc;n c&aacute;c biến v&agrave; gi&aacute; trị. V&iacute; dụ, dấu cộng + l&agrave; một to&aacute;n tử được sử dụng để t&iacute;nh ph&eacute;p cộng, v&agrave; dấu trừ - l&agrave; một to&aacute;n tử được sử dụng để thực hiện ph&eacute;p trừ.</p> <p>C&aacute;c to&aacute;n tử trong C ++ c&oacute; thể được ph&acirc;n th&agrave;nh 6 loại:</p> <ol> <li>To&aacute;n tử số học</li> <li>To&aacute;n tử g&aacute;n</li> <li>To&aacute;n tử quan hệ</li> <li>To&aacute;n tử Logic</li> <li>To&aacute;n tử Bitwise</li> <li>C&aacute;c to&aacute;n tử kh&aacute;c</li> </ol> <h2>1. To&aacute;n tử số học</h2> <p>C&aacute;c to&aacute;n tử số học được sử dụng để thực hiện c&aacute;c ph&eacute;p to&aacute;n số học tr&ecirc;n c&aacute;c biến v&agrave; dữ liệu. V&iacute; dụ như a + b</p> <p>Ở đ&acirc;y, to&aacute;n tử + được sử dụng để cộng hai biến a v&agrave; b. Tương tự, c&oacute; nhiều to&aacute;n tử số học kh&aacute;c trong C ++.</p> <table style="height: 370px;" width="887"> <tbody> <tr> <td> <p style="text-align: center;">To&aacute;n tử</p> </td> <td> <p style="text-align: center;">Thực hiện</p> </td> </tr> <tr> <td> <p style="text-align: center;">+</p> </td> <td> <p style="text-align: center;">Ph&eacute;p cộng</p> </td> </tr> <tr> <td> <p style="text-align: center;">-</p> </td> <td> <p style="text-align: center;">Ph&eacute;p trừ</p> </td> </tr> <tr> <td> <p style="text-align: center;">*</p> </td> <td> <p style="text-align: center;">Ph&eacute;p nh&acirc;n</p> </td> </tr> <tr> <td> <p style="text-align: center;">/</p> </td> <td> <p style="text-align: center;">Ph&eacute;p chia</p> </td> </tr> <tr> <td> <p style="text-align: center;">%</p> </td> <td> <p style="text-align: center;">Ph&eacute;p lấy số dư</p> </td> </tr> </tbody> </table> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int a, b; a = 9; b = 2; cout &lt;&lt; (a + b) &lt;&lt; endl; cout &lt;&lt; (a - b) &lt;&lt; endl; cout &lt;&lt;(a * b) &lt;&lt; endl; cout &lt;&lt;(a / b) &lt;&lt; endl; cout &lt;&lt;(a % b) &lt;&lt; endl; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>11 7 18 4 1</code></pre> <p>Trong đ&oacute;:</p> <ul> <li>Đối với to&aacute;n tử /, nếu một số nguy&ecirc;n chia cho một số nguy&ecirc;n kh&aacute;c, ch&uacute;ng ta sẽ nhận được thương số. Tuy nhi&ecirc;n, nếu số chia hoặc số bị chia l&agrave; kiểu thập ph&acirc;n, ch&uacute;ng ta sẽ nhận được kết quả l&agrave; số thập ph&acirc;n. V&iacute; dụ:</li> </ul> <pre class="language-markup"><code>9/2 = 4 9.0 / 2 = 4.5 9 / 2.0 = 4.5 9.0 / 2.0 = 4.5</code></pre> <ul> <li>To&aacute;n tử phần trăm % sẽ lấy gi&aacute; trị phần dư của ph&eacute;p chia v&agrave; chỉ sử dụng với c&aacute;c kiểu số nguy&ecirc;n. V&iacute; dụ 9/2 = 4 dư 1</li> </ul> <h3>C&aacute;c to&aacute;n tử tăng v&agrave; giảm</h3> <p>C ++ cũng cung cấp c&aacute;c to&aacute;n tử tăng v&agrave; giảm gồm <span class="lang:default decode:true crayon-inline ">++</span> v&agrave; <span class="lang:default decode:true crayon-inline">--</span>. To&aacute;n tử ++ tăng gi&aacute; trị của to&aacute;n hạng l&ecirc;n 1 đơn vị, trong khi -- giảm đi 1 đơn vị.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>int so = 6; ++ so;</code></pre> <p>Ở đ&acirc;y, gi&aacute; trị của so được tăng l&ecirc;n 7 từ gi&aacute; trị ban đầu l&agrave; 6. Trong chương tr&igrave;nh tr&ecirc;n, ch&uacute;ng ta đ&atilde; sử dụng to&aacute;n tử ++ ở trước biến. Ngo&agrave;i ta, ch&uacute;ng ta cũng c&oacute; thể sử dụng c&aacute;c to&aacute;n tử n&agrave;y ở sau biến.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include&lt;iostream&gt; using namespace std; int main(){ int so = 6; int so2; int so3; so2 = so++; so3 = ++so; cout &lt;&lt; so2 &lt;&lt; endl; cout &lt;&lt; so3 &lt;&lt; endl; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>6 8</code></pre> <p>Kh&aacute;c biệt đ&oacute; l&agrave; so2 sẽ bằng so v&agrave; sau đ&oacute; so sẽ tăng l&ecirc;n 1. Như vậy so2 = so = 6 v&agrave; l&uacute;c sau th&igrave; so = 7. Tiếp theo, so3 = 8 v&igrave; ++so sẽ tăng so l&ecirc;n 1 đơn vị v&agrave; sau đ&oacute; mới g&aacute;n cho so3.</p> <h2>2. To&aacute;n tử g&aacute;n</h2> <p>Trong C ++, c&aacute;c to&aacute;n tử g&aacute;n được sử dụng để g&aacute;n gi&aacute; trị cho c&aacute;c biến.</p> <p>V&iacute; dụ: a = 5</p> <table style="height: 430px;" width="887"> <tbody> <tr> <td> <p style="text-align: center;">To&aacute;n tử</p> </td> <td> <p style="text-align: center;">V&iacute; dụ</p> </td> <td> <p style="text-align: center;">Tương đương với biểu thức</p> </td> </tr> <tr> <td> <p style="text-align: center;">=</p> </td> <td> <p style="text-align: center;">a = b;</p> </td> <td> <p style="text-align: center;">a = b;</p> </td> </tr> <tr> <td> <p style="text-align: center;">+=</p> </td> <td> <p style="text-align: center;">a += b;</p> </td> <td> <p style="text-align: center;">a = a + b;</p> </td> </tr> <tr> <td> <p style="text-align: center;">-=</p> </td> <td> <p style="text-align: center;">a -= b;</p> </td> <td> <p style="text-align: center;">a = a - b;</p> </td> </tr> <tr> <td> <p style="text-align: center;">*=</p> </td> <td> <p style="text-align: center;">a *= b;</p> </td> <td> <p style="text-align: center;">a = a * b;</p> </td> </tr> <tr> <td> <p style="text-align: center;">/=</p> </td> <td> <p style="text-align: center;">a /= b;</p> </td> <td> <p style="text-align: center;">a = a / b;</p> </td> </tr> <tr> <td> <p style="text-align: center;">%=</p> </td> <td> <p style="text-align: center;">a %= b;</p> </td> <td> <p style="text-align: center;">a = a % b;</p> </td> </tr> </tbody> </table> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>a = 2; b = 3; a +=b;// a = 5, b = 3</code></pre> <h2>3. To&aacute;n tử quan hệ</h2> <p>Một to&aacute;n tử quan hệ được sử dụng để kiểm tra mối quan hệ giữa hai to&aacute;n hạng.</p> <p>V&iacute; dụ: a &gt; b</p> <p>Ở đ&acirc;y, &gt; l&agrave; một to&aacute;n tử quan hệ. N&oacute; kiểm tra xem a c&oacute; lớn hơn b hay kh&ocirc;ng. Nếu quan hệ l&agrave; đ&uacute;ng, n&oacute; trả về 1 trong khi nếu quan hệ l&agrave; sai, n&oacute; trả về 0.</p> <table style="height: 431px;" width="883"> <tbody> <tr> <td> <p style="text-align: center;">To&aacute;n tử</p> </td> <td> <p style="text-align: center;">&Yacute; nghĩa</p> </td> <td> <p style="text-align: center;">V&iacute; dụ</p> </td> </tr> <tr> <td> <p style="text-align: center;">==</p> </td> <td> <p style="text-align: center;">Bằng hay kh&ocirc;ng</p> </td> <td> <p style="text-align: center;">5 == 6 trả về 0</p> </td> </tr> <tr> <td> <p style="text-align: center;">!=</p> </td> <td> <p style="text-align: center;">Kh&aacute;c</p> </td> <td> <p style="text-align: center;">5 != 6 trả về 1</p> </td> </tr> <tr> <td> <p style="text-align: center;">&gt;</p> </td> <td> <p style="text-align: center;">Lớn hơn</p> </td> <td> <p style="text-align: center;">5 &gt; 6 trả về 0</p> </td> </tr> <tr> <td> <p style="text-align: center;">&lt;</p> </td> <td> <p style="text-align: center;">Nhỏ hơn</p> </td> <td> <p style="text-align: center;">5 &lt; 6&nbsp; trả về 1</p> </td> </tr> <tr> <td> <p style="text-align: center;">&gt;=</p> </td> <td> <p style="text-align: center;">Lớn hơn hoặc bằng</p> </td> <td> <p style="text-align: center;">6 &gt;= 5 trả về 1</p> </td> </tr> <tr> <td> <p style="text-align: center;">&lt;=</p> </td> <td> <p style="text-align: center;">Nhỏ hơn hoặc bằng</p> </td> <td> <p style="text-align: center;">6 &lt;= 5 trả về 0</p> </td> </tr> </tbody> </table> <h2>4. To&aacute;n tử Logic</h2> <p>C&aacute;c to&aacute;n tử Logic được sử dụng để kiểm tra xem một biểu thức l&agrave; đ&uacute;ng hay sai. Nếu biểu thức l&agrave; đ&uacute;ng, n&oacute; trả về 1 trong khi nếu biểu thức l&agrave; sai, n&oacute; sẽ trả về 0.</p> <table style="height: 250px;" width="887"> <tbody> <tr> <td style="text-align: center;">To&aacute;n tử</td> <td style="text-align: center;">V&iacute; dụ</td> <td style="text-align: center;">&Yacute; nghĩa</td> </tr> <tr> <td style="text-align: center;">&amp;&amp;</td> <td style="text-align: center;">Biểu thức1 &amp;&amp; biểu thức 2</td> <td>AND l&agrave; đ&uacute;ng khi v&agrave; chỉ khi cả 2 biểu thức c&ugrave;ng đ&uacute;ng</td> </tr> <tr> <td style="text-align: center;">||</td> <td style="text-align: center;">Biểu thức 1 || biểu thức 2</td> <td>OR l&agrave; đ&uacute;ng khi một trong 2 đ&uacute;ng</td> </tr> <tr> <td style="text-align: center;">!</td> <td style="text-align: center;">!biểu thức</td> <td>NOT l&agrave; đ&uacute;ng khi m&agrave; biểu thức l&agrave; sai</td> </tr> </tbody> </table> <p>Trong C ++, c&aacute;c to&aacute;n tử Logic thường được sử dụng trong việc đưa ra quyết định.</p> <p>V&iacute; dụ:</p> <ul> <li>(4 &gt; 3) &amp;&amp; (6 &gt; 5) trả về 1. 4 lớn hơn 3 v&agrave; 6 lớn hơn 5 l&agrave; đ&uacute;ng.</li> <li>(4 &gt; 3) &amp;&amp; (6 &lt; 5) trả về 0. 4 lớn hơn 3 v&agrave; 6 nhỏ hơn 5 l&agrave; sai.</li> <li>(4 &gt; 3) || (4 &gt; 5) trả về 1. 4 lớn hơn 3 hoặc 4 lớn hơn 5 l&agrave; đ&uacute;ng.</li> <li>(2 &gt; 3) || (4 &lt; 5) trả về 1. 2 lớn hơn 3 hoặc 4 lớn hơn 5 l&agrave; đ&uacute;ng.</li> <li>(4 &lt; 3) || (6 &lt; 5) trả về 0. 4 nhỏ hơn 3 hoặc 6 nhỏ hơn 5 l&agrave; sai.</li> <li>! (5 == 3) trả về 1. 5 kh&ocirc;ng bằng 3 l&agrave; đ&uacute;ng.</li> <li>! (4 &gt; 3) trả về 0. 4 kh&ocirc;ng lớn hơn 3 l&agrave; sai.</li> </ul> <h2>5. To&aacute;n tử Bitwise</h2> <p>Trong C ++, c&aacute;c to&aacute;n tử Bitwise được sử dụng để thực hiện c&aacute;c thao t&aacute;c tr&ecirc;n c&aacute;c bit ri&ecirc;ng lẻ. Ch&uacute;ng chỉ c&oacute; thể được sử dụng c&ugrave;ng với c&aacute;c kiểu dữ liệu char v&agrave; int.</p> <table style="height: 431px;" width="887"> <tbody> <tr> <td> <p style="text-align: center;">To&aacute;n tử</p> </td> <td> <p style="text-align: center;">M&ocirc; tả</p> </td> </tr> <tr> <td> <p style="text-align: center;">&amp;</p> </td> <td> <p style="text-align: center;">AND</p> </td> </tr> <tr> <td> <p style="text-align: center;">|</p> </td> <td> <p style="text-align: center;">OR</p> </td> </tr> <tr> <td> <p style="text-align: center;">^</p> </td> <td> <p style="text-align: center;">XOR</p> </td> </tr> <tr> <td> <p style="text-align: center;">~</p> </td> <td> <p style="text-align: center;">Phủ định</p> </td> </tr> <tr> <td> <p style="text-align: center;">&lt;&lt;</p> </td> <td> <p style="text-align: center;">Dịch tr&aacute;i</p> </td> </tr> <tr> <td> <p style="text-align: center;">&gt;&gt;</p> </td> <td> <p style="text-align: center;">Dịch phải</p> </td> </tr> </tbody> </table> <p>V&iacute; dụ:</p> <p>To&aacute;n tử | thực hiện ph&eacute;p OR.</p> <table style="height: 179px;" width="329"> <tbody> <tr> <td width="89">&nbsp;</td> <td width="89">00001100</td> </tr> <tr> <td width="89">|</td> <td width="89">00011001</td> </tr> <tr> <td width="89">&nbsp;</td> <td width="89">00011101</td> </tr> </tbody> </table> <p>To&aacute;n tử ^ thực hiện ph&eacute;p XOR</p> <table style="height: 91px;" width="327"> <tbody> <tr> <td width="89">&nbsp;</td> <td width="89">00001100</td> </tr> <tr> <td width="89">^</td> <td width="89">00011001</td> </tr> <tr> <td width="89">&nbsp;</td> <td width="89">00010101</td> </tr> </tbody> </table> <p>To&aacute;n tử ~ thực hiện ph&eacute;p phủ định</p> <table style="height: 56px;" width="324"> <tbody> <tr> <td width="89">~</td> <td width="89">00001100</td> </tr> <tr> <td width="89">&nbsp;</td> <td width="89">00011101</td> </tr> </tbody> </table> <p>To&aacute;n tử &lt;&lt; thực hiện ph&eacute;p dịch bit sang tr&aacute;i</p> <table style="height: 66px;" width="324"> <tbody> <tr> <td width="89">&lt;&lt;</td> <td width="89">00001100</td> </tr> <tr> <td width="89">&nbsp;</td> <td width="89">00011000</td> </tr> </tbody> </table> <p>To&aacute;n tử &gt;&gt; thực hiện ph&eacute;p dịch bit sang phải</p> <table style="height: 71px;" width="323"> <tbody> <tr> <td width="89">&gt;&gt;</td> <td width="89">00001100</td> </tr> <tr> <td width="89">&nbsp;</td> <td width="89">00000110</td> </tr> </tbody> </table> <p>Ngo&agrave;i c&aacute;c to&aacute;n tử được đề cập ở tr&ecirc;n, c&ograve;n c&oacute; một số to&aacute;n tử kh&aacute;c như sizeof,?, ., Tuy nhi&ecirc;n, ch&uacute;ng ta sẽ t&igrave;m hiểu th&ecirc;m về c&aacute;c to&aacute;n tử n&agrave;y trong c&aacute;c b&agrave;i hướng dẫn sau.</p> <h2>Biểu thức trong C++</h2> <p>Biểu thức trong C ++ bao gồm c&aacute;c to&aacute;n tử, hằng v&agrave; biến được sắp xếp theo c&aacute;c quy tắc nhất định. N&oacute; cũng bao gồm c&aacute;c c&acirc;u lệnh gọi h&agrave;m trả về gi&aacute; trị. Một biểu thức c&oacute; thể bao gồm một hoặc nhiều to&aacute;n hạng, v&agrave; nhiều to&aacute;n tử để t&iacute;nh c&aacute;c gi&aacute; trị. Mỗi biểu thức sẽ tạo ra c&aacute;c gi&aacute; trị được g&aacute;n cho biến với sự trợ gi&uacute;p của to&aacute;n tử.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>(a + b) - c (XYZ 4a2 - 5b + c (a + b) * (x + y)</code></pre> <p>Một biểu thức bao gồm c&aacute;c kiểu sau:</p> <ol> <li>Biểu thức hằng số</li> <li>Biểu thức số nguy&ecirc;n</li> <li>Biểu thức số thực</li> <li>Biểu thức con trỏ</li> <li>Biểu thức quan hệ</li> <li>Biểu thức logic</li> <li>Biểu thức bitwise</li> <li>Biểu thức g&aacute;n</li> </ol> <p>Nếu một biểu thức c&oacute; sự kết hợp của c&aacute;c biểu thức tr&ecirc;n th&igrave; c&aacute;c biểu thức đ&oacute; được gọi l&agrave; biểu thức phức hợp.</p> <h2>1. Biểu thức hằng số</h2> <p>Biểu thức hằng số l&agrave; biểu thức chỉ chứa c&aacute;c gi&aacute; trị kh&ocirc;ng đổi. N&oacute; c&oacute; thể bao gồm c&aacute;c hằng số nguy&ecirc;n, k&yacute; tự, số thực v&agrave; c&aacute;c hằng số liệt k&ecirc;.</p> <p>V&iacute; dụ: Biểu thức chứa gi&aacute; trị hằng số</p> <table width="928"> <tbody> <tr> <td style="text-align: center;" width="300">Biểu thức chứa hằng số</td> <td style="text-align: center;" width="629">Gi&aacute; trị hằng số</td> </tr> <tr> <td style="text-align: center;" width="300">x = 3*6</td> <td style="text-align: center;" width="629">3*6</td> </tr> <tr> <td style="text-align: center;" width="300">extern int a = 51</td> <td style="text-align: center;" width="629">51</td> </tr> <tr> <td style="text-align: center;" width="300">int a = 21</td> <td style="text-align: center;" width="629">21</td> </tr> <tr> <td style="text-align: center;" width="300">static int a = 32</td> <td style="text-align: center;" width="629">32</td> </tr> </tbody> </table> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int a; a = 3 * 6; cout&lt;&lt;"Gia tri cua a la: "&lt;&lt; a; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Gia tri cua a la: 18</code></pre> <h2>2. Biểu thức số nguy&ecirc;n</h2> <p>Biểu thức số nguy&ecirc;n l&agrave; biểu thức sinh ra c&aacute;c gi&aacute; trị số nguy&ecirc;n sau khi thực hiện c&aacute;c ph&eacute;p biến đổi</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>a * b a + int (8.5)</code></pre> <p>Trong đ&oacute; a v&agrave; b l&agrave; c&aacute;c số nguy&ecirc;n.</p> <p>V&iacute; dụ 2:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main(){ int a; int b = 2; a = b + int(8.5); cout&lt;&lt;"Gia tri sinh ra la: "&lt;&lt; a; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Gia tri sinh ra la: 10</code></pre> <h2>3. Biểu thức số thực</h2> <p>L&agrave; c&aacute;c biểu thức sinh ra c&aacute;c số thực sau khi &aacute;p dụng c&aacute;c ph&eacute;p biến đổi.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main(){ float a; float b = 2.5; a = b + 8.5; cout&lt;&lt;"Gia tri: "&lt;&lt; a; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Gia tri: 11</code></pre> <h2>4. Biểu thức con trỏ</h2> <p>L&agrave; biểu thức sinh ra c&aacute;c gi&aacute; trị địa chỉ.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main(){ int *ptr, a = 2; ptr = &amp;a; cout &lt;&lt;"Gia tri cua con tro la: " &lt;&lt; *ptr &lt;&lt; endl; cout &lt;&lt;"Gia tri dia chi cua con tro la: " &lt;&lt; ptr &lt;&lt; endl; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Gia tri cua con tro la: 2 Gia tri dia chi cua con tro la: 0x7fff1970fa14</code></pre> <h2>5. Biểu thức quan hệ</h2> <p>Biểu thức quan hệ l&agrave; một biểu thức sinh ra c&aacute;c gi&aacute; trị kiểu bool, c&oacute; thể l&agrave; true hoặc false. N&oacute; c&ograve;n được gọi l&agrave; biểu thức boolean. Khi c&aacute;c biểu thức số học được sử dụng tr&ecirc;n cả hai vế của to&aacute;n tử quan hệ, c&aacute;c biểu thức số học sẽ được đ&aacute;nh gi&aacute; true hoặc false, sau đ&oacute; kết quả so s&aacute;nh được trả về.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main(){ int a = 2; int b = 1; bool y = a &gt; b; cout &lt;&lt; y; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>1</code></pre> <p>Trong đoạn m&atilde; tr&ecirc;n, kết quả sinh ra l&agrave; 1 sẽ tương ứng với gi&aacute; trị l&agrave; true trong C++.</p> <h2>6. Biểu thức Logic</h2> <p>Biểu thức Logic l&agrave; một biểu thức kết hợp hai hoặc nhiều biểu thức quan hệ v&agrave; tạo ra một gi&aacute; trị kiểu bool. C&aacute;c to&aacute;n tử Logic như '&amp;&amp;' v&agrave; '||' được sử dụng để kết hợp hai hoặc nhiều biểu thức quan hệ.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main(){ int a = 3; int b = 2; int c = 1; int d = (a &gt; b) &amp;&amp; (a &gt; c); cout &lt;&lt; d; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>1</code></pre> <h2>7. Biểu thức Bitwise</h2> <p>Biểu thức Bitwise l&agrave; một biểu thức được sử dụng để thao t&aacute;c với bit dữ liệu. Về cơ bản, ch&uacute;ng được sử dụng để dịch chuyển c&aacute;c bit.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>a = 5 a &gt;&gt; 1</code></pre> <p>C&acirc;u lệnh n&agrave;y c&oacute; nghĩa l&agrave; ch&uacute;ng ta sẽ chuyển vị tr&iacute; 1 bit sang phải.</p> <p>V&iacute; dụ 2:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main(){ int a = 5; cout &lt;&lt; (a &gt;&gt; 1); return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>2</code></pre> <p>Ta c&oacute; số nguy&ecirc;n 5 được biểu diễn theo c&aacute;c bit v&agrave; dịch chuyển sang phải 1 bit như sau:</p> <p><img class="aligncenter wp-image-7301 size-full" style="display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/wp-content/uploads/2020/12/Capture-190.png" alt="" width="689" height="291" /></p> <p>Từ h&igrave;nh tr&ecirc;n, ta c&oacute; thể thấy rằng sau khi dịch chuyển sang phải 1 bit, ta sẽ thu được gi&aacute; trị sau khi thực hiện dịch bit l&agrave; 2.</p> <h2>8. Biểu thức g&aacute;n đặc biệt</h2> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main() { int a; int b; a = b = 21; cout &lt;&lt; a &lt;&lt; "\t" &lt;&lt; b &lt;&lt; endl; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>21 21</code></pre> <p>Trong đoạn m&atilde; tr&ecirc;n, ta đ&atilde; thực hiện ph&eacute;p g&aacute;n cho a = b v&agrave; b = 21 th&agrave;nh một biểu thức duy nhất l&agrave; a = b = 21</p> <h2>9. Biểu thức phức hợp</h2> <p>L&agrave; biểu thức kết hợp giữa to&aacute;n tử g&aacute;n v&agrave; to&aacute;n tử nhị ph&acirc;n.</p> <p>V&iacute; dụ:</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int main(){ int a = 3; a += 21; cout &lt;&lt; a; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>24</code></pre> <p>Trong đoạn m&atilde; tr&ecirc;n, ta đ&atilde; khai b&aacute;o v&agrave; g&aacute;n gi&aacute; trị 3 cho biến a. Biểu thức a += 21 tương đương với a = a + 21. Như vậy, biến a sẽ lưu gi&aacute; trị 24 v&agrave; sẽ in ra kết quả sẽ l&agrave; 24.</p> <p>Như vậy, to&aacute;n tử v&agrave; biểu thức C++ c&oacute; mối quan hệ với nhau. To&aacute;n tử được sử dụng để thực hiện ph&eacute;p t&iacute;nh cho c&aacute;c to&aacute;n h&agrave;ng. Biểu thức sẽ bao gồm c&aacute;c to&aacute;n tử, to&aacute;n hạng v&agrave; c&aacute;c biến số kh&aacute;c.</p> <p>Tr&ecirc;n đ&acirc;y l&agrave; c&aacute;c kh&aacute;i niệm v&agrave; v&iacute; dụ cơ bản về to&aacute;n tử v&agrave; biểu thức trong C++. Hy vọng mọi người nắm được c&aacute;c kiến thức n&agrave;y v&agrave; &aacute;p dụng v&agrave;o trong chương tr&igrave;nh của m&igrave;nh. Mọi người h&atilde;y tiếp tục theo d&otilde;i c&aacute;c b&agrave;i tiếp theo về lập tr&igrave;nh C++ tr&ecirc;n <a href="http://tek4.vn">tek4</a> nh&eacute;!</p>