- •Введение
- •Контрольная работа № 1 разработка приложений в microsoft visual studio 2008
- •Теоретические сведения Интерфейс Microsoft Visual Studio 2008
- •Создание консольного приложения
- •Построение xml-отчета по выполненному проекту
- •Создание приложения Windows Forms
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Контрольная работа № 2
- •Теоретические сведения Структура программы. Переменные и выражения
- •Литеральные константы
- •Операции и их старшинство
- •Операторы c#
- •If(выражение1) if(выражение2) if(выражение3) ...
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задач
- •Контрольная работа № 3 техника работы с массивами. Процедуры и функции
- •Теоретические сведения
- •Базовый класс для массивов
- •Процедуры и функции
- •Синтаксис методов
- •Формальные и фактические аргументы
- •Соответствие формальных и фактических аргументов
- •Функции с побочным эффектом
- •Функция Main()
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задач
- •Контрольная работа № 4 перечисления и структуры
- •Теоретические сведения
- •Базовый класс перечислений - System.Enum
- •Структуры
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Пример решения задачи
- •Контрольная работа № 5 обработка символов и строк
- •Теоретические сведения
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Примеры решения задачи
- •Контрольная работа № 6 проектирование классов. Составление программ с использованием ооп
- •Теоретические сведения
- •Контрольные вопросы
- •Содержание и порядок выполнения работы
- •Пример решения задачи
- •Заключение
- •Библиографический список
- •Оглавление
- •394026 Воронеж, Московский просп., 14
Контрольная работа № 2
ОПЕРАТОРЫ ЯЗЫКОВ С/С++ и С#
Цель работы: составление алгоритмов и программ разветвленной и циклической структуры на С/С++ и С# с использованием простых типов, явного и неявного преобразования типов.
Теоретические сведения Структура программы. Переменные и выражения
Код на С/С++ и C# представлен последовательностью операторов, оканчивающихся ; .
Пробельные символы игнорируются компилятором, поэтому удобно писать 1 оператор в строке, делать отступы и пропускать строки. Т.е. стиль программирования не страдает.
Программа обладает блочной структурой, скобки { } отмечают начало и конец блока, который может содержать 0 или более операторов. В С# { } не сопровождается ; .
Блоки могут быть вложенными
{
<строка1 кода>;
{
<строка2 кода>;
<строка3 кода>;
}
<строка4 кода>;
}
Для записи комментариев используются /* */, // , /// .
Переменные отличаются по своему типу. Для объявления переменных используется запись
<тип> <имя>;
<тип> <список имен>;
Одновременно с объявлением можно проводить инициализацию. Переменные создаются не при объявлении, а при инициализации. Для задания имени переменной пользуются правилами:
1-й символ обязательно буква, или _ , или @ (только для C#);
2-й и последующие символы – буквы, цифры, знак _ ;
имена переменных не должны совпадать с ключевыми словами;
компилятор чувствителен к регистру.
Для выбора имен можно пользоваться соглашениями:
венгерской нотацией (szString1);
нотацией PascalCase (MyVar);
нотацией camelCase (myVar).
Рассмотрим дальнейшие правила, относящиеся к языку С#, как более легкому для самостоятельного изучения. В дальнейшем, имея опыт программирования на С#, можно быстрее освоить языки С/С++, тем более, что он изначально поддерживает объектно-ориентированный стиль.
Система типов имеет принципиальный характер, согласно которой в С# все типы можно разделить на 4 категории:
- типы-значения (value) или значимые типы;
- ссылочные (reference).;
- указатели (pointer);
- тип void.
Классификация основана на том, где и как хранятся значения типов. Для ссылочного типа значение задает ссылку на область памяти в "куче", где расположен соответствующий объект. Для значимого типа используется прямая адресация, значение хранит собственно данные, и память для них отводится, как правило, в стеке. Указатели могут использоваться только в небезопасных блоках, помеченных как unsafe. Тип void указывает на отсутствие какого-либо значения. В языке C# к значимым типам относятся: логический, арифметический, структуры, перечисление. Массивы, строки и классы относятся к ссылочным типам.
В C# массивы рассматриваются как динамические, их размер может определяться на этапе вычислений, а не в момент трансляции. Строки могут менять свою длину. Структуры C#, также и как и в С++, представляют частный случай класса. Определив свой класс как структуру, программист получает возможность отнести класс к значимым типам.
Также типы делятся на встроенные и определенные пользователем. Встроенные типы фактически совпадают с системными типами каркаса .Net Framework из пространства имен System.
Таблица 1
Логический тип |
||||
Имя типа |
Системный тип |
Значения |
Размер |
|
bool |
System.Boolean |
true, false |
8 бит |
|
Арифметические целочисленные типы |
||||
Имя типа |
Системный тип |
Диапазон |
Размер |
|
sbyte |
System.SByte |
-128 — 128 |
Знаковое, 8 Бит |
|
byte |
System.Byte |
0 — 255 |
Беззнаковое, 8 Бит |
|
short |
System.Short |
-32768 —32767 |
Знаковое, 16 Бит |
|
ushort |
System.UShort |
0 — 65535 |
Беззнаковое, 16 Бит |
|
int |
System.Int32 |
≈(-2*10^9 — 2*10^9) |
Знаковое, 32 Бит |
|
uint |
System.UInt32 |
≈(0 — 4*10^9) |
Беззнаковое, 32 Бит |
|
long |
System.Int64 |
≈(-9*10^18 — 9*10^18) |
Знаковое, 64 Бит |
|
ulong |
System.UInt64 |
≈(0— 18*10^18) |
Беззнаковое, 64 Бит |
|
Арифметический тип с плавающей точкой |
||||
Имя типа |
Системный тип |
Диапазон |
Точность |
|
float |
System.Single |
+1.5*10^-45 - +3.4*10^38 |
7 цифр |
|
double |
System.Double |
+5.0*10^-324 - +1.7*10^308 |
15-16 цифр |
|
Арифметический тип с фиксированной точкой |
||||
Имя типа |
Системный тип |
Диапазон |
Точность |
|
decimal |
System.Decimal |
+1.0*10^-28 - +7.9*10^28 |
28-29 значащих цифр |
|
Символьные типы |
||||
Имя типа |
Системный тип |
Диапазон |
Точность |
|
char |
System.Char |
U+0000 - U+ffff |
16 бит Unicode символ |
|
string |
System.String |
Строка из символов Unicode |
||
Объектный тип |
||||
Имя типа |
Системный тип |
Примечание |
||
object |
System.Object |
Прародитель всех встроенных и пользовательских типов |