Tiplar bilan ishlovchi amallar. Tiplarni o`zgartirish amali quyidagi ko`rinishga ega: (tip_nomi) operand; Bu amal operandlar qiymatini ko`rsatilgan tipga keltirish uchun ishlatiladi. Operand sifatida o`zgarmas, o`zgaruvchi yoki qavslarga olingan ifoda kelishi mumkin. Misol uchun (long)6 amali o`zgarmas qiymatini o`zgartirmagan holda operativ xotirada egallagan baytlar sonini oshiradi. Bu misolda o`zgarmas tipi o`zgarmagan bo`lsa, (double) 6 yoki (float) 6 amali o`zgarmas ichki ko`rinishini ham o`zgartiradi. Katta butun sonlar haqiqiy tipga keltirilganda sonning aniqligi yo`qolishi mumkin.
sizeof amali operand sifatida ko`rsatilgan ob`yektning baytlarda xotiradagi hajmini hisoblash uchun ishlatiladi. Bu amalning ikki ko`rinishi mavjud: sizeof ifoda sizeof (tip) Misol uchun:
Sizeof 3.14=8 Sizeof 3.14f=4 Sizeof 3.14L=10 Sizeof(char)=1 Sizeof(double)=8
|
5.7-jadval. Amallar ustivorligi
Rang
|
Amallar
|
Yo`nalish
|
1
|
[ () ], [ [] ], [->], [::], [.]
|
Chapdan o`ngga
|
2
|
[!], [~], [+], [-], [++], [--], [&], [*], [(tip)],
sizeof, new, delete, tip()
|
O`ngdan chapga
|
3
|
[.], [*], [->*]
|
Chapdan o`ngga
|
4
|
[*], [/], [%] (multiplikativ binar amallar)
|
Chapdan o`ngga
|
5
|
[+], [-] (additiv binar amallar)
|
Chapdan o`ngga
|
6
|
[<<], [>>]
|
Chapdan o`ngga
|
7
|
[<], [<=], [>=], [>]
|
Chapdan o`ngga
|
8
|
[=], [!=]
|
Chapdan o`ngga
|
9
|
[&]
|
Chapdan o`ngga
|
10
|
[^]
|
Chapdan o`ngga
|
11
|
[|]
|
Chapdan o`ngga
|
12
|
[&&]
|
Chapdan o`ngga
|
13
|
[||]
|
Chapdan o`ngga
|
14
|
[?:] (shartli amal)
|
Chapdan o`ngga
|
15
|
[=], [*=], [/=], [%=], [+=], [-=], [&=], [^=],
[|=], [<<=], [>>=]
|
Chapdan o`ngga
|
16
|
[,] (vergul amali)
|
Chapdan o`ngga
|
Mustahkamlash uchun savollar.
C++ tiliga amallar necha gurunga bo`linadi?
Arifmetik amallarni sanab bering.
Arifmetik amallarning ba`zi xususiyatlarni ayting.
Amallar bilan ishlaganda qavslarning o`rni qanday ?
Unar amalga misol keltiring.
6. ++33 qanday amalni bajaradi ?
33++ qanday amalni bajaradi ?
Short va char tiplarini qaysi tipga keltirib bo`ladi ?
5 <<5 amalining qiymatini toping.
Shartli amaldan qachon foydalanish mumkin ?
Dastur tuzilishi
Muhim so`zlar: main, tipli,tipsiz, return,include, define, proprosessor,dastur matni (listing), kompilyatsiya, og`lash, mantiqiy solishtirish, amallar, if.
Bilib olasiz: main funksiyasi, main funksiyasini ishlatish, kutubxonalarni chaqirish, oddiy dasturlarni yozish, define funksiyasi, kompilyatsiya va bog`lash, mantiqiy amallar yozilishi, if operatorini qo`llash.
Sodda dastur tuzilishi. Dastur komandalar va bir necha funksiyalardan iborat bo`lishi mumkin. Bu funksiyalar orasida main nomli asosiy funksiya bo`lishi shart. Agar asosiy funksiyadan boshqa funksiyalar ishlatilmasa dastur quyidagi ko`rinishda tuziladi:
Preprotsessor_komandalari void main()
{ Dastur tanasi. }
Main funksiyasi ikki usulda ishlatilishi mumkin (tipli va tipsiz). Yuqorida
keltirilgan misolda tipsiz edi. Tipli main ga dastur quyidagi ko`rinishda tuziladi:
Preprotsessor_komandalari tip main()
{ Dastur tanasi. return [qiymat] }
Preprotsessor direktivalari kompilyatsiya jarayonidan oldin preprotsessor
tomonidan bajariladi. Natijada dastur matni preprotsessor direktivalari asosida o`zgartiriladi. Preprotsessor komandalaridan ikkitasini ko`rib chiqamiz. # include
Bu direktiva standart kutubxonadagi funksiyalarni dasturga joylash uchun foydalaniladi. #define Bu direktiva bajarilganda dastur matnidagi almashtiruvchi ifodalar almashinuvchi ifodalarga almashtiriladi. Masalan,
#include void main()
{
cout << “\n Salom, BUXORO! \n”;
}
|
Salom, BUXORO!
|
Define direktivasi yordamida bu dasturni quyidagicha yozish mumkin:
2-listing.
|
Output:
|
#include
#define program cout << “\n Salom, BUXORO! \n” #define bosh {
#define tam } void main()
bosh
program; tam
|
Salom, BUXORO!
|
Define direktivasidan nomlangan o`zgarmaslar kiritish uchun foydalanish mumkindir. Masalan,
Agar dasturda quyidagi amallar mavjud bo`lsin:
Preprotsessor bu matnda har bir max o`zgarmasni uning qiymati bilan almashtiradi, va natijada quyidagi amallar hosil bo`ladi.
5>
Dostları ilə paylaş: |