
- •Лабораторная работа №1
- •Теоретические сведения. Среда .Net RunTime и библиотека Framework
- •Процесс компиляции с# - программы:
- •Управляемый и неуправляемый код.
- •Создание проекта.
- •Анатомия программы.
- •Контрольные вопросы.
- •Лабораторная работа №2
- •Теоретические сведения. Операторы условия.
- •Оператор множественного выбора:
- •Форматирование вывода
- •Задание.
- •Контрольные вопросы.
- •Лабораторная работа №3
- •Теоретические сведения.
- •Объявление массивов
- •Значения по умолчанию
- •Обращение к элементам массива
- •Инициализация элементов массива
- •Цикл foreach
- •Инициализация одномерных массивов
- •Практический пример. Одномерный массив.
- •Задание.
- •Контрольные вопросы.
- •Лабораторная работа №4
- •Теоретические положения. Уровни доступа
- •Объявление статических полей и методов класса
- •Пометка и сжатие
- •Форсированная сборка мусора
- •Методы. Передача параметров по значению
- •Методы. Передача параметров по ссылке.
- •Практический пример. Класс Array (одномерный массив).
- •Задание.
- •Контрольные вопросы.
- •Лабораторная работа №5
- •Задание.
- •Список рекомендуемой литературы
Контрольные вопросы.
Какие языки программирования поддерживает Microsoft Visual Studio?
Что такое Microsoft .NET?
Что такое .NET Framework?
Что такое CLR?
Описать процесс компиляции C#.
Что такое MSIL?
Что такое управляемый код и чем он отличается от управляемого?
Как создать проект в MS Visual Studio?
Что такое консольное приложение?
Что такое пространство имен?
Каково назначение метода Main()?
Что такое объектно-ориентированное программирование?
Дать понятие класса и объекта, объяснить отличия, привести пример.
Перечислить и охарактеризовать этапы ООП.
Какова структура класса в С#?
Что такое конструктор?
Что такое свойство?
Что такое метод?
Что такое инкапсуляция?
Как вызвать метод объекта?
Как связаны свойства и методы объекта?
Как объекты взаимодействуют со средой CLR?
Перечислить стандартные классы, задействованные в программе, а также их методы.
Пояснить смысл предложения C#: System.Console.WriteLine(…)
Как при помощи среды откомпилировать и выполнить проект?
Лабораторная работа №2
Тема: Программирование алгоритмов циклической структуры
Цель: изучение возможностей C# для программирования алгоритмов циклической структуры.
Теоретические сведения. Операторы условия.
В C# поддерживаются многие операторы условий и циклов, применяемых в C++, поэтому рассмотрим только отличия.
Оператор условия if-else внешне выглядит, как в C++:
if ( условие )
{
...
}
else if ( условие )
{
...
}
...
else
{
...
}
Однако, в C# выражение в скобках должны иметь тип bool. Это означает, что выражения типа if(a) /* a не имеет тип bool) */ и if(a = 5) будут вызывать ошибку компиляции. Таким образом C# позволяет избежать известной ошибки, связанной с потерей одного знака = внутри оператора условия.
Условный оператор:
условие ? выражение /*условие истинно*/ : выражение /*условие ложно*/
Оператор множественного выбора:
switch( выражение )
{
case константное выражение:
выражение;
...
оператор выхода из case;
...
default:
выражение;
...
оператор выхода из default;
}
В данном случае отличия от языка C++ более существенны: оператор выхода из метки case или необязательной метки default должен присутствовать, даже если данная метка последняя в операторе switch.
Прохождение сквозь метки case недопустимы
switch ( a )
{
case 5:
++a;
case 6: // ошибка компиляции ( нельзя "забыть" выйти из case )
--a;
break;
}
Проходить сквозь case можно, если он не содержит операторов:
switch ( a )
{
case 5:
case 6: // ошибок нет
--a;
break;
}
Выход из метки case можно осуществить при помощи оператора goto
switch ( a )
{
case 5:
++a;
goto default; // переход на другую метку
case 6:
--a;
break; // выход из switch
default:
b = 0;
goto case 6; // переход на другую метку
}
Выражение, передаваемое оператору switch ( switch( a ) ), может быть целого ( не float, не double, не decimal ) или строкового типа
switch ( a )
{
case "Hello":
Console.WriteLine(a + ", World!!!");
break;
}
Циклы
Цикл с предусловием:
while ( условие )
{
...
}
Цикл с постусловием:
do
{
...
}while ( условие );
Параметрический цикл:
for ( инициализация; условие; приращение )
{
...
}
Во всех циклах, как и в операторе if, условие должно иметь тип bool.