O'zgaruvchilar. Berilganlar turlari


Download 73.88 Kb.
Sana07.12.2020
Hajmi73.88 Kb.
#161928

3-Ma’ruza:Identifikatrolar, literallar, o'zgaruvchilar va berilganlar turlari

Identifikatorlar.

Reja.

  1. Identifikatrolar.

  2. O'zgaruvchilar.

  3. Berilganlar turlari.

Tayanch iboralar.

Identifikator, o’zgaruvchilar, varables, berilganlar, o’zgaruvchilar qiymati.

C # da identifikator - bu usulga, o'zgaruvchiga yoki foydalanuvchi tomonidan belgilangan boshqa har qanday elemd ent elementiga berilgan ism. Identifikatorlar bir yoki bir nechta belgidan iborat bo'lishi mumkin. O'zgaruvchan nomlar alfavitning har qanday harfidan yoki pastki chiziq bilan boshlanishi mumkin. Buning ortidan xat, raqam yoki pastki chiziq chizilgan bo'lishi mumkin. Pastki chiziq belgisidan foydalanish o'zgaruvchan nomning o'qilishini yaxshilashi mumkin, masalan line_count. Ammo ketma-ket ikkita pastki chiziqni o'z ichiga olgan identifikatorlar, masalan, max__valuekompilyator tomonidan foydalanish uchun ajratilgan. C # harfida katta va kichik harflar ajratilgan. Masalan, myvarva MyVarhar xil o'zgaruvchan nomlar. Quyida haqiqiy identifikatorlarning ba'zi bir misollari keltirilgan.



Test

X

Y2

MaxLoad

up

top

myvar

sample23

Shuni esda tutingki, identifikator raqam bilan boshlana olmaydi. Masalan, 12Xyaroqsiz identifikator. Nomlangan elementlarning maqsadini yoki ishlatilishini aks ettiruvchi identifikatorlarni tanlash yaxshi dasturiy amaliyotdir.

Zaxira qilingan kalit so'zlardan identifikator sifatida foydalanish mumkin emasligiga qaramay, C # oldindan @aniqlangan kalit so'zga haqiqiy identifikator sifatida ruxsat beradi . Masalan, @forhaqiqiy identifikator. Bunday holda, kalit so'z aslida identifikator sifatida ishlatiladi forva belgiga @shunchaki e'tibor berilmaydi. Quyida imzolangan identifikatordan foydalanishni namoyish etuvchi dastur namunasi keltirilgan @.



// Продемонстрировать применение идентификатора со знаком @.
using System;
class IdTest {

static void Main() {

int @if; // применение ключевого слова if

//в качестве идентификатора
for (@if = 0; @if < 10; @if++)

Console.WriteLine("@if равно " + @if);

}

}

Ushbu dasturning quyidagi natijasi @ifidentifikator sifatida to'g'ri talqin qilinganligini tasdiqlaydi.



@if равно 0

@if равно 1

@if равно 2

@if равно 3

@if равно 4

@if равно 5

@if равно 6

@if равно 7

@if равно 8

@if равно 9

To'liq adolat uchun, imzolangan kalit so'zlardan @identifikator sifatida foydalanish maxsus holatlardan tashqari tavsiya etilmaydi. Bundan tashqari, belgi @har qanday identifikatordan oldin bo'lishi mumkin, ammo bu dasturlash amaliyoti yomon deb hisoblanadi.

C # identifikatorlari

Men bu erda C-Sharp-ga dars berishni boshladim, hamma narsadan hayronman, xuddi bolam kabi, birinchi sahifalaridanoq.





9-qatorga e'tibor bering, bu juda qiziq, men Unicode belgilarini (bir xil PCP) o'zgaruvchan nomlar sifatida ishlatishingiz mumkin bo'lgan tillarni uchratdim va bu erda, shuningdek, chiziq chizig'i yordamida Unicode belgilarini yozishingiz mumkin!

Masalan, men uchun o'zgaruvchining nomi sifatida men " mushukning yuzida ko'zlari xirillagan yuzi bilan " belgisini ishlataman (hamma ham ko'rmaydi - 😸). Ikkinchi identifikator yanada qiziqroq.

Agar identifikator sifatida zaxiralangan so'zni ishlatishingiz kerak bo'lsa (yaxshi, albatta, kerak, va eng mos inglizcha so'z - bu zahiralangan so'z), siz uni "doggie" so'zi bilan boshlashingiz va shu shaklda ishlatishingiz mumkin (10-qatorga qarang).

Yuqoridagi dastur tuziladi va xatosiz ishlaydi.

