Главная » Просмотр файлов » Конспект лекций по С++

Конспект лекций по С++ (1018900)

Файл №1018900 Конспект лекций по С++ (Сборник литературы - С и С++)Конспект лекций по С++ (1018900)2017-07-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Астраханский государственный технический университет

Кафедра «Информационных

технологий и коммуникаций»

Конспект лекций по дисциплине

«Основы алгоритмического языка С++»

для специальности 220200.

Астрахань 2000 г.

1. Переменные и операции языка С++ 4

ИЗУЧАЕМЫЕ ПОНЯТИЯ 5

Буквы и цифры 6

Пробельные символы 6

Знаки пунктуации и специальные символы 6

ESC- последовательности 8

Операции 9

Константы 11

Целые константы 11

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

Константа-символ 14

Строковые литералы 14

Идентификаторы 15

Ключевые слова 15

Комментарии 16

Лексемы 17

ИСХОДНЫЕ ТЕКСТЫ ПРИМЕРОВ 17

2. Конструкции принятия решений и циклы 23

ВОПРОСЫ И ОТВЕТЫ 23

СТРУКТУРА ПРОГРАММЫ 26

Исходная программа 26

ОБЪЯВЛЕНИЯ 27

Спецификаторы типов 28

Деклараторы 30

Деклараторы массивов, функций и указателей 30

Составные деклараторы 31

Об"явления переменной 33

Объявление простой переменной 34

Объявление перечисления 34

Объявления структур 36

Битовые поля 37

Об"явление совмещений 38

Об"явление массива 39

Об"явление функций 42

Классы памяти 45

Об"явления переменной на внешнем уровне 45

Об"явление переменной на внутреннем уровне 48

Об"явление функции на внешнем и внутреннем уровнях 49

Инициализация 50

Базовые типы и типы указателей 50

Составные типы 51

Строковые инициализаторы 53

Об"явления типов 54

Типы структур, совмещений и перечислений 54

Об"явления typedef 55

Имена типов 56

КОНТРОЛЬНЫЕ ВОПРОСЫ: 57

Функции 57

Объявление и определение функций 58

ТИПОВЫЕ ВОПРОСЫ С ОТВЕТАМИ 62

ПРАКТИКУМ 62

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

Массивы 65

СОРТИРОВКА массива - ПРИМЕР в файле list6_4cpp. 67

- ПОИСК в массиве 67

БИБЛИОТЕЧНЫЕ ФУНКЦИИ ПОИСКА и СОРТИРОВКИ в непрерывных массивах: 68

Строки и управление вводом/выводом 69

Форматированный потоковый вывод 70

Листинг 1. Исходный текст программы OUT1.CPP 70

Функция printf 71

Функция printf 72

Таблица 1. Еsс - последовательности 72

Таблица 7.2. Значения флагов строки формата функции printf 72

Таблица 3. Символы типов данных строки формата функции printf 73

Листинг 3. Исходный текст программы OUT2.CPP в файле List7-3.CPP 74

Таблица 4. Результат действия спецификаций форматирования в функции printf из строки 13 75

Ввод строк 76

Функция getline 76

Присвоение значений строкам 77

Инициализация строки 77

Функция strcpy 77

Функция strdup 77

Функция strncpy 78

Определение длины строки 78

Функция strlen 78

Функция strcat 78

Функция strncat 79

Сравнение строк 79

Функция strcmp 79

Пример 80

Функция stricmp 80

Пример 80

Функция strncmp 80

Пример 80

Пример 81

(см. List7_5.cpp - Исходный текст программы STRING2.CPP) 81

Преобразование строк 81

Функция strlwr 81

Пример 81

Функция strupr 81

Пример 81

Обращение строк 82

Функция strrev 82

Поиск символов 82

Функция strchr 82

Функция strrchr 82

Пример 83

Функция Strspn 83

Пример 83

Функция strcspn 83

Пример 83

Функция strpbrk 83

Пример 84

Поиск строк 84

Функция strstr 84

Пример 84

Функция strtok 84

Пример 84

