40954

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

Лекция

Информатика, кибернетика и программирование

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

Русский

2016-08-08

97 KB

0 чел.

PAGE   \* MERGEFORMAT 1

Лекция 1 часть 2. Введение.

Пример. Объявление и инициализация переменной типа  bool.  Вывод данных на консоль.

using System;

namespace ConsoleApplication3

{

   class Program

   {

       static void Main(string[] args)

       {

           bool b = true;

           // WriteLine автоматически конвертирует значение переменной b в текст.

           Console.WriteLine(b);

       }

   }

}

Тип char представляет 16-разрядные целые числа без знака в диапазоне от 0 до 65535. Набор возможных значений для типа char соответствует набору символов Юникода.

Пример. Объявление и инициализация четырех переменных типа char, имеющих одно и тоже значение - символ X.

using System;

namespace ConsoleApplication3

{

   class Program

   {

       static void Main(string[] args)

       {

           char char0 = 'X';        // Символьный литерал

           char char1 = '\x0058';   // шестнадцатеричная escape-последовательность

           char char2 = (char)88;   // Преобразование типа int в char

           char char3 = '\u0058';   //  Юникод

           Console.WriteLine("{0}  {1}  {2}  {3}", char0, char1, char2, char3);

       }

   }

}

Использование класса System.Console.

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

Пример. Чтение из стандартного входного потока и запись в стандартный выходной поток

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           Console.WriteLine("Введите x");

           String name = Console.ReadLine();

           int a = int.Parse(name);

           Console.WriteLine(a);

       }

   }

}

В примере статический метод Console.WriteLine("Введите x") записывает данные в стандартный выходной поток; статический метод Console.ReadLine() считывает входные данные из стандартного входного потока. Возвращаемое методом Console.ReadLine() значение присваивается  переменной name типа String; статический метод int.Parse(name) преобразует строковое представление числа в эквивалентное ему 32-битовое целое число со знаком. Возвращаемое методом значение присваивается переменной а типа int; Статический метод Console.WriteLine(a) выводит результирующее целочисленное значение на консоль.

Пример

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           int i = 5;

           double y = 9;

           Console.WriteLine(i.ToString("d")+"   "+y.ToString("f2"));

       }

   }

}

Использование  аргументов командной строки в консольном приложении.

К аргументам командной строки можно получить доступ при помощи дополнительного массива строк, связанного с методом Main. При выполнении приложения в Visual Studio можно указать аргументы командной строки в Страница "Отладка" в конструкторе проектов.

Пример.

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           System.Console.WriteLine("parameter count = {0}", args.Length);

           for (int i = 0; i < args.Length; i++)

           {

               System.Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]);

           }

       }

   }

}

Идентификаторы используются для обозначения переменных. В идентификаторах разрешены: знак подчеркивания в качестве начального символа, escape-последовательности Юникода, символ «@» в качестве префикса, чтобы можно было использовать ключевые слова в качестве идентификаторов.

Ключевое слово — это зарезервированная последовательность символов.

Операторы языка

Действия программы выражаются с помощью операторов. Оператор может состоять из одной строки кода, которая заканчивается точкой с запятой, или из ряда однострочных операторов в блоке. Блок оператора заключен в скобки ({}) и может содержать вложенные блоки.

Типы операторов.

Операторы объявления

Операторы выражений

Операторы выбора

Операторы итераций

Операторы перехода

Внедренный оператор. В операторах do, while, for и foreach, всегда есть внедренный оператор, следующий за ними. Этот внедренный оператор может быть либо одним оператором, либо несколькими операторами, заключенными в скобки ({}) в блоке оператора. Даже однострочные внедренные операторы могут быть заключены в скобки ({}).

Вложенные блоки операторов. Блоки операторов могут быть вложенными.

Области объявления

Объявление определяет имя в области объявления, которому принадлежит объявление.

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

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

Пространства имен и типы, имеющие родительское пространство имен, являются членами глобального пространства имен.

Пространства имен и типы, объявленные в рамках пространства имен, являются членами данного пространства имен.

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

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

Каждый блок  или блок_switch, а также инструкции for, foreach и using создают область объявлений для локальных переменных и локальных констант .

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

Области видимости

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

