
- •Подходы к разработке программного обеспечения.
- •Структура программы на c#.
- •1.1Структура программы
- •Числовые типы данных на языке c#, правила их преобразования.
- •Нечисловые типы данных на языке c#.
- •Условный оператор, правила написания условий.
- •Оператор выбора, случаи его применения.
- •Ввод/вывод в консольном режиме, преобразование данных.
- •Объявление и инициализация массивов, понятие указателя.
- •Оператор цикла for ; организация обработки массивов
- •Операторы цикла while ; do while : их сравнение.
- •Оператор цикла foreach.
- •Ступенчатые массивы и их обработка.
- •Структура и разновидности функций
- •Разновидности формальных параметров – переменных.
- •Использование массивов в качестве формальных/фактических параметров и в качестве результата функции.
- •Процедурное программирование на c#.
Оператор выбора, случаи его применения.
Оператор выбора позволяет сделать выбор среди многих вариантов. Он имеет следующий вид:
switch (целочисленное или строковое выражение)
{
case первое_значение:
операторы
break;
case второе_значение:
операторы
break;
. . . . . . . . . . .
default:
операторы
break;
}
В отличие от С++ после switch допускаются строковые значения. Оператор break; является во всех приведенных выше случаях обязательным.
Пример.
static void Main(string[] args)
{
string s1;
s1 = "ABC";
switch (s1)
{
case"ABC":
Console.WriteLine("Variant 1");
break;
case "DEF":
Console.WriteLine("Variant 2");
break;
default:
Console.WriteLine("Unknown ");
break;
}
Console.ReadLine();
}
Ввод/вывод в консольном режиме, преобразование данных.
Для ввода/вывода в консольном режиме используют следующие методы класса Console: Write( выводимая строка ), WriteLine( выводимая строка ), ReadLine() – возвращает введенную строку. Важное обстоятельство: метод ReadLine всегда возвращает данные типа string, в случае необходимости их преобразования должны быть запрограммированы. Аргументом методов Write, WriteLine тоже должна быть символьная строка. Правда, здесь можно часто обойтись без явных преобразований. Разница между Write и WriteLine заключается в том, что после вывода строки WriteLine осуществляет автоматически переход на следующую строку на экране, Write этого не делает.
Для преобразования типов данных можно использовать методы класса Convert. Например, ToInt32 выполняет перевод в int; ToDouble выполняет перевод в double; ToString выполняет перевод в string. Какие методы имеются в классе Convert, можно узнать очень легко: достаточно набрать это слово, поставить точку и на экране появится весь перечень его методов.
Рассмотрим простейший пример: вводим два числа и выполняем простейшие вычисления:
namespace ConsApp
{
class Program
{
static void Main(string[] args)
{
int i;
double x,y,z;
string s;
Console.Write("i="); //подсказка при вводе
s = Console.ReadLine(); //ввод строки
i = Convert.ToInt32(s); //преобразование
//строки в целое
Console.Write("x=");
x = Convert.ToDouble(Console.ReadLine());
//ввод, совмещенный с преобразованием
y = i * x;
z = 2 * i - x;
Console.WriteLine("y=" + y);
//вывод с автоматическим преобразованием
Console.WriteLine(Convert.ToString(z));
//вывод с явным преобразованием
Console.ReadLine();
} } }
Если аргумент метода WriteLine содержит символьную строку и число, то выполняется автоматическое преобразование. Достаточно писать даже пустую строку, например, ””+y. На внешний вид выводимых данных можно влиять форматами. Проиллюстрируем это следующим примером на обработку данных типа decimal.
namespace Console5
{
class Class1
{
static void Main(string[] args)
{
decimal d1,d2,d3;
string s;
s=Console.ReadLine();
d1=Convert.ToDecimal(s);
d2=4.5m; //m или M признак константы decimal
d3=d1*d2;
Console.WriteLine("Answer is :{0:###.##}",d3);
Console.ReadLine();
} } }
Формат {0 : ###.##} : запись формата состоит из номера аргумента и собственно формата.