Основы объектно-ориентированного программирования СИНТАКСИС ОСНОВНЫХ КОНСТРУКЦИЙ 85

Объявление базовых классов 85

Конструкторы 88

Деструкторы 90

Объявление иерархии классов 91

Виртуальные функции 92

Дружественные функции 95

Операции и дружественные операции 96

Виртуальные функции 97

Правило виртуальной функции 99

Операции и дружественные операции 101

ИСХОДНЫЕ ТЕКСТЫ ПРИМЕРОВ 103

ВОПРОСЫ И ОТВЕТЫ 103

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

ФАЙЛОВЫЕ ОПЕРАЦИИ ВВОДА/ВЫВОДА 105

Stream-библиотека C++ 105

ОБЩИЕ ФУНКЦИИ ПОТОКОВОГО ВВОДА/ВЫВОДА 106

Функция-компонент open 106

Функция-компонент close 107

ПОСЛЕДОВАТЕЛЬНЫЙ ТЕКСТОВЫЙ ПОТОК ВВОДА/ВЫВОДА 107

Функция-элемент getline 108

ПОСЛЕДОВАТЕЛЬНЫЙ ДВОИЧНЫЙ ФАЙЛОВЫЙ ВВОД/ВЫВОД 109

Функция-элемент write 110

Функция-элемент read 110

Файловый ввод/вывод с прямым доступом 113

Функция-элемент seekg 113

Заключение 115

Вопросы и ответы 115

Практикум 116

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

Упражнение 116

  1. Переменные и операции языка С++

Здесь представлены базовые компоненты программ на С++. В их число

входят типы данных, переменные, константы и выражения.

ИЗУЧАЕМЫЕ ПОНЯТИЯ

- Предопределенные типы данных в С++ включают в себя типы int, char,

float, double и void. В языке С++ гибкость типов данных увеличивается

благодаря применению модификаторов типов. Эти модификаторы изменяют

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

типа являются signed, unsigned, short и long.

- Идентификаторы в С++ могут иметь длину до 32 символов и

должны начинаться с буквы или подчеркивания. Последующие символы

идентификатора могут быть буквой, цифрой или подчеркиванием. Иден-

тификаторы С++ чувствительны к регистру. Ограничение на 32 символа

может быть, однако, изменено путем установки опций компилятора.

- Директива #include является специальной командой компилятора. Она

предписывает компилятору включить в программу содержимое опреде-

ленного файла, как если бы вы сами ввели его в текущий исходный

файл.

- Объявление констант предусматривает использование директивы #define

для объявления констант, определенных при помощи макросов, или ис-

пользование ключевого слова const для объявления формальных кон-

стант. Формальные константы требуют от вас определения их типа

(значением по умолчанию является int), имени и ассоциированного с

ними значения.

- Объявление переменной требует, чтобы вы задали ее тип и имя, С++

дает вам возможность инициализировать переменную при ее объявлении.

Вы можете объявить несколько переменных в одном операторе объявле-

ния.

- Арифметическими операциями являются +, -, *, / и % (деление по

модулю).

- Арифметические выражения различаются по сложности. Самое простое

выражение содержит единственный элемент данных (литерал, константу

или переменную). Сложные выражения включают набор операций, функ-

ции, литералы, константы и переменные.

- Операции инкремента и декремента используются в префиксной и пост-

фиксной формах. Язык С++ дает вам возможность применять эти опе-

рации к переменным, в которых хранятся символы, целые числа и даже

числа с плавающей точкой.

- Арифметические операции присваивания дают вам возможность записы-

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

ранд является также переменной, принимающей результат вычислений.

- Оператор sizeof возвращает как для типов данных, так и для переменных

их размер в байтах.

- Механизм приведения типа дает вам возможность форсировать преобра-

зование типа выражения.

- Операции отношений и логические операции дают вам возможность стро-

ить логические выражения.

- Булевы выражения объединяют операции отношений и логические опе-

рации для формулирования нетривиальных условий. Эти выражения позволяют

программе принимать сложные решения.

- Условное выражение предлагает вам короткую форму для простого опе-

