Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Арифметические и логические операцииСтр 1 из 11Следующая ⇒
Маран М.М. Программирование на языке C#. Методическое пособие по курсу «Программирование на языках высокого уровня». – М.: Издательство МГТУ «СТАНКИН», 2007. – 94 с.
Учебное пособие содержит описание языка программирования C#, рассмотрены основные конструкции, методики процедурного и объектно-ориентированного программирования. Во второй части пособия приведены основные сведения о работе в среде Microsoft Visual Studio 2005 и описано создание одно- и многооконных интерфейсов пользователя. Предназначено для студентов, обучающихся по направлению «Информатика и вычислительная техника».
© М.М.Маран, 2007 © Московский государственный технологический университет «СТАНКИН», 2007 Оглавление Введение.. 6 1 . Базовые элементы языка C#. 7 1.1. Структура программы.. 7 1.2. Типы данных. 8 1.3. Арифметические и логические операции. 10 1.4. Условный оператор и оператор выбора. 11 1.5. Ввод/вывод в консольном режиме. 12 1.6. Комментарии. 14 1.7. Массивы.. 14 1.8. Операторы цикла. 16 1.9. Работа со ступенчатыми массивами. 18 Контрольные вопросы... 19 2. Работа с функциями.. 20 2.1. Общие принципы.. 20 2.2. Процедурное программирование в C#. 21 Контрольные вопросы... 24 3. Объектно-ориентированное программирование на C# 25 3.1. Общие принципы.. 25 3.2. Объявление и работа с классами. 25 3.3. Перегрузка операторов. 28 3.4. Индексаторы.. 31 3.5. Свойства. 34 3.6. Использование класса в качестве типа данных. 36 3.7. Работа со структурами. 39 3.8. Наследование. 41 3.9. Ссылки на объекты.. 43 3.10. Конструктор копирования. 44 3.11. Виртуальные методы.. 46 3.12. Абстрактные методы и классы.. 48 3.13. Интерфейсы.. 49 3.14. Делегаты и события. 51 3.15. Исключительные ситуации. 58 Контрольные вопросы... 61 4. Среда Microsoft Visual Studio 2005. 61 4.1. Простейший пример. 61 4.2. Средства управления работой программы.. 62 4.3. Создание меню.. 63 4.4. Ввод/вывод массивов. 64 4.4.1. Ввод/вывод и обработка одномерного массива-строки. 65 4.4.2. Ввод/вывод и обработка одномерного массива-столбца. 66 4.4.3. Ввод/вывод и обработка двумерного массива. 67 4.4.4. Форматированный ввод/вывод двумерного массива. 68 4.5. Создание многооконных приложений. 71 4.5.1. Создание SDI –приложения. 72 4.5.2. Создание MDI –приложения. 75 Контрольные вопросы... 80 5. Объектно-ориентированное программирование в Microsoft Visual Studio 2005. 81 5.1. Дополнение класса формы средствами решения прикладной задачи 81 5.2. Создание отдельных классов. 84 5.3. Передача в классы указателей на формы.. 87 5.4. Создание форм в классах пользователя. 89 Контрольные вопросы... 91 Заключение.. 91 Библиографический список.. 92
Введение
Язык программирования С++ уже давно широко используется для составления самых разнообразных программ. Язык С# — это очередная ступень бесконечной эволюции языков программирования. Его создание вызвано процессом усовершенствования и адаптации, который определял разработку компьютерных языков в течение последних лет. Подобно всем успешным языкам, которые увидели свет раньше, С# опирается на прошлые достижения постоянно развивающегося искусства программирования. В языке С# (созданном компанией 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# Структура программы Все приведенные в данном пособии примеры разработаны в среде 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. При отсутствии классов и функций пользователя весь текст программы находится в главной функции. Типы данных
В C# имеются следующие типы данных
В 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.
Арифметические и логические операции
Арифметические операции обозначают привычными знаками +, -, *, /, %. При работе с целыми числами операция / дает частное, а операция % остаток от деления. Последняя операция допустима толькодля целых. Для деления двух целых необходимо менять тип хотя бы одного из них. Например, i = 14; k = 4; x = (float)i / k; Имеются операции i++ i-- ++i --i. При i = 14 в результате выполнения операции k=(++i)+4; переменные получат следующие значения i=15 и k=19; а после операции k=(i++)+4 i=15 и k=18. Разрешена и запись x+=z; которая эквивалентна записи x=x+z; вместо + можно использовать и знаки других операций. Операции сдвиг налево (направо) могут применяться только к целым числам. При i = 1478; результатами операций сдвига будут: k = i >> 3; //k=184 i = i << 3; //i=11824 Над целыми могут выполняться и побитовые операции & - поразрядное умножение, | - поразрядное сложение, ^ - поразрядное исключающее или. Пусть имеется объявление int i, j, m; и переменные имеют следующие значения i=1634; k=7654; Тогда m=i&k; дает результат 1634; m=i|k; результат 8166 и m=i^k; результат 7044. Над переменными логического типа могут выполняться операции &, |, ^ (исключающее ИЛИ), ! (отрицание). Переменной типа bool может быть присвоен результат сравнения: b1= i>k; b1=!(i>k); К арифметическим данным могут применяться математические функции, которые содержатся в библиотеке Math. Например, четвертый корень может быть найден следующим образом: x=4598.3f; z = Math.Pow(x, 0.25); а натуральный логарифм через z = Math.Log(x); Какие именно функции имеются в библиотеке Math узнать предельно легко: после набора имени библиотеки и точки на экране появится подсказка. Не забудьте только, что значения большинства математических функций имеют тип double и названия функций пишут с большой буквы.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-04-12; просмотров: 381. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |