Методичка по C (Методичка по C#)

2015-08-02СтудИзба

Описание файла

Документ из архива "Методичка по C#", который расположен в категории "". Всё это находится в предмете "системное и прикладное программное обеспечение (сппо)" из 6 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "системное и прикладное программное обеспечение (сппо)" в общих файлах.

Онлайн просмотр документа "Методичка по C"

Текст из документа "Методичка по C"

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

____________________________

МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ

(ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ)

_____________________________

М. М. МАРАН

ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ C# В СРЕДЕ MICROSOFT VISUAL STUDIO 2005

Учебное пособие

по курсу

«Системное и прикладное программное обеспечение»

для студентов, обучающихся по направлениям

«Прикладная математика и информатика» и «Информатика

и вычислительная техника»

Москва Издательство МЭИ 2007

УДК

621.398

М-25

Утверждено учебным управлением МЭИ

в качестве учебного пособия для студентов

Подготовлено на кафедре прикладной математики

Рецензенты:

докт. техн. наук, профессор В.П.Климанов,

канд. техн. наук, доцент А.В.Князев

Маран М.М.

М-25 Программирование на языке C# в среде Microsoft Visual Studio 2005: учебное

пособие / М.М. Маран – М.: Издательство МЭИ, 2007 – 92 с.

ISBN 978-5-383-00004-5

Учебное пособие содержит описание языка программирования C#. Рассмотрены основные конструкции, методики процедурного и объектно-ориентированного программирования. Во второй части пособия приведены основные сведения о работе в среде Microsoft Visual Studio 2005 и описано создание одно- и многооконных интерфейсов пользователя.

Предназначено для студентов, обучающихся по направлениям «Прикладная математика и информатика» и «Информатика и вычислительная техника».

ISBN 978-5-383-00004-5 © Московский энергетический институт

(технический университет), 2007

ОГЛАВЛЕНИЕ

Введение 5

1 . Базовые элементы языка C# 6

1.1. Структура программы 6

1.2. Типы данных 7

1.3. Арифметические и логические операции 9

1.4. Условный оператор и оператор выбора 10

1.5. Ввод/вывод в консольном режиме 11

1.6. Комментарии 13

1.7. Массивы 13

1.8. Операторы цикла 15

1.9. Работа со ступенчатыми массивами 17

Контрольные вопросы 18

2. Работа с функциями 19

2.1. Общие принципы 19

2.2. Процедурное программирование в C# 20

Контрольные вопросы 23

3. Объектно-ориентированное программирование на C# 24

3.1. Общие принципы 24

3.2. Объявление и работа с классами 24

3.3. Перегрузка операторов 27

3.4. Индексаторы 30

3.5. Свойства 33

3.6. Использование класса в качестве типа данных 35

3.7. Работа со структурами 39

3.8. Наследование 40

3.9. Ссылки на объекты 42

3.10. Конструктор копирования 43

3.11. Виртуальные методы 45

3.12. Абстрактные методы и классы 47

3.13. Интерфейсы 48

3.14. Делегаты и события 51

3.15. Исключительные ситуации 57

Контрольные вопросы 60

4. Среда Microsoft Visual Studio 2005 60

4.1. Простейший пример 60

4.2. Средства управления работой программы 62

4.3. Создание меню 63

4.4. Ввод/вывод массивов 63

4.4.1. Ввод/вывод и обработка одномерного массива-строки 64

4.4.2. Ввод/вывод и обработка одномерного массива-столбца 65

4.4.3. Ввод/вывод и обработка двумерного массива 66

4.4.4. Форматированный ввод/вывод двумерного массива 67

4.5. Создание многооконных приложений 70

4.5.1. Создание SDI-приложения 71

4.5.2. Создание MDI-приложения 74

Контрольные вопросы 79

5. Объектно-ориентированное программирование в Microsoft Visual Studio 2005 80

5.1. Дополнение класса формы средствами решения прикладной задачи 80

5.2. Создание отдельных классов 82

5.3. Передача в классы указателей на формы 85

5.4. Создание форм в классах пользователя 88

Контрольные вопросы 90

Заключение 90

Библиографический список 91

Введение

Язык программирования С++ уже давно широко используется для составления самых разнообразных программ. Язык С# — это очередная ступень бесконечной эволюции языков программирования. Его создание вызвано процессом усовершенствования и адаптации, который определял разработку компьютерных языков в течение последних лет. Подобно всем успешным языкам, которые увидели свет раньше, С# опирается на прошлые достижения постоянно развивающегося искусства программирования.

В языке С# (созданном компанией Microsoft для поддержки среды .NET Framework) проверенные временем средства усовершенствованы с помощью самых современных технологий. С# предоставляет очень удобный и эффективный способ написания программ для современной среды вычислительной обработки данных, которая включает операционную систему Windows, Internet, компоненты и пр.

Компьютерные языки существуют не в вакууме. Они связаны друг с другом и на каждый новый язык в той или иной форме влияют его предшественники. В процессе такого «перекрестного опыления» средства из одного языка адаптируются другим, удачная новинка интегрируется в существующий контекст, а отжившая конструкция отбрасывается за ненадобностью. Примерно так и происходит эволюция компьютерных языков и развитие искусства программирования. Не избежал подобной участи и С#. Языку С# «досталось» богатое наследство. Он — прямой потомок двух самых успешных языков программирования (С и C++), и знающие язык Pascal, точнее его версию, реализованную на Delphi, наверняка узнают многие конструкции.

С# — это новый язык, разработанный Эндерсом Хейлсбергом в корпорации Microsoft в качестве основной для среды разработки для .NET Framework и всех будущих продуктов Microsoft. C# берет свое начало в других языках, в основном в C++, Java, Delphi, Modula-2 и Smalltalk. Про Хейлсберга следует сказать, что он был главным архитектором Turbo Pascal и Borland Delphi, и его огромный опыт способствовал весьма тщательной проработке нового языка. С одной стороны, для С# в еще большей степени, чем для упомянутых выше языков, характерна внутренняя объектная ориентация; с другой стороны, в нем реализована новая концепция упрощения объектов, что существенно облегчает освоение мира объектно-ориентированного программирования.

Формально для чтения данного пособия не требуется никакая предварительная подготовка, кроме базовой подготовки по программированию. Тем не менее, знание языков программирования С++ и Delphi существенно упростит этот процесс

1 . Базовые элементы языка C#

1.1. Структура программы

Все приведенные в данном пособии примеры разработаны в среде Microsoft Studio 2005. Данная среда, как и другие среды визуального программирования, позволяет работать как в консольном режиме, так и в режиме диалоговых окон. В первой части учебного пособия для изучения именно языка C# мы будем использовать консольный режим, во второй части рассмотрим разработку диалоговых окон. Для создания новой программы в консольном режиме после запуска Studio 2005 необходимо:

  • выбрать по очереди File – New – Project;

  • выбрать язык реализации Visual C#, тип проекта Windows, Console Application;

  • определить местонахождение нового проекта (Location) и дать ему имя (Name), в нашем случае ConsApp.

В ответ увидите следующую картину:

using System; //подключение стандартных библиотек

using System.Collections.Generic;

using System.Text;

namespace ConsApp

{

// здесь должны находиться созданные пользователем классы

class Program

{

// здесь должны быть функции пользователя при отсутствии классов

static void Main(string[] args)

{

// главная функция, здесь должны быть операторы

Console.WriteLine(“ Привет из Москвы “);

Console.ReadLine();

}

}

}

Программа начинается с области имен (ее имя мы определили при создании проекта), которая содержит созданный автоматически класс (Program), а в составе этого класса находится главная функция (Main). Наш пример содержит простейшую программу – традиционное приветствие. Заодно она показывает вывод символьных строк. Строка Console.ReadLine(); необходима, как и в других консольных приложениях, для задержки экрана пользователя после завершения программы. Как видите, ввод/вывод очень похож на Pascal. При отсутствии классов и функций пользователя весь текст программы находится в главной функции.

    1. Типы данных

В C# имеются следующие типы данных.

Тип

данных

Размер

Диапазон значений

Целочисленные типы данных

sbyte

1 байт, со знаком

–128 … 127

byte

1байт, без знака

0 … 255

char

2 байта, символ Unicode

0000 … FFFF

short

2 байта, со знаком

–32768 … 32767

ushort

2 байта, без знака

0 … 65535

int

4 байта, со знаком

–2 147 483 646 …

2 147 483 647

uint

4 байта, без знака

0 … 4 294 967 295

long

8 байтов, со знаком

–9 223 372 036 854 775 808 … 9 223 372 036 854 775 807

ulong

8 байтов, без знака

0 … 18 446 744 073 709 551 615

decimal

28, 29 десятичных знаков

10e–28 … 7.9e+28

Данные с плавающей точкой

float

7 десятичных знаков

1.5e–45 … 3.4e38

double

15-16 десятичных знаков

5.0e–324 … 1.7e308

Логические данные

bool

true … false

Символьные данные

string

Строка любых символов

В C#, как и в С++, большие и маленькие буквы разные как в именах переменных, так и при написании служебных слов.

Объявление данных и присвоение начальных значений:

int i, k;

float x, y;

decimal d1;

short n;

string s1;

char c1;

bool b1;

i = 3;

n=9;

x = -6.7f; //или x = -456.43F;

double z;

z = 5.76; //или z = 5.34D; z = -76.45d;

d1 = 123.43m; // или d1 = 154.65M;

s1 = "ABCDEF";

c1 = '?';

b1=true;

Обратим внимание на то обстоятельство, что константа -6.7 имеет тип double и присвоение x = -6.7; является ошибкой! Также было бы ошибкой присвоение d1 = 123.43; Приведенные примеры показывают и обозначения констант float, double, decimal. Данные типа decimal можно рассматривать как аналог распространенного в системах управления базами данных типа данных Currency (денежный): вычисления с ними выполняются с большой точностью и без округления (если это возможно).

Явное и неявное преобразование данных.

Общее правило: неявно можно выполнять все преобразования, которые не приведут к потере информации. Поэтому данные типов bool, double, decimal не могут быть неявно преобразованы ни в какие типы данных. float может быть преобразован в double; int может быть преобразован в long, float, double, decimal; long может быть преобразован в float, double, decimal.

Явное преобразование выполняется следующим образом:

(новый_тип_данных) переменная

Примеры (объявление данных – см. выше).

x=(float)56.3; // константа типа double

// преобразуется в float

d1 = (decimal)25.6; // константа типа double

// преобразуется в decimal

i = (int)8.6; //результат i=8

Ответственность за явные преобразования несет программист. Например, преобразование x=(float)56.6e+300; формально не является ошибкой, несмотря на то, что преобразовываемое значение не входит в диапазон допустимых значений данных типа float. Результаты таких преобразований в общем случае не определены. Однако присвоения short n=123456789; и n=(short)123456789; являются синтаксическими ошибками.

В C# всем переменным до их использования в выражениях должны быть присвоены значения, в том числе нули и пустые строки. Использование в выражениях неинициализированных переменных считается ошибкой!

Очевидна рекомендация: без необходимости не предпринимайте подозрительных экспериментов с типами данных; если нет на то особых причин, можно рекомендовать ограничиться данными типа int, double, bool, string.

1.3. Арифметические и логические операции

Арифметические операции обозначают привычными знаками +, –, *, /, %. При работе с целыми числами операция / дает частное, а операция % –остаток от деления. Последняя операция допустима только для целых. Для деления двух целых необходимо менять тип хотя бы одного из них. Например,

i = 14;

k = 4;

x = (float)i / k;

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее