Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ по ПЯВУ.docx
Скачиваний:
42
Добавлен:
07.07.2019
Размер:
72.69 Кб
Скачать

10.Булевские переменные в c#. Возможные значения. Операции над булевскими переменными. Использование логических выражений.

. Для Булева типа данных, bool, в C# определены

два значения true и false (истина и ложь).

Следовательно, переменная типа bool или

логическое выражение будут иметь одно из этих

двух значений. Более того , не существует способа

преобразования значений типа bool в целочисленные

значения. Например, значение 1 не преобразуется в

значение true, а значение 0 - в значение false.

Особенности использования булевой переменной.

Во-первых, при выводе значения типа bool с помощью

метода WrlteLine ( ) на экран выводится слово true

или false. Во-вторых, используя переменную типа bool

можно управлять оператором if. Если условием

выполнения оператора if является истинность

переменной то нет необходимости записывать

оператора if так: if (b - true) достаточно более короткое

выражение if (b). В-третьих, результатом выполнения

оператора сравнения такого как <, является значение

типа bool. Вот почему выражение 10>9 выводи на

экран значение true. Далее, дополнительная пара скобок,

в которые заключено выражение 10>9 , является

необходимой, поскольку оператор + имеет больший

приоритет, чем оператор > .

11.Строковые и символьные переменные в c#. Возможные значения и операции со строковыми и символьными переменными.

Строковые переменные.

Объекты класса String объявляются как все прочие

объекты простых типов - с явной или отложенной

инициализацией, с явным или неявным вызовом

конструктора класса. Чаще всего, при объявлении

строковой переменной конструктор явно

не вызывается, а инициализация задается

строковой константой. Но у класса String

достаточно много конструкторов. Они позволяют

сконструировать строку из:

- символа, повторенного заданное число раз;

- массива символов char [ ];

- части массива символов.

Операции над строками:

- присваивание (=);

- две операции проверки эквивалентности (==) и (!=);

- конкатенация или сцепление строк (+);

- взятие индекса ([ ]).

Символьные переменные.

Значением символьной переменной является один

символ из фиксированного набора. Такой набор

обычно включает буквы, цифры, знаки препинания,

знаки математических операций и различные

специальные символы (процент, амперсенд,

звездочка, косая черта и др.). Подчеркнем, что,

в отличие от строковой переменной, символьная

всегда содержит ровно один символ.

(Строковая содержит строку из нескольких символов.)

Конечно, в памяти компьютера никаких символов

не содержится. Символы представляются их

целочисленными кодами в некоторой фиксированной

кодировке. Кодировка определяется тремя параметрами:

- диапазоном значений кодов

- множеством изображаемых символов

- отображением множества кодов на множество символов.

12.Оператор присваивания. Явное и неявное преобразование типов данных при присваивании в C#.

Оператор присваивания указывается как

одинарный знак равенства (-). В C# он работает

практически также, как в любом другом языке

программирования. Оператор присваивания имеет

следующий синтаксис:

var - expression;

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

с типом выражения.

Оператор присваивания имеет одно интересное

свойство: позволяет создавать «цепочку присваиваний».

Пример:

int x, y, z;

x - y - z - 100;

(переменным x, y, z присваивается значение 100)

Такая последовательность переменных и оператор

допускается, поскольку оператор = присваивает

переменной, находящийся слева него, значение

выражения, находящегося справа. Следовательно,

выражение z =100 будет имеет значение 100, которое

присваивается переменной y, а затем - переменной x.

Используя «цепочку присваиваний», можно одним

значением легко инициализировать группу переменных.

В C# преобразования делятся на неявные и явные.

К неявным относятся те преобразования, результат

выполнения которых всегда успешен и не приводит к

потере точности данных. Неявные преобразования

выполняются автоматически. Для арифметических

данных это означает, что в неявных преобразованиях

диапазон типа назначения содержит в себе диапазон

исходного типа. Например, преобразование из типа

byte в тип int относится к неявным, поскольку

диапазон типа byte является подмножеством

диапазона int. Это преобразование всегда успешно и

не может приводить к потере точности. Заметьте,

преобразования из целочисленных типов к типам с

плавающей точкой относятся к неявным. Хотя здесь

