Читать «C# для начинающих» — Никита Борисович Культин онлайн
Страница 3 из 4
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
}
}
}
Изначально класс Program содержит один единственный метод Main. Именно
этот метод (функция) выполняется при запуске программы. Поэтому, в
простейшем случае, инструкции, реализующие алгоритм программы, надо
поместить в метод Main, между фигурными скобками, следующими за
закрывающей скобкой, ограничивающей список параметров метода Main.
В листинге 1.2 приведе но объявление класса Program приложения расчета
среднего веса предмета (в дальнейшем, для краткости, вместо слов ―объявление
класса Program‖, будем говорить ―программа‖).
Листинг 1.2. Средний вес
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double w = 0.0; // вес предметов
16
int k = 0; // количество предметов
double m = 0.0; // средний вес одного предмета
string st = "";
Console.Write("Общий вес (кг.) >");
st = Console.ReadLine();
w = System.Convert.ToDouble(st);
Console.Write("Количество (шт.) >");
st = Console.ReadLine();
k = System.Convert.ToInt32(st);
Console.WriteLine();
m = w / k;
String res = "Общий вес: " + w.ToString() + " кг. \n" +
"Количество: " + k.ToString() + " шт.\n" +
"---------------------\n" +
"Средний вес: " + m.ToString() + " кг.\n\n";
Console.WriteLine(res);
Console.Write("Press any key to continue...");
int ch = Console.Read();
}
}
}
На примере программы "Средний вес " кратко рассмотрим некоторые
инструкции языка C#.
Как было сказано, в простейшем случае, инструкции, реализующие алгоритм
программы, находятся в методе Main.
Инструкция
double w = 0.0;
это объявление пер еменной w. Слово double, стоящее перед именем
переменной, показывает, что переменная w вещественная. После имени
переменной стоит символ ―присвои ть‖ (в математике он называется ―равно‖) за
которым следует вещественная константа 0.0 - ноль (черточка внутри овала
позволяет различать букву О и цифру ноль). Это показывает, что переменной w
присваивается начальное значение. Символ ―точка с запятой‖ отмечает конец
инструкции объявления переменной. Далее, одна за другой, следуют две
наклонные черты, которые отмеча ют начало однострочного комментария,
поясняющего, в рассматриваемом случае, назначение переменной w.
17
В следующей строке аналогичным образом объявляется целая переменная k
(int – сокращение от integer, целое). Переменной k также присваивается
начальное значение, которое задается целой константой.
Далее следуют объявления вещественной переменной m и строковой
переменной st. Начальным значением переменной st является ―пустая‖ (не
содержащая ни одного символа), строка, т.к. после символа ―присвоить‖ указана
строковая константа, в которой между первой и второй двойными кавычками
нет ни одного символа.
Следует обратить внимание, инструкции объявления переменных не являются
выполняемыми, они только сообщают компилятору информацию о том, что
идентификаторы, указанны е в этих инструкциях являются именами
переменных.
Первой выполняемой инструкцией программы является инструкция
Console.Write("Общий вес (кг.) >");
Не трудно догадаться, что она выводит на консоль, т.е. в окно, в кот ором
работает программа, текст Общий ве с (кг.) > и тем самым показывает
пользователю, какую информацию он должен ввести.
Далее следует инструкция
st = Console.ReadLine();
В результате ее выполнения в переменную st записывается значение метода
ReadLine - строка символов, которую пользователь н абрал на клавиатуре. Надо
понимать, что метод ReadLine возвращает именно строку символов , причем,
даже в том случае, если строка будет содержать только цифры, все равно это
строка, а не число.
Следующая инструкция
w = System.Convert.ToDouble(st);
присваивает значение переменной w, в качестве которого используется значение
метода ToDouble, который преобразует значение строковой переменной st (в
ней находится строка, введенная пользователем) в соответствующее
вещественное число типа double. Обратите внимани е, метод ToDouble вернет
значение только в том случае, если строка, указанная в качестве его параметра,
содержит правильное изображение вещественного числа. Правильной строкой
для метода ToDouble является непустая строка, состоящая только из цифр
(перед пе рвой цифрой может находиться минус) и содержащая правильный
десятичный разделитель – запятую (при стандартной для России настройке
Windows).
Следующие три инструкции
Console.Write("Количество (шт.) >");
st = Console.ReadLine();
k = System.Convert.ToInt32(st);
18
обеспечивают ввод значения переменной k. Так как переменная k целого типа,
то для преобразования строки, введенной пользователем, в целое значение
используется метод ToInt32. Метод ToInt32 вернет значение только в том
случае, если строка, указанн ая в качестве его параметра, содержит правильное
изображение целого числа. Правильной строкой для метода ToInt32 является
непустая строка, состоящая только из цифр (перед первой цифрой может
находиться минус).
Инструкция присваивания
m = w / k;
вычисляет средний вес. Выполняется она так: значение переменной w делится на
значение переменной k и полученный результат записывается в переменную m.
Следующая инструкция
String res = "Общий вес: " + w.ToString() + " кг. \n" +
"Количество: " + k.ToString() + " шт.\n" +
"---------------------\n" +
"Средний вес: " + m.ToString() + " кг.\n\n";
формирует строку res, записывает в нее исходные данные и результат расчета.
Строка res формируется путем конкатенации (объединени я) строковых
констант и преобразованных в строки значений численных переменных.
Преобразование числа (значения числовой переменной) в строку выполняет
метод ToString.
Следует обратить внимание на последовательности \n внутри строковых
констант. Символ \ внутри строковой константы отмечает начало специальной
последовательности символов. Последовательность \n трактуется как символ
―новая строка‖. Сами символы \n на экране не отображаются, но в результате
их отправки в консоль курсор перемещается в начало следующей строки экрана.
Команда
Console.WriteLine(res);
выводит в окно консоли значение переменной res - исходные данные и
результат расчета.
Далее следуют инструкции
Console.Write("Press any key to continue...");
int ch = Console.Read();
Они добавлены в конец для того, чтобы пользователь смог увидеть результат
работы программы. Метод Read обеспечивает чтение символа с консоли, он
ожидает нажатия клавиши и, после того как клавиша будет нажата, возвращает
ее код. Таким образом обеспечивается приостановка выполнения программы до
момента нажатия клавиши. Если рассматриваемых инструкций в конце
программы не будет, то окно консоли закроется сразу после выполнения
инструкции вывода результата и пользователь не сможет (не успеет ) увидеть
результат.
19
Текст программы
Инструкции программы записываются последовательно, одна за другой. После
каждой инструкции ставится точка с запятой. Хотя в одной строке можно
записать несколько инструкций, обычно каждую инструкцию программы пишут
на отдельной строке.
Некоторые инстр укции, например, инструкции выбора ( if, switch), циклов
(for, while), в соответствии с правилами хорошего стиля программирования
записывают в несколько строк и для выделения логической структуры
инструкции, используют отступы.
Для облегчения понимания лог ики работы программы в текст программы
можно, и нужно, включать комментарии. Комментарий — это пояснительный
текст. Комментарии компилятором игнорируется.
Язык С# допускает два вида комментариев: однострочный и многострочный.
Однострочный комментарий начин ается двумя наклонными чертами и
продолжается до конца строки, многострочный - с последовательности
символов /* и продолжается до тех пор, пока в тексте программы не встретится
последовательность */.
Для выделения структуры программы можно также использова ть пустые
строки.
Возможность записи инструкций в несколько строк, использование отступов,
пустых строк и комментариев позволяет представить одну и ту же программу в
разном виде. Как правильно записать программу? Существует понятие
"Хороший стиль программ ирования", которое можно определить как
совокупность приемов, используемых в процессе составления программы.
Очевидно, что программист должен следовать хорошему стилю
программирования. Но что такое хороший стиль? Общепринято, что хороший
стиль программиров ания предполагает использование несущих смысловую