Змінні та константи

Змінні та константи


Зміст



1. Для чого у програмі використовуються константи та змінні?

Константи та змінні є основними об’єктами, що використовуються в програмі. Константи та змінні – це іменовані об’єкти, для яких виділяється пам’ять.

Значення константи обов’язково встановлюється при її оголошенні в програмі.

На відміну від змінної значення константи не може змінюватись програмно. Якщо константа вже оголошена, то при спробі присвоїти константі яке-небудь нове значення компілятор видасть повідомлення про помилку.

Усі змінні та константи повинні бути оголошені до їх застосування. Це потрібно, щоб повідомити компілятор про тип даних, що зберігається в змінній. Якщо відомий тип змінної, то компілятор здійснює відповідну компіляцію будь-якого оператору, в якому використовується дана змінна.

 


2. Яким чином в C# оголошується константа? Приклади оголошення констант.

Константа оголошується з допомогою оператора наступної форми:

const тип ім’я_константи = значення;

де

constключове слово, що визначає що це саме константа; тип – тип даних, що зберігаються в константі; ім’я_константи – ім’я константи; значення – значення константи, яке є незмінним у програмі.

Приклад опису констант.

const decimal m = 333897987.3949M; // константа типу decimal
const double pi = 3.1415; // константа типу double
const bool YES = true; // константа типу bool
const int Max = 255; // константа типу int
const char AnswerYes = 'Y'; // константа типу char
const string Str = "Constant String"; // константа типу string

 


3. Як в програмі оголошується змінна? Приклади оголошення змінних.

Змінні оголошуються з допомогою оператора наступної форми:

тип ім’я_змінної;

де тип – це тип даних, що зберігаються в змінній; ім’я_змінної – це її ім’я.

Оголосити змінну можна будь-якого типу, що існує в програмі. Тип змінної може бути також типом значення.

Приклад оголошення змінної, що має тип-значення.

double d, f; // 2 змінні типу double
int i, j; // 2 змінні типу int
bool answer; // змінна типу bool
char c; // змінна типу char
string s; // змінна типу string

d = 2.939;
f = -29309.39;
i = 50;
j = -300;
c = '=';
s = "This is a text";
answer = false;

 


4. Приклад оголошення змінної, що є структурою.

В мові C# структура відноситься до типу-значення а не до типу-класу.

Приклад опису змінної, що є структурою типу MyPoint, яка визначає координати точки на площині.

...

struct MyPoint
{
    public int x;
    public int y;
};

...

MyPoint mpt; // опис змінної mpt типу MyPoint

// присвоєння значень внутрішнім полям змінної mpt
mpt.x = 20;
mpt.y = -30;

...

 


5. Приклад оголошення змінної що є перечисленням (зчисленням).

У наступному прикладі оголошується змінна, що є типу enum Months, який є перечисленням.

enum Months { January, February, Murch, April, May, Jun,
              July, August, September, October, November, December };

...

Months mn;
Months mn2;

mn = Months.January;
mn2 = mn + 1; // mn2 = Months.February

...

 


6. Як здійснюється ініціалізація змінної? Приклади ініціалізації змінних.

Ініціалізація дозволяє задати початкове значення змінної при її оголошенні.

Загальна форма ініціалізації змінної має наступний вигляд:

тип ім’я_змінної = значення;

де

тип – це тип даних, що зберігаються в змінній; ім’я_змінної – це її ім’я; значення – це конкретне значення, що задається при створенні змінної.

Приклади ініціалізації змінних:

int i = -463; // встановити початкове значення -463 для змінної i
double d = 2093.9903; // встановити значення 2093.9903 для змінної d
float f = -10039.39f;
char c = '%';
short sh = -30;
bool b = true;

Можна здійснювати ініціалізацію змінних вибірково. Наприклад:

long l1 = 20003909, l2, l3 = 48938938984; // ініціалізуються змінні l1 та l3
string s, s1 = "Hello ", s2 = "world!", s3 = s1 + s2; // s3 = "Hello world!"

 


7. Як в C# реалізується динамічна ініціалізація змінних?

При динамічній ініціалізації змінної в якості ініціалізаторів використовуються не константи (літерали) а вирази. Ці вирази на момент оголошення змінної мають бути дійсними.

const double pi = 3.1415926535;
double r = 2; // радіус
double s = pi * r * r; // s = 12.566370614
double h = 3, v = s * h; // v = 37.699111842 - об'єм циліндра радіуса r = 2, висоти h = 3

 


8. Як в C# описуються неявно типізовані змінні?

Починаючи з версії C# 3.0 компілятор має можливість самостійно визначати тип локальної змінної. Цей тип визначається на основі значення, яким змінна ініціалізується. Значенню відповідає деякий літерал, що описується згідно синтаксису C#.

Така змінна називається неявно типізованою.

Для оголошення неявно типізованої змінної використовується ключове слово var. У цьому випадку ініціалізація змінної є обов’язковою.

Загальний вигляд опису неявно типізованої змінної:

var ім’я_змінної = значення;

де

var – ключове слово; ім’я_змінної – це ім’я змінної; значення – це конкретне значення, що задається при створенні змінної.

Приклади опису неявно типізованих змінних:

var pi = 3.1415; // pi - типу double
var r = 3.39948f; // r - типу float
var h = 4393489348934.03290889m; // h - типу decimal
var i = 23; // i - типу int
var j = 38L; // j - типу long
var k = 30920039092UL; // k - типу ulong
var c = '&'; // c - типу char
var s = "C# 4.0"; // s - типу string

// var z = 3.8, y = 9.5; - помилка: одночасно можна описувати тільки одну типізовану змінну

 


9. Скільки неявно типізованих змінних можна описувати одночасно?

Одночасно можна описувати тільки одну типізовану змінну.

При такому описі буде помилка, тому що описано дві змінні:

// помилка!
var z = 3.8, y = 9.5;

 


10. Приклад опису неявно типізованої змінної, що є перечисленням.

Приклад опису неявно типізованої змінної, що є перечисленням (зчисленням) типу DaysOfWeek.

...

enum DaysOfWeek
{
    Sunday, Monday, Tuesday, Wednesday,
    Thursday, Friday, Saturday
};

...

var dw = DaysOfWeek.Saturday; // dw - типу DaysOfWeek

 


11. Що визначає область дії локальної змінної?

Область дії локальної змінної визначається блоком коду. Блок коду починається з фігурної відкритої дужки ‘{‘ та закінчується фігурною закритою дужкою ‘}.

...

{
  // область дії локальної змінної

  ...

}

...

Область дії визначає видимість імен констант і змінних без додаткового уточнення. Також область дії визначає час існування локальної змінної.

В C# область дії визначається класом або методом.

Області дії можуть бути вкладеними. Коли створюється кодовий блок, тоді створюється і вкладена область дії. В цьому випадку зовнішня область дії охоплює внутрішню область дії. Це означає, що локальні змінні та константи, що оголошені у зовнішній області дії будуть доступні у внутрішній області дії:

...

{
    // зовнішній блок
    int i;
    double d;

    ...
    {
        // внутрішній блок
        int z;

        ...

        i = 25;   // є доступ до змінних i та d
        d = 2329.344;
        z = -209; // z є доступна тільки у внутрішньому блоці

        ...

    }

    // Помилка! Змінна z тут недоступна
    // z = 123;

}

...

 


Зв’язані теми