- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ
- •1. ЯЗЫК ПРОГРАММИРОВАНИЯ C++
- •1.1. Нововведения C++ в сравнении с C
- •1.3. Технический обзор
- •2. ЛАБОРАТОРНАЯ РАБОТА № 1 «Знакомство с языком C++. Основные функции»
- •2.1. Методические указания
- •2.1.1. Алфавит C++
- •2.1.2. Этапы создания исполняемой программы
- •2.1.3. Типы данных C++
- •2.1.3.1. Концепция типа данных
- •2.1.3.2. Простые типы данных
- •2.1.4. Структура программы на языке C++
- •2.1.5. Директивы препроцессора
- •2.1.5.1. Директива #include
- •2.1.5.2. Директива #define
- •2.1.6. Предварительные замечания о функциях ввода/вывода
- •2.1.7. Переменные и выражения
- •2.1.7.1. Переменные
- •2.1.7.2. Операции
- •2.1.7.3. Выражения
- •2.1.8. Основные функции
- •2.1.8.1. Математические функции
- •2.1.8.2. Функции обработки сигналов
- •2.1.8.3. Функции ввода-вывода в стиле C
- •2.1.8.4. Функция работы с датой и временем
- •2.1.8.5. Функции локализации
- •2.1.8.6. Функции классификации и преобразования символов
- •2.1.8.7. Функции управления программой
- •2.1.8.8. Различные функции в стиле C
- •2.2. Примеры программ для выполнения лабораторной работы № 1
- •2.3. Вопросы для самоконтроля
- •3. ЛАБОРАТОРНАЯ РАБОТА № 2 «Программирование с использованием основных операторов языка C++. Работа с массивами»
- •3.1. Методические указания
- •3.1.1. Основные операторы языка С++
- •3.1.1.1. Базовые конструкции структурного программирования
- •3.1.1.2. Составные операторы
- •3.1.1.3. Операторы выбора
- •3.1.1.4. Операторы циклов
- •Цикл с предусловием (while)
- •Цикл с постусловием (do while)
- •Цикл с параметром (for)
- •3.1.1.5. Операторы передачи управления
- •Оператор goto
- •Оператор break
- •Оператор continue
- •Оператор return
- •3.1.2. Одномерные массивы
- •3.1.2.1. Описание массива в C/C++
- •3.1.2.2. Обработка одномерных массивов
- •3.1.2.3. Перебор массива по одному элементу
- •3.1.2.4. Датчика случайных чисел для формирования массива.
- •3.1.3. Многомерные массивы
- •3.2. Примеры программ для лабораторной работы № 2
- •3.3. Вопросы для самоконтроля
- •3.4. Варианты заданий к лабораторной работе № 2
- •4. КУРСОВАЯ РАБОТА «Создание собственной функции»
- •4.1. Методические указания
- •4.1.1. Объявление и определение функций
- •Глобальные переменные
- •Возвращаемое значение
- •4.1.2. Параметры функции
- •4.2. Вопросы для самоконтроля
- •4.3. Варианты заданий курсовой работы
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Список литературы
- •Направление – _____________________________________________
- •Кафедра –
- •Выполнил студент гр. _______ __________ _______ ______________
- •Направление – ________________________________________________
- •Выполнил студент гр. _______ __________ _______ __________
3.1.1. Основные операторы языка С++
3.1.1.1. Базовые конструкции структурного программирования
Операторы в языке C++ предназначены для описания действий. Любой оператор может быть помечен меткой. Операторы отделяются друг от друга точкой с запятой.
В теории программирования доказано, что программу для решения задачи любой сложности можно составить только из трех структур [4]:
1.Линейная.
2.Разветвляющаяся.
3.Циклическая.
Эти структуры называются базовыми конструкциями структурного программирования.
Линейной называется конструкция, представляющая собой последовательное соединение двух или более операторов.
Ветвление – задает выполнение одного из двух операторов, в зависимости от выполнения какого либо условия.
Цикл – задает многократное выполнение оператора.
62
Таблица 10 Отображение базовых конструкций на блок-схеме
Следование |
Ветвление |
Цикл |
Целью использования базовых конструкций является получение программы простой структуры. Такую программу легко читать, отлаживать и при необходимости вносить в нее изменения. Структурное программирование также называют программированием без goto, т. к. частое использование операторов перехода затрудняет понимание логики работы программы. Но иногда встречаются ситуации, в которых применение операторов перехода, наоборот, упрощает структуру программы.
Операторы управления работой программы называют управляющими конструкциями программы. К ним относят:
1)составные операторы;
2)операторы выбора;
3)операторы циклов;
4)операторы передачи управления.
3.1.1.2.Составные операторы
Ксоставным операторам относят: 1) собственно составные операторы; 2) блоки.
В обоих случаях это последовательность операторов, заключенная
вфигурные скобки. Блок отличается от составного оператора наличием определений в теле блока.
Пример 22. Составной оператор
{
n++;
summa+=n;
}
Пример 23. Блок
63
{
int n=0; n++; summa+=n;
}
Отличием примера 22 от примера 21 является наличие определения переменной n.
3.1.1.3.Операторы выбора
Коператорам выбора относятся: 1. условный оператор; 2. переключатель.
Условный оператор
Условный оператор имеет полную и сокращенную форму. Сокращённая форма используется, если в задаче имеется более
двух условий.
Сокращенная форма для условного оператора имеет вид [1]: if (выражение-условие ) оператор;
В качестве выражения-условия могут использоваться арифметическое выражение, отношение и логическое выражение. Если значение выражения-условия отлично от нуля (т.е. истинно), то выполняется оператор, следующий за условным.
Полная форма используется, если в задаче необходимо выполнение задачи при наличие двух условий.
Полная форма для условного оператора имеет вид: if ( выражение-условие ) оператор1;
else оператор2;
Если значение выражения-условия отлично от нуля, то выполняется оператор1, при нулевом значении выражения-условия выполняется оператор2.
Пример 24
1)if (a<0) b = 1;// 1
2)if (a<b && (a>d || a==0)) b++; else {b* = a; a = 0;}// 2
3)if (a<b) {if (a<c) m = a; else m = c;} else {if (b<c) m = b; else m = c;}// 3
64
В пункте 1) примера 24 отсутствует ветвь else. Подобная конструкция называется «пропуск оператора», поскольку присваивание либо выполняется, либо пропускается в зависимости от выполнения условия.
Если требуется проверить несколько условий, их объединяют знаками логических операций. Например, выражение в пункте 2) примера 24 будет истинно в том случае, если выполнится одновременно условие a<b и одно из условий в скобках. Если опустить внутренние скобки, будет выполнено сначала логическое И, а потом – ИЛИ.
Оператор в пункте 3) примера 24 вычисляет наибольшее значение из трех переменных. Фигурные скобки в данном случае не обязательны.
Пример 25 if (d>=0)
{
x1=(-b-sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a);
cout<< “\nx1=”<<x1<<“x2=”<<x2;
}
else cout<<“\nРешения нет”;
Переключатель
Переключатель определяет множественный выбор. Общая форма для записи переключателя имеет вид [4]:
switch (выражение)
{
case константа1 : оператор1 ; case константа2 : оператор2 ;
. . . . . . . . . . .
[default: операторы;]
}
При выполнении оператора switch, вычисляется выражение, записанное после switch, оно должно быть целочисленным. Полученное значение последовательно сравнивается с константами, которые записаны следом за case. При первом же совпадении выполняются операторы помеченные данной меткой. Если выполненные операторы не содержат оператора перехода, то далее выполняются операторы всех следующих вариантов, пока не появится оператор перехода или не закончится переключатель. Если значение выражения, записанного после switch не совпало ни с одной константой, то выполняются операторы, которые следуют за меткой default. Метка default может отсутствовать.
65