Merhaba. Tekrar hoş geldiniz. Bu derste, c
programlama dili tarafından desteklenen bazı temel operatörleri
tartışacağız.
Yani operatörler yine bir tür işlem gerçekleştirdiğiniz fonksiyonlar
için özel sembollerdir.
Bu yüzden bu derste temel olarak 4 farklı operatör
türünü tartışacağız.
Aritmetik, mantıksal,
atama ve ilişkisel operatörler.
Daha sonra başka bir derste bitsel operatörleri ve operatör
gibi görünmeyen ancak operatör olan boyut operatörü ve döküm
operatörü gibi birkaç özel operatörü tartışacağız.
Dolayısıyla aritmetik operatör muhtemelen en sağduyulu olanıdır,
muhtemelen en aşina olduğunuz operatördür. Matematiksel bir fonksiyondur, 2
işlenen alır ve bunlar üzerinde hesaplama yapar.
İnfix olduğundan operatörler ve operandlar arasındadır.
Bazen Boole işleci olarak da adlandırılan mantıksal işleç,
Boole sonucu döndüren bir işleçtir. Doğru veya yanlış değer, Boolean budur.
Yani gerçekten sadece bir koşullu operatördür.
Bir veya daha fazla 2 diğer ifadenin Boole sonucuna dayanır,
bir veya iki diğer ifade.
Bir atama operatörü sadece değişkenleri değerlere eşitler.
Sağ tarafındaki ifadenin değerini sol tarafındaki değişkene atar.
Yani bir sağ operand ve bir sol operand.
Tekrar ediyorum, bu bir infix.
Ve sonra bir ilişkisel operatör değişkenleri birbirleriyle karşılaştıracaktır.
Yani bu bir tür karşılaştırılabilir tip sıralamasıdır, daha küçük ve daha büyük.
Ancak her birinin üzerinden geçelim çünkü çok, çok, çok
sayıda farklı operatör var. C süper zengin bir seti destekler.
Yani ilk olanlar c'deki bu aritmetik operatörlerdir.
Bunlar matematiksel fonksiyonlardır. Eğitim noktaları
web sitesinden bulduğum küçük
bir tablo var, bu da güzel.
Bu da c'de desteklenen tüm aritmetik operatörleri özetler.
Yani temel olanlar, tıpkı matematikte olduğu gibi. Burada gerçekten yeni bir şey yok.
Tablonun sol tarafında operatör, ortasında ne işe yaradığına
dair bir açıklama, sağ tarafında ise bir örnek yer almaktadır.
Yani artı sembolü işlenenlere
eklenecek. Bu infix. İki operand arasında.
Yani yapacağınız şey değişkenler eklemek, bir değişkene
sabitlerin bir kombinasyonunu eklemek ya da sadece sabitler eklemek olabilir.
Bu sefer de a artı b eşittir 30 diyoruz.
Ancak asıl operatör ve operandlar sadece bir artı b'dir.
O zaman bu bir örnek olacaktır.
Eksi, a eksi b olmak üzere 2 işleneni çıkarır.
Yani a eksi b, a 20'ye ve b 10'a eşitse veya b eksi 10'a
eşitse aslında eksi 10 gibi bir şeye eşit
olabilir.
Yıldız işareti çarpma işlemi içindir.
Yine operandlar arasında
infix.
Bölüm, ileri eğik çizgidir.
Yüzde, modül operatörüdür. Bu, kalan operatörüdür.
Yani değişken bir yüzde a gibi bir şey söylerseniz,
bu neye eşit olacaktır. Eğer b 20'ye, a da 12'ye eşit olsaydı,
modül operatörü 8
değerini verirdi çünkü bu değer 20'nin 12'ye bölümünden kalan değerdir.
Artı artı ve eksi eksi, bunlar belirli artırma ve azaltma operatörleridir.
Hala aritmetik operatörler olarak adlandırılırlar, ancak bunları genellikle
yalnızca kodu tekrarladığınızda döngülerde görürsünüz,
ancak her zaman değil. Yani bu örnekte, temel olarak
bir değişkeni 1 artırıyorsunuz ya da başka bir şey yapıyorsanız
belirli bir değer artırıyorsunuz.
Ama
artı artı yaparsanız, a her neyse, 5 ise, 6'ya eşit olmayacaktır.
Ve sonra tamsayı değerini 1 azaltan
bir azaltma operatörü vardır, yani bir eksi eksi.
Ve artı artı ve eksi eksi değişkeninden sonra olduğunu fark etmelisiniz.
Bu postfix olarak adlandırılır.
Bunun anlamı, bu değişken bir ifadenin içindeyse, aslında
bu ifadeden sonrasına kadar fazladan bir tane atanmayacağıdır.
Eğer ön ek ise, daha
önce atanacaktır. Şimdi bu aritmetik işlem kod bloklarının
bazı örneklerini inceleyelim ki biraz daha anlamlı olsunlar.
İşte kod blokları, işte ana rutinimiz.
Buna artık aşinayız. Sadece birkaç değişken oluşturup bunlar üzerinde
bazı işlemler yapacağım ve ardından bunları yazdıracağım.
Ve ben sadece tamsayılar oluşturacağım. Hesaplama yapmak için kayan sayılar veya çift sayılar
oluşturabilirsiniz, ancak biz sadece basit yapacağız.
a'nın 33'e eşit olduğunu söyleyeceğiz.
Tamsayı türünde başka bir değişken oluşturun ve bunu
15'e atayacağız. Yani tek bir deyimde bir bildirim ve bir atama yapıyoruz.
Ve sonra sadece bir sonuç değişkenimiz olacak.
Ve bu 0 olarak başlatılacak, böylece burada hesaplamalar
yapmaya başlayabiliriz. C diyebiliriz ve ödevler
yapabiliriz. Ödevleri özellikle resmi olarak öğrenmedik, ancak
ödevlerin ne olduğunu biliyoruz. Atamalar verileri alır ve bu verileri
o değişkene koyar. Yani c eşittir, sağ tarafta
ne varsa onu alır ve sonucu o değişkene koyar.
Yani a artı b dersek, bu yine normal
matematiksel rutin gibi görünür
ve öyledir. Sadece 33 artı 15 olur ve c'nin
değeri ne olur, 48. Ve böylece değerleri yazdırabilirsiniz.
Format belirleyicimizi kullanarak c'nin yüzde d olduğunu söyleyebilir
ve sadece c'yi yazdırabilirsiniz.
Ve sonra belki bir satır beslemesi yapabiliriz.
Ve bu sadece iki sayı ekler. Bu kadar basit. Bu kadar basit.
Sadece sergiliyoruz. Yani bu programı çalıştırdığımızda,
33 artı 15'in eklendiğini göreceğiz.
Bunu yeniden derliyoruz, kaydediyoruz, oluştur diyoruz ve ardından
çalıştır diyoruz.
Virüs tarayıcımdan sonra çalıştırdığımda, c'nin 48 olduğunu söylediğini göreceksiniz.
Böylece bunlarla oynayabilirsiniz. Yani bunlar basit şeyler. Yani a artı b, eksi yapabilirsiniz,
çarpma için yıldız işareti yapabilirsiniz ve sonra ileri eğik çizgi için
bölme yapabilirsiniz ve sonra modül olan
yüzde sembolünü yapabilirsiniz.
Bu ilginç bir durum çünkü 33'ün 15'e bölümünün 2 ve kalanın 3 olacağını biliyorsunuz,
dolayısıyla bu durumda sonuç 3 olacaktır, yine de emin olalım.
Bunu kaydedin ve uygulamamızı kapattığımızdan emin olun.
Ve çalıştırdığımızda, c'nin 3'e eşit olduğunu
görebiliriz
çünkü bu kalan değerdir.
Bunun dışında oldukça basit. Artı ile önemli olanlar
önek ve soneki anlamaktır.
Yani eğer şöyle deseydim ve bu aslında tek bir deyimde yaptığınızda daha alakalı olurdu, printf.
Diyelim ki bir artı artı yazdırdım,
bunun çıktısı 34 olacaktır çünkü a'yı 1 artıracak
ve sonra yazdıracaksınız.
Ancak
bunu tek bir ifadede yapacaksınız, aynı satırda yapacaksınız çünkü daha sonra olacak.
Yani aslında burada görüntülenecek olan şey
sadece 33'ü görüntülemek olacaktır.
Bir sonraki kod satırına kadar a değerini artırmayacaktır.
Eğer bunu çalıştırırsak, sadece
33 yazdırdığını göreceksiniz.
İşte bu, a artı artı a yapmak arasındaki farktır.
Eğer a plus plus a yaparsanız, ki bu da aynı şeydir,
bir artırırsınız, buradaki fark, deyim çalıştırılmadan
önce 1 artırmanızdır. Şimdi burada sadece
birkaç uyarımız
olduğunu fark edeceğiz,
hata yok. Ve çalıştırdığımızda, şimdi cevabın 34 olduğunu göreceksiniz çünkü
aslında deyim çalıştırılmadan önce artırılmıştır. Ve artı artı değişken adı ile
değişken adı artı artı arasındaki farkı bilmek önemlidir.
Bu sadece önek ve sonek olarak adlandırılır.
Aynı şey eksi eksi için de geçerli olacaktır.
Bu yüzden unary için bunları aklınızda bulundurun.
Bunlar da tek operatörlüdür çünkü yalnızca bir operandları vardır.
Diğerleri ikili operatörlerdir çünkü operandlar arasında
bir operatör vardır.
Ancak artı artıya karşı eksi eksiyi anlayın.
Ayrıca değişkenden önce yerleştirirseniz, değişkenden sonra ne zaman artacağını
veya azalacağını da anlarsınız.
Ve yine, değişkenden sonraysa,
kod satırını çalıştırmadan önce tam
orada artırır veya azaltır. Değişkenden önce gelirse, kod
satırını çalıştıracak ve deyim çalıştırıldıktan sonra artıracak
ya da azaltacaktır.
Ancak bununla oynayın, bir pencere açın, bir grup farklı
aritmetik ifade yapın ve tüm bunların nasıl çalıştığını görün.
Şimdi diğer operatör türlerinden bazılarından bahsedelim.
Bir sonraki operatör grubu mantıksal operatörler olarak adlandırılır.
Ve bunun ne anlama geldiğini tanımladık, temel olarak
koşullu tip operatörleridir. Boolean sonuçlar, doğru veya yanlış değerler
döndürürler.
Yani mantıksal operatörleri temsil eden semboller ampersand ve ampersand'dir.
İki paralel çubuk ve ünlem işareti.
ve işareti mantıksal ve işleci olarak adlandırılır.
Aynı zamanda biri solda, diğeri yanda olmak üzere 2 işlenen alan
bir infix operatörüdür. Temel olarak, her bir
işlenen 0 değilse, koşul doğru olur.
Ve böylece 0 olmayan 1 anlamına gelir, bu da doğru anlamına gelir. Yani a doğruysa ve b de
doğruysa, cevap doğru olacaktır.
Eğer a yanlış ve b doğru ise,
cevap yanlıştır. Eğer a yanlış ve b yanlış ise, cevap yanlıştır.
Bu yüzden yine bazı örnekler vereceğiz.
Ve sonra paralel çubuklar mantıksal veya operatördür. Yine, bu matematik dersinize benzer olmalı, bu yüzden
üzerinde çok fazla zaman harcamak istemiyorum. Ancak 2 operanddan herhangi
biri 0 değilse,
biri doğruysa, o zaman doğrudur. Yani a doğru ve b yanlışsa, bu doğrudur.
Ve bunlar değer döndüren ifadelerdir.
Yani a doğru ve b yanlış ise dönüşü doğru olacaktır.
Ve sonra ünlem işareti olan mantıksal değil operatörü, bu sadece operandının
mantıksal durumunu tersine çevirir.
Yani koşul doğruysa, false değerini döndürecektir.
Yani a değil derseniz, ünlem işareti ve a doğruydu a yanlıştır.
Not'u parantezlerin dışına koyarsanız, a ve b neye göre değerlendirilirse değerlendirilsin,
artık tersine değer verecektir.
Şimdi yine bazı örneklere ve kod bloklarına bakalım.
İşte soğuk bloklar. Ve yine, mantıksal operatörleri göstermek için birkaç değişken oluşturacağım.
Yine bazı tamsayılar oluşturacağım.
a eşittir 12 ve b eşittir 20 diyeceğiz.
Ve daha iyi olan şey, bir koşul oluşturacağız
çünkü koşulları kullanmak istemiyorum, bu yüzden sadece
bir alt çizgi bool oluşturacağız ve bunu atayacağız, bunun
sonuçlar olacağını söyleyeceğim
ve başlangıçta bunu hiçbir
şeye atamayacağız.
Ve sonra bazı verileri yazdıracağız.
Dolayısıyla, mantıksal operatörleri kullanırsak
bu ifadelerin döndürdüğü değerlerin ne olduğunu görmek istiyoruz.
Burada bir tamsayı olan d yüzdesini
yazdıracağım. Çünkü unutmayın, Boolean ifadeleri sadece
tam sayılardır.
Boolean değişkenleri tam sayılardır. Yani Boolean değeri 1 ise, bu doğru olduğu
anlamına gelir.
Eğer 0 ise, yanlıştır. Diğer her şey genellikle 1, bu doğru.
Bu yüzden sadece sonucu yazdıracağım.
Ve sonra ona bazı veriler atayacağım. Yani sonuçların a ve b'ye eşit
olduğunu söylersem, bu hiçbir anlam ifade
etmeyecektir çünkü bunlar sayılardır.
Şimdi a eşittir'i true olarak başlatalım
ve yine Booleans kullanalım.
Burada da şu doğru,
bu doğru diyeceğiz.
Ve ve işaretlerini kullandığımızda,
bu, dönüşün doğru olması için a ve b'nin her ikisinin de doğru olması gerektiğini söylüyor.
Dolayısıyla sonuçlar 1 yazdırmalıdır çünkü
1 doğruyu temsil eder. Öyleyse bunu oluşturalım
ve doğru ad alanını
kullanmamız gerektiğinden
emin olalım. Bu nedenle, doğru ve 1 için sadece 1'i temsil
edeceğiz çünkü şu anda doğru eklemeyi
yapmıyoruz, bu yüzden önemli değil. Şimdi çalıştırıyoruz, true, 1 raporlaması
gerekiyor ve 1 yapıyor.
Şimdi bunlardan herhangi birini doğru değil olarak değiştirirsem, 0 dersem,
sonuç yanlış olacaktır çünkü sonucun doğru
olması için a ve b'nin her ikisinin de doğru olması gerekir.
Yani bunu oluşturur ve çalıştırırsam,
sonucun 0 olduğunu göreceksiniz çünkü
yanlış.
Yani a ya da b'yi yanlış anlamına gelen 0 olarak değiştirirsem
sonuç yanlış olur çünkü hem a hem de b doğru olmak zorundadır.
Şimdi eğer a ya da b olan bir paralel çubuk paralel çubuk
dersem, sonuçların doğru olması için bunlardan sadece birinin doğru olması gerekir.
Yani bu durumda sonuçlar 1 olmalıdır.
Şimdi bunu oluşturalım ve çalıştıralım.
Ve şimdi elimizde 1 değeri var.
Yani sadece bir tanesi doğru olmak zorunda. Şimdi ikisini de yanlış yaparsam
ve bu, eğer ifadeleri, koşullular
ve karar verme hakkında konuştuğumuzda çok daha uygulanabilir olacak,
ancak burada Boole mantığını gösteriyorum.
Şimdi ikisi de yanlış. Yani bu 0 döndürmelidir,
ki bu yanlıştır ve döndürür, 0,
yani oldukça temiz. Sonuncusu ise sadece tersini yapan ünlem
işareti olan not sembolüdür.
Yani a değil dersem, a 0'a
eşitse, a şimdi 1'e eşit olacak
veya sonuç olacak ve sonuç 1'e eşit olacak,
ki öyle.
Yani bunlar 3 mantıksal operatördür. Yine, genellikle karar beyanlarında kullanılacaklardır.
Şimdi devam edelim ve başka bir operatör grubu hakkında konuşalım.
Şimdi burada atama operatörleri var. En azından eşittir sembolü olan basit atama operatörüne
oldukça aşinayız. Eşittir sembolü veri atar ve
bu oldukça basittir. C, a artı b'ye eşittir, c, a artı b'nin sonucu olacaktır.
Şimdi, artı eşittir veya eksi eşittir veya
yıldız eşittir yapabileceğiniz bu bileşik tip operatörler var.
Artı eşittir, atama operatörünü eklediğiniz yerdir.
Yani sağ operandı sol operanda ekler ve ardından sonuçları
sol operanda atar.
Yani c artı eşittir a diyebilirsiniz ve bu c eşittir c artı a demekle aynı şeydir.
Eksi, çıkarma yapmanız dışında tamamen aynı şeye eşittir. Çıkarma yapıyorsunuz ve sonra atama yapıyorsunuz.
Yani sağ işleneni sol işlenenden çıkarır ve ardından verileri atarsınız.
Yani c eksi eşittir a derseniz, bu aslında c eşittir c eksi a'dır.
Bu bir kısaltma gösterimidir, bu artı eşittir ve eksi eşittir.
İşleri biraz daha hızlı yazabilirsiniz
çünkü esasen 2 işlemi tek bir
deyimde yaparsınız.
Ve sonra aynı şeyi çarpıyor, yıldız eşittir, çarpıyor ve atıyor.
Yani c yıldız eşittir a, c eşittir c çarpı a'ya eşittir.
Sanırım bu oldukça basit.
Bölme işlemini kullanmanız
dışında diğer atama operatörleri de benzerdir. Yani bölme eşittir böl ve sonra işaretle.
Yüzde, modülasyonu yapar ve ardından sonucu atar.
Yani bunlar oldukça basit.
Bir de başka bir derste daha ayrıntılı olarak bahsedeceğimiz başka konularımız var.
Bu yüzden burada onlara değinmeyeceğim çünkü gerçekten tamamen farklılar.
Bunlara bitsel operatörler denir ve
burada tek söylediğim, bahsedeceğimiz bitsel
operatörler için bunları tekli ifadelerde
de atayabileceğinizdir.
Yani kaydırma, sola kaydırma ve sağa kaydırma
ve atama, sadece less than less than equals yapabilir ve greater than greater than equals yazabilirsiniz.
Ve sonra yine ve işareti, havuç ve paralel çubuk, hepsi
bitler üzerinde bir şeyler yapmakla ilgilidir.
Bu konuya geri döneceğiz, ancak bunlar atama operatörlerinin bir parçasıdır.
Yani atama operatörü oldukça kolaydır, veri atar ve sonra gerçekten ifadeler
yapmak istiyorsanız, birkaç ifade, sonra atayın,
kombinasyon olanları yaparsınız.
İlişkisel operatörler karşılaştırma operatörleridir. İki değeri karşılaştırırlar.
Yani bu önemli, eşitler eşittir. İki değişkenin değerini karşılaştıracağız.
Ve eğer aynı iseler true değerini döndürecektir çünkü bir Boolean ifadesi,
true veya false veya Boolean değeri döndürecektir.
Ünlem işareti eşittir, 2 işlenen değerinin eşit olup olmadığını kontrol eder.
Yani a, b'ye eşit değildir, bunu nasıl okumak isterseniz.
Eğer a doğruysa ve b de doğruysa,
eşit oldukları için false döndürür.
Yani a'nın yanlış, b'nin
doğru ya da tam tersi olması gerekir ve bu da true değerini döndürür. Büyüktür sembolü, a'nın b'den büyük olup olmadığını
kontrol eder.
Sembolden küçükse a, b'den küçüktür. Büyüktür eşittir, a büyüktür veya eşittir
ve eşitten küçüktür.
Yani tekrar ediyorum, bunların hepsi temel matematik konuları.
IDE'deki örnekler üzerinden gitmeyeceğim çünkü bu oldukça basit.
Karşılaştırma operatörü tıpkı matematikte olduğu gibidir, büyüktür eşittir vb.
Umarım aritmetik, mantık, atama ve ilişkisel temel
operatörleri iyi bir şekilde öğrenmişizdir.
Oldukça fazla kullanılır, bu yüzden onları anlamanız gerekir. Umarım çok zor ya da kafa karıştırıcı
değildir.
Bunu if deyimlerinde ve karar deyimlerinde
çokça kullanacaksınız, bu nedenle bunlar hakkında daha fazla örnek vereceğiz. Teşekkür ederim.