Лекция основы си++ 7




НазваниеЛекция основы си++ 7
страница1/18
Дата публикации15.07.2013
Размер1.94 Mb.
ТипЛекция
lit-yaz.ru > Информатика > Лекция
  1   2   3   4   5   6   7   8   9   ...   18
А.А. Богуславский, С.М. Соколов

Основы программирования на языке Си++

Часть 1. Введение в программирование на языке Си++

(для студентов физико-математических факультетов педагогических институтов)

Коломна, 2002

ББК 32.97я73 Рекомендовано к изданию

УДК 681.142.2(075.8) редакционно-издательским советом

Б 73 Коломенского государственного

педагогического института

Богуславский А.А., Соколов С.М.

Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. - Коломна: КГПИ, 2002.-490 с.

Пособие предназначено для обучения студентов, обладающих навыками поль­зовательской работы на персональном компьютере, основным понятиям и методам современного практического программирования. Предметом изучения курса является объектно-ориентированное программирование на языке Си++ в среде современных 32-х разрядных операционных систем семейства Windows. Программа курса разбита на 4 части: (1) Введение в программирование на языке Си++; (2) Основы программи­рования трехмерной графики; (3) Объектно-ориентированное программирование на языке Си++ и (4) Программирование для Microsoft Windows с использованием Visual C++ и библиотеки классов MFC.

После изучения курса студент получает достаточно полное представление о содержании современного объектно-ориентированного программирования, об уст­ройстве современных операционных систем Win32 и о событийно-управляемом про­граммировании. На практических занятиях вырабатываются навыки программирова­ния на Си++ в интегрированной среде разработки Microsoft Visual C++ 5.0.

Рецензенты:

И.П. Гиривенко - к.т.н., доцент, зав. кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С.А. Есенина.

А.А. Шамов - к.х.н., доцент кафедры теоретической физики Коломенского госу­дарственного педагогического института.

СОДЕРЖАНИЕ

^ КРАТКОЕ ОПИСАНИЕ УЧЕБНОГО КУРСА "ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА ЯЗЫКЕ СИ++" 5


ЛЕКЦИЯ 1. ОСНОВЫ СИ++ 7

  1. Несколько замечаний О назначении программирования 7

  2. Происхождение языка СИ++ 9

  3. Стандарт ANSI СИ++ 9

  4. Среда разработки Microsoft Developer Studio Visual С++ 10

  5. Пример программы на СИ++ 10

  6. Выполнение ввода/вывода данных и присваивание значений 12

  7. Управление порядком выполнения команд ^ С ПОМОЩЬЮ оператора if 13

  8. Оформление ИСХОДНОГО текста 15

  9. Сводка результатов 15

10. Упражнения 15

^ ЛЕКЦИЯ 2. ПЕРЕМЕННЫЕ, ТИПЫ ДАННЫХ И ВЫРАЖЕНИЯ 18

  1. Идентификаторы 18

  2. ТИПЫ данных 18

  3. ВЫВОД ВЕЩЕСТВЕННЫХ ЧИСЕЛ НА ЭКРАН 22

  4. Описания, константы И перечисления 24

  5. Присваивание И выражения 26

  6. Сводка результатов 28

  7. Упражнения 28

  8. Приложения 29

^ ЛЕКЦИЯ 3. ФУНКЦИИ И ПРОЦЕДУРНАЯ АБСТРАКЦИЯ 31

  1. Назначение подпрограмм 31

  2. Определение НОВЫХ функций 31

  3. Способы передачи параметров внутрь функций 33

  4. Полиморфизм И перегрузка функций 35

  5. Процедурная абстракция И "хороший" СТИЛЬ программирования 36

  6. Модульное программирование 36

  7. Сводка результатов 38

  8. Упражнения 39

^ ЛЕКЦИЯ 4. ТЕКСТОВЫЕ ФАЙЛЫ И ПОТОКИ ВВОДА/ВЫВОДА 41

  1. Назначение файлов 41

  2. ПОТОКИ ввода/вывода 41

  3. Проверка ошибок выполнения файловых операций 43

  4. символьный ввод/вывод 44

  5. Проверка достижения конца файла при операциях ввода 45

  6. Передача ПОТОКОВ функциям В качестве параметров 47

  7. Операторы ввода/вывода ">>" И "<<" 48

  8. Сводка результатов 50

  9. Упражнения 50