Пример программы, которая завершится с ошибкой  «Невозможно объявить локальную переменную с именем "a" в этой области видимости, т.к. другое значение "a", уже используется в области видимости "родительский или текущий"

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

          

               int a = 0;

               Console.WriteLine(a);

           

           {

               int a = 6;

               Console.WriteLine(a);

           }

       }

   }

}

Пример. Объявление локальных переменных, которое не приведет к ошибке.

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           {

               int a = 0;

               Console.WriteLine(a);

           }

           {

               int a = 6;

               Console.WriteLine(a);

           }

       }

   }

}

Областью члена пространства имен, объявленного объявлением члена пространства имен, является полный текст программы.

Областью члена, объявленного объявлением члена типа, является тело типа, в котором сделано объявление.

Областью параметра, объявленного в объявлении метода, является тело метода данного объявления метода.

Областью локальной переменной, объявленной в объявлении локальной переменной, является блок, в котором содержится объявление.

Областью локальной переменной, объявленной в блоке ветвления оператора switch, является блок ветвления.

Областью локальной переменной, объявленной в инициализаторе for оператора for, является инициализатор for, условие for, итератор for и содержащий оператор оператора for.

Областью локальной константы, объявленной в объявлении локальной константы, является блок, в котором содержится объявление. Ссылка на локальную константу в текстовой позиции, предшествующей декларатору константы, является ошибкой времени компилирования.

Переменные

В C# определено семь категорий переменных: статические переменные, переменные экземпляра, элементы массива, параметры по значению, параметры по ссылке, выходные параметры и локальные переменные.

Локальные переменные

Локальную переменную можно объявить в блоке, в операторе for, в операторе switch или операторе using, а также в операторе foreach или в конструкции catch в операторе try.

Объявление локальной переменной состоит из типа локальной переменной,   идентификатора, определяющего имя переменной, за которым могут следовать оператор присваивание

и инициализатор локальной переменной, присваивающий переменной начальное значение.

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

Пример. Объявление нескольких локальных переменных.

int x = 1, y, z = x * 2;

Примеры. Операторы языка.

Оператор_итераций  for

Цикл for повторно выполняет оператор или блок операторов, пока определенное выражение не примет значение false.

В цикле for может содержаться инициализатор for, условие for, итератор for, содержащий оператор оператора for (внедренный оператор).

оператор_for:
for   (   инициализатор_forнеобязательно   ;   условие_forнеобязательно   ;   итератор_forнеобязательно   )   внедренный_оператор

Инициализатор содержит объявление локальной переменной.

Условием является логическое выражение.

Итератор это выражение.

В следующем примере значение int i записывается в консоль, и i увеличивается на 1 за каждое прохождение цикла.

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           int i = 0;

           for (i = 1; i <= 5; i++)

           {

               Console.WriteLine(i);

           }

       }

   }

}

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

C#

for (; ; )

{

   // ...

}

Оператор_итераций  while

Оператор while выполняет внедренный оператор несколько раз (возможно, ни разу) в зависимости от соблюдения условия.

оператор_while:
while   (   логическое_выражение   )   внедренный_оператор

Оператор while выполняется следующим образом.

Вычисляется логическое_выражение Если результатом логического выражения является true, управление передается внедренному оператору. Если управление достигает конечной точки внедренного оператора (возможно, в результате выполнения оператора continue), управление передается в начало оператора while.

Если значением логического выражения является false, управление передается в конечную точку оператора while.

Пример

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           int n = 1;

           while (n < 6)

           {

               Console.WriteLine("Current value of n is {0}", n);

               n++;

           }

       }

   }

}

Оператор выбора if

Оператор if выбирает оператор языка для выполнения на основании значения логического выражения.

оператор_if:
if   (   логическое_выражение   )   внедренный_оператор
if   (   логическое_выражение   )   внедренный_оператор   else   внедренный_оператор

Пример

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           // Проверяем четность числа

           // Вводим проверяемое значение

           int Num;

           string Str;

           Console.Write("Введите число: ");

           Str = Console.ReadLine();

           Num = int.Parse(Str);

           // если число делится на 2 без остатка то четное

           // оператор % - это остаток от целочисленного деления

           if (Num % 2 == 0)

           {

               Console.WriteLine("Число {0} - четное", Num);

           }

           else

           {

               Console.WriteLine("Число {0} - нечетное", Num);

           }

           Console.ReadKey();

          

       }

   }

}

