- •1. Эволюция языков прогр-я.
- •2. Что такое .Net? Обзор технологий программирования под Windows.
- •3. Компоненты платформы .Net. Что такое .Net Framework?
- •4. Модель выполнения приложения в среде .NetFramework. Промежуточныйязык Microsoft (Microsoft Intermediate Language, msil). Сборки
- •5. Обзор встр. Типов данных в с#. Применение встроенной функц-сти типов данных.
- •6. Операции ввода-вывода. Формат вывода. Пространство имён System. Класс Math. Пространство имён System и класс Math
- •7. Арифметические операции. Операции отношений и логические операции. Операторы и выражения в c# .
- •Операторы сравнения в c#. Лог. Операции для условий
- •Операторы
- •8. Одномерные массивы в c#. Класс System.Random, применение его методов для создания массива случайных чисел. Класс System.Array, использование его методов и свойства Length.
- •9. Двумерныемассивы в c#. Виды двумерных массивови способы их определения; способы создания; построчный вывод на экран
- •10. Структуры в c#. Создание структур, доступ к элементам, массивы структур.
- •11.Объект и его свойства. Характеристики ооп.
- •12.Классы в c#. Форма определения класса. Члены класса: методы, поля, свойства и события.
- •13.Конструкторы. Параметризованные конструкторы. Использование оператора new.
- •14. Типы значений и ссылочные типы. Динамическое использование памяти: стеки и кучи. Упаковка и распаковка.
- •15. Деструкторы. Сборка «мусора».
- •16. Определение методов класса. Модификаторы доступа к методам класса. Параметры методов класса, передача аргументов.
- •17. Модификаторы ref, out, params параметров методов.
- •18. Общие (статические) члены класса. Доступ к общим членам. Ограничения на static-методы.
- •19.Область видимости и время существования переменных.
- •20. Преобразование и приведение типов.
- •21. Обработка исключительных ситуаций.
- •22. Перегрузка методов и перегрузка конструкторовкак механизм реализации полиморфизма. Виды конструкторов.
- •23. Понятие стека. Класс «Стек из символов», его основные методы.
- •24. Перегрузка операторов. Перегрузка бинарных, унарных и операторов отношений.
- •25. Свойства как механизм реализации инкапсуляции. Формат записи свойств.
- •26. Индексаторы. Специальные приемы построения типов. Создание одномерных и двумерных индексаторов.
- •27.Наследование. Базовые и производные классы. Доступы к членам базовых классов.
- •28.Конструкторы и наследование (проект «Наследование»).
- •29. Ссылки на базовый класс и объекты производных классов.
- •30. Виртуальные методы и их переопределение.
- •31. Абстрактные классы.
- •32. Понятие интерфейса. Определение интерфейса.
- •33. Способы реализации интерфейса.
- •34.Некоторые станд.Интерфейсы среды .Net Framework.
- •35. Механизмы реализации полиморфизма в c#.
- •36. Понятие обобщенного программирования. Принципы обобщенного программирования (абстрагирование, иерархия, типизация).
- •37. Коллекции и наборы. Обзор коллекций. Интерфейсы коллекций. Классы коллекций общего назначения.
- •38. Классы ArrayList, Queue, Stack. Методы работы с различными структурами данных.
- •39. Динамическая идентификация типов. Проверка типа с помощью ключевого слова is. Использование операторов as, typeof.
- •40. Обобщение. Разработка обобщенных наборов, методов, классов.
- •41. Отражение и атрибуты. Понятие отражения. Класс System.Type. Получение информации о методах и типах. Атрибуты. Основы применения атрибутов.
- •42.Принципы работы Windows-приложений c пользователем.
- •43. Делегаты. Назначение делегатов. Многоадресатная передача.
- •44. События. Объявление и генерация событий. Реализация обработчиков событий.
- •Объявление события:
- •45.Понятие компонента и компонентной модели, компонентно-ориентированного программирования.
- •46.Принципы и технологии внедрения и связывания объектов. Ос Windows позволяет:
7. Арифметические операции. Операции отношений и логические операции. Операторы и выражения в c# .
БинарныеОператор Операция Тип операндов Тип рез. Пример
+ сложение целый, вещ. целый, вещ. A =X + Y;
- вычитание целый, вещ. целый, вещ. A =Result-1;
* произведение целый, вещ. целый, вещ. A =P * I;
Оператор деления (/) делит первый операнд на второй. Все числовые типы имеют предопределенные операторы деления. При делении двух целых чисел результат всегда является целочисленным. Например, результат деления 5 на 2 — 2. Чтобы определить остаток от деления 5 / 2, используйте оператор modulo (%). Чтобы получить частное в виде рационального числа или дроби, присвойте делителю или делимому тип float или double. Чтобы явно присвоить тип, можно поместить десятичный разделитель после числа, как показано в следующем примере.
Console.WriteLine(5/2);Console.WriteLine(5 % 2);Console.WriteLine(5 / 2.1); Console.WriteLine(5.1 / 2);Console.WriteLine(-5 / 2);Ответы: 2 1 2.38095238095238 2.55 –2
Оператор % - остаток от целого деления A:=Y % 6;
15 / 4 = 3 5 / 9 = 0 7 / 7 = 1 9 / 8 = 1 24 % 6 = 0 24 % 7 = 3 7 % 7 = 0 8 % 12 = 8
УнарныеОператор Операция Тип операндов Тип рез. Пример
+ (унарный) знак плюс целый, вещ. целый, вещ. A =+7;
- (унарный) знак минус целый, вещ. целый, вещ. A =-X;
Оператор увеличения (++) увеличивает свой операнд на 1. Оператор увеличения может находиться как до, так и после операнда. Первой формой является префиксная операция увеличения. Результатом этой операции является значение операнда после его увеличения. Второй формой является постфиксная операция увеличения. Результатом этой операции является значение операнда до его увеличения. Числовые типы и типы перечисления имеют предопределенные операторы увеличения. Типы, определенные пользователем, могут вызвать перегрузку оператора ++. Операции с целыми типами обычно разрешены в перечислениях.
doublex;x = 1.5;Console.WriteLine(++x); //напечатается 2.5x = 1.5;Console.WriteLine(x++);//напечатается 1.5Console.WriteLine(x); //напечатается 2.5
Оператор уменьшения (--) уменьшает свой операнд на 1. Оператор уменьшения может находиться как до, так и после операнда: и --variable и variable--.
Также имеется возможность комбинировать оператор присваивания с арифметическими операторами для образования составных операторов присваивания:+= -= *= /= %=
Пример: i += 7 * j; // Эквивалентно i = i + 7 * j; m /= 3 + k; // Эквивалентно m = m / (3 + k);
Комментарии: 1) Однострочные, указывает префикс // ; 2) Многострочные, помещаются между символами /* */.
Операторы сравнения в c#. Лог. Операции для условий
&& |
Соответствует логическому И (AND) |
|| |
Соответствует логическому ИЛИ (OR) |
! |
Соответствует логическому НЕ (NOT) |