C++運算符是用於計算、比較或邏輯操作的特殊符號。本文將詳細介紹C++運算符的基礎知識、用法和示例,包括算術運算符、關係運算符、邏輯運算符、位運算符和其他運算符。
一、算術運算符
算術運算符用於執行基本的算術操作,如加減乘除等。下面是C++中常用的算術運算符:
+ //加法
- //減法
* //乘法
/ //除法
% //取模
++ //自增
-- //自減
加減乘除的用法與數學中的相同,不再贅述。取模運算符(%)返回除法的餘數。自增(++)和自減(–)運算符用於將變數的值增加或減少1,其中自增運算符(++)將變數的值增加1,而自減運算符(–)則將變數的值減少1。
在下面的示例中,我們將展示這些算術運算符的用法:
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20;
cout << "a + b = " << a + b << endl; //30
cout << "a - b = " << a - b << endl; //-10
cout << "a * b = " << a * b << endl; //200
cout << "b / a = " << b / a << endl; //2
cout << "b % a = " << b % a << endl; //0
cout << "a++ = " << a++ << endl; //10
cout << "a-- = " << a-- << endl; //11
cout << "++a = " << ++a << endl; //10
cout << "--a = " << --a << endl; //9
return 0;
}
在上面的示例中,我們聲明了兩個變數a和b,然後將它們用於不同的算術運算中。我們還使用了自增 (a++) 和自減 (a–) 運算符。
二、關係運算符
關係運算符用於比較兩個值或變數的關係,並返回一個布爾值(true或false),其中true表示關係為真,false表示關係為假。下面是C++中常用的關係運算符:
== //等於
!= //不等於
> //大於
= //大於等於
<= //小於等於
在下面的示例中,我們展示了這些關係運算符的用法:
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20;
if (a == b) {
cout << "a 等於 b" << endl;
} else {
cout << "a 不等於 b" << endl;
}
if (a < b) {
cout << "a 小於 b" << endl;
} else {
cout << "a 大於或等於 b" << endl;
}
return 0;
}
在上面的示例中,我們使用關係運算符(==和<)來比較兩個變數a和b的值,並用if語句列印結果。根據運行結果,我們可以看到a不等於b,而a小於b。
三、邏輯運算符
邏輯運算符用於組合條件,並返回一個布爾值。下面是C++中常用的邏輯運算符:
&& //邏輯與
|| //邏輯或
! //邏輯非
邏輯與運算符(&&)只有在兩個條件都為真時才返回真;邏輯或運算符(||)在兩個條件中的任一條件為真時返回真;邏輯非運算符(!)將其操作數的結果取反。
在下面的示例中,我們展示了這些邏輯運算符的用法:
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 20;
if (a && b) {
cout << "a 和 b 都為真" << endl;
}
if (a || b) {
cout << "a 和 b 至少有一個為真" << endl;
}
if (!(a && b)) {
cout << "a 和 b 至少有一個為假" << endl;
}
return 0;
}
在上面的示例中,我們使用邏輯與運算符(&&)和邏輯或運算符(||)來判斷兩個變數的值。還使用邏輯非運算符 (!) 來對操作結果取反。
四、位運算符
位運算符用於對二進位位進行操作。它們可適用於數字類型,如整數和字元類型。下面是C++中常用的位運算符:
& //按位與
| //按位或
^ //按位異或
~ //按位取反
<> //右移
按位與運算符(&)將兩個操作數的每個二進位位進行比較,只有在兩個操作數都為1的情況下,結果才為1;按位或運算符(|)將兩個操作數的每個二進位位進行比較,只要其中一個操作數為1,結果就為1;按位異或運算符(^)將兩個操作數的每個二進位位進行比較,當且僅當兩個操作數的二進位位值不同時,結果為1;按位取反運算符(~)將操作數的每個二進位位取反;左移運算符(<>)將其左邊的操作數向右移動指定的位數(向右移n位等價於將操作數除以2的n次方)。
在下面的示例中,我們將演示這些位運算符的用法:
#include <iostream>
using namespace std;
int main() {
unsigned int a = 60; // 60 = 0011 1100
unsigned int b = 13; // 13 = 0000 1101
int c = 0;
c = a & b; // 12 = 0000 1100
cout << "a & b = " << c << endl;
c = a | b; // 61 = 0011 1101
cout << "a | b = " << c << endl;
c = a ^ b; // 49 = 0011 0001
cout << "a ^ b = " << c << endl;
c = ~a; // -61 = 1100 0011
cout << "~a = " << c << endl;
c = a << 2; // 240 = 1111 0000
cout << "a << 2 = " << c <> 2; // 15 = 0000 1111
cout <> 2 = " << c << endl;
return 0;
}
在上面的示例中,我們使用了位運算符(&、|、^)、按位取反運算符(~)、左移運算符(<>)。
五、其他運算符
除了上述運算符外,還有一些其他的特殊運算符。
三目運算符:
?: //三目運算符
三目運算符(?:)是一個簡單的條件語句,它用於在兩個值之間進行選擇。它包含三個操作數,格式如下:
條件表達式 ? 表達式1 : 表達式2;
如果條件表達式的結果為真,則返回表達式1的值,否則返回表達式2的值。下面是一個使用三目運算符的簡單示例:
#include <iostream>
using namespace std;
int main() {
int a = 10;
int b = 20;
int max = (a > b) ? a : b;
cout << "最大值為: " << max << endl;
return 0;
}
在上面的示例中,我們使用三目運算符(?:)來選擇a和b中的最大值。
sizeof運算符:
sizeof //sizeof運算符
sizeof運算符返回變數或數據類型的位元組大小。下面是一個使用sizeof運算符的示例:
#include <iostream>
using namespace std;
int main() {
char c;
int i;
float f;
double d;
cout << "Size of char : " << sizeof(c) << endl;
cout << "Size of int : " << sizeof(i) << endl;
cout << "Size of float : " << sizeof(f) << endl;
cout << "Size of double : " << sizeof(d) << endl;
return 0;
}
在上面的示例中,我們逐個列印了char、int、float和double類型的大小。
六、總結
本文詳細介紹了C++中的各種運算符,包括算術運算符、關係運算符、邏輯運算符、位運算符和其他運算符。了解這些運算符的用法對於編寫C++程序非常重要。希望本文對讀者有所幫助。
原創文章,作者:UHWNP,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/329630.html