последовательность инструкций




строковый литерал,

который занимает несколько строк.

Console.WriteLine(@"А теперь воспользуемся табуляцией:

1 2 3 4

5 6 7 8

Console.WriteLine(@"Отзыв программиста: ""Мне нравится С#. """);

 

Вот что сгенерирует эта программа:

 

Это буквальный

строковый литерал,

который занимает несколько строк.

А теперь воспользуемся табуляцией:

1 2 3 4

5 6 7 8

Отзыв программиста: "Мне нравится С#."

 

Не путайте строки с символами. Символьный литерал (например, 'X') представляет одиночную букву типа char. А строка, хотя и содержащая всего одну букву (например, "X"), это все-таки строка.

 

Инициализация переменной

 

Переменная до использования должна получить значение. Это можно сделать с помощью инструкции присваивания. Можно также присвоить переменной начальное значение одновременно с ее объявлением. Для этого достаточно после имени переменной поставить знак равенства и указать присваиваемое значение. Общий формат инициализации переменной имеет такой вид:

 

тип имя_переменной = значение;

 

Здесь, элемент значение — это начальное значение, которое получает переменная при создании. Значение инициализации должно соответствовать заданному типу переменной.

Вот несколько примеров:

 

int count = 10; // Присваиваем переменной count начальное значение 10.

char ch = 'X'; // Инициализируем ch буквой X.

float f = 1.2F // Переменная f инициализируется числом 1.2.

 

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

Например, в инструкции int a, b = 8, c = 19, d; // Переменные b и с инициализируются числами.

Динамическая инициализация

 

Хотя в предыдущих примерах в качестве инициализаторов были использованы только константы, С# позволяет инициализировать переменные динамически, с помощью любого выражения, действительного на момент объявления переменной. Рассмотрим, например, короткую программу, которая вычисляет гипотенузу прямоугольного треугольника, заданного длинами двух противоположных сторон.

 

using System;

class Dynlnit {

public static void Main() {

double si = 4.0, s2 = 5.0; // Длины сторон.

// Динамически инициализируем переменную hypot. '

double hypot = Math.Sqrt((si * si) + (s2 * s2));

Console.Write("Гипотенуза треугольника со сторонами " + si + " и " + s2 + " равна ");

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

 

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

 

Гипотенуза треугольника со сторонами 4 и 5 равна 6.4 03.

Преобразование и приведение типов

 

В программировании переменной одного типа часто присваивается значение переменной другого типа. Например, мы могли бы присвоить переменной типа float значение типа int.

 

int i;

float f;

i = 10;

f = i; // float-переменной присваивается int-значение.

Автоматическое преобразование типов

 

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

• эти два типа совместимы;

• тип приемника больше (т.е. имеет больший диапазон представления чисел), чем тип источника.

При соблюдении этих двух условий выполняется преобразование с расширением, или

расширяющее преобразование.

Приведение несовместимых типов

Приведение к типу — это явно заданная инструкция компилятору преобразовать один тип в другой. Инструкция приведения записывается в следующей общей форме:

 

(тип_приемника) выражение

 

Здесь элемент тип_приемника определяет тип для преобразования заданного выражения. Например, если вам нужно, чтобы выражение х/у имело тип int, напишите следующие программные инструкции:

 

double х, у;

//...

(int) (х / у);

 

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

Приведение типов в выражениях

 

Операцию приведения типов можно применить не ко всему выражению, а к конкретной его части.

Например, программа, которая отображает значения квадратных корней из чисел от 1 до 10. Она также выводит по отдельности целую и дробную части каждого результата. Для этого в программе используется операция приведения типов, которая позволяет преобразовать результат вызова метода Math. Sqrt () в значение типа int.

 

using System;

class CastExpr {

public static void Main() {

double n;;

for(n = 1.0; n <= 10; n++) {

Console.WriteLine("Квадратный корень из {0} равен {1}", n, Math.Sqrt(n));

Console.WriteLine("Целая часть числа: {0}", (int) Math.Sqrt(n));

Console.WriteLine("Дробная часть числа: {0}", Math.Sqrt(n) - (int) Math.Sqrt(n));

Console.WriteLine();

 

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

 

Квадратный корень из 1 равен 1

Целая часть числа: 1

Дробная часть числа: 0

 

Квадратный корень из 2 равен 1.4142135623731

Целая часть числа: 1

Дробная часть числа: 0.414213562373095

 

Квадратный корень из 3 равен 1.73205080756888

Целая часть числа: 1

Дробная часть числа: 0.732050807568877

 

Квадратный корень из 4 равен 2

Целая часть числа: 2

Дробная часть числа: 0

 

Квадратный корень из 5 равен 2.23606797749979

Целая часть числа: 2

Дробная часть числа: 0.23606797749979

 

Квадратный корень из 6 равен 2.44 948974278318

Целая часть числа: 2

Дробная часть числа: 0.44*9489742783178

 

Квадратный корень из 7 равен 2.64575131106459

Целая часть числа: 2

Дробная часть числа: 0.645751311064591

 

Квадратный корень из 8 равен 2.82842712474619

Целая часть числа: 2

Дробная часть числа: 0.82842712474619

 

Квадратный корень из 9 равен 3

Целая часть числа: 3

Дробная часть числа: 0

 

Квадратный корень из 10 равен 3.16227766016838

Целая часть числа: 3

Дробная часть числа: 0.16227766016838

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

 

В С# оператор присваивания представляется одиночным знаком равенства (=). Его действие заключается в копировании значения, расположенного справа от оператора, в переменную, указанную слева от него.

 

х = 100; // Здесь переменной х присваивается 100.

 

С# поддерживает полный диапазон арифметических операторов, включая следующие:

+ − Сложение

- − Вычитание

* − Умножение

/ − Деление

 

Для обработки чисел с дробной частью в С# предусмотрены два типа данных с плавающей точкой, float и double, которые представляют значения с обычной и удвоенной точностью, соответственно.

Инструкция if

 

if (условие) инструкция1;

else инструкция1;

 

Здесь элемент условие представляет собой булево выражение (которое приводится к значению ИСТИНА или ЛОЖЬ). Заданная инструкция1 будет выполнена, если условие окажется истинным. В противном случае (если условие окажется ложным) заданная инструкция1 игнорируется и выполняется инструкция2. Часть else необязательна.

 

if (10 < 11) Console.WriteLine("10 меньше 11");

 

В С# определен полный комплект операторов отношения, которые можно использовать в условных выражениях.

< − Меньше

<= − Меньше или равно

> − Больше

>= − Больше или равно

== − Равно

! = − Не равно

 

Вместо элемента инструкция может быть использован блок инструкций. Формат записи if-инструкции принимает такой вид:

 

if (условие) {последовательность инструкций}

else {последовательность инструкций}

Использование блоков кода

 

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

 

if (w < h) {

v = w * h;

w = 0;

}

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

Конструкция if - else - if

 

if (условие) инструкция;

else if (условие)инструкция;

else if (условие)инструкция;

else инструкция;

 

Здесь под элементом условие понимается условное выражение.

Инструкция switch

 

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

Она работает следующим образом. Значение выражения последовательно сравнивается с константами из заданного списка. При обнаружении совпадения для одного из условий сравнения выполняется последовательность инструкций, связанная с этим условием. Общий формат записи инструкции switch такой:

 

switch(выражение) {

case константа1:

последовательность инструкций

break;

case константа2:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: