Operatörler nedir?
Operatör, işlenenler üzerinde işlem yapmak için kullanılan bir semboldür. Bir operatör, işlenenleri çalıştırır. İşlemler matematiksel veya mantıksal olabilir. C ++ 'da farklı işlemler gerçekleştirmek için farklı işleç türleri vardır.
Aşağıdaki işlemi düşünün:
a = x + y;
Yukarıdaki ifadede, x ve y işlenenlerdir, + ise bir toplama operatörüdür. C ++ derleyicisi yukarıdaki ifadeyle karşılaştığında, x ve y'yi ekler ve sonucu a değişkeninde depolar.
Bu C ++ Eğitiminde şunları öğreneceksiniz:
- Operatörler nedir?
- Aritmetik operatörler
- İlişkisel Operatörler
- Mantıksal operatörler
- Bitsel Operatörler
- Atama Operatörleri
- Çeşitli operatör
- sizeof operatörü
- Virgül Operatörü
- Koşullu Operatör
- Operatör Önceliği
Aritmetik operatörler
Matematiksel / aritmetik işlemleri gerçekleştirmek için kullanılan operatör türleridir. Onlar içerir:
Şebeke | Açıklama |
+ toplama operatörü | İşlenenlere ekler. |
- çıkarma operatörü | Toplayıp çıkarmadan 2 nd 1'den işlenen st işlenen. |
* çarpma operatörü | 2 işlenenle çarpar. |
/ bölüm operatörü. | Payı paydaya böler. |
% modül operatörü | Bölmeden sonra kalanı döndürür. |
++ artış operatörü | Bir tamsayı değerini 1 artırır. |
- eksiltme operatörü. | Bir tamsayı değerini 1 azaltır. |
Örneğin:
#includeusing namespace std;int main() {int a = 11;int b = 5;int c;cout << "a + b is : << a+b << endl; //11+5cout << "a - b is : << a-b << endl; //11-5cout << "a * b is : << a*b << endl; //11*5cout << "a / b is : << a/b << endl; //11/5cout << "a % b is : << a%b << endl; //11%5cout << "a++ is : << a++ << endl; //11++cout << "a-- is : << a-- << endl; //12--return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak. {, Main () işlevinin gövdesinin başlangıcını işaretler.
- Bir tamsayı değişkeni a bildirmek ve onu 11 olarak başlatmak.
- Bir tamsayı değişkeni b bildirmek ve onu 5 olarak başlatmak.
- Bir tamsayı değişkeni bildirmek c.
- Konsol üzerindeki diğer metinlerin yanında a + b işleminin yazdırma değeri.
- Konsol üzerindeki diğer metinlerin yanı sıra ab işleminin yazdırma değeri.
- Konsol üzerindeki diğer metinlerin yanı sıra a * b işleminin yazdırma değeri.
- Konsolda diğer metinlerin yanı sıra a / b işleminin değerinin yazdırılması.
- Konsoldaki diğer metinlerin yanında a% b işleminin değeri.
- Konsoldaki diğer metinlerle birlikte a ++ işleminin değerini yazdırma.
- Konsol üzerindeki diğer metinlerin yanı sıra a işleminin yazdırma değeri.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
İlişkisel Operatörler
Bu tür operatörler, işlenenler üzerinde karşılaştırmalar yapar. Örneğin, hangi işlenenin diğerinden daha büyük veya diğerinden daha küçük olduğunu bilmeniz gerekebilir. Onlar içerir:
Açıklama
Şebeke | Açıklama |
== operatöre eşittir. | İki işlenen değerin eşitliğini kontrol eder. |
! = operatöre eşit değildir | İki işlenen değerin eşitliğini kontrol eder. |
> operatörden harika | Soldaki işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder. |
Soldaki işlenenin değerinin sağ işlenenin değerinden küçük olup olmadığını kontrol eder. |
|
> = operatörden büyük veya ona eşit | Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder. |
<= operatörden küçük veya ona eşit. | Sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder. |
Örneğin:
#includeusing namespace std;int main() {int a = 11;int b = 5;cout << "a=11, b=5" << endl;if (a == b) {cout << "a == b is true" << endl;}else {cout << " a == b is false" << endl;}if (a < b) {cout << "a < b is true" << endl;}else {cout << "a < b is false" << endl;}if (a> b) {cout << "a> b is true" << endl;}else {cout << "a> b is false" << endl;}return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak. {, Main () işlevinin gövdesinin başlangıcını işaretler.
- Bir tamsayı değişkeni a bildirmek ve onu 11 olarak başlatmak.
- Bir tamsayı değişkeni b bildirmek ve onu 5 olarak başlatmak.
- Konsolda a ve b değişkenlerinin değerlerini belirten bazı metinlerin yazdırılması.
- A == b aritmetik işlemin doğru mu yanlış mı olduğunu bilmek için bir karar verme ifadesindeki a == b. {, İf ifadesinin gövdesinin başlangıcını gösterir.
- A == b işlemi doğruysa, konsolda yazdırılacak metin. Endl, bitiş satırı için bir C ++ anahtar kelimesidir. Sonraki satırda yazdırmaya başlamak için imleci iter. }, İf ifadesinin gövdesinin sonunu işaretler.
- Yukarıdaki if ifadesinin diğer kısmı. A == b işlemi yanlışsa ne yapılacağını belirtir.
- A == b işlemi yanlışsa konsolda yazdırılacak metin. Endl, bitiş satırı için bir C ++ anahtar kelimesidir. Sonraki satırda yazdırmaya başlamak için imleci iter. }, Else ifadesinin gövdesinin sonunu işaretler.
- A
- A
- Yukarıdaki if ifadesinin diğer kısmı. A
- A
- Doğru mu yanlış mı olduğunu bilmek için bir karar verme ifadesinde a> b aritmetik işleminin gerçekleştirilmesi. {, İf ifadesinin gövdesinin başlangıcını gösterir.
- A> b işlemi doğruysa, konsolda yazdırılacak metin. Endl, bitiş satırı için bir C ++ anahtar kelimesidir. Sonraki satırda yazdırmaya başlamak için imleci iter. }, İf ifadesinin gövdesinin sonunu işaretler.
- Yukarıdaki if ifadesinin diğer kısmı. A> b işlemi yanlışsa ne yapılacağını belirtir.
- A> b işlemi yanlışsa konsolda yazdırılacak metin. Endl, bitiş satırı için bir C ++ anahtar kelimesidir. Sonraki satırda yazdırmaya başlamak için imleci iter. }, Else ifadesinin gövdesinin sonunu işaretler.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
- A
Mantıksal operatörler
Mantıksal operatörler iki / daha fazla kısıtlamayı / koşulu birleştirir. Mantıksal operatörler ayrıca, incelenen orijinal koşulun değerlendirmesini tamamlar. Onlar içerir:
Şebeke | Açıklama |
&& mantıksal AND operatörü. | Her iki işlenen de sıfır değilse koşul doğrudur. |
|| mantıksal OR operatörü. | İşlenenlerden biri sıfır değilse koşul doğrudur. |
! mantıksal DEĞİL operatörü. | İşlenenin mantıksal durumunu tersine çevirir. İşlenen doğruysa,! operatör yanlış yapıyor. |
Örneğin:
#includeusing namespace std;int main(){int a = 5, b = 2, c = 6, d = 4;if (a == b && c> d)cout << "a equals to b AND c is greater than d\n";elsecout << "AND operation returned false\n";if (a == b || c> d)cout << "a equals to b OR c is greater than d\n";elsecout << "Neither a is equal to b nor c is greater than d\n";if (!b)cout << "b is zero\n";elsecout << "b is not zero";return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak.
- {, Main () işlevinin gövdesinin başlangıcını işaretler.
- 4 tamsayı değişkeni a, b, c ve d bildirmek ve bunlara farklı değerler atamak.
- İf ifadesinin içinde && (AND) operatörünü kullanma. İki koşulu birleştirir, a'nın değeri b'nin değerine eşittir ve a'nın değeri b'nin değerinden büyüktür. İlk koşul yanlış, ikinci koşul doğrudur. False && true False, dolayısıyla eğer yanlış ise sonucu.
- Yukarıdaki if ifadesi doğruysa, konsolda yazdırılacak metin. Bu uygulanmayacak.
- Yukarıdaki if ifade yanlışsa yürütülecek kısım.
- İf ifadesi yanlışsa, konsolda yazdırılacak metin. Bu yürütülecektir.
- || Kullanmak İf ifadesindeki (VEYA) operatörü. İki koşulu birleştirir, a'nın değeri b'nin değerine eşittir ve a'nın değeri b'nin değerinden büyüktür. İlk koşul yanlış, ikinci koşul doğrudur. Yanlış || doğru Doğru'dur, dolayısıyla eğer doğruysa'nın sonucu doğrudur.
- Yukarıdaki if ifadesi doğruysa, konsolda yazdırılacak metin. Bu yürütülecektir.
- Yukarıdaki if ifade yanlışsa yürütülecek kısım.
- İf ifadesi yanlışsa, konsolda yazdırılacak metin. Bu uygulanmayacak.
- Değişkenin değerinin 0 olup olmadığı kontrol ediliyor.
- Yukarıdaki if ifadesi doğruysa, konsolda yazdırılacak metin. Bu uygulanmayacak.
- Yukarıdaki if ifade yanlışsa yürütülecek kısım.
- İf ifadesi yanlışsa, konsolda yazdırılacak metin. Bu yürütülecektir.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Bitsel Operatörler
Bitsel operatörler, işlenenler üzerinde bit düzeyinde işlemler gerçekleştirir. Önce operatörler bit düzeyine dönüştürülür, ardından işlenenler üzerinde işlemler gerçekleştirilir. Bit seviyesinde toplama ve çıkarma gibi aritmetik işlemler yapıldığında, sonuçlar daha hızlı elde edilebilir. Onlar içerir:
Şebeke | Açıklama |
& (bitsel VE). | 2 sayı alır (işlenenler) daha sonra iki sayının her bitinde AND gerçekleştirir. Her ikisi de 1 ise VE 1, aksi takdirde 0 döndürür. |
| (bitsel OR) | 2 sayı (işlenenler) alır ve ardından iki sayının her bitinde OR gerçekleştirir. Bitlerden biri 1 ise 1 döndürür. |
(bitsel ÖZELVEYA) | 2 sayı (işlenenler) alır ve ardından 2 sayının her bitinde XOR gerçekleştirir. Her iki bit de farklıysa 1 döndürür. |
<< (sola kaydırma) | İki sayı alır ve sonra sola ilk işlenenin bitlerini kaydırır. İkinci işlenen, kaydırılacak toplam yerleri belirler. |
>> (sağa kaydırma) | İki sayı alır ve sonra ilk işlenenin bitlerini sağa kaydırır. İkinci işlenen, kaydırılacak yerlerin sayısını belirler. |
~ (bitsel DEĞİL). | Sayıyı alır ve tüm bitlerini ters çevirir. |
#includeusing namespace std;int main() {unsigned int p = 60; // 60 = 0011 1100unsigned int q = 13; // 13 = 0000 1101int z = 0;z = p & q;cout << "p&q is : " << z << endl; // 12 = 0000 1100z = p | q;cout << "p|q is : " << z << endl; // 61 = 0011 1101z = p q;cout << "p^q is : " << z << endl; // 49 = 0011 0001z = ~p;cout << "~p is : " << z << endl; // -61 = 1100 0011z = p << 2;cout << "p<<2 is: " << z << endl; // 240 = 1111 0000z = p>> 2;cout << "p>>2 is : " << z << endl; // 15 = 0000 1111return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak. {, Main () işlevinin gövdesinin başlangıcını işaretler.
- İşaretsiz bir p tamsayı değişkenini bildirmek ve ona ikili olarak 0011 1100 olan 60 değerini atamak.
- İşaretsiz bir tamsayı değişkeni q bildirmek ve ona 13 değerini atamak, yani ikili olarak 0000 1101.
- Bir tam sayı değişkeni z bildirmek ve onu 0 olarak başlatmak.
- P ve q değişkenleri üzerinde bitsel & (VE) işleminin gerçekleştirilmesi ve sonucu z değişkeninde saklanması.
- Yukarıdaki işlemin sonucunun diğer metinle birlikte konsola yazdırılması.
- Bitsel işlemlerin gerçekleştirilmesi | P ve q değişkenleri üzerinde (VEYA) işlemi ve sonucu z değişkenine kaydetme.
- Yukarıdaki işlemin sonucunun diğer metinle birlikte konsola yazdırılması.
- P ve q değişkenleri üzerinde bitsel (XOR) işlemi gerçekleştirme ve sonucu z değişkeninde saklama.
- Yukarıdaki işlemin sonucunun diğer metinle birlikte konsola yazdırılması.
- P ve q değişkenleri üzerinde bitsel ~ (DEĞİL) işleminin gerçekleştirilmesi ve sonucu z değişkeninde saklanması.
- Yukarıdaki işlemin sonucunun diğer metinle birlikte konsola yazdırılması.
- P değişkeni üzerinde sola kaydırma işlemini gerçekleştirme ve sonucu z değişkenine kaydetme.
- Yukarıdaki işlemin sonucunun diğer metinle birlikte konsola yazdırılması.
- P değişkeninde doğru kaydırma işleminin gerçekleştirilmesi ve sonucun z değişkenine kaydedilmesi.
- Yukarıdaki işlemin sonucunun diğer metinle birlikte konsola yazdırılması.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Atama Operatörleri
Atama operatörleri değişkenlere değerler atar. Operand / değişken operatörün sol tarafına eklenirken, değer operatörün sağ tarafına eklenir. Değişken ve değer aynı veri türüne ait olmalıdır, aksi takdirde C ++ derleyicisi hata verecektir. Örneğin:
x = 5;
Yukarıdaki örnekte, x değişken / işlenen, = atama operatörü, 5 ise değerdir. C ++ 'daki popüler atama operatörleri şunlardır:
Şebeke | Açıklama |
= (basit atama operatörü) | Soldaki değişkene sağdaki değeri atar. |
+ = (VE atama operatörü ekle) | Önce left operand değerini sağ operandın değerine ekler, ardından sonucu soldaki değişkene atar. |
- = (Çıkarma VE atama operatörü) | Önce sağ operandın değerini soldaki işlenenin değerinden çıkarır, ardından sonucu soldaki değişkene atar. |
* = (Çarp VE atama operatörü) | Önce soldaki işlenenin değerini sağ işlenenin değeriyle çarpar, ardından sonucu soldaki değişkene atar. |
/ = (Bölme VE atama operatörü) | Önce soldaki işlenenin değerini sağ işlenenin değerine böler ve ardından sonucu soldaki değişkene atar. |
Örneğin:
#includeusing namespace std;int main(){int x = 5;cout << "Initial value of x is " << x << "\n";x += 5;cout << "x += 5 gives : << x << "\n";x -= 5;cout << "x -= 5 gives : " << x << "\n";x *= 5;cout << "x *= 5 gives : << x << "\n";x /= 5;cout << "x /= 5 gives : " << x << "\n";return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak.
- {, Main () işlevinin gövdesinin başlangıcını işaretler.
- Bir tamsayı değişkenleri x bildirmek ve ona 5 değeri atamak.
- Konsolda diğer metnin yanında değişken x değerini yazdırma. \ N yeni bir satır karakteridir. Yazdırırken imleci sonraki satıra taşır.
- X değişkeninin değerine 5 ekleniyor ve sonuç x değişkenine atanıyor.
- X değişkeninin değerini diğer metinlerin yanında konsolda yazdırma.
- X değerinden 5 çıkarılıyor ve sonuç x değişkenine atanıyor.
- X değişkeninin değerini diğer metinlerin yanında konsolda yazdırma.
- X değişkeninin değerini 5 ile çarparak ve sonucu x değişkenine atayarak.
- X değişkeninin değerini diğer metinlerin yanında konsolda yazdırma.
- X değişkeninin değerini 5'e bölmek ve sonucu x değişkenine atamak.
- X değişkeninin değerini diğer metinlerin yanında konsolda yazdırma.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Çeşitli operatör
C ++ tarafından desteklenen diğer operatörleri tartışalım:
sizeof operatörü
Bu operatör bir değişkenin boyutunu belirler. Bir veri türünün boyutunu belirlemek için sizeof operatörünü kullanın. Örneğin:
#includeusing namespace std;int main() {cout<<"Size of int : "<< sizeof(int) << "\n";cout<<"Size of char : " << sizeof(char) << "\n";cout<<"Size of float : " << sizeof(float) << "\n";cout<<"Size of double : " << sizeof(double) << "\n";return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak. {, Main () işlevinin gövdesinin başlangıcını işaretler.
- Sizeof operatörünü kullanarak tamsayı veri türünün boyutunu belirleme ve konsolda diğer metinlerle birlikte yazdırma.
- Sizeof operatörünü kullanarak karakter veri türünün boyutunu belirleme ve konsolda diğer metinlerle birlikte yazdırma.
- Sizeof operatörünü kullanarak kayan veri türünün boyutunu belirleme ve konsol üzerindeki diğer metinlerle birlikte yazdırma.
- Sizeof operatörünü kullanarak kayan veri türünün boyutunu belirleme ve konsol üzerindeki diğer metinlerle birlikte yazdırma.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Virgül Operatörü
Virgül operatörü (,), bir dizi işlemin performansını tetikler. İlk operandı ifade eder ve sonucu atar. Daha sonra, ikinci işleneni değerlendirir ve değeri ve türü döndürür.
#includeusing namespace std;int main() {int x, y;y = 100;x = (y++, y + 10, 99 + y);cout << x;return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak. {, Main () işlevinin gövdesinin başlangıcını işaretler.
- İki tamsayı değişkeni x ve y bildirmek.
- Değişken ya değerini 100 olarak atamak.
- Y'nin değerini arttırmak ve sonucu x değişkenine atamak. 100'de y ile başlar, ardından 101'e (y ++) yükseltir. Sonra, y 10'a eklenir. Son olarak, hala 101'de olan y, 99'a eklenir ve 200 verir. X artık 200'dür.
- Konsolda x değişkeninin değeri yazdırılıyor.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Koşullu Operatör
Bu operatör bir koşulu değerlendirir ve değerlendirmenin sonucuna göre hareket eder.
Sözdizimi:
Condition ? Expression2 : Expression3;
Parametreler:
- Koşul, değerlendirilecek durumdur.
- İfade1, koşul doğruysa yürütülecek ifadedir.
- İfade3, koşul yanlışsa yürütülecek ifadedir.
Örneğin:
#includeusing namespace std;int main() {int a = 1, b;b = (a < 10) ? 2 : 5;cout << "value of b: " << b << endl;return 0;}
Çıktı:
İşte kodun bir ekran görüntüsü:
Kod Açıklaması:
- Kodumuza iostream başlık dosyası dahil. Konsoldan okumamıza ve konsola yazmamıza izin verecektir.
- Sınıflarını ve işlevlerini çağırmadan kullanmak için std ad alanını dahil etmek.
- Program mantığının eklenmesi gereken main () işlevini çağırmak. {, Main () işlevinin gövdesinin başlangıcını işaretler.
- İki tamsayı değişkeni a ve b bildirmek. A değişkenine 1 değeri atanmıştır.
- Değişken b'ye değer atanması. Değişken a 10'dan küçükse, b'ye 2 değeri atanacak, aksi takdirde b'ye 5 değeri atanacaktır.
- Diğer metinle birlikte konsolda b değişkeninin değerini yazdırma.
- Program düzgün çalışıyorsa main () işlevi bir değer döndürmelidir.
- Main () işlevinin gövdesinin sonu.
Operatör Önceliği
Tek bir işlemin birden fazla operatörü olabilir. Bu durumda, operatör önceliği ilk değerlendirileni belirler.
Aşağıdaki liste, C ++ 'daki operatörlerin önceliğini soldan sağa doğru azalan öncelikle gösterir:
(), [], *, /,%, +/-, <<, >>, ==,! =, ^, |, &&, ||,?:, =, + =, - =, 8 = , / =
Özet:
- Operatörler, mantıksal ve aritmetik işlemleri gerçekleştirmek için kullanılan sembollerdir.
- Aritmetik operatörler, işlenenler üzerinde çeşitli aritmetik işlemler gerçekleştirmemize yardımcı olur.
- İlişkisel operatörler, işlenenler üzerinde çeşitli karşılaştırma işlemleri gerçekleştirmemize yardımcı olur.
- Mantıksal operatörler, işlenenler üzerinde çeşitli mantıksal işlemleri gerçekleştirmemize yardımcı olur.
- Bitsel operatörler, işlenenler üzerinde bitsel işlemler gerçekleştirmemize yardımcı olur.
- Atama operatörleri, işlenenler üzerinde çeşitli aritmetik işlemler gerçekleştirmemize yardımcı olur.
- Sizeof operatörü, bir değişkenin veya veri türünün boyutunu döndürür.
- Virgül operatörü bir dizi işlemi yürütür.
- Koşullu operatör bir koşulu değerlendirir ve sonuca göre hareket eder.