Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Podbelsky_V_V_C_Bazovy_kurs.pdf
Скачиваний:
69
Добавлен:
02.06.2015
Размер:
1.73 Mб
Скачать

26

Г л а в а 2

 

 

последовательностью можно представить любой символ

Юникода. Формат такого представления: '\uhhhh',

где h – шестнадцатеричная цифра, u – обязательный префикс. Предельные значения от '\u0000' до '\uFFFF'.

Пример: '\u0066' соответствует символу 'f'

Разрешены также эскейп-последовательности вида '\xhh', где h- шестнадцатеричная цифра, x – префикс. Например, '\x2B' представляет код символа 't'.

2.4. Объявления переменных и констант базовых типов

По традиции, унаследованной от языков Си и С++, новый экземпляр (переменная) простого типа вводится с помощью объявления:

type name = expression;

где type – название типа;

name – имя экземпляра (переменной);

expression – инициализирующее выражение (например, константа).

Объявление обязательно завершается точкой с запятой. Названия базовых типов с примерами объявлений приведены

втабл. 2.1. (см. [2]).

Водном объявлении могут быть определены несколько переменных одного типа:

type name1 = expression1, name2 = expression 2;

Переменные одного объявления отделяются друг от друга запятыми.

Пример:

double pi=3.141593, e=2.718282, c=535.491656;

 

Типы в языке C#

27

 

 

 

 

 

Таблица 2 . 1

 

Простые (базовые) типы значений

 

 

 

Тип

Описание

Примеры объявлений

 

 

 

sbyte

8-битовый знаковый целый

sbyte val = 12;

(1 байт)

 

 

 

 

 

short

16-битовый знаковый целый

short val = 12;

(2 байта)

 

 

 

 

 

int

32-битовый знаковый целый

int val = 12;

(4 байта)

 

 

 

 

 

long

64-битовый знаковый целый

long val1 = 12;

(8 байт)

long val2 = 34L;

 

 

 

 

byte

8-битовый беззнаковый целый

byte val1 = 12;

(1 байт)

 

 

 

 

 

ushort

16-битовый беззнаковый целый

ushort val1 = 12;

(2 байта)

 

 

 

 

 

uint

32битовый беззнаковый целый (4

uint val1 = 12;

байта)

uint val2 = 34U;

 

 

 

 

 

 

ulong val1 = 12;

ulong

64битовый беззнаковый целый (8

ulong val2 = 34U;

байт)

ulong val3 = 56L;

 

 

 

ulong val4 = 78UL;

 

 

 

 

Вещественный с плавающей точкой

 

float

с одинарной точностью

float val = 1.23F;

 

(4 байта)

 

 

 

 

double

Вещественный с плавающей точкой

double val1 = 1.23;

с двойной точностью

double val2 = 4.56D;

 

(8 байт)

 

 

 

 

 

bool

Логический тип; значение или false,

bool val1 = true;

или true

bool val2 = false;

 

 

 

 

char

Символьный тип; значение – один

char val = 'h';

символ Юникода (2 байта)

 

 

 

 

 

 

Точный денежный тип, по меньшей

 

decimal

мере 28 значимых десятичных

decimal val = 1.23M;

 

разрядов (12 байт)

 

 

 

 

28

Г л а в а 2

 

 

Введя формат объявления переменных, следует остановиться на вопросе выбора их имен. Имя переменной – выбранный программистом идентификатор. Идентификатор — это последовательность букв, десятичных цифр и символов подчеркивания, которая начинается не с цифры. В языке C# в качестве букв допустимо применять буквы национальных алфавитов. Таким образом, правильными идентификаторами будут, например, такие последовательности:

Number_of_Line, объем_в_литрах, x14, mass.

В качестве имен, вводимых программистом, запрещено использовать служебные (ключевые) слова языка C#. Чтобы уже сейчас предостеречься от такой ошибки, обратите внимание на их список, приведенный в табл. 2.2.

 

 

 

 

Таблица 2 . 2 .

 

 

Служебные слова языка C#

 

 

 

 

 

 

abstract

as

base

bool

break

byte

case

catch

char

checked

class

const

continue

decimal

default

delegate

do

double

else

enum

event

explicit

extern

false

finally

fixed

float

for

foreach

goto

if

implicit

in

int

interface

internal

is

lock

long

namespace

new

null

object

operator

out

override

params

private

protected

public

readonly

ref

return

sbyte

sealed

short

sizeof

stackalloc

static

string

struct

switch

this

throw

true

try

typeof

uint

ulong

unchecked

unsafe

ushort

using

virtual

void

volatile

while

 

 

 

 

 

 

 

 

Типы в языке C#

29

 

 

Познакомившись со списком служебных слов, читатель сразу же обнаружит ошибку в следующем объявлении:

int try = 15; //Ошибка в имени переменной!

Инициализирующее выражение по типу вычисляемого значения должно соответствовать типу создаваемой переменной. Чаще всего это константа, однако, может быть любым выражением, операнды которого имеют конкретные значения в момент объявления переменной.

Примеры объявлений переменных:

double pi2=6.28; int два=2;

В объявлении переменной может отсутствовать инициализация. Однако, язык С# очень строг и не допускает существования в программе переменных с неопределёнными значениями. Поэтому после объявления переменной без её инициализации необходимо каким-то образом присвоить ей значение. Обычно для этого используют оператор присваивания:

имя_переменной = выражение;

Пример (удельный заряд электрона в единицах СГСЭ/г):

double electron_charge; // Объявление electron_charge=5.27e+17; // Присваивание значения

В отличие от литералов, которые сами по себе представляют собственные значения и не требуют предварительных объявлений, именованные константы вводятся с помощью конструкции:

const type name = expression;

Отличие от объявления переменной: наличие модификатора const и обязательность инициализации.

Контрольные вопросы

1.Чем отличаются типы знаковые от беззнаковых?

2.Приведите примеры констант-литералов всех числовых (арифметических) типов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]