Полная версия

Главная arrow Информатика arrow Введение в программирование на языке Visual C#

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Типы данных

Типы данных относятся к самым фундаментальным понятиям любого языка программирования. Тип данных определяет множество допустимых значений, которое может принимать указанная переменная.

Типы различаются между собой диапазоном допустимых значений, количеством значащих цифр и количеством байтов, необходимых для хранения данных в памяти компьютера.

Описание констант

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

const ТипДанных ИмяКонстанты = Значение;

Например:

const int gruppa = 25;

или другой пример:

namespace ConsoleApplicationl {

class Program {

public const string my="student"; public const double mypi=3.1415926;

static void Main(string[] args)

{

}

}

}

Описание переменных

При объявлении переменной указывается имя переменной и ее тип, каждый тип данных определен в пространстве имен System.

Целые типы данных

В табл. 1 представлены типы целочисленных переменных.

Таблица 1. Типы целочисленных переменных

Тип

Диапазон

Размер в байтах

sbyte

-128 ... 127

1 байт

byte

0...255

1 байт

short

-32768 ... 32767

2 байта

ushort

0 ... 65535

2 байта

int

-2147483648...2147483647

4 байта

uint

0..42 944 967 295

4 байта

long

-9223372036854775808...9223372036854775807

8 байт

ulong

0... 18446744073709551615

8 байт

Например: int а = 5 ; int b = а*2 ;

Над данными целого типа определены следующие арифметические операции: + сложение

вычитание * умножение

/ деление

% остаток от целочисленного деления

Результат операции % можно вычислить по формуле: а % Ь = а - (а / Ь)*Ь.

Ниже приведены результаты выполнения примеров с помощью операции %: 36 % 6 = О 5 % 2 = 1 2 % 5 = 2 20 % 3 = 2 0 % 5 = 0

Вещественные типы данных

В языке Visual С# допускается представление вещественных (дробных) значений в форме с плавающей и фиксированной точкой.

В форме с фиксированной точкой число представляется последовательностью десятичных цифр со знаком плюс или минус. Например:

7.32; 456.721; 0.015; 192.0; -15.0

Форма с плавающей точкой (экспоненциальный формат) используется для представления очень больших или очень маленьких чисел. В этой форме число записывается в виде:

± тЕ ± р

где щ — мантисса числа; Е — символ, обозначающий основание десятичной ССЧ; р — порядок (степень) числа.

Например:

7.32Е+00 ; 4.56721Е+02 ; 1.5Е-02 ; 1.92Е+02; -1.5Е+01 ;

В табл. 2 представлены типы вещественных переменных.

Таблица 2. Типы вещественных переменных

Тип

Диапазон

Размер в байтах

float

1.5 IO'45 ... 3.4 10зх

4

double

5.0 КГ324 ... 1.7 103?X

8

Например: float а = 5.1; float b = а*2.1;

Тип результата при выполнении арифметических операций зависит от типов операндов (данных), поэтому при разработке программ следует учитывать следующие замечания.

1. Выражение, составленное из переменных целого и вещественного типов, имеет вещественный тип.

Например:

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

double a = 5.1; int b = 5;

int c = a + b ; //ошибка — переменная с описана целочисленным типом

Console.WriteLine("Результат = " + с);

Console.ReadLine();

}

}

}

Следовательно, переменную с необходимо описать типом double.

2. При выполнении оператора присваивания тип выражения, стоящего в правой части, должен соответствовать типу переменной в левой части.

Например:

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

double a = 5.1; double b = 5.2; double c = a + b;

Console.WriteLine("Результат = " + c) ; Console.ReadLine();

}

}

}

3. Допускается присваивание переменной вещественного типа значение выражения целого типа, но не наоборот.

Например:

Первый случай:

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

int a = 5; int b = 5;

double c = a + b; //допускается Console.WriteLine("Результат = " + c);

Console.ReadLine();

}

}

}

Второй случай:

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

double a = 5.1; double b = 5.2;

int c = a + b; //не допускается Console.WriteLine("Результат = " + c);

Console.ReadLine();

}

}

}

Символьные типы данных

Значением символьного типа является множество всех символов персонального компьютера. Каждому символу приписывается целое число в диапазоне от

0...255. Это число служит кодом внутреннего представления символа, и все коды записаны в таблицу ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией).

В языке Visual C# переменные символьного типа описываются типом char. Например:

char v = ЧУ ;

В программе значения переменных и констант символьного типа должны быть заключены в апострофы.

Строковые типы данных

Значениями строковых переменных являются строковые константы (строки). В языке Visual C# переменные строкового типа описываются типом string.

string name = "Студент";

Строка является объектом класса String пространства имен System. Любая переменная строкового типа является экземпляром класса String, и, чтобы воспользоваться его свойством или методом, следует после имени переменной или литерала добавить точку и за ней название свойства или метода.

Иногда бывает необходимость указать компьютеру, в каком виде (формате) мы хотим получить результат. Для этого следует использовать метод Format (см. листинг 3). В скобках располагаются через запятую два аргумента. Первый аргумент — номер параметра. Второй аргумент — минимальная ширина поля, которая отводится под выводимое значение. Также может быть указан так называемый спецификатор формата, с помощью которого можно задать количество позиций, отводимых под дробную часть числа.

Возможные шаблоны форматирования строк с использованием метода Format и их описание приведены в табл. 3.

