Ma’ruza mashg`ulot uchun
Download 0.85 Mb.
|
1-semestr maruzalar
- Bu sahifa navigatsiya:
- Haqiqiy tiplar Jadval 2.5- Haqiqiy sonlar jadvali
- Belgili tiplar Asosiy belgili tip
- Asosiy mantiqiy tip: System.Bool; Qabul qiluvchi qiymatlari: true, false. Nazorat uchun savollar
- Reja: O‘zgaruvchi va o‘zgarmaslar. Operatsiya (amal) va ifodalar C ning asosiy amallari
- Tayanch iboralar
- [= o‘zlashtiriluvchi qiymat];
- Blok
Butun tiplar.
Jadval 2.5-Butun tipli sonlar jadvali
Haqiqiy tiplar Jadval 2.5- Haqiqiy sonlar jadvali
Belgili tiplar Asosiy belgili tip: System.Char; Asosiy satrli tip: System.String; C# da belgili tiplarning qiymatlari bittalik qo‘shtirnoq(apostrof) bilan, satrli tiplarning qiymatlari ikkitalik qo‘shtirnoq bilan beriladi. Masalan: String x=”f”; Char ch=’f’; Mantiqiy tip Asosiy mantiqiy tip: System.Bool; Qabul qiluvchi qiymatlari: true, false. Nazorat uchun savollar C# qanday dasturlash tili? C# tilining xususiyatlarini sanang. C# tilining qanday afzalliklari bor. C# alfavitiga qanday belgilarni kiritilgan? Leksema nima? Identifikatorlar nima? Kalit so‘zlar haqida gapirib bering. Amal belgilari nima? Literallar (konstantalar) va o`zgaruvchilar qanday farq bor? C# da izohlar haqida nimalar bilasiz? C# tilining tiplari tizimini sanab bering. 3-Ma`ruza: C# tilining amallariReja: O‘zgaruvchi va o‘zgarmaslar. Operatsiya (amal) va ifodalar C# ning asosiy amallari Konsolli ilovalar, ma’lumotlarni kiritish va chiqarish. Turlar. Turni o`zgartirish qonuniyati O‘zgartirishlar Tayanch iboralar: Ifodalar, operatorlar, arifmetik amallar, qiymat berish operatori, til ko’rsatmasi, inkrement, dekrement. 3.1. O‘zgaruvchi va o‘zgarmaslar. O‘zgaruvchilar O‘zgaruvchi - dastur bajarilishi jarayonida o‘z qiymatini bir yoki bir necha marotaba almashtirishi mumkin bo‘lgan xotiraning nomlangan qismi. Nom esa o‘zgaruvchi belgilangan so‘z, harf yoki harf va belgilar ketma ketligi bo‘lishi mumkin. Dasturda foydalaniluvchi barcha o‘zgaruvchilar aniq e’lon qilinishi lozim. Har bir o‘zgaruvchi e’lon qilinayotganda uning nomi va tipi ko‘rsatiladi. O‘zgaruvchining nomi uning qiymati joylashgan xotira qismiga murojaat qilish uchun xizmat qiladi. Tip esa ma’lumot uchun xotiradan qancha joy ajratilishi lozimligini bildiradi. O‘zgaruvchilar quyidagicha e’lon qilinishi mumkin: Misollar: int a=10, c=12,abc=0; double b=11.5; //a=10; Console.Writeline(a); bool isEnabled = true; int x; double y=3.0; string hello="Hello World"; char c='s'; int a=4; int z=a+5; O‘zgaruvchini e’lon qilishda bir tipli bir nechta o‘zgaruvchilarni bitta tip yozib, so‘ngra shu tipli o‘zgaruvchilarni ketma-ket “,” bilan ajratgan xolda yozish orqali e’lon qilish hamda to‘g‘ridan-to‘g‘ri ularning boshlang‘ich qiymatini berib ketish mumkin, ya’ni ularni initsializatsiya qilib olish mumkin. O‘zgaruvchini initsializatsiya qilish deganda e’lon qilingan o‘zgaruvchiga boshlang‘ich qiymatni berish tushuniladi. Masalan: int a, b = 1; Bu yerda: a int tipidagi o‘zgaruvchi bo‘lib, uning boshlang‘ich qiymati o‘rnatilmagan, ya’ni initsializatsiya qilinmagan; b int tipidagi o‘zgaruvchi bo‘lib, uning boshlang‘ich qiymati 1 ga teng; float x = 0.1, y = 0.1f; Bu yerda: float tipidagi x va y o‘zgaruvchilarga boshlang‘ich xolda 0.1 qiymat o‘zlashtirilmoqda. Farqi, x o‘zgaruvchi initsializatsiya qilinayotganda avval uning tipi double tipidagi konstanta sifatida shakllantiriladi so‘ngra float tipiga o‘zgartiriladi, y o‘zgaruvchi esa to‘g‘ridan to‘g‘ri oraliq o‘zgartirishsiz float tipi sifatida e’lon qilinadi va 0.1 ni o‘zlashtirib oladi. O‘zgaruvchilarni e’lon qilish jarayonida ularning qiymati to‘g‘ridan-to‘g‘ri ifoda bilan berib ketish mumkin, faqat ifodada ishtirok etuvchi o‘zgaruvchilar avvalroq initsializatsiya qilingan bo‘lishi lozim, masalan: int b = 1, a = 100; int x = b * a + 25; Ba’zi xollarda o‘zgaruvchiga null (bo‘sh) qiymat o‘zlashtirish lozim bo‘ladi. string tipidagi yoki ishorat(ssilka)li tipdagi o‘zgaruvchilar to‘g‘ridan to‘g‘ri null qiymat qabul qiladi. Misol uchun: string=null; Oddiy tipdagi o‘zgaruvchilar esa to‘g‘ridan-to‘g‘ri null qiymat olmaydi. Ular bo‘sh qiymat olishi uchun tipni e’lon qilgandan so‘ng ? belgisi qo‘yish lozim bo‘ladi. int? i = null; C# da o‘zgaruvchilarni ixtiyoriy joyda e’lon qilish mumkin. using System; class ozgaruvchi { public static void Main() { int i; //o‘zgaruvchini e’lon qilish; i=10; // o‘zgaruvchiga qiymat berish Console.WriteLine(i.tostring());// ekranga chiqarish Console.ReadKey(); //biror tugma bosilguncha kutish } } C# da katta va kichik harfli o‘zgaruvchi va o‘zgarmaslarning nomlari bir-biridan farqlanadi. Katta va kichik harfda yozilgan bir hil nomli o‘zgaruvchilar alohida-alohida o‘zgaruvchi va o‘zgarmaslar sifatida hisoblanadi. C# da o‘zgaruvchining avvalgi qiymatini birga oshirish uchun ketma-ket joylashgan ++, kamaytirish uchun ketma-ket joylashgan –- amal belgilaridan foydalanish mumkin. Agar ++(--) o‘zgaruvchining o‘ng tomonida joylashgan bo‘lsa, avval qiymati 1 ga oshiriluvchi(kamaytiriluvchi) o‘zgaruvchining joriy qiymati bo‘yicha hisoblash ishlari bajarilib, undan so‘ng uning qiymati 1 ga oshiriladi(kamaytiriladi). int i=1; int j=i++; … Ushbu xolda j ga avval 1 o‘zlashtiriladi. So‘ngra i ning qiymati birga oshiriladi. Ya’ni, hisoblashdan so‘ng j=1, i=2 bo‘ladi. Agar ++(--) o‘zgaruvchining chap tomonida joylashsa, u xolda o‘zgaruvchining qiymati hisoblashdan avval 1 ga oshiriladi(kamaytiriladi),so‘ngra hisoblash bajariladi. Masalan: int i=1; int j=++i; ... Ushbu xolda i ning qiymati avval 1 ga oshiriladi, so‘ngra hisoblash natijasi j ga uzatiladi. Ya’ni, hisoblash natijasida, j=2, i=2 bo‘ladi. Quyidagi xolatni ko‘ramiz: ... int i=1; Console.WriteLine(“i=”+i++); ... Ushbu dastur kodi bajarilishi natijasida, avval i ning joriy qiymati (ya’ni 1) ekranga chiqariladi, so‘ngra i ning qiymatiga 1 qo‘shiladi. Agar, o‘zgaruvchiga uni e’lon qilish vaqtida to‘g‘ridan-to‘g‘ri qiymat o‘zlashtirish, hisoblash ishlari orqali amalga oshiriladigan bo‘lsa, amal bajariluvchi operandlar barchasi, bir xil tipga ega bo‘lishi hamda natija ham e’lon qilinuvchi o‘zgaruvchi tipi diapazonidan chiqib ketmasligi lozim. Masalan: int i=15*10; //to‘g‘ri; byte j=10; int i=j*50; /* to‘g‘ri; chunki, j qabul qilish mumkin bo‘lgan qiymatlar int tipi diapazonidan chiqib ketmaydi shu sababli qabul qiladi*/; int k=15+10.0; //xato. 10.0 butun son emas; byte b=255*3; //Xato. Natija byte diapazonidan chiqib ketadi. C# dasturlash tilidagi dastur o‘zida uslub(metod) va ma’lumotlarni jamlagan sinflardan tashkil topadi. Sinf bloki ichida to‘g‘ridan to‘g‘ri e’lon qilingan o‘zgaruvchi sinfning maydoni deyiladi. Sinf ichida esa alohida blok ichida sinfning uslub(metod)lari yoziladi. Uslub ichida e’lon qilingan o‘zgaruvchi lokal o‘zgaruvchilar deyiladi. O‘zgaruvchilardan foydalanilganda ularning foydalanish chegarasi degan tushunchaga e’tibor berish lozim. O‘zgaruvchining foydalanish chegarasi uni initsializatsiya qilingan joydan boshlab, dasturning shu qismini yakunlovchi blokgacha davom etadi. Blok – bu figurali qavslar bilan chegaralangan dastur kodidir. Blokning vazifasi – operatorlarni guruhlashdan iborat. C# da har qanday o‘zgaruvchi qandaydir blok ichida e’lon qilinadi, masalan: sinf bloki ichida, sinf uslubining bloki ichida, uslubning ichida joylashgan ichki uslub ichida va h. O‘zgaruvchining nomi uning foydalanish chegarasi ichida, ya’ni u joylashgan blok ichida unikal bo‘lishi lozim. Quyidagi misolni ko‘rib o‘taylik: class X // X nomli sinfni e’lon qilish { int A; // X sinfning A nomli maydonini e’lon qilish int B; // X sinfning V nomli maydonini e’lon qilish void Y() {//--X sinfning Y nomli uslubi bloki boshlanishi--- int C; // C nomli lokal o‘zgaruvchi, uning foydalanish chegarsi faqat Y uslubi bloki ichida int A; // A nomli lokal o‘zgaruvchi, uning foydalanish chegarsi faqat Y uslubi bloki ichida va X sinfning yuqorida e’lon qilingan A maydoni bilan konflikt bermaydi { //====== Y uslubining ichki bloki boshlanishi========= int D; // D nomli lokal o‘zgaruvchi, uning foydalanish chegarsi faqat ushbu ichki blok ichida int A; // Bu xato. Chunki Y uslubi ichida A nomli o‘zgaruvchidan avval foydalanilgan! S = B; // S o‘zgaruvchiga X sinfning V maydoni qiymati o‘zlashtirilmoqda S = this.A; // S o‘zgaruvchiga X sinfning A maydoni qiymati o‘zlashtirilmoqda } // ======= Y uslubining ichki bloki oxiri===== } // X sinfning Y nomli uslubi bloki oxiri--- } // X sinf bloki oxiri O‘zgaruvchilar dasturda ular e’lon qilingan joyda yaratiladi va ular joylashgan blok tugashida tozalab tashlanadi. Shu blokka qayta murojaat etilganda o‘zgaruvchi yangidan yaratiladi. O‘zgarmaslar. O‘zgarmaslar dastur bajarilishi jarayonida bir marta qiymat berilgandan so‘ng qiymatini o‘zgartirib bo‘lmaydigan kattaliklardir. O‘zgarmaslarni C# da const kalit so‘zi bilan e’lon qilinadi. const double Pi = 3.14; Agar o‘zgarmas butun boshli dasturning barcha qismlarida foydalanish uchun ruxsat etilgan bo‘lsa, public kalit so‘zi bilan qo‘llaniladi. public const double Pi = 3.14; O‘zgarmaslarning qiymati ifoda ko‘rinishida berilishi ham mumkin. Download 0.85 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling