NuQta vergul belgisi va pozitsiyalashtirish
S# da simvol nuQta vergul belgisi operatorning tamom bo’lganligini ifodalaydi. YA’ni har bir alohida operator nuQta vergul belgisi bilan tugallanishi lozim. Ma’lumki, blok mantiQan bog’liQ bo’lgan figurali Qavs ichiga olingan operatorlarning dastasi bo’lib hisoblanadi, shuning uchun uni nuQta vergul belgisi emas, balki yopiladigan figurali Qavs yakunlaydi.
S# satrning tugashini operatorning tugallanishi deb aniQlamaydi, faQat nuQta vergul belgisigina operatorni tugallashi mumkin. Shu sababli nuQta vergulni satrning Qaeriga joylashtirishning farQi yo’Q. Masalan, S# satrlari uchun x q u;
u q u Q 1;
Console.WriteLine(x Q " " * u);
kodi Quyidagi
x q u; u q u Q 1; Console.WriteLine(x Q " " Q u);
satr bilan bir xil ma’noga ega bo’ladi. Bundan tashQari, operatorning alohida elementlari ham har xil satrlarda joylashishi mumkin. Masalan, Quyidagi joylashish o’rinli:
Console.WriteLine("Bu satr chiQarishda ancha ko’p joyni g’p" Q "egallaydi, chunki u berilganlardan tashQari '' Q x Q y Q z Q "g’p yana uchta satrli literlardan ham tashkil topgan.");
Bunday uzun satrlarni bo’lish usuli dasturni o’Qilishini yaxshilash uchun ishlatiladi. Shuning bilan birga bu satr chiQrilganda Qanday ko’rinishga ega bo’lishini ko’rish mumkin.
Chekinishlardan foydalanish
Siz ehtimol payQagan bo’lsangiz kerak, oldingi misollarda ba’zi bir operatorlar chekinishlar bilan yozilgan edi. S# tili kodni kiritishda (operatorlarni kiritishda) har xil chekinishlarning Qo’llanilishi, yoki ularning Qo’llanilmasligi dasturning ishlash Qobiliyatiga ta’sir ko’rsatmaydi. Ammo dastur yozishning umumiy Qabul Qilingan ko’rinishi mavjud ekan, Qaysiki bu kitob ham unga amal Qiladi, sizga ham unga rioya Qilishingizni maslahat beramiz. Buning uchun kodni kiritishda har bir ochilgan Qavsdan so’ng chekinish Qilish kerak (yuQoridagi satr boshiga nisbatan 2-3 ta probel) va aksincha har bir yopilgan Qavsdan so’ng orQaga Qaytish kerak. Qo’shimcha chekinish ko’zda tutilgan operatorlar bundan mustasno bo’lib, ular keyinroQ sanab o’tiladi.
Bir daQiQalik amaliyot.
Kod blokini Qanday tuzish kerak?
S#da operatorlar Qanday yakunlanadi?
S#da barcha operatorlar bitta satrda boshlanishi va tugallanishi kerak degan tasdiQ to’g’rimi?
Operatorlar ketma-ketligi ochilgan ({) va yopilgan (}) figurali Qavslar ichiga joylashtiriladi. Blok mantiQan kod birligini tashkil Qiladi.
S# da operatorlar nuQta vergul belgisi bilan tugallanadi.
Yo’Q.
2-Qism.
Operatorlar va Qiymatlar tipi.
S# Qiymatlar tipi bazasi
Literallar va ulardan foydalanish
Tuzilgan o’zgarishlarni aniQlash
O’zgaruvchilarni ko’rish Qismi
Arifmetik operatorlar
Logik va taQQoslangan operatorlar
O’zlashtirish operatorlari
Nusxa keltirish operatsiyasi va aniQ va aniQmas Qiymatlar tipini o’zgartirish.
S# ni ifoda Qilish
Ma’lumotlar tipi va operatorlar xar kanday dasturlash tillarining asosini tashkil kiladi. Bu elementlar dasturlash tilining imkoniyatlarini va ishlatilishi mumkin bulgan masalalar darajasini belgilab beradi. S# juda kup ma’lumotlar tipi va operatorlarni kabul kiladi, bu esa uni kupchilik dasturlash masalalarini yechishga kulay kiladi. Ma’lumotlar tipii va operatorlarni kurib chikish uchun juda kup vakt talab kilinadi. Bu bobda biz asosiy ma’lumotlar tipi va nisbatan kuprok ishlatiladigan operatorlar xakida, shuningdek uzgaruvchilar va vo’rajeniyalar xakida batafsil ma’lumot beramiz.
S# Ma’lumotlar tipilari ustidan kat’iy nazorat
S# - ma’lumotlar ustidan kat’iy nazorat urnatilgan dasturlash tili. Bu S# dagi barcha amallar ma’lumotlar tipining mosligiga kompilyator tomonidan nazorat kilinishini bildiradi. Agar amallar mosligi bajarilmasa, ular kompilyatsiya kilinmaydi. Bunday ma’lumotlar tipi ustidan kat’iy nazorat xatolarni oldini olishga yordam beradi. Nazoratni amalga oshirish uchun barcha uzgaruvchilarga, xisob natijalariga va kiymatlarga anik bir tip beriladi(YA’ni anik tipga ega bulmagan uzgaruvchi mavjud emas). Kiymat tipi uning ustidan bajarilishi mumkin bulgan amallarni aniklab beradi. Bir ma’lumotlar tipi uchun ruxsat etilgan amallar, boshkasi uchun takaklangan bulishi mumkin.
Ma’lumotlarning oddiy tipi
S# kiritiladigan ma’lumotlar tipining ikki turini uz ichiga oladi oddiy(yoki soda) va murojat etuvchi tiplar. Murojat etuvchi tiplar sinfi xakida biz keyinchalik tuxtalib utumiz. S# yadrosiga kiruvchi un uch oddiy tip 2.1 jadvalida kursatilgan
Tip
|
Tavsifi
|
Bool
|
Kiymatlari TrueG’False (xakikatG’yolgon)
|
Byte
|
8 bitli belgisiz butun son
|
Char
|
Belgi
|
Decimal
|
Iktisodiy xisoblashlar uchun sonli tip
|
Double
|
SuzuvchiG’kuchuvchi(S plavayuhey tochkoy) nuktali ikkilangan aniklikdagi son
|
Float
|
SuzuvchiG’kuchuvchi(S plavayuhey tochkoy) nuktali birlamchi aniklikdagi son
|
Int
|
Butun son
|
Long
|
Uzun son
|
Sbyte
|
8 bitli belgili butun son
|
Short
|
Kiska butun son
|
Uint
|
Belgisiz butun son
|
Ulong
|
Belgisiz uzun butun son
|
Ushort
|
Belgisiz kiska butun son
|
S# da xar bir ma’lumotlar tipi uchun kiymatlar diapazoni va ular ustidan bajarilishi mumkin bulgan amallar katiy muvofiklikda belgilangan. Shunga muvofik kuchish talablari bu muvofikliklarning bajarilishini katiy nazorat kiladi. Masalan, int tipi dasturning ixtiyoriy bajarilish muxiti uchun bir xil, shuning uchun xar bir platformaga muvofiklashtirish uchun kodni boshkatdan yozishning xojati yuk. Katiy muvofiklashtirish kuchishni amalga oshirish uchun kerak, ammo bazi platformalarda uncha katta bulmagan ishlab chikarishdagi yukotishga olib kelishi mumkin.
Butun sonlar tipi
S# da tukkiz turdagi butun sonlar tipi belgilangan: char, byte, sbyte, short, ushort, int, uint, long va ulong. Char tipi asosan belgilar takdimoti uchun ishlatiladi, va shu bobda keyincha tavsiflanadi. Kolgan sakkiz tip sonlar ustidan amallar bajarish uchun ishlatiladi. Kuyidagi jadvalda ushbu sakkiz tipga mvofik ajratiladigan xotira xajmi va yul guyiladigan kiymatlar diapazoni kursatilgan.
Tip nomi
|
Bitlar soni
|
Kiymatlar chegarasi
|
Byte
|
8
|
0 dan 255 gacha
|
Sbyte
|
8
|
-128 dan 127 gacha
|
Short
|
16
|
-32768 dan 32767 gacha
|
Ushort
|
16
|
0 dan 65535 gacha
|
Int
|
32
|
- 2147483648 dan 2147483647 gacha
|
Uint
|
32
|
0 dan 4294967295
|
Long
|
64
|
-9223372036854775808 dan 9223372036854775808 gacha
|
Ulong
|
64
|
0 dan 18446774073709551615 gacha
|
Jadvaldan kurinib turibdiki S# da xam belgili, xam belgisiz butun sonlar varianti kursatilgan. Ular orasidagi fark butun sonning yukori bitini interpritatsiya kilish uslubida. Belgili butun son kursatilganda butun sonning yukori bitni belgi bayrogi sifatida interpritatsiyasi kuzda tutilgan kodni generatsiya kiladi. Agar bayrok 0 belgili bulsa, bu musbat son, agar 1 bulsa, bu manfiy son. Manfiy sonlar deyarli xar doim ikkilangan tuldirish metodini ishlatish bilan kursatiladi. Bu metodda sonning barcha bitlari(belgi bayrogidan tashkari) invertlanadi, sung bu songa bir kushiladi, eng sungida belgi bayrogiga 1 kiymati beriladi.
Belgili butun sonlar kupgina algartmlar uchun juda muxim, lekin ular mos belgisiz butun sonlarning absolyut kismining fakat yarmigagina ega. Masalan, short 32767 tipidagi soni ikkilik sanok tizimi kurinishida yozaylik: 01111111 11111111
Bu belgili tip bulgani uchun yukori bitga 1 kiymati berilganda -1(agar ikkilangan tuldirish usulidan foydalanilsa) sifatida interpritatsiya kilinadi. Ammo uni ushort tipida e’lon kilinsa, unda yukori bitga 1 kiymati berilganda son 65535 sifatida interpritatsiya kilinadi.
Eng kup ishlatiladigan butunsonli tip – bu int. Int tipi uzgaruvchilarini sikllarni boshkarish, massivlarni indeksatsiyasida va turli matematik xisoblashlarda ishlatiladi. S# da Int tipidagi sonlardan katta sonlar unit, long, ulong tiplarida, belgisiz butun sonlar bilan ishlaganda esa unit tipi ishlatiladi.
Belgili katta kiymatlar uchun long tipi, undan xam katta musbat sonlar (belgisiz butun sonlar) uchun – ulong tipi ishlatiladi.
Kuyida tomoni uzunligi 1 milga teng bulgan kub xajmini xisoblash(dyuymlarda) dasturi kursatilgan. Bu kiymat yetarli darajada katta bulgani uchun uning saklanishga dastur long tipi uzgaruvchisini ishlatadi.
G’*
dastur tomoni uzunligi 1 milga teng bulgan kub xajmini xisoblaydi(dyuymlarda)
(ma’lumot uchun: 1 milda – 5280 fut, 1 futda – 2 dyuym bor)
*G’
Using system;
class inches {
public static void Main {}{
Long ci;
Long im;
im q 5280*12;
ci q im*im*im;
Console. WriteLine(“tomoni uzunligi 1 milga teng bulgan kub xajmi” Q ci Q “ga teng.”);
}
}
Kuyida bu dastur natijalari kursatilgan.
tomoni uzunligi 1 milga teng bulgan kub xajmi 254358061056000ga teng.
Bunday natija int yoki uint tipidagi uzgaruvchiga sigmasligi anik kurinib turibdi.
byte va sbyte – eng kichik butun sonlar tipi. byte tipi kiymati 0 dan 255 gacha bulgan oralikda joylashishi mumkin. Byte tipi uzgaruvchilari biror tuzilmada generatsiya kilingan malumotning baytlar okimi kabi kayta ishlanmagan ikkilangan ma’lumotlar bilan ishlashda juda kul keladi. Uncha katta bulmagan belgili butun uzgaruvilarida sbyte tipi ishlatiladi. Kuyida kursatilgan dasturda 1dan 100 gacha bulgan barcha butun sonlarning yigindisi xisoblanayotgan for siklini nazorat kilish uchun byte tipi uzgaruvchisi ishlatiladi.
G’G’ byte tipining ishlatilishi
Using system;
class Use_byte {
public static void Main {}{
byte x;
int sum;
sum q 0;
for(x q 1; x 1);
sum – sum Qx;
Console. WriteLine(“1dan 100gacha bulgan butun sonlar yigindisi” Q sum);
}
}
Bu dasturning natijasi kuyidagicha:
1dan 100gacha bulgan butun sonlar yigindisi 5050
Ushbu dasturda for siklini nazorat kilish uchun byte tipi kiymatlar oraligiga kiruvchi 1dan 100gacha bulgan sonlar ishlatilgani sababli kattarok sonlar bilan ishlash imkonini beruvchi boshka tiplarni belgilashga xojat yuk. Uzgaruvchiga tugri tipni belgilash va tizim zaxirasin tejash maksadida yukorida keltirilgan jadvaldan foydalaning va uzgaruvchi kiymati kanoatlantiradigan tiplarning oraligini tanlang.
Do'stlaringiz bilan baham: |