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

       }

   }

}


 

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

50590. КОТЛЕТОФОРМОВОЧНАЯ МАШИНА «МФК-2240» 203 KB
  Цель работы: Оценить технический уровень состояние котлетоформовочной машины МФК2240 и дать предложения по развитию его конструкции для повышения эффективности процесса формования. Изучить устройство и принцип работы котлетоформовочной машины МФК2240. Определить теоретическую и экспериментальную производительности а также мощности привода котлетоформовочной машины МФК2240 при различных скоростях вращения рабочего вала и обработать результаты испытаний. Дать предложения по техническому обслуживанию котлетоформовочной машины...
50591. Основы построения систем и комплексов подвижной радиосвязи 70.5 KB
  Учебные цели: Сформировать навыки самостоятельного применения полученных знаний для расчета и обоснования основных характеристик сети подвижной радиосвязи. наглядные пособия: электронная презентация Расчет основных характеристик сети подвижной радиосвязи. Средства и комплексы подвижной радиосвязи.
50592. Прибор регистрирующий ДИСК 250М 75.5 KB
  ДИСК 250М прибор построенный на микропроцессорной элементной базе предназначен для измерения регистрации сигнализации и регулирования параметров технологических процессов представленных унифицированными сигналами и сигналами от термопар термопреобразователей сопротивления дифференциальнотрансформаторных датчиков и пирометров. ДИСК 250М объединяет в одном исполнении все функциональное разнообразие многочисленных исполнений прибора ДИСК 250. Исключение составляют приборы для измерения температуры жидких металлов ДИСК 250С и сигналов...
50595. ИССЛЕДОВАНИЕ ЭРГОНОМИЧЕСКИХ СВОЙСТВ ИНТЕРФЕЙСА ПРИЛОЖЕНИЯ 144 KB
  Чаще всего термин применяется по отношению к компьютерным программам, однако под ним может подразумеваться любая система взаимодействия с устройствами, способными к интерактивному общению с пользователем. Несколько широко распространённых примеров...
50596. КОМПЕНСАЦИЯ РЕАКТИВНОЙ МОЩНОСТИ В ЭЛЕКТРИЧЕСКИХ СЕТЯХ 344 KB
  Цель работы: исследование влияния продольной и поперечной компенсации реактивной мощности на параметры электрической сети. Принципиальная электрическая схема лабораторного стенда Рис. 1 Результаты экспериментальных исследований (без компенсации и с поперечной компенсацией)
50598. АНАЛИЗ РЕЖИМОВ КОЛЬЦЕВЫХ СЕТЕЙ 57.5 KB
  Проделав лабораторную работу, мы исследовали режимы работы кольцевых сетей. Выяснили, что при одинаковых напряжения питающих пунктов, вследствие естественного перераспределения мощностей в замкнутой однородной сети, потери мощности получаются минимальными.