Va men o'tkazib yuborgan narsa: jingalak qavslar mahalliy miqyosni yaratadi (Perl singari), garchi men ushbu blokda allaqachon mahalliy blokda mavjud bo'lgan o'zgaruvchini aniqlay olmasam va faqat yopilishidan oldin hayratlanarli qoida.

Xo'sh, yaxshi, umuman olganda, bu kod tuzilmaydi , oxirgi satrda @string o'zgaruvchisi yo'qligini ko'rsatuvchi xato bo'ladi :



{

    string @string = @"string ""string""";

    Console.WriteLine (@string.Insert (1, "tt"));

}
Console.WriteLine (@string); // ошибка!

Men duch kelaman deb o'ylamagan narsa - avtomatik translatsiya. Go yoki C kabi bo'lishiga qandaydir ishonchim komil edi (men faqat C-Sharp haqida eshitgan edim, lekin aniq bir narsani bilmas edim) - o'zgaruvchilarni bitta turga o'zgartirishingiz kerak va shundan keyingina u bilan biror narsa qilishingiz kerak ... Hech narsa shunga o'xshamadi:



byte байтраз = 3, байтдва = 5;
// строка кода ниже выведет System.Int32 (а не System.Byte, как я ожидал)

// арифметические операции определены только для типов int и больше,

// поэтому произойдёт преобразование типов

Console.WriteLine ((байтраз + байтдва).GetType());
Console.WriteLine ("Первый байт равен: " + байтраз); // строки спокойно складываются с числами