Таблица 3. Шаблоны форматирования строк

Шаблон

Пояснение

#

Число в обычном виде и без дробной части

0

Число в обычном виде и без дробной части

U йШ

ТТ.ТҐТҐТҐ

Число в обычном виде. После запятой пользователь видит не больше 3 знаков, целая часть дроби будет показана полностью

0.000

Число в обычном виде. После запятой пользователь видит не больше трех знаков, целая часть дроби будет показана полностью

Е

Число показывается в экспоненциальной форме

Листинг 3

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

double a=5.3111111 ;

Console.WriteLine ("{0:,a); Console.WriteLine ("{0:#.###}", a) ; Console.WriteLine ("{0:0}",a); Console.WriteLine ("{0:0.000}",a); Console.WriteLine ("{0:e}",a); Console.ReadLine();

}

}

}

На рис. 2 показан результат работы программы.

Число 5.3111111 представлено в различных форматах

Рис. 2. Число 5.3111111 представлено в различных форматах

В некоторых задачах предполагается буквальное воспроизведение строк. В этом случае в Visual С# используется префикс @.

Например:

Листинг 4

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

Console.WriteLine (©"double a=5.3111111;" );

Console.ReadLine();

}

}

}

На рис. 3 показан результат работы программы.

Строка выводится без изменений

Рис. 3. Строка выводится без изменений

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

Например, вставка в строку п приведет к переходу на новую строку, что отражено на рис. 4.

Console.WriteLine ("double а=5.З l l l l l l;" );

Вставка символа п приводит к переходу на новую строку

Рис. 4. Вставка символа п приводит к переходу на новую строку

Вставка в строку приведет к вставке знака табуляции, что отражено на рис. 5.

Console.WriteLine ("double а=5.3 l l l l l l;" );

Вставка символа t приводит к вставке знака табуляции

Рис. 5. Вставка символа t приводит к вставке знака табуляции

Вставка в строку " приведет к вставке двойной кавычки, что отражено на рис. 6.

Console.WriteLine ("double а=5.3"1 l l l l"1;" );

Вставка символа " приводит к вставке двойной кавычки

Рис. 6. Вставка символа " приводит к вставке двойной кавычки

Вставка в строку приведет к вставке обратного слеша, что может быть полезно при указании пути к диску или файлу, что отражено на рис. 7.

Console.WriteLine("double а=5.3l l l l ll;");

Вставка символа  приводит к вставке обратного слеша

Рис. 7. Вставка символа приводит к вставке обратного слеша

Логические типы данных (Булевский тип)

Переменные этого типа могут принимать одно из двух значений: true (истина) или false (ложь). Например, значение логического выражения 5 > 3 есть Истина, а значение 5 = 3 — Ложь. Значение условия а > 5 зависит от значения переменной а и не определено до тех пор, пока неизвестно значение величины а.

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

bool а = true; bool b = false;

Результат операции сравнения — это логическое значение, поэтому в Visual C# разрешена запись: int d = 6; bool а = d > 5;

В последнем случае переменной а присваивается значение true, если d > 5, и false — в противном случае.

Над данными логического типа могут выполняться логические операции, приведенные в табл. 4.

Таблица 4. Логические операции__

Операция

Действие

Выражение

&& (конъюнкция)

Логическое И

А && В

(дизъюнкция)

Логическое ИЛИ

А В

!(отрицание)

Логическое НЕ

! А

В листинге 5 приведен пример использования логических операций.

Листинг 5

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

bool a=true ; if (a && a)

есть True

есть True False

Console.WriteLine (а); //результат if (a || a)

Console.WriteLine (а); //результат Console.WriteLine(!a); //результат есть Console.ReadLine();

}

}

Тип данных DateTime

Тип DateTime служит для получения текущего времени, даты, которая может содержать месяц, день, год.

В листинге 6 приведен пример использования типа DateTime.

Листинг 6

namespace ConsoleApplicationl {

class Program {

static void Main(string[] args)

{

DateTime c = new DateTime(1962,08,28);

Console.WriteLine ("Я родился в {0} (вторник). Это {1} день в году", c.DayOfWeek, с.DayOfYear);

Console.ReadLine();

}

}

}

На рис. 8 показан результат работы программы.

Результаты работы программы

Рис. 8. Результаты работы программы

Явное преобразование типов

Как известно, компилятор должен иметь возможность определить тип каждой переменной. Кроме того, если одной переменной присваивается значение другой и при этом необходимо преобразование типов (например, от double к int), такое преобразование должно быть явным.

Например:

static void Main(string[] args)

{

double x = 5.8;

int f = (int)x; //осуществляется преобразование Console.WriteLine("Результат = " + f) ;

Console.ReadLine();

}

Ответ в примере f = 5.

Комментарии

Для лучшего понимания программы в ней часто записывается пояснительный текст — комментарий. Комментарии выполняют несколько важных функций:

  • • делают программу легко читаемой, поясняя смысл отдельных программных строк;
  • • временно отключают фрагменты программы при ее отладке.

В языке Visual C# существует несколько способов ввода комментариев:

  • • применение двойного слеша //
  • • применение многострочных комментариев.

Например:

sum = а + b ; // Вычисляется сумма двух чисел

sum = а + b ; /*Используем переменные а и b для вычисления их суммы*/

 
<<   СОДЕРЖАНИЕ   >>