^ ЛЕКЦИЯ 5. ОПЕРАТОРЫ ВЕТВЛЕНИЯ И ЦИКЛЫ 52

  1. Логические значения, выражения И функции 52

  2. ЦИКЛЫ "FOR", "WHILE" И "DO...WHILE" 53

  3. Множественное ветвление И оператор "switch" 55

  4. ^ БЛОКИ И ОБЛАСТЬ ВИДИМОСТИ ПЕРЕМЕННЫХ 56

  1. Замечание О вложенных циклах 59

  2. Сводка результатов 59

  3. Упражнения 60

^ ЛЕКЦИЯ 6. МАССИВЫ И СИМВОЛЬНЫЕ СТРОКИ 63

  1. Назначение массивов 63

  2. Передача массивов В качестве параметров функций 66

  3. Сортировка массивов 68

  4. Двумерные массивы 69

  5. Символьные строки 70

  6. Сводка результатов 73

  7. Упражнения 73

^ ЛЕКЦИЯ 7. УКАЗАТЕЛИ 75

  1. Назначение указателей 75

  2. Переменные типа "массив". Арифметические операции с указателями 79

  3. Динамические массивы 81

  4. Автоматические И динамические переменные 82

  5. Связные СПИСКИ 82

  6. Сводка результатов 86

  7. Упражнения 87

^ ЛЕКЦИЯ 8. РЕКУРСИЯ 89

  1. Понятие рекурсии 89

  2. Простой пример рекурсии 89

  3. Как выполняется рекурсивный ВЫЗОВ 90

  4. Еще три примера рекурсии 92

  5. Рекурсия ^ И ЦИКЛЫ 93

  6. Рекурсия В структурах данных 94

  7. Рекурсивная реализация алгоритма быстрой сортировки 94

  8. Сводка результатов 97

  9. Упражнения 97

^ ЛЕКЦИЯ 9. СОСТАВНЫЕ ТИПЫ ДАННЫХ 100

  1. Назначение составных ТИПОВ данных 100

  2. Описание И инициализация структур 100

  3. Доступ К компонентам структуры через указатель 103

  4. Массивы И структуры 104

  5. Перегрузка операторов 105

  6. Применение структур ДЛЯ реализации стека 107

  7. Сводка результатов 111

  8. Упражнения 112

^ ПРИЛОЖЕНИЕ. КРАТКОЕ РУКОВОДСТВО ПО СРЕДЕ РАЗРАБОТКИ DEVELOPER
STUDIO VISUAL C++ 113


  1. Создание НОВОГО проекта 113

  2. Добавление в проект нового исходного файла 114

  3. Сборка проекта 115

  4. Запуск НОВОГО приложения 116

ЛИТЕРАТУРА 117

Краткое описание учебного курса "Основы программиро­вания на языке Си++"

Развитие современных технологий программирования предполагает владение программистом широким набором практических навыков, среди которых одними из основных можно считать знание языка программирования, среды разработки и сис­темных технологий базовой операционной системы. Рассматриваемый учебный курс предназначен для начальной подготовки программиста, владеющего языком про­граммирования Си++ применительно к разработке программ в ОС семейства Win32.

При анализе доступных в Интернет зарубежных курсов, связанных с обучени­ем практическому программированию в рамках подготовки по специальностям Com­puter Science, оказалась заметна следующая тенденция: существуют курсы по изуче­нию языка Си++, курсы по изучению объектно-ориентированного программирования на базе, чаще всего, Java и реже, Си++, и практически стандартный курс "Операцион­ные системы", посвященный структуре Unix-совместимых операционных систем. Ха­рактерной особенностью зарубежных университетских курсов является отсутствие разделов, посвященных изучению практического программирования в среде коммер­ческих ОС массового распространения, в первую очередь, ОС Windows. С другой стороны, изучение программирования для этих ОС предлагается рядом коммерческих учебных организаций, но сроки обучения порядка 3-5 дней предполагают обучение уже грамотного специалиста, имеющего навыки программирования в какой-либо дру­гой ОС или на другом языке программирования.