ратора if-else с двумя альтернативами.

- Операции манипулирования битами выполняют поразрядные операции

AND, OR, XOR и NOT. Кроме того, в С++ поддерживаются поразрядные

операции сдвига << и >>.

- Операции манипулирования битами с присваиванием предлагают корот-

кие формы для простых операций манипулирования битами.

Буквы и цифры

Множество символов Си включает большие и малые буквы из ан­глийского алфавита и 10 десятичных арабских цифр:

-большие английские буквы:

A B C D E F G H I J K L M N O P Q R T U V W X Y Z

-малые английские буквы:

a b c d e f g h i j k l m n o p q r t u v w x y z

-десятичные цифры:

0 1 2 3 4 5 6 7 8 9

Буквы и цифры используются при формировании констант, иден-

тификаторов и ключевых слов. Все эти конструкции описаны ниже. Компилятор Си рассматривает одну и ту же малую и большую

буквы как отличные символы. Если в данной записи использованы ма­лые буквы, то замена малой буквы "a" на большую букву "A" сделает отличной данную запись от предшествующей.

Пробельные символы

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

Символ CONTROL-Z рассматривается как индикатор конца файла. Компилятор игнорирует любой текст, следующий за символом

CONTROL-Z.

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

Знаки пунктуации и специальные символы

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

-----------------------------------------------------------

Символ Наименование Символ Наименование

-----------------------------------------------------------

, Запятая ! Восклицатель-

ный знак

. Точка | Вертикальная

черта

; Точка с за- / Наклонная чер-

пятой та вправо

: Двоеточие \ Наклонная чер-

та влево

? Знак вопроса ~ Тильда

' Одиночная ка _ Подчеркивание

вычка

( Левая круглая # Знак номера

скобка

) Правая круглая % Знак процента

скобка

{ Левая фигурная & Амперсанд

скобка

} Правая фигурная ^ Caret

скобка

< Левая угловая - Знак минус

скобка

> Правая угловая = Знак равно

скобка

[ Левая квадратная + Знак плюс

скобка

] Правая квадратная

скобка -----------------------------------------------------------

Табл. 2.1. Знаки пунктуации и специальные символы

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

ESC- последовательности

ESC- последовательности- это специальные символьные комби­нации, которые представляют пробельные символы и неграфические символы в строках и символьных константах.

Их типичное использование связано со спецификацией таких действий, как возврат каретки и табуляция , а также для задания литеральных представлений символов, таких как символ двойная кавычка. ESC-последовательность состоит из наклон­ной черты влево, за которой следует буква, знаки пунктуации ' " \ или комбинация цифр. В таблице 2.2. приведен список ESC- последо­вательностей языка Си.

-------------------------------------------------

ESC- последовательность Наименование

-------------------------------------------------

\n Новая строка

\t Горизонтальная табу-

ляция

\v Вертикальная табуля-

ция

\b Пробел

\r Возврат каретки

\f Новая страница

\a Звонок(сигнал)

\' Одиночная кавычка

\" Двойная кавычка

\\ Наклонная черта влево

\ddd ASCII символ в восьми-

ричном представлении

Характеристики

Тип файла
Документ
Размер
656 Kb
Тип материала
Высшее учебное заведение

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов книги

С и С++ - сборник литературы
C++ Бархатный путь - Марченко А
cpp_001.shtml
cpp_002.shtml
cpp_003.shtml
cpp_004.shtml
cpp_005.shtml
cpp_006.shtml
cpp_007.shtml
cpp_008.shtml
cpp_009.shtml
cpp_010.shtml
cpp_011.shtml
cpp_012.shtml
cpp_013.shtml
cpp_014.shtml
cpp_015.shtml
cpp_016.shtml
cpp_017.shtml
cpp_018.shtml
cpp_019.shtml
cpp_020.shtml
cpp_021.shtml
cpp_022.shtml
cpp_023.shtml
cpp_024.shtml
cpp_025.shtml
cpp_026.shtml
cpp_027.shtml
cpp_030.shtml
cpp_034.shtml
Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7045
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее