tip *dəyişənin adı;
Məsələn,
int *p; // p dəyişəninə yazılmış ünvanda int tipli dəyişən saxlanılacaqdır
Göstəricinin təsvirində * işarəsi birbaşa ada aiddir. Ona görə də bir neçə göstərici elan etmək üçün onu hər bir göstəricinin qarşısında yazmaq lazımdır.
İfadələr və əməliyyatlar
İfadə verilənlər üzərində əməliyyatlar ardıcıllığını verir və operandlardan (sabitlərdən, dəyişənlərdən, funksiyalara müraciətlərdən), adi mötərizələrdən və əməliyyat işarələrindən ibarət olur. Əməliyyatlar unar (məsələn, -c) və binar (məsələn, a+b) olur. Aşağıdakı cədvəldə C++ dilinin əsas əməliyyatları təsvir olunmuşdur.
Cədvəl . C++ dilinin əsas əməliyyatları
Əməliyyatlar
|
Təsviri
|
Unar əməliyyatlar
|
++
|
Qiymətin bir vahid artırılması
|
--
|
Qiymətin bir vahid azaldılması
|
~
|
Mərtəbə inkarı
|
!
|
Məntiqi inkar
|
-
|
Hesabi minus (unar minus)
|
+
|
Unar plyus
|
&
|
Ünvanın alınması
|
*
|
Ünvana müraciət
|
(tupe)
|
Tipin çevrilməsi
|
Binar əməliyyatlar
|
+
|
Toplama
|
-
|
Çıxma
|
*
|
Vurma
|
/
|
Bölmə
|
%
|
Bölmədən alınan qalıq
|
<<
|
Sola sürüşmə
|
>>
|
Sağa sürüşmə
|
<
|
Kiçikdir
|
>
|
Böyükdür
|
<=
|
Kiçik və ya bərabər
|
>=
|
Böyük və ya bərabər
|
==
|
Bərabər
|
!=
|
Fərqli
|
&
|
Mərtəbəli konyunksiya (və)
|
^
|
Mərtəbəli və yanı istisna
|
|
|
Mərtəbəli dizyunksiya (və ya)
|
&&
|
Məntiqi və
|
||
|
Məntiqi və ya
|
=
|
Mənimsətmə
|
*=
|
Mənimsətməli vurma
|
/=
|
Mənimsətməli bölmə
|
+=
|
Mənimsətməli toplama
|
-=
|
Mənimsətməli çıxma
|
%=
|
Mənimsətməli qalığın tapılması
|
<<=
|
Mərtəbəli sola sürüşmə
|
>>=
|
Mərtəbəli sağa sürüşmə
|
&=
|
Mənimsətməli mərtəbəli konyunksiya
|
|=
|
Mənimsətməli mərtəbəli dizyunksiya
|
^=
|
Mənimsətməli və yanın mərtəbəli istisnası
|
Digər əməliyyatlar
|
?
|
Şərti əməliyyat
|
,
|
Ardıcıl hesablama
|
Sizeof
|
Ölçünün tətini
|
(tip)
|
Tipin çevrilməsi
|
İndi isə dilin əsas əməliyyatlarının müfəssəl izahını verək.
Mənimsətmə əməli
Adi mənimsətmə əməliyyatı ümumi şəkildə aşağıdakı kimi yazılışa malikdir:
Dəyişənin_adı=qiymət;
Burada qiymət ifadə, dəyişən, sabit və ya funksiya ola bilər. Mənimsətmə əməliyyatı zamanı əvvəlcə operatorun sağ tərəfindəki ifadənin qiyməti hesablanır, sonra isə nəticə sol tərəfdəki ada uyğun yaddaş sahəsinə yazılır.
Məsələn,
X=13; // x adlı dəyişənə 13 qiyməti mənimsədilir.
C=a+b; // c adlı dəyişənə a+b cəminin nəticəsi mənimsədilir.
Qeyd edək ki, əgər mənimsətmə operatorun ssolunda və sağında olan dəyişənlər müxtəlif tipdədirsə, onda sağ tərəfin tipi sol tərəfin tipinə çevrilir. Lakin bu zaman informasiya itkisi və başqa qiymətin alınması ehtimalı da mövcuddur.
C++ dilində bir neçə dəyişənə eyni bir qiyməti mənimsətmək də mümkündür. Belə əməliyyat çoxluq mənimsətməsi adlanır və ümumi şəkildə belə yazılır:
Ad_1=ad_2=...=ad_N=qiymət;
Məsələn, a=b=c=21; yaılışı o deməkdir ki, a,bvə c dəyişənlərə eyni bir 21 qiyməti mənimsədilmişdir.
+=, -=, *=, /= əməliyyatları düzəltmə əməliyyatlar adlanır. Bu əməliyyatlarda sağ tərəfdəki ifadələrin hesablanması zamanı sol tərəfdəki dəyişənin qiymətindən istifadə edilir. Məsələn,
a+=x; // a-nın x qədər artması, yəni a=a+x.
a-=x; // a-nın x qədər azalması, yəni a=a-x.
a*=x; // a-nın x-ə vurulması, yəni a=a*x.
a/=x; // a-nın x-ə bölünməsi, yəni a=a/x.
Hesabi əməllər
+, - , *, / əməliyyatları hesabi əməllərə aiddir. Onların mənaları aydın olduğu üçün əlavə şərhə ehtiyac yoxdur. Hesabi ifadələrin proqramlaşdırılması zamanı sadə bir qaydaya əməl etmək lazımdır. Hesabi əməliyyatların yerinə yetirilməsi ardıcıllığına nəzarət etməli, yəni əvvəlcə vurma və bölmə (1-ci səviyyə) əməliyyatları, sonra isə toplama və çıxma (2-ci səviyyə) əməliyyatları yerinə yetirilir. Eyni səviyyə əməliyyatları bir-birinin ardıca yerinə yetirilir. Əməliyyatların yerinə yetirilmə ardıcıllığını dəyişmək üçün mötərizələrdən istifadə olunur.
Cədvəl-də cəbri ifadələrin yazılışı nümunələri göstərilmişdir.
Riyazi yazılış
|
C++ dilində yazılış
|
(a+b)c+d
|
(a+b)*c+d
|
|
Pow((a+b)*(a+b),1./5) və ya pow(pow(a+b,2),1./5)
|
|
Log(a)/log(b)
|
|
Log(fabs(x-2))
|
|
Log10(x*x+3)/log10(5)
|
|
Pow(sin(sqrt(x),2))
|
|
Exp(3*cos(x/3))
|
++ inkrementi və - - dekrementi əməliyyatları da hesabi əməliyyatlara aiddir. İnkrement dəyişənin qiymətini bir vahid artırır, dekrement isə bir vahid azaldır. Bu əməliyyatların iki yazılış forması vardır. Əməlyyat operanddan əvvəl və ya sonra yazılır. Əgər inkrement operanddan əvvəl yazılarsa, onda əvvəlcə dəyişənin qiyməti bir vahid artır, sonra ifadədə iştirak edir. Dekrement də operanddan əvvəl yazılarsa, onda əvvəlcə dəyişənin qiyməti bir vahid azalı, sonra ifadədə iştirak edir. Məsələn,
X=2;
Y=++x; // x və y dəyişənlərində 3 qiyməti saxlanılacaqdır.
Əgər inkrement operanddan sonra yazılarsa, onda əvvəlcə dəyişənin qiyməti ifadədə iştirak, sonra onun qiyməti bir vahid artır. Dekrement də operanddan sonra yazılarsa, onda əvvəlcə dəyişənin qiyməti ifadədə nəzərə alınır, sonra isə o bir vahid azalır. Məsələn,
X=2;
Y=x++; // y-in qiyməti 12, x-in qiyməti isə 13 olur.
Tamın tapılması əməli. Bu əməliyyat zamanı qalıq atılır və ancaq tam hissə götürülür. Bu əməliyyat zamanı “/” simvolundan istifadə etmək lazımdır. Məsələn, 21/4=4; 32/6=5 və s.
Qalıgın tapılması əməli. Bu əməliyyat zamanı “%” işarəsindən istifadə olunur. Məsələn, 21%4=1, 32%6=2 və s.
Tam bölmə əməli. Məsələn, 21.0/4=5.25; 21/4.0=5.25.
Hesabi bit əməliyyatı. Bunlara &, |, ^, ~, <<, >> əməliyyatları aiddir. Bu əməliyyatlar zamanı tam ədədlərin ikilik say sistemindəki təsvirindən istifadə olunur.
Məntiqi və (&). Bu əməliyyat zamanı hər iki operand ikilik say sisteminə keçirilir, sonra onlar üzərində mərtəbələr üzrə məntiqi vurma əməliyyatı yerinə yetirilir və bu zaman aşağıdakılar nəzərə alınır.
1&1=1, 1&0=0, 0&1=0, 0&0=0.
A
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
B
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
A&B
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
Buna məntiqi vurma da deyilir.
Məsələn, 4 & 7 ifadəsinin nəticəsi 4 olacaqdır.
Hesabi və ya (|).Bu əməliyyat zamanı hər iki operand ikilik say sisteminə keçirilir, sonra onlar üzərində mərtəbələr üzrə məntiqi toplama əməliyyatı yerinə yetirilir və bu zaman aşağıdakılar nəzərə alınır.
1|1=1, 1|0=1, 0|1=1, 0|0=0.
A
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
B
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
0
|
0
|
0
|
A|B
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
1
|
10
|
10
|
0
|
Buna məntiqi toplama da deyilir.
Məsələn, 3 | 1 ifadəsinin nəticəsi 3 olacaqdır.
Hesabi və ya-nı istisna (modul 2-yə nəzərən toplama) (|). Bu əməliyyat zamanı hər iki operand ikilik say sisteminə keçirilir, sonra onlar üzərində mərtəbələr üzrə məntiqi “^” əməliyyatı yerinə yetirilir və bu zaman aşağıdakılar nəzərə alınır.
1^1=0, 1^0=1, 0^1=1, 0^0=0.
Məsələn, 4 ^ 7 ifadəsinin nəticəsi 3 olacaqdır.
Dostları ilə paylaş: |