В сегодняшних российских условиях, не отрицая необходимости фундамен­тальной подготовки специалистов по вычислительной технике в области теории алго­ритмов и устройства вычислительных и программных систем, можно отметить полез­ность изучения технологий практического программирования - использования сред разработки и библиотек программирования для ОС массового распространения. Этим обусловлена направленность рассматриваемого курса - начальная подготовка про­граммистов на Си++ для среды ОС Windows.

Сложность обучения практическому программированию, на наш взгляд, за­ключается в трудности сочетания обучения абстрактным понятиям программирова­ния (таким, как структуры данных, понятие алгоритма, основные компоненты алго­ритмического языка, методология проектирования программного обеспечения), с изучением технологий и сред программирования на базе какой-либо конкретной ОС. Эти практические технологии пребывают в постоянном развитии, поэтому может быть сложно выделить какие-либо конкретные средства разработки в качестве пред­мета изучения.

Несмотря на широкое распространение сред быстрой разработки ПрО (напри­мер, Visual Basic, Inprise Builder и Inprise Delphi), выбор их в качестве учебной среды представляется нецелесообразным, т.к. в этих средах кажущаяся простота разработки ПрО касается только формирования каркаса приложения из набора готовых компо­нент, а устройство этих компонент или изменение структуры каркаса требует серьез­ных знаний не только по структуре базовой ОС, но и по системной архитектуре среды программирования.

Программа данного курса предназначена для обучения лиц, имеющих навыки пользовательской работы на персональном компьютере, основным понятиям и мето­дам современного практического программирования. Предметом изучения курса яв­ляется объектно-ориентированное программирование на языке Си++ в среде совре­менных 32-х разрядных операционных систем семейства Windows. Программа курса

разбита на 4 части:

  1. Введение в программирование на языке Си++ (9 лекций)

  2. Основы программирования трехмерной графики (8 лекций)

  3. Объектно-ориентированное программирование на языке Си++ (9 лекций)

  4. Программирование для Microsoft Windows с использованием Visual C++ и
    библиотеки классов MFC (9 лекций)

На каждое лекционное занятие должно быть предусмотрено минимум одно практическое (2 академических часа) и еще, в среднем, 4 часа самостоятельных заня­тий. Т.о., на изучение курса отводится 72 лекционных часа, 72 практических (т.о., 144 аудиторных часа) и 144 часа самостоятельных занятий.

Методические материалы для курса сформированы на основе примерно 10-ти зарубежных изданий, часть из которых переведена на русский язык.

В первой части курса рассматриваются процедурные основы языка Си++. Они включают в себя оформление текста программ, правила записи выражений на Си++, рассмотрение простых типов данных и алгоритмических конструкций условных опе­раторов, циклов и др. В конце этой части курса подробно рассматриваются составные типы данных. При этом делаются замечания о достоинствах и недостатках этих типов данных, что впоследствии упрощает введение понятий объектно-ориентированного программирования.

Вторая часть курса посвящена применению языка Си++ для программирования задач в конкретной предметной области - трехмерной компьютерной графики. В ка­честве базовой графической библиотеки выбрана библиотека OpenGL, являющаяся открытым стандартом в данной области. Изучение этой библиотеки демонстрирует методику освоения готового инструментария, сформированного в результате приме­нения методов структурного проектирования в конкретной предметной области. По­нятия, относящиеся к машинной графике, понятие каркаса приложения и обработки событий иллюстрируются простыми примерами и в дальнейшем используются при изучении программирования в среде Windows.

Третья часть курса изучается после усвоения студентами процедурного про­граммирования. Основные вопросы объектно-ориентированного программирования на Си++ излагаются на примере программирования консольных приложений Win32. Рассматриваются элементарные приемы объектно-ориентированного проектирования - проектирование на основе распределения обязанностей, метод CRC-карточек.

В четвертой части курса изучается архитектура операционных систем семейст­ва Windows и методы программирования для этих ОС. Примерно треть этой части по­священа рассмотрению основных компонент операционных систем Windows 9x/NT, знакомству с базовыми сервисами операционных систем и программированию для этих ОС на языке Си++ на уровне Win32 API. В оставшейся части рассматриваются приемы программирования для ОС Windows на базе библиотеки классов MFC. Эта библиотека классов является промышленным стандартом, упрощающим разработку программ и использование Win32 API. Подробно описывается каркас приложения MFC, основные классы этой библиотеки, приемы использования этих классов в соб­ственных программах, архитектура однодокументных приложений "документ/вид".

После изучения курса студент получает достаточно полное представление о содержании современного объектно-ориентированного программирования, об уст­ройстве современных операционных систем Win32 и о событийно-управляемом про­граммировании. На практических занятиях вырабатываются навыки программирова­ния на Си++ в интегрированной среде разработки Microsoft Visual C++ 5.0.

ЛЕКЦИЯ 1. Основы Си++

1. Несколько замечаний о назначении программирования

Программирование - это техническая творческая деятельность, цель которой заключается в решении важных для человека задач или выполнении определенных действий с помощью компьютера. На рис. 1 представлена идеализированная схема решения типичной задачи программирования.

Подробное описание

задачи или необходимых

действий

КОМПЬЮТЕР

Решение задачи или выполнение действий

Рис. 1. Схема решения задачи с помощью компьютера.

В рамках такой схемы необходимыми компонентами компьютера являются центральный процессор, устройства ввода/вывода и память (рис. 2).





0










2




3




4




3









^ УСТРОЙСТВА ВВОДА/ВЫВОДА

ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР

ПАМЯТЬ

Рис. 2. Основные компоненты компьютера.

Конечно, в действительности дело обстоит не так просто, как показано на рис. 1. Например, "подробное описание (спецификация) задачи" на естественном язы­ке для компьютера не годится (в настоящее время). Более того, для решения задачи на компьютере недостаточно полного описания задачи, необходимо также снабдить компьютер информацией о том, как именно следует решать задачу - т.е. составить ал­горитм. Для описания алгоритмов решения задач или алгоритмов выполнения каких-либо действий (например, управление роботом-манипулятором) с помощью компью­тера применяются языки программирования.

На рис. 3 показана более подробная схема решения задачи с помощью компью­тера, в которой учтена необходимость использования языка программирования. Ил­люстрация этой схемы на конкретном примере приведена в таблице 1.

Существует большое количество различных языков программирования и много способов их классификации. Например, "языками высокого уровня" считаются те языки, синтаксис которых сравнительно близок к естественному языку, в то время как синтаксис "низкоуровневых" языков содержит много технических подробностей, свя­занных с устройством компьютера и процессора.

^ ВЫСОКИЙ УРОВЕНЬ, НЕ ЗАВИСИТ ОТ АППАРАТУРЫ

НИЗКИЙ УРОВЕНЬ, ЗАВИСИТ ОТ АППАРАТУРЫ

СРЕДА РАЗРАБОТКИ VISUAL C++

Специфи­кация

Алгоритм

Язык програм­мирования высокого уровня

Внутренний код данного компьютера

Исполняемый файл

^ ОБЪЕКТНЫЙ КОД

КОМАНДЫ ПРОЦЕССОРА

РУССКИЙ ЯЗЫК

Си++, Си, Паскаль

(формальный стиль)

ПСЕВДОКОД

(неформальный стиль)

(полуформальный стиль)

Рис. 3. Схема решения задачи на компьютере с использованием языка программирования. Таблица 1. Основные этапы решения задачи по проверке числа на простоту.

^ Спецификация задачи

Требуется определить, является ли данное число простым.

Алгоритм

Ввести x

^ Для каждого целого числаzиз диапазоне от 1 доx Если остаток от деления x на z равен 0, то вывести сообщение "число не простое" и закончить работу

Если такого числа z не найдено, то вывести сообщение "число простое" и закончить работу

^ Описание алгоритма на языке высокого уровня

#include int main () { int x; cout << "Введите число:\n"; cin » x; for (int z=2; z
{ cout « "Это не простое число.\n"; return 0;

} cout « "Это простое число.\n"; return 0; }

^ Объектный код (внут­ренний код конкретного компьютера)

Двоичные команды процессора (частично)

