- •Н. А. Аленский основы программирования
- •§ 1. Структура простой программы. Ввод, вывод
- •1.1. Пример первой программы
- •1.2. Директива препроцессора #include
- •1.3. Структура программы
- •1.4. Комментарии
- •1.5. Ключевые слова и идентификаторы
- •1.6. Простой ввод, вывод
- •§ 2. Оператор if
- •2.1. Полная форма
- •2.2. Сокращённая форма
- •2.3. Особенности оператора
- •Задачи и упражнения
- •§ 3. Выражения
- •3.1. Константы
- •Непосредственно записать в выражении;
- •3.2. Операции и их приоритет
- •3.3. Операции отношения и логические операции
- •3.4. Особенности операции присваивания
- •3.5. Тернарная операция (?)
- •Задачи и упражнения
- •§ 4. Оператор выбора switch
- •Задачи и упражнения
- •§ 5. Операторы цикла
- •5.1. Оператор while c предусловием
- •Правила использования и особенности оператора while
- •5.2. Оператор цикла do … while c постусловием
- •5.3. Оператор for
- •5.4. Операторы continue и break
- •Задачи и упражнения
- •§ 6. Введение в одномерные массивы
- •6.1. Что такое массив. Объявление одномерного массива
- •6.2. Способы определения массивов
- •6.3. Вывод одномерного массива. Функции printf и сprintf
- •6.4. Некоторые типы простых задач при работе с массивами
- •Задачи и упражнения
- •§ 1. Функции без результатов. Передача параметров по значению
- •1.1. Примеры. Правила оформления и вызова функций
- •Void line2(int Len, y, char ch) // ошибка,
- •1.2. Формальные и фактические параметры
- •1.3. Передача параметров по значению
- •§ 2. Функции типа void с несколькими результатами
- •2.1. Пример
- •2.2. Что такое ссылочный тип
- •2.3. Возврат значений из функции с помощью ссылочного типа
- •Задачи и упражнения
- •§ 3. Функции с одним результатом. Оператор return
- •Задачи и упражнения
- •§ 4. Одномерные массивы в функциях. Сортировка массива
- •Задачи и упражнения.
- •§ 5. Область действия имён. Локальные и глобальные имена
- •§ 6. Дополнительные возможности функций
- •Встраиваемые функции (inlineфункции)
- •6.2. Параметры по умолчанию
- •6.3. Перегрузка функций
- •§ 1. Примеры
- •§ 2. Класс. Поля и методы класса
- •§ 3. Создание объектов. Конструктор
- •Задачи и упражнения.
- •Глава 4 простые типы данных § 1. Целый тип
- •1.1. Битовые операции
- •1.2. Использование битовых операций
- •1.3. Упаковка и распаковка информации
- •Задачи и упражнения.
- •§ 2. Логический тип
- •§ 3. Символьный тип
- •Глава 5 матрицы (двухмерные массивы) § 1. Объявление, способы определения
- •§ 2. Вывод матриц
- •§ 3. Типы алгоритмов на обработку матриц
- •3.1. Построчная обработка
- •3.2. Обработка матрицы по столбцам
- •3.3. Обработка всей матрицы
- •3.4. Обработка части матрицы
- •3.5. Преобразование матрицы
- •Упражнения.
- •3.6. Построение матриц
- •§ 4. Передача матрицы в качестве параметра функции
- •Задачи и упражнения.
- •Б. Обработка матрицы по столбцам.
- •Даны две матрицы a и b одинаковой размерности. Построить матрицу с, каждый элемент которой определяется по правилу:
- •Список рекомендуемой литературы
- •Сборники задач по программированию
- •Оглавление
- •Задачи и упражнения …….……………………………………...12
- •3.1. Константы ………………………………………………...…14
1.3. Структура программы
Любая программа на языке C++ состоит из функций, одна из которых — основная (главная) с именем main — является обязательной. С неё всегда начинается выполнение программы. В простейшем случае, как показано в нашем примере, в программе может быть только одна эта функция. На начальном этапе будем всегда использовать приведенный в 3й строке вид заголовка основной функции. Текст любой функции, в том числе и main, заключается в фигурные скобки {}.
Для обеспечения наглядности программы в строке, в которой записана одна из фигурных скобок, не рекомендуется чтолибо писать. Желательно размещать операторы так, как это сделано в первой программе. Для сокращения объёма текста лекций эти рекомендации в данном пособии будут нарушаться.
С помощью функции getch() выполнение программы приостанавливается, и можно анализировать выведенный на экран результат, пока не нажмём любую клавишу. Эта функция использует заголовочный файл conio.h.
Если, как в нашем примере, в заголовке основной функции записано ключевое слово int, то программа должна заканчиваться обязательным оператором return 0, который сообщает системе об успешном выполнении программы. Подробно об этом операторе смотри во 2й главе.
1.4. Комментарии
Комментарии, как и в других системах, не обрабатываются компилятором и поэтому не влияют на выполнение программы. В языке С++ можно записывать комментарии двух видов:
-
комментарии можно разместить после двух подряд идущих наклонных чёрточек //, записанных в любом месте строки. Тогда всё, что следует после этих символов до конца строки, воспринимается как комментарий. Для продолжения комментария на следующую строку необходимо в ней повторно записать эти два символа //;
-
перед началом комментария один раз записываем два подряд идущих символа /*, а в конце — два подряд идущих символа */. В таком случае комментарии могут занимать несколько строк.
Первый способ используется для коротких комментариев, а второй — для длинных.
1.5. Ключевые слова и идентификаторы
Слова int, return являются примерами ключевых слов. Они записываются строчными буквами. Ключевые слова нельзя использовать для других целей, например, в качестве имён переменных, констант, функций и т. д.
Имена переменных, констант, типов, функций и других элементов программы называются идентификаторами. Правила их записи:
-
основная особенность языка С++ в том, что прописные и строчные буквы в идентификаторах различаются. Поэтому, в отличие от Pascal, идентификаторы MyMax, Mymax и mymax обозначают разные переменные;
-
идентификатор может содержать большие и маленькие латинские буквы, цифры и знак подчёркивания;
-
первым символом должна быть буква или знак подчёркивания;
-
идентификатор не должен совпадать с ключевым словом С++ и именем стандартных функций, классов, объектов и других элементов языка.
Необходимо разумно выбирать длину идентификаторов. С одной стороны, нежелательно использовать однобуквенные идентификаторы, но в то же время неудобно работать с длинными именами.
Любая используемая в программе переменная должна быть объявлена (описана) в любом месте программы, но до первого её использования. Пока до изучения области действия имён во избежание дополнительных трудностей переменные будем объявлять в начале функции main. Объявляются переменные следующим образом: тип список_переменных; где тип — один из следующих типов: int — целый, char — символьный, float — вещественный, bool — логический (булевский) со значением true или false и другие. Подробное их рассмотрение, другие типы и их модификаторы рассматриваются в 5й главе и во втором семестре.