using System;

namespace ConsoleApplication5

{

   class Program

   {

       static void Main(string[] args)

       {

           // Найти чему будет равно выражение C = min(A,B)

           // A и B целые числа, которые нужно ввести с клавиатуры

           // Вывести результат и исходное выражение, подставив числа

           // Введем исходные значения A и B

           int A, B;

           string Str;

           Console.Write("A = ");

           Str = Console.ReadLine();

           A = int.Parse(Str); // Parse - статический метод структуры int

           Console.Write("B = ");

           Str = Console.ReadLine();

           B = int.Parse(Str);

           //Находим значение выражения

           int min;

           if (A < B)

               min = A;

           else

               min = B;

           // Выводим результат

           Console.WriteLine("min({0},{1})) = {2}", A, B, min);

           Console.ReadKey();

       }

   }

}


 

А также другие работы, которые могут Вас заинтересовать

18142. Ввод излучения в световод различными композициями линз. Потери излучения при соединении световодов 346.36 KB
  Лекция 8. Ввод излучения в световод различными композициями линз. Потери излучения при соединении световодов. Расчет длины регенерационного участка. Схема использования двух сферических линз для ввода излучения в световод показана на рисуснке 8.1. Рис. 8.1. Схема ис...
18143. Оценка взаимных влияний световода в оптических кабелях 214.79 KB
  Лекция 10. Оценка взаимных влияний световода в оптических кабелях. Определение помехозащищенности световода. Надежность ВОЛС. Даже при соблюдении явления ПВО часть энергии переходит из сердечника в оболочку световода. Эта энергия уменьшается по экспоненциальному з...
18144. Принципы построения ВОЛС 385.61 KB
  Лекция 11. Принципы построения ВОЛС Для любой ВОЛС большое значение имеют 3 фактора: информационная емкость системы которая определяется числом каналов связи и скоростью передачи информации; затухание сигнала определяющее максимальную длину ВОЛС без ретра...
18145. Методы расчета чувствительности приемного оптического модуля (ПРОМ) 196.27 KB
  Лекция 12. Методы расчета чувствительности приемного оптического модуля ПРОМ Приемный оптический модуль включает: фотодиод pin или лавинный фотодиод; предварительный усилитель; блок автоматической регулировки усиления. Малошумящий усилитель вып...
18146. Принципы действия волоконно-оптических датчиков (ВОД) физических величин 1.24 MB
  Лекция 13. Принципы действия волоконнооптических датчиков ВОД физических величин. ВОД делятся на два типа: датчики в которых волокно используется в качестве линий передачи сигнала; датчики в которых волокно является чувствительным элементом. Датчик
18147. Способы компенсации дрейфа ВОД 2.6 MB
  Лекция 14. Способы компенсации дрейфа ВОД. ВОД для измерения механических величин Недостатком ВОД является дрейф нуля. Известны следующие способы компенсации дрейфа нуля: преобразование переменного тока в постоянный рис.14.1 а. При этом переменная сост
18148. Датчики для измерения электрических величин 2.22 MB
  Лекция 15. Датчики для измерения электрических величин. ВОД с волокном в качестве чувствительного элемента Датчик магнитного поля на основе эффекта Фарадея Схема датчика магнитного поля на основе эффекта Фарадея показана на рис.15.1. Рис.15.1. Схема датчика магнитн...
18149. Волоконный гироскоп. ВОД ионизирующих излучений 246.61 KB
  Лекция 16. Волоконный гироскоп. ВОД ионизирующих излучений. ВОД с волоконными жгутами передающими излучение Волоконный гироскоп Волоконный гироскоп основан на эффекте Саньяка. Он обладает рядом достоинств по сравнению с обычным гироскопом а именно: просто
18150. Основные характеристики диэлектрических световодов для интегральной оптики 358.04 KB
  Лекция 17. Основные характеристики диэлектрических световодов для интегральной оптики. Схемонесущие материалы в интегральной оптике Интегральная оптика ИО это оптика тонких пленок технология изготовления элементов ИО схожа с технологией изготовления элементо