Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование на C#. Часть 1. Учебное пособие
.pdf
Ми
н
Ф
«
О
у
н
в
о
к
А
е
о
и
о
о
р
е
а
М
В
У
е
и
е
о
ь
н
ш
Б
О
В
ч
т
с
б
а
т
р
б
Б
1
с
о
е
Н
А
с
а
т
е
д
«
в
о
в
Е
т
о
и
♦
и
А
истерст
едеральн
Тамбовс
о образ
е госуда
учрежд
ий госуд
В.
вания и
ственное
ние выс
рственны
В. ДУ
ауки Ро
бюджетн
его образ
й технич
РОВИ
сийской
ое образо
вания
ский уни
Федерац
ательное
ерситет»
и
ПР
для ст
ГР
Утв
дентов,
«Б
М
рждено
в кач
бучающ
отехнич
Учебн
ИР
двух
Ч а с
чёным
стве уче
хся по н
ские сис
е элект
В
астях
ь 1
оветом у
ного по
правлен
емы и т
онное из
НИ
ниверси
обия
ию подг
хнологи
ание
Н
ета
товки 12
»
C#
.03.04
Там
♦
Издател
ство ФГ
20
ов
ОУ ВО
7
ТГТУ»
1

УДК 004.43(075.8)
ББК
Á972-018.2я73
Д79
Рецензенты:
Доктор технических наук, профессор,
заведующий кафедрой гуманитарных, естественных и
математических дисциплин ФГБОУ ВО «ТГУ им. Г. Р. Державина»
А. А. Арзамасцев
Доктор технических наук, профессор,
заведующий кафедрой «Прикладная геометрия и компьютерная графика»
ФГБОУ ВО «ТГТУ»
С. И. Лазарев
Д79
Дубровин, В. В.
Программирование на C# [Электронный ресурс
] : учебное посо-
бие : в 2 ч. / В. В. Дубровин. – Тамбов : Изд-во ФГБОУ ВО «ТГТУ»,
2017.
ISBN 978-5-8265-1829-8
Ч. 1. – 1 электрон. опт. диск (CD-ROM). – Системные требования :
ПК не ниже класса Pentium II ; CD-ROM-дисковод ; 23,9 Mb ; RAM ;
Windows 95/98/XP ; мышь. – Загл. с экрана.
ISBN 978-5-8265-1830-4
Изложены основы объектно-ориентированного программирования на
языке C#. Приведены основные понятия, алфавит и синтаксис, переменные и константы, типы переменных и операции, операторы и методы.
По каждой теме по ходу изложения материала приводится большое количество практических примеров, приведены задания.
Предназначено для студентов, обучающихся по направлению подго-
товки 12.03.04 «Биотехнические системы и технологии».
УДК 004.43(075.8)
ББК
Все права на размножение и распространение в любой форме остаются за разработчиком.
Нелегальное копирование и использование данного продукта запрещено.
ISBN 978-5-8265-1829-8 (общ.)
ISBN 978-5-8265-1830-4 (ч. 1)
2
© Федеральное государственное бюджетное
образовательное учреждение высшего образования
«Тамбовский государственный технический
университет» (ФГБОУ ВО «ТГТУ»), 2017
Á972-018.2я73

ВВЕДЕНИЕ
Учебное пособие разработано в соответствии с учебной программой
дисциплины «Программирование и основы алгоритмизации в биотехнических системах» для студентов 1, 2 курсов, обучающихся по направлению
подготовки 12.03.04 «Биотехнические системы и технологии». Оно включает
в себя основы объектно-ориентированного программирования на языке C#.
Учебное пособие поможет студенту проявить индивидуальность в подходах к самостоятельному изучению и решению поставленных задач. Содержание по
собия способствует формированию у студентов научного мировоззрения, а также может помочь им в дальнейшем грамотно выполнять курсовые и дипломные ра
боты.
Навыки создания программ позволят студентам обрести такие качества,
как упорядоченность мыслей, строгая организация и постановка решения
проблем практически любого уровня сложности и характера.
3

1. ОСНОВЫ ЯЗЫКА C#
Язык программирования C# был создан в XXI веке и является полностью объектно-ориентированным языком программирования, построенный в
соответствии с международными стандартами. C# признан Международным
сообществом. Он тесно связан с каркасом Framework.Net, в полной мере учитывает его возможности, что даёт программистам получать преимущества
работы с виртуальной машиной.
1.1. СРЕДА РАЗРАБОТКИ VISUAL STUDIO
Среда разработки проектов на C# является открытой языковой средой,
разрешающей использование различных языков программирования, включённых в среду фирмой Microsoft. Языки программирования, которые включаются в среду разработки Visual Studio, используют единый каркас –
Framework.Net. Поэтому отдельные части проекта можно разрабатывать на
разных языках. Например, программировать класс на одном языке, а потомки
класса – на других языках.
Карк
ас Framework.Net состо
ит из статической библиотеки классов –
FCL (Framework Class Library) и динамической общеязыковой исполнитель-
ной среды – CLR (Common Language Runtime). Библиотека FCL содержит
классы, задающие типы, которые встроены в язык программирования.
Имеются возможности построения Web-приложений, создания повторно используемых компонентов (Web-служб) и библиотек элементов
управления.
Компиляторы языков программирования преобразуют исходный код в
промежуточный код языка IL (Intermediate Language). После ко
мпиляции
проекта создаётся переносимый исполняемый файл (Portable Executable или
PE
-файл), который содержит код на IL, и метаданные. PE-файл может иметь
разные уточнения – exe, dll, mod или mdl. PE-файл с уточнением exe является
не обычным исполняемым Windows-файлом, а исходным фа
йлом
для транс-
лятора JIT (Just In Time Compiler), оптимально преобразующего поступаю-
4