^ Исполняемый файл для конкретного компьютера

Двоичные команды процессора (полностью)

"Императивные" или "процедурные" языки позволяют программисту описать, в какой последовательности компьютер будет выполнять отдельные шаги алгоритма и, таким образом, решать задачу и выдавать на экран результат. "Декларативные" языки предназначены больше для описания самой задачи и желаемого результата, а не дей­ствий компьютера.

"Объектно-ориентированные языки" рассчитаны на применение особого под­хода к описанию задач, согласно которому в задаче выделяются некоторые "объекты" с характерным для них "поведением" и взаимодействующие между собой. Один из

8

первых объектно-ориентированных языков - Смоллток, он предназначен исключи­тельно для объектно-ориентированного программирования. В отличие от него, язык Си++ обладает как объектно-ориентированными возможностями, так и средствами традиционного процедурного программирования.

Радикальные приверженцы различных языков и стилей программирования иногда делают экстравагантные заявления, выделяющие семейство языков или один язык как исключительный и идеально подходящий для любых задач. Например, до­вольно распространено мнение, что объектно-ориентированный подход наиболее близок к способу решения задач человеком. По этому поводу вы со временем сможе­те составить собственное мнение, т.к. абсолютно истинного, очевидно, нет.

2. Происхождение языка Си++

Язык Си++ был разработан в начале 1980-х гг. Бьерном Страуструпом из ком­пании AT&T Bell Laboratories. Си++ основан на языке Си. Два символа "++" в назва­нии - это игра слов, символами "++" в языке Си обозначается операция инкремента (увеличение значения переменной на 1). Т.о., Си++ был задуман как язык Си с рас­ширенными возможностями. Большая часть языка Си вошла в Си++ как подмножест­во, поэтому многие программы на Си можно скомпилировать (т.е. превратить в набор низкоуровневых команд, которые компьютер может непосредственно выполнять) с помощью компилятора Си++.

При классификации языков программирования язык Си вызывает некоторые трудности. По сравнению с ассемблером, это высокоуровневый язык. Однако Си со­держит много низкоуровневых средств для непосредственных операций с памятью компьютера. Поэтому язык Си отлично подходит для написания эффективных "сис­темных" программ. Но программы других типов на Си могут оказаться довольно сложными для понимания, и есть ряд ошибок, которым программы на Си особенно подвержены. Дополнительные объектно-ориентированные возможности Си++ были добавлены в Си, в частности, для устранения этих недостатков.

3. Стандарт ANSI Си++

Национальный Институт Стандартизации США (American National Standards Institution, ANSI) разработал "официальные" стандарты для многих языков програм­мирования, в том числе для Си и Си++. Эти стандарты стали общепринятыми и они имеют очень большое значение. Программу, целиком написанную на ANSI Си++, га­рантированно можно запустить на любом компьютере, для которого имеется компи­лятор ANSI Си++. Другими словами, стандарт гарантирует переносимость программ на языке ANSI Си++.

В действительности большинство версий Си++ представляют собой стандарт­ный ANSI Си++, дополненный некоторыми машинно-зависимыми возможностями. Эти специфические средства предназначены для облегчения взаимодействия про­грамм с конкретными операционными системами. Вообще, в программах, которые должны быть переносимыми, подобными специфическими возможностями следует пользоваться как можно реже. В таких случаях части программы на Си++, в которых используются не-ANSI компоненты языка, целесообразно особым образом помечать, так, чтобы их легко можно было отделить от основной части программы и модифи­цировать для других компьютеров и операционных систем.

4. Среда разработки Microsoft Developer Studio Visual С++

Известно, что лучший способ изучения языка программирования заключается в том, чтобы писать на нем программы и проверять, как они работают на компьютере. Для этого необходимы несколько программ:

  • Текстовый редактор, с помощью которого можно набирать и редактировать
    исходный текст программ на Си++.

  • Компилятор. Эта программа выполняет преобразование исходного текста в
    машинные команды, которые компьютер может непосредственно выпол­
    нять.

  • Компоновщик, который собирает отдельные скомпилированные части про­
    граммы в единое целое и, при необходимости, добавляет к ним компоненты
    из готовых библиотек. В результате компоновки получается готовая к за­
    пуску программа - исполняемый файл.

  • Отладчик, с помощью которого легче искать ошибки в программе. Ошибки
    могут обнаружиться как при компиляции, так и во время работы програм­
    мы.

