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();

       }

   }

}


 

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

30274. Основные методы (школы) литературоведения. Культурно-исторический метод 59 KB
  Основные методы школы литературоведения. Виднейший литературовед промышленной буржуазии Ипполит Тэн не случайно оказался связанным с целым рядом теоретиков работавших в самых различных областях науки. Автор Истории английской литры не отрицал огромного влияния на него социолога Бокля История английской цивилизации с его теорией расы и физической среды. Но больше всего на взглядах Тэна отразилось учение о происхождении видов Дарвина английского естествоиспытателя крого Тэн сочувственно цитировал в введении к указанному выше труду...
30275. Основные методы (школы) литературоведения. Сравнительно-исторический метод (компаративизм) 36 KB
  Основные методы школы литературоведения. Сравнительноисторический метод компаративизм Докторская диссертация знаменитого русского литературоведа академика А. Другой попыткой буржуазного литературоведения закрепиться на позитивистских позициях был сравнительноисторический компаративный метод. Практикуемый ими метод приводил их к подбору аналогичных сюжетов в литом творчестве соседних стран толкая их на исследование поэтической продукции прошлого.
30276. Основные методы (школы) литературоведения. Филологический метод 31 KB
  Анализы памятников слова практиковались уже в глубокой древности; таковы в Греции первые изучения Гомера в Египте деятельность таких александрийских филологов как Аристарх и Ликофрон в Риме критическая обработка текстов Вергилия Валерием Проббом и т. В огромном большинстве случаев филологизм древности вызван был к жизни научновспомогательными соображениями заботой о проведении в наличность древнейших и популярнейших произведений поэтического творчества и о сохранении их от гибели порчи и всяких искажений столь возможных в те...
30277. Основные методы (школы) литературоведения. Биографический метод (Ш.-О.Сент-Бёв) 36.5 KB
  На примере виднейшего критика французского романтизма СентБёва особенно отчетливо вырисовываются эти черты нового литературоведческого метода. В противоположность Буало и его последователям подчинявшим индивидуальное развитие художника множеству регламентирующих указаний СентБёв эмансипирует личность. Мелкобуржуазного романтика СентБёва интересует прежде всего творческая индивидуальность писателя. Биографический охват творящей личности сыграл в глазах СентБёва доминирующую роль в литой науке.