щий код в команды реального процессора, на котором будет выполняться
проект. Метаданные содержат всю информацию, необходимую для выполнения в среде CLR.
1.2. ОПРЕДЕЛЕНИЕ ОСНОВНЫХ ПОНЯТИЙ
Создаваемый на C# проект имеет стандартные и введённые пользователем классы. Стандартные классы хранятся в библиотеке FCL. Класс содержит описание данных, называемых полями класса, описание методов класса
и описание событий и имеет свой тип. Тип данных (класса) – это семантическая единица, которая описывает свойства и поведение множества объектов,
которые называются э
кземплярами класса. Состояния объектов опре
деляются полями, поведение объектов – методами, а состояния, в которых могут находиться объекты, – событиями. Каждый класс сохраняется в отдельном
файле с одноименным именем.
Оболочка, содержащая множество классов, объединённых общей тематикой, называется пространством имён. Имена классов внутри пространства
имён не повторяются. В разных пространствах классы с одинаковыми именами не конфликт
пространства имё
уют. Обращение к классу состоит из уникального имени
н и собственного имени класса. Пространство имён может
состоять из классов и других пространств.
Одним из основных пространством имен библиотеки FCL является
пространство System, которое содержит другие пространства и классы,
имеющие широкое употребление в различных проектах.
Единица компиляции называется проектом. Сбо
рка является
результатом компиляции проекта. Проект включает одно или несколько пространств
имён. На начальном этапе создания проекта автоматически строится каркас
проекта. Он состоит из классов, являющихся наследниками других классов,
входящих в состав библиотеки FCL.
В проекте содержится: информация, необходимая для построения
сборки; файлы с классами, созданные разработчиком проекта и по
строенные
5

автоматически в момент создания проекта; ссылки на все подключаемые к
проекту DLL, COM-объекты, другие проекты.
Проект может быть выполняемым, если при построении каркаса в него
включается класс, содержащий статическую процедуру с именем Main и невыполняемым – проекты типа DLL. Невыполняемые проекты присоединяются к выполняемым сборкам, откуда и вызываются методы классов.
Результатом компиляции проекта является сбо
рка, которая
представляет собой коллекцию из одного или нескольких файлов с помеченными номерами версий. Она содержит описание требуемых ей ресурсов и права доступа к элементам сборки, что позволяет решать вопросы безопасности. Полное описание сборки называется манифестом. Он позволяет идентифицировать сборку. Поэтому описанию CLR не требуется никакой допол
информации для развертывания сборки
, трансляции промежуточного кода и
нительной
его выполнения.
Каждый проект помещается в некоторую оболочку, называемую Решением – Solution. Оно может содержать несколько проектов, связанных общей
темой.
1.3. АЛФАВИТ И СИНТАКСИС C#
6
Язык программирования С# использует набор символов:
• строчные и прописные буквы латинского алфавита;
• символ подчёркивания «_»;
• цифры от 0 до 9;
• набор специальных символов: " { }, [ ] + - % / \; ' : ? <> = ! & # ~ *.
Набор символов служит для построения слов – лексем.
Различают пять типов лексем:
• идентификаторы;
• ключевые слова;
• знаки (символы) операций;
• литералы;
• разделители.

Все типы лексем, кроме ключевых слов и идентификаторов, имеют
собственные правила словообразования.
Для разделения лексем используется множество пробельных символов,
к которым относятся пробел, табуляция, символ новой строки и комментарии.
Идентификаторы состоят из набора строчных и прописных букв, цифр,
символа подчёркивания и строятся по определённым правилам:
• первым символом идентификатора может быть только буква;
• следую
щими символами идентификатора могут быть буквы, цифры
и
нижнее подчёркивание;
• длина идентификатора не ограничена.
Использование идентификаторов, которые начинаются с символа подчеркивания, нежелательно. Имена объектов должны иметь некоторый смысл,
позволяющий облегчить восприятие и понимание последовательностей операторов.
Идентификаторы, входящие в фиксированный словарь, называются
ключевыми словами. В качестве им
ён объектов их использовать неж
ела-
тельно.
Для пояснения текста программы используются два вида комментариев. Комментарий, заключённый в символы /* Комментарий */, пропускается
компилятором. Если комментарий начинается с символа //, то он заканчивается в конце строки, на которой он появился.
1.4. ТИПЫ ДАННЫХ C#
Язык программирования С# является типизированным языком. Каждый
объект характеризуется своим типом, который указывает компилятору размер объекта и его свойства. Например, объект типа double занимает в памяти
8 байтов, объект Label может быть видим или невидим. Различают встроенные типы, определённые в языке, и пользовательские типы, которые выбирает программист. Типы могут быть размерные и ссылоч
ные. Различие между
7