В данном курсе изучения Си++ практические упражнения предполагается вы­полнять в среде разработки программ Microsoft Developer Studio Visual C++ для IBM-совместимых ПК под управлением Windows 95/NT. В этом пакете интегрирова­ны редактор, компилятор, компоновщик и отладчик. Все вместе они образуют единую удобную среду программирования. Краткое описание работы со средой Visual C++ приведено в Приложении.

5. Пример программы на Си++

Ниже приведен исходный текст простой программы на Си

// В языке Си++ с двойной косой черты начинаются комментарии

// (например, как эта строка). Компилятор игнорирует комментарии,

// начиная от первой черты и до конца строки.

/* Второй способ записи комментариев - после косой черты со звездочкой. После текста комментария надо поставить звездочку, а затем - косую черту. Комментарии, записанные подобным образом, могут занимать больше одной строки. */

/* В программе ОБЯЗАТЕЛЬНО должно быть достаточное количество комментариев! */

/* Эта программа запрашивает у пользователя текущий год, возраст пользователя и еще один год. Затем программа вычисляет возраст пользователя, который будет у него во втором введенном году.*/

#include

int main() {

int year_now, age_now, another_year, another_age;

cout « "Введите текущий год и нажмите ENTER.\n"; cin » year_now;

cout « "Введите свой возраст (в годах). \n"; cin » age_now;

10

cout « "Введите год, для которого вы хотите узнать свой возраст.\n"; cin » another_year;

another_age = another_year - (year_now - age_now); if (another_age >= 0)

{

cout « "B " « another_year « " году вам будет "; cout « another_age « "\n"; }

else {

cout « "B " « another year « " вы еще не родились!\n"; }

return 0; }

Программа 5.1.

Некоторые свойства программы 5.1 являются обычными для большинства про­грамм на Си++. Программа начинается (после комментариев) с оператора

#include

Этот оператор называется "директивой include". До компилятора исходный текст обрабатывается препроцессором - специальной программой, которая модифи­цирует текст программы по специальным командам - директивам. Директивы пре­процессора начинаются с символа "#". Директива include предназначена для вклю­чения в исходный текст содержимого другого файла. Например, в программу 5.1 включается файл iostream.h, содержащий описания функций стандартной библиоте­ки ввода/вывода для работы с клавиатурой и экраном. (Стандартные библиотеки язы­ка Си++ будут рассматриваться позже).

Алгоритм, записанный в программе 5.1, очень простой. Поэтому структуру программы легко представить в виде списка последовательно выполняемых команд (операторов). Схематично программу, содержащуюся после директивы #include, можно представить в виде:

int main ()