Yana bir qiziq narsa, haddan tashqari tekshirishni o'chirib qo'yish (istisno odatiy holatda bo'ladi), ehtimol C xatti-harakatlariga muvofiqligi uchun:



int int1, int2;

unchecked {

    int1 = int2 = System.Int32.MaxValue;

    int1 += int2;

}

Console.WriteLine (int1); // выведет -2

Literal ( literal ) - sobit (doimiy) qiymatga ega bo'lgan dastur kodidagi yozuv. Literallar, shuningdek, ma'lumotlarning ayrim turlarini matn satrlari sifatida ifodalashni ham nazarda tutadi. Literallar yordamida C # tilida qiymatlar o'zgaruvchilarga uzatiladi.

To'g'ridan-to'g'ri turlari:



  • mantiqiy yoki mantiqiy;

  • tamsayı;

  • haqiqiy yoki kasr;

  • ramziy;

  • ip;

  • tom ma'noda massivlar;

  • ob'ektiv yozuvlar;

  • null so'zma-so'z.

Mantiqiy (mantiqiy) adabiyotlar


.Net-da ikkita mantiqiy ( bool ma'lumotlar turidan ) doimiylar mavjud: true va false :

bool isEmpty = true;

bool loaded = false;

Butun sonli adabiyotlar


Ushbu so'zma-so'z turi musbat va manfiy tamsayılarni ifodalash uchun mo'ljallangan, masalan -9, 0, 11, 42.

C # har xil sanoq tizimlari uchun raqamli harflarni qo'llab-quvvatlaydi.


Ikkilik (ikkilik)


C # 7.0 da kiritilgan. Ular raqamlarni ikkilik sanoq tizimida yozish uchun ishlatiladi, raqamning oldiga 0b , so'ngra nollar to'plami va ikkilik shaklda qo'shilishi kerak: 0b101, 0b100111, 0B001010 .

Ikkilik adabiyotlarda formatlash uchun "_" pastki chizig'idan foydalanishingiz mumkin: 0b____1011 0b00001011 bilan bir xil .


Oktal


Sakkizli sanoq tizimidagi raqamlarni ko'rsatish uchun mo'ljallangan 0 prefiksi ishlatiladi , undan keyin sakkizinchi raqam (0 dan 7 gacha) yoziladi: 0123, 0742, 0349 .

O'nli


O'nli sanoq sistemasida yozib oling. Raqamlar biz uchun odatiy shaklda yozilgan: -5, 12, 78 .

Hexadecimal


O'n oltilik sanoq tizimi uchun ishlab chiqilgan 0x prefiksidan foydalaniladi , shundan so'ng raqam o'n oltinchi tizimda yoziladi (0 dan 9 gacha va A dan Fgacha): 0x12, 0xA56B, 0xff430c1 .

Belgilarning ishi kompilyator tomonidan ajratilmaydi: 0b01 0B01, 0xaBc = 0XAbC = 0xABC bilan bir xil .

//бинарный, двоичный литерал

int binNum = 0b10101010;
//восьмеричный

int octNum = 017212;
//десятичный

int decNum = -924;
//шестнадцатеричный

int hexNum = 0xFF0CAA;

Haqiqiy adabiyotshunoslar


Kesirli sonlarni yozish uchun kasr yoki haqiqiy literallardan foydalaniladi. Ushbu tom ma'noda yozuvning ikki shakli mavjud.

Belgilangan raqamlar - Ushbu shaklda raqamning butun qismi kasr qismidan "." Nuqtasi yordamida ajratiladi. Masalan: 3.1415, -2.0012, 1.137.

Eksponensial shakl - bu belgi shaklida haqiqiy son mantissa va tartibga ega.

Soni Number = mantis 10 p mantis mantis bo'lib, p, deb yozilgan tartibi hisoblanadi soni = mantis E p .

Misollar:


  • 1000 = 1 10 3 = 1e3;

  • 23400 = 2.34 ⋅ 10 4 = 2.34e4;

  • -0.00000056 = -5.6 ⋅ 10 -7 = -5.6e-7;

Ko'rsatkichli yozuvlarda E belgisining ishi ahamiyatsiz.

double pi = 3.141592;

double x = 1.542e-9;

double k = 9.78e12;

Belgilar literallari


Shaxsiy harflarni (belgilarni) yozish uchun C # tilida belgilar literallaridan foydalaniladi. Belgilar bitta tirnoq bilan ifodalanadi: 'a', 'x', '%'.

Oddiy belgilar bilan bir qatorda, C # - bu boshqariladigan ketma-ketliklar ( qochish ketma-ketligi ) deb ataladi . Ular maxsus belgini aks ettirishga mo'ljallangan, ular teskari chiziq shaklida yozilgan, keyin esa belgi.


Eng keng tarqalgan qochish ketma-ketliklari:


Boshqarish ketma-ketligi

Qiymat

\ b

Orqaga qaytarish

\ n

Yangi qator tanaffusi

\ r

Vagonni qaytarish

\ t

Landshaft yorliq

\ v

Vertikal yorliq

\’

Bitta taklif (apostrof)

\”

Ikkita taklif

\\

Orqa chiziq

\ xHH

O'n oltinchi belgida ASCII belgisi

\ uHH

Onaltılıkli yozuvdagi unikod belgisi

Qochish ketma-ketliklaridan foydalanish:

char c = 'D';

Console.Write('\t'); //вывод символа табуляции

Console.Write('\n'); //переход на новую строку

Console.Write('\x64'); //символ @

Console.Write('\u263A'); //смайл ''

String litals


String literallari - bu ikki qavatli tirnoq ichiga olingan belgilar qatori. Qochish ketma-ketligi string stringerlarida ham ishlatilishi mumkin.

string emptyString = ""; //пустая строка

string name = "Оксана";

Console.WriteLine("123\t456");

Console.WriteLine("Привет\nМир");

Console.WriteLine("Так можно вывести смайл - \u263A");

Array-literallar


Massivlar - bu massivni boshlash uchun harflar. Siz yozuvlarning ikkita shaklidan foydalanishingiz mumkin: ma'lumotlar turi bilan va tursiz.

int[] arr1 = new int[] { 1, 2, 3, 4, 5 };

int[] arr2 = new[] { 10, 20, 30, 40, 50 };

Ob'ektga oid yozuvlar


Ob'ektlarni ishga tushirish uchun foydalaniladi.

Masalan, sinf uchun



public class Person

{

public string Name { get; set; }

public int Age { get; set; }

}

ob'ekt tom ma'noda quyidagi shaklda bo'ladi:



Person user = new Person { Name = "Artem", Age = 21 };

null so'zma-so'z


null - bu qiymatning yo'qligini ko'rsatadigan (ya'ni o'zgaruvchining qiymatlari yo'qligini yoki ob'ekt yo'qligini ko'rsatadigan) maxsus mos yozuvlar turi.

string s1 = null; //у строки нет значения

string s2 = ""; //пустая строка

string s3 = null;

Console.WriteLine(s1 == s2); //выведет False, потому что, пустая строка и строка без значения не одно и то же самое.

Console.WriteLine(s1 == s3); //выведет True

Savol va topshiriqlar.

  1. o'zgaruvchini saqlash uchun zarur bo'lgan xotira miqdori;

  2. ichki ma'lumotlar tarkibi;

  3. o'zgaruvchining olishi mumkin bo'lgan minimal va maksimal qiymatlar;

  4. usullar, maydonlar va hodisalar;

  5. tayanch turi;

  6. o'zgaruvchisi joylashgan xotiradagi joy;

  7. unga tegishli operatsiyalar.

https://programm.top/c-sharp/tutorial/data-types/
Download 73.88 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling