- •1. ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ
- •1.1. Свойства алгоритма
- •1.2. Способы записи алгоритма
- •1.3. Блок-схемы
- •2. БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ
- •2.1. Следование
- •2.2. Ветвление
- •2.3. Цикл
- •2.4. Примеры алгоритмов
- •Алгоритм №1
- •Алгоритм №2
- •Алгоритм №3
- •3. ВВЕДЕНИЕ В C++
- •3.1. Основные лексемы языка
- •3.1.1. Идентификаторы
- •3.1.2. Ключевые слова
- •3.1.3. Знаки операций
- •3.1.4. Константы
- •3.1.5. Комментарии
- •3.2. Типы данных
- •3.3. Выражения и операции
- •3.3.1. Арифметические операции
- •3.3.2. Операции сравнения
- •3.3.3. Логические операции
- •3.3.4. Побитовые логические операции
- •3.3.5. Операции сдвига
- •3.3.6. Приоритет операций
- •4. СТРУКТУРА ПРОГРАММЫ НА ЯЗЫКЕ C++
- •4.1. Функции
- •4.1.1. Функция main
- •4.2. Объявление переменных
- •4.3. Директивы препроцессора
- •5. ОПЕРАТОРЫ ЯЗЫКА C++
- •5.1. Оператор присваивания
- •5.2. Операторы передачи управления
- •5.2.1. Вызов функции
- •5.2.2. Возврат значения функции
- •5.2.3. Оператор безусловного перехода
- •5.3. Составной оператор
- •5.4. Условные операторы
- •5.4.1. Оператор if
- •5.4.2. Оператор switch
- •5.5. Операторы цикла
- •5.5.1. Цикл while с предусловием
- •5.5.2. Цикл do-while с постусловием
- •5.5.3. Арифметический цикл for
- •6. ЛАБОРАТОРНАЯ РАБОТА №1. Ветвящиеся вычислительные процессы
- •6.1. Цель работы
- •6.2. Постановка задачи
- •6.2.1. Варианты заданий
- •Вариант №1
- •Вариант №2
- •Вариант №3
- •Вариант №4
- •Вариант №5
- •Вариант №6
- •Вариант №7
- •Вариант №8
- •Вариант №9
- •Вариант №10
- •Вариант №11
- •Вариант №12
- •Вариант №13
- •Вариант №14
- •Вариант №15
- •6.3. Требования к оформлению отчета
- •6.4. Рекомендации по выполнению работы
- •6.4.1. Разработка алгоритма
- •6.4.2. Подготовка тестовых данных
- •6.4.3. Реализация операций ввода-вывода
- •6.4.4. Выполнение математических расчетов
- •7. ЛАБОРАТОРНАЯ РАБОТА №2. Циклические вычислительные процессы
- •7.1. Цель работы
- •7.2. Постановка задачи
- •7.2.1 Варианты заданий
- •7.3. Требования к оформлению отчета
- •8. КОНТРОЛЬНЫЕ ВОПРОСЫ
- •9. ЛИТЕРАТУРА
3. ВВЕДЕНИЕ В C++
Язык С (Си) – алгоритмический язык высокого уровня общего назначения, созданный во второй половине 70-х годов сотрудниками американской корпорации Bells Labs Брайаном Керниганом и Деннисом Ритчи. Первоначально он был задуман как язык системного программирования, но в дальнейшем выяснилось, что он хорошо подходит для решения прикладных задач.
Язык программирования С++ (Си Плюс Плюс) был создан Бьерном Страуструпом, программистом Bells Labs в начале 80-х годов. Язык С++ стал развитием языка С, в частности, в языке С++ появилась поддержка объектноориентированного программирования.
3.1. Основные лексемы языка
К основным лексемам языка C++ относятся:
идентификаторы, ключевые слова, знаки операций, константы. Лексемы формируются из символов алфавита языка C++. Данный алфавит включает в себя:
•прописные и строчные латинские буквы;
•арабские цифры от 0 до 9;
•специальные знаки:
" |
{} |
, |
| |
[ ] |
( ) |
+ |
- |
/ |
% |
* |
. |
\ |
' |
: |
? |
< |
= |
> |
! |
& |
# |
~ |
; |
^ |
_ |
•символы пробела, табуляции, перехода на новую строку
3.1.1. Идентификаторы
Идентификаторы – имена программных объектов. Идентификаторы используются для обозначения переменных, функций и меток, применяемых в программе.
В идентификаторе могут использоваться латинские буквы, цифры и знак подчеркивания. Первым символом идентификатора может быть буква или знак
15
подчеркивания, но не цифра. Пробелы внутри идентификаторов не допускаются.
Очень важно знать и помнить, что языки C/C++ являются чувствительными к регистру, другими словами, транслятор C/C++ различает прописные и строчные буквы при анализе лексем. Например, идентификаторы ident, IDENT и Ident будут восприниматься транслятором как три различных имени.
3.1.2. Ключевые слова
Ключевые слова – зарезервированные лексемы, используемые для обозначения стандартных типов данных, операторов и признаков программных объектов, воспринимаемые транслятором в строго определенном смысле.
Например, ключевое слово if используется для обозначения условного оператора, реализующего конструкцию «ветвеление», а ключевое слово int обозначает тип данных для целых чисел.
3.1.3. Знаки операций |
|
Знак операции – последовательность |
символов, |
обозначающая действия над данными. Один и тот же знак операции может интерпретироваться по-разному в зависимости от контекста.
Например, к знакам операции относятся лексемы * (используется для обозначения операции умножения и
операции разыменования указателя) и ++ (используется для обозначения операции инкремента).
3.1.4. Константы
Константы – лексемы, обозначающие неизменяемые величины. Различаются целые, вещественные, символьные и строковые константы. Транслятор, встретив константу в
16
коде программы, относит ее к одному из типов по внешнему виду.
Примеры констант различных типов представлены в таблице 2.
Таблица 2. Типы констант в языке С++
Тип константы |
Формат |
Пример |
|
Целая |
Десятичный |
8, 0, 199226 |
|
|
|
|
|
|
Восьмеричный |
01, 020, 07155 |
|
|
|
|
|
|
Шестнадцатеричный |
0хА, |
0x1В8, |
|
|
0X00FF |
|
Вещественная |
Десятичный |
5.7, .001, 35. |
|
|
|
|
|
|
Экспоненциальный |
0.2Е6, |
|
|
|
.11е-З, 5Е10 |
|
Символьная |
|
'А', ю', '*', '\0' |
|
Строковая |
Обычная строка |
"Hello, world" |
|
|
Расширенная строка |
L"Hello, world" |
3.1.5. Комментарии
Исходный код программы на языке С++ может содержать специальные текстовые примечания –
комментарии.
Хороший стиль программирования предполагает использование комментариев при разработке программы. Комментарии облегчают восприятие кода программы человеком, и помогают разработчикам ориентироваться в программе.
Следует отметить, что комментарии не относятся к лексемам языка С++, так как они игнорируются транслятором при компиляции программы.
Комментарии бывают двух типов:
•строчные – начинаются с двух символов «прямая косая черта» (//) и заканчиваются символом перехода на новую строку;
17