Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

С# лекция№1

.pdf
Скачиваний:
25
Добавлен:
10.06.2015
Размер:
1.69 Mб
Скачать

Нотации

Понятные и согласованные между собой имена — основа хорошего стиля. Существует несколько нотаций — соглашений о правилах создания имен.

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

Нотация Паскаля - каждое слово начинается с прописной буквы:

MaxLength, NewWorldOrder

Camelnotation - с прописной буквы начинается каждое слово, составляющее идентификатор, кроме первого:

maxLength, newWorldOrder

21

Другие типы данных

int – целочисленный (например: 100);

float, double – с плавающей точкой (например: 100.1);

string – строковый.

Пример программы, демонстрирующей отличия между типами int и double:

static void Main(string[] args)

{

int ivar; // объявить целочисленную переменную

double dvar; // объявить переменную с плавающей точкой ivar = 100; // присвоить переменной ivar значение 100 dvar = 100.0; // присвоить переменной dvar значение 100.0 Console.WriteLine("Исходное значение ivar: " + ivar); Console.WriteLine("Исходное значение dvar: " + dvar); Console.WriteLine(); // вывести пустую строку

// Разделить значения обеих переменных на 3. ivar = ivar / 3;

dvar = dvar / 3.0; -

Console.WriteLine("Значение ivar после деления: " + ivar);

Console.WriteLine("Значение dvar после деления: " + dvar);

}

Результат выполнения программы:

Исходное значение ivar: 100

Исходное значение dvar: 100

Значение ivar после деления: 33

Значение dvar после деления: 33.3333333333333

22

Другие типы данных

Пример программы, вычисляющей площадь круга:

static void Main(string[] args)

{

double radius; double area; radius = 10.0;

area = radius * radius * 3.1416; Console.WriteLine("Площадь равна " + area);

}

Результат выполнения программы:

Площадь равна 314.16

23

Типы значений в C#

Помимопростых типов, в С# определены еще три категории типов значений: перечисления, структуры и обнуляемыетипы.

24

Целочисленные типы

Целочисленные типы со знаком по абсолютнойвеличине наполовинуменьше своих аналогов без знака.Вот как, например, выглядитчисло 32 767типа short в двоичном представлении.

0111111111111111

Еслиустановить старшийразряд этого числа равным1, чтобы получить значение со знаком, то оно будет интерпретировано как-1, принимая во вниманиеформат дополнения до двух.

Но если объявитьего как значениетипа ushort, то после установки в 1старшего разряда оно станет равным65535.

25

Целочисленные типы

Пример: Вычисление расстояния от Земли до Солнца в дюймах

static void Main(string[] args)

{

long inches; long miles;

miles = 93000000; // 93 000 000 миль до Солнца

// 5 280 футов в миле, 12 дюймов в футе, inches = miles * 5280 * 12;

Console.WriteLine("Расстояние до Солнца: " + inches + " дюймов.");

}

результат выполненияэтойпрограммы:

Расстояние до Солнца: 5892480000000 дюймов.

26

Типы дляпредставлениячисел с плавающей точкой

Разрядность типа float составляет 32 бита, что приближенно соответствует диапазону представления чисел от 5Е-45 до 3,4Е+38.

А разрядность типа double составляет 64 бита, что приближенно соответствует диапазону представления чисел от 5Е-324 до 1,7Е+308.

Пример:Вычисление площади круга

static void Main(string[] args)

{

Double r; Double area; area = 10.0;

r = Math.Sqrt(area / 3.1416); Console.WriteLine("Радиус равен " + г);

}

Результат выполнения программы :

Радиус равен 1.78412203012729

27

Десятичный тип данных

Десятичный тип имеет разрядность 128 бит для представления числовых значений в пределах от 1Е-28 до 7,9Е+28.

Пример: цена со скидкойрассчитывается на основании исходной цены и скидки в процентах

static void Main(string[] args)

{

decimal price; decimal discount;

decimal discounted_price;

// Рассчитать цену со скидкой. price = 19.95m;

discount = 0.15m; // норма скидки составляет 15% discounted_price = price - (price * discount); Console.WriteLine("Цена со скидкой: $" + discounted_price);

}

Результат выполнения программы:

Цена со скидкой: $16.9575

28

Символы

В С# символыпредставлены не 8-разрядным кодом, как во многих других языкахпрограммирования, например C++, а 16-разрядным кодом, который называется уникодом(Unicode).

В С# определен тип char, представляющий 16-разрядные значения без знака в пределах от 0 до 65 535. При этом стандартный набор символовв 8-разрядном коде ASCII является подмножеством уникодав пределах от 0 до 127.

Следовательно, символыв коде ASCII по-прежнему остаются действительными в С#.

Пример:переменной ch присваивается символ X.

char ch;

ch = ‘X’;

Значениетипа char можно вывести наэкран с помощью метода WriteLine ().

Console.WriteLine ("Значение ch равно: " + ch);

В С# отсутствует автоматическое преобразование символьныхзначенийвцелочисленные:

char ch;

ch = 88; // ошибка преобразования

29

Логический тип данных

Типbool представляет два логических значения:«истина» и «ложь» (true и false).

Кроме того, вС# неопределено взаимное преобразованиелогических и целых значений.Например, 1 не преобразуется в значениеtrue, а 0 — в значение false.

Пример:

static void Main(string[] args)

{

bool b;

b = falser -

Console.WriteLine("b равно " + b); b = true;

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

//Логическое значение может управлять оператором if. if (b) Console.WriteLine("Выполняется.");

b = false;

if (b) Console.WriteLine("He выполняется.");

//Результатом выполнения оператора отношения

//является логическое значение.

Console.WriteLine("10 > 9 равно " + A0 > 9);

}

Эта программа дает следующий результат:

b равно False

b равно True

Выполняется.

10 > 9 равно True

30