{

^ Первый оператор;

Последний оператор; return 0;

Подобная структура является общей для всех программ на Си++. Каждый опе­ратор в теле программы завершается точкой с запятой. В хорошо разработанной большой программе большинство операторов являются обращениями (вызовами) к подпрограммам, которые записываются после функции main () или в отдельных файлах. Каждая подпрограмма (функция) имеет структуру, подобную функции main (). Но функция main () в каждой программе только одна. Именно с нее начина­ется выполнение программы. (Подробнее функции будут рассматриваться далее.)

В конце функции main () записана строка:

11

return 0;

Эта строка значит "вернуть операционной системе в качестве сигнала об ус­пешном завершении программы значение 0". Оператор возврата return применяется не только при завершении программы, но и при завершении отдельных подпрограмм. В любом случае этот оператор возвращает определенное значение на более высокий уровень управления.

В программе-примере используются четыре переменные:

year_now, age_now, another_year и another_age

Переменные в программировании отличаются от математических переменных. Они используются как символические имена "фрагментов оперативной памяти ком­пьютера". При выполнении программы в различные моменты времени переменные могут хранить различные значения. В программе 5.1 первое упоминание четырех пе­ременных содержится в строке с оператором описания переменных:

int year_now, age_now, another_year, another_age;

Этот оператор уведомляет компилятор, что для хранения четырех переменных типа "целое число" (integer - int) требуется выделить необходимое количество памя­ти. Эта область памяти будет зарезервирована в течение выполнения оставшейся час­ти программы. Переменные всегда должны быть описаны до первого использования. В программировании хорошим стилем считается описание всех переменных, исполь­зуемых в подпрограмме, в начале этой подпрограммы. В Си++ есть несколько раз­личных типов переменных, и они будут обсуждаться немного позже.

^ 6. Выполнение ввода/вывода данных и присваивание значений

После компиляции программы ее можно запустить на выполнение. Результат выполнения на экране будет выглядеть примерно так:

Введите текущий год и нажмите ENTER.

^ 2000

Введите свой возраст (в годах).

21

Введите год, для которого вы хотите узнать свой возраст.

2017

В 2017 году вам будет 38

Первая, третья, пятая и седьмая строки выдаются на экран программой с по­мощью следующего оператора:

cout « ^ Выражение1 « Выражение2 « ... « ВыражениеN;

Этот оператор выводит на экран сообщение:

Выражение1 Выражение2 ... ВыражениеN Последовательность операторов

cout « Выражение1 ; cout « Выражение2 ;

cout « ВыражениеN;

12

приводит к аналогичному результату. Если между выражениями требуется вставить пробелы или новые строки, то их нужно указать явно, с помощью символов " " и " \ n " соответственно.

Числа, показанные выше в примере выдачи на экран полужирным шрифтом, бы­ли напечатаны пользователем. В показанном примере оператор

cin » year_now;

приводит к тому, что переменной year_now присваивается значение 2000. Это проис­ходит после того, как пользователь напечатает "2000" и нажмет клавишу Enter. В программе есть еще места, где переменным присваиваются значения, в том числе оператор присваивания:

another_age = another_year - (year_now - age_now);

Операция "=" означает "присвоить переменной, стоящей слева от знака равен­ства, значение, указанное справа". Проверка на равенство в Си++ обозначается двой­ным символом: "==".

7. Управление порядком выполнения команд с помощью оператора if

В нескольких последних строках программы (до строки "return 0") записано:

if (another_age >= 0)

cout « "В " « another_year « " году вам будет "; cout « another_age « "\n";

else

cout « "В " « another year « " вы еще не родились!\n";

Оператор ветвления (условный оператор) "if. . . else. . ." выглядит примерно одинаково во всех процедурных языках программирования. В Си++ он называется просто оператором if, и его общая структура такова:

if ( условие ) Оператор1;

ОператорN; else

Опера торN+1;

Опера торN +M;

  1   2   3   4   5   6   7   8   9   ...   18

Добавить документ в свой блог или на сайт

Похожие:

Лекция основы си++ 7 iconЛекция для преподавателей курса «Основы религиозных культур и светской этики»
В основу текста положена лекция в Томском областном институте повышения квалификации работников образования

Лекция основы си++ 7 iconЛекция основы си++ 7
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. Коломна: кгпи,...

Лекция основы си++ 7 iconЛекция основы Си++ 9
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Лекция основы си++ 7 iconЛекция Биржевые опционы Лекция Границы премии (цены) опционов на акции
Лекция 10. Греки: коэффициенты чувствительности премии Лекция 11. Опционные стратегии

Лекция основы си++ 7 iconЛекция Историография как научная дисциплина Лекция Исторические знания в Древней Руси
Лекция 10. Историческая наука в России в последней трети XIX – начале XX вв.: общие тенденции развития, методологические поиски

Лекция основы си++ 7 iconЛекция для родителей «Психологические основы современного обучения младшего школьника»
Воспитание родителями детей в современном мире состоит, в основном, из установок

Лекция основы си++ 7 iconЛекция библиотека Opengl 7
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Лекция основы си++ 7 iconЛекция Основные понятия ооп 7
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Лекция основы си++ 7 iconЛекция Архитектура 32-разрядных ос windows 7
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Лекция основы си++ 7 iconЛекция на тему: «Современные подходы к содержанию дополнительного образования детей»
...



Образовательный материал



При копировании материала укажите ссылку © 2013
контакты
lit-yaz.ru
главная страница