ними определяет способ, которым их значения сохраняются в памяти. Размерные типы хранят своё фактическое значение в стеке, ссылочные –
сохраняют в стеке лишь адрес объекта, а сам объект хранится в куче (основной памяти). Доступ к куче осуществляется намного медленнее, чем к стеку.
Систему типов можно разбить на две категории типов, каждая из которых разделена на подкатегории: типы значений, ссылочн
ые типы и парамет-
ризованные типы (типы-шаблоны). Схема типов приведена на рис. 1.1.
Типы, имя и основные свойства, которые известны компилятору
, называются простыми. Среди простых типов выделяют: целочисленные, с плавающей точкой, decimal, булевские.
Основные характеристики простых типов отражены в табл. 1.1. Классы,
интерфейсы, массивы, делегаты относятся к ссылочным типам. Для ссы
ных типов существуют
собственные правила объявления.
лоч-
Для обозначения начальных значений в объявлении членов классов,
переменных и констант в методах класса используют литералы. Они состоят
из последовательности входящих в алфавит языка символов, обеспечивающих явное представление значений.
Система типов .NET
Типы-значения Типы-ссылки
Классы
Структуры
Строки
Перечисления
Массивы
Простые типы
Простые nullable-типы
Рис. 1.1. Схема типов
Типы-шаблоны
Делегаты
Интерфейсы
8

1.1. Характеристики простых типов
Тип в C#
sbyte System.SByte
Соответствует
FCL-типу
Целый. 8-разрядное со знаком. Диапазон
значений: –128…127
byte System.Byte
Целый. 8-разрядное без знака. Диапазон
значений: 0…255
short System.Int16
Целый. 16-разрядное со знаком. Диапазон
значений: –32 768 … 32 767
ushort System.UInt16
Целый. 16-разрядное без знака. Диапазон
значений: 0…65 535
int System.Int32
Целый. 32-разрядное со знаком. Диапазон
значений: –2 147 483 648…2 147 483 647
uint System.UInt32
Целый. 32-разрядное без знака. Диапазон
значений: –0…4 294 967 295
Описание
long System.Int64
Целый. 64-разрядное со знаком. Диапазон
значений: –92 233 72 036 854 775 808…
9 223 372 036 854 775 807
ulong System.UInt64
Целый. 64-разрядное без знака. Диапазон
значений: 0…18 446 744 073 709 551 615
char System.Char
float System.Single
double System.Double
decimal System.Decimal
16 (!) разрядный символ UNICODE.
Плавающий. 32 разряда. Стандарт IEEE
Плавающий. 64 разряда. Стандарт IEEE
128-разрядное значение повышенной точно-
сти с плавающей точкой
bool System.Boolean
Значение true или false
Литералы классифицируют на арифметические (разных типов), логические, символьные (включая Escape-последовательности), строковые.
Целочисленные типы кодируются последовательностью цифр 0, 1, …, 9;
плавающего типа точка–разделитель между целой и дробной частью, либо
научная или экспоненциальная нотация – 1.2500E + 052; шестнадцатеричное
представление целочисленного значения кодируется шестнадцатеричным ли-
9

тералом, состоящим из символов '0',…,'9', а также 'a',…, 'f', либо 'A',…,'F' с
суффиксом '0х'. Суффиксы l, L соответствуют типу long; ul, UL – unsigned long;
f, F – float; d, D – decimal. Значения типа double кодируются без префикса.
Последовательности символов: true и false относятся к логическим литералам.
Литералы, заключённые в одинарные кавычки, вводимые с клавиатуры,
одиночные символы, называют симво
Q', '7'.
'
льными литералами, например, 'X', 'p',
Категория литералов, используемая для создания дополнительных эффектов (звонок), простого форматирования выводимой информации и кодирования символов при выводе и сравнении (в выражениях сравнения) называется Escape-последовательностью (см. табл. 1.2).
1.2. Escape-последовательность
Escape-последовательность Описание
\a Предупреждение (звонок)
\b Возврат на одну позицию
\f Переход на новую страницу
\n Переход на новую строку
\r Возврат каретки
\t Горизонтальная табуляция
\v Вертикальная табуляция
\0 Ноль
\' Одинарная кавычка
\" Двойная кавычка
\\ Обратная косая черта
Последовательности символов и escape-последовательностей, заклю-
чённых в двойные кавычки, называются строковыми литералами. Строковые
литералы являются литералами типа string.
10
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
