- •Введение
- •Лабораторная работа №1
- •4.2. Общая структура программы.
- •4.3. Вывод строки на экран
- •4.4. Ввод с клавиатуры
- •4.5. Комментарии
- •4.7. Переменные
- •Управляющие символьные константы
- •4.8. Операторы
- •4.8.1 Арифметические операторы
- •Арифметические операторы
- •4.8.2 Операторы сравнения и логические операторы
- •Операторы сравнения и логические операторы
- •4.8.3 Побитовые операторы
- •Побитовые операторы
- •Лабораторная работа №2 Разработка программы с применением
- •1. Задание по работе
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •4. Краткое описание
- •4.1. Оператор выражение
- •4.4.2. Оператор switch
- •4.5. Операторы перехода
- •4.5.1. Оператор break
- •4.5.2. Оператор continue
- •4.5.3. Оператор return
- •4.5.4. Оператор goto
- •4.6. Операторы цикла
- •4.6.1. Оператор for
- •4.6.2. Оператор while
- •4.6.3. Оператор do..While
- •Лабораторная работа №3 Разработка программы обработки массива
- •1. Задание по работе
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •4. Краткое описание
- •4.1. Массивы
- •4.1.1. Инициализация массивов
- •4.2. Строки
- •4.3. Понятие функции
- •4.3.1. Определение функции
- •4.3.2. Класс памяти
- •4.3.3. Тип возвращаемого значения
- •4.3.4. Формальные параметры
- •4.3.5. Тело функции
- •4.3.6. Фактические параметры
- •4.3.7. Рекурсивные вызовы
- •4.3.8. Передача параметров
- •4.3.9. Библиотека стандартных функций
- •4.2. Проектирование диалоговой панели.
- •4.3. Связывание элементов управления
- •4.2. Создание меню программы
- •4.3. Проектирование диалоговой панели
- •4.4. Связывание событий с элементами управления
- •4.4.1. Связывание переменной с окном редактирования.
- •4.4.2. Связывание кода с событием en_change окна редактирования
- •4.4.3. Связывание кода с пунктом CurrentSpeed меню File
- •4.4.4. Связывание кода с пунктом About меню Help
- •Библиографический список
4.2. Строки
Строки представляют собой особый массив символов, заканчивающийся символом с кодом 0. Такой символ имеет представление ’\0’. Инициализацию массива символов можно выполнить путем использования строкового литерала. char stroka[ ] = "привет"; Инициализируется массив символов из 7 элементов, последним элементом (седьмым) будет символ ’\0’, которым завершаются все строковые литералы. Можно использовать традиционную запись, например:
char stroka[ ] = {’п’,’р’,’и’,’в’,’е’,’т’,’\0’};
В том случае, если задается размер массива, а строковый литерал длиннее, чем размер массива, то лишние символы отбрасываются.
Следующее объявление инициализирует переменную stroka как массив, состоящий из семи элементов:
char stroka[5] = "привет";
В переменную stroka попадают первые пять элементов литерала, а символы ’Т’ и ’\0’отбрасываются. Если строка короче, чем размер массива, то оставшиеся элементы массива заполняются символами с кодом 0.
4.3. Понятие функции
Функция – это независимая совокупность объявлений и операторов, обычно предназначенная для решения определенной задачи. Программы на С++ состоят по крайней мере из одной функции main, но могут содержать и больше функций. Различают полное и неполное объявление функции. Полное объявление, или определение, состоит из заголовка, в который входит тип возвращаемого значения, имя, формальные параметры, и тела, заключаемого в фигурные скобки. После закрывающейся фигурной скобки точка с запятой не ставится. При неполном объявлении используется заголовок, после которого стоит точка с запятой. В программе может быть только одно полное объявление и сколько угодно неполных. Последние, как правило, помещаются перед вызовом функции в программе, если определение расположено ниже по тексту, или в другом файле с исходным кодом. При использовании большого количества функций неполные объявления помещают в т.н. “заголовочные“ файлы, которые включаются в начало текста программой директивой препроцессора include. Вызов функции передает управление из вызывающей функции к вызванной. Фактические аргументы, если они есть, передаются по значению в вызванную функцию. При выполнении оператора return в вызванной функции управление и, возможно, возвращаемое значение передаются в вызывающую функцию.
4.3.1. Определение функции
Общий вид функции выглядит следующим образом.
тип_возвращаемого_значения имя_функции(список_параметров)
{
тело функции
}
Тип_возвращаемого_значения определяет тип переменной, которую возвращает функция.
- спецификатор класса памяти – задает класс памяти функции, который может быть или static или extern;
- спецификатор типа и декларатор определяют тип возвращаемого значения и имя функции;
- список параметров - это список (возможно пустой) формальных параметров, которые используются функцией;
- объявления параметров задают типы формальных параметров;
- тело функции - это составной оператор, содержащий объявления локальных переменных и операторы.
4.3.2. Класс памяти
Спецификатор класса памяти в определении функции определяет функцию как static или extern. Функция с классом памяти static видима только в том исходном файле, в котором она определена. Все другие функции с классом памяти extern, заданным явно или неявно, видимы во всех исходных файлах, которые образуют программу. Если спецификатор класса памяти опускается в определении функции, то подразумевается класс памяти extern.