и может происходить некоторое искажение значения,

но точность представления значения сохраняется,

например, при преобразовании из long в double порядок

значения остается неизменным. К явным относятся

разрешенные преобразования, успех выполнения

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

точности. Такие потенциально опасные преобразования

должны быть явно заданы программистом.

Преобразование из типа int в тип byte относится к явным,

поскольку оно небезопасно и может приводить к потере

значащих цифр. Заметьте, не для всех типов существуют

явные преобразования.

13.Арифметические выражения в C#. Целочисленные выражения и выражения с плавающей точкой. Порядок выполнения операций и их результаты.

14.Условные алгоритмы. Условный оператор if в C#. Примеры использования. Условный оператор switch в C#. Примеры использования.

Условный переход можно реализовать в

программе с помощью ключевых слов языка:

if, else или switch. Такой переход возможен только при

условии, если он является истинным.

if...else оператор

if...else — это оператор ветвления, работа которого

определяется условием. Условие оператора

анализируется инструкцией if. Если условие верно

(true), то выполняется блок инструкций программы,

описанных после условия.

if ( expression ) statement 1

[else statement2 ]

Такой вид этого оператора вы можете найти в

документации по С#.

Он показывает, что работа условного оператора

определяется булевым выражением (выражение,

которое имеет значение true или false) в круглых скобках.

Если значение этого выражения истинно, то выполняется

блок инструкций statementl. Если же выражение ложно,

произойдет выполнение блока инструкций statement2.

Необходимо заметить, что вторая часть оператора

(else statement^) может не указываться. Если инструкций

в блоках statementl или statement2 больше одной, то блок

обязательно нужно брать в фигурные скобки.

using System;

class Conditional

I

static void Mainf )

{

int valueOne = 20;

//устанавливаем второе значение больше первого

int valueTwo = 10;

if ( valueOne > valueTwo )

Console.WriteLine f

"valueOne: {0} больше чем valueTwo: fl}",

valueOne, valueTwo);

else

Console.WriteLine(

"valueTwo: {0} больше или равно valueOne: {1}",

valueTwo, valueOne);

//устанавливаем первое значение больше второго

valueTwo = 30;

if ( valueOne > valueTwo )

{

Console.WriteLine(

"valueOne: {0} больше чем valueTwo: (1)",

valueOne, valueTwo);

i

//делаем значения одинаковыми

valueOne = valueTwo;

iffvalueOne =" valueTwo)

{

Console.WriteLine (

"valueOne и valueTwo равны: {0}=={1}",

valueOne, vaiueTwo);

}

}

}

15. Циклические алгоритмы. Оператор цикла for в C#. Примеры использования.

Если еще раз внимательно посмотреть на примеры

(while, do...while, goto), можно заметить постоянно

повторяющиеся операции: первоначальная

инициализация переменной i, ее наращивание на 1

внутри цикла, проверка переменной i на

выполнение условия (i < 10). Цикл for позволяет

вам объединить все операции в одной инструкции.

for ( [инициализация ]; [ выражение]; [ наращивание] )

{

инструкция

}

Выполним тот же пример, но уже с использованием

цикла for:

using System;

public class ForCycle

{

public static int Main()

{

for (int i = 0; i < 10; i++)

{

Console.WriteLine("i: {0}", i);

}

return 0;

}

}

Результатом выполнения такого цикла будет вывод

на экран информации вида:

0

1

2

9

Принцип работы такой инструкции очень прост:

1. Происходит инициализация переменной i.

2. Выполняется проверка соответствия условию.

Если условие истинно, то происходит выполнение

блока вложенных инструкций; если условие

оказалось ложным, то цикл прекращается и

выполняется программа за фигурными скобками.

3. Переменная i увеличивается на 1.

Наращивание переменной внутри цикла происходит

на такое число единиц, на которое вы сами зададите.

Операция i++ означает «увеличить значение

переменной на 1». Если вы хотите использовать

другой шаг изменения i, то смело можете написать

так i += 2. В этом случае значение переменной i

будет изменяться на 2 единицы, и на экране

вы увидите:

0

2

4

6

8

16. Циклические алгоритмы. Оператор цикла while (do/while) в C#. Примеры использования.