- •О.Л. Викентьева, А.Н. Гусин, O.A. Полякова
- •ПРОЕКТИРОВАНИЕ ПРОГРАММ И ПРОГРАММИРОВАНИЕ НА C++
- •1. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ
- •10.1. Базовые конструкции структурного программирования
- •10.3. Составные операторы
- •10.4. Операторы выбора
- •10.5. Операторы циклов
- •10.6. Операторы перехода
- •11. ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ОСНОВНЫХ ОПЕРАТОРОВ C++
- •11.2. Программирование арифметических циклов
- •11.3. Программирование итерационных циклов
- •11.4. Программирование вложенных циклов
- •12. МАССИВЫ
- •12.1. Определение массива в C/C++
- •12.2. Примеры решения задач с использованием массивов
- •13. УКАЗАТЕЛИ
- •13.1. Понятие указателя
- •13.2. Динамическая память
- •13.3. Операции с указателями
- •14. ССЫЛКИ
- •15.3. Динамические массивы
- •СИМВОЛЬНАЯ ИНФОРМАЦИЯ И СТРОКИ
- •16.1. Представление символьной информации
- •16.2. Библиотечные функции для работы со строками
- •16.3. Примеры решения задач с использованием строк
- •17. ФУНКЦИИ В C++
- •17.1. Объявление и определение функций
- •17.2. Прототип функции
- •17.3. Параметры функции
- •17.4. Локальные и глобальные переменные
- •17.5. Функции и массивы
- •17.5.1. Передача одномерных массивов как параметров функции
- •17.5.2. Передача строк в качестве параметров функций
- •17.5.3. Передача многомерных массивов в функцию
- •17.6. Функции с начальными значениями параметров (по умолчанию)
- •17.7. Подставляемые (inline) функции
- •17.8. Функции с переменным числом параметров
- •17.9. Рекурсия
- •17.11. Шаблоны функций
- •17.12. Указатель на функцию
- •17.13. Ссылки на функцию
- •18. ТИПЫ ДАННЫХ, ОПРЕДЕЛЯЕМЫЕ ПОЛЬЗОВАТЕЛЕМ
- •18.1. Переименование типов
- •18.2. Перечисления
- •18.3. Структуры
- •18.3.1. Работа со структурами
- •18.3.2. Битовые поля
- •18.3.3. Объединения
- •19. ДИНАМИЧЕСКИЕ СТРУКТУРЫ ДАННЫХ
- •19.1. Создание элемента списка
- •19.2. Создание списка из п элементов
- •19.3. Перебор элементов списка
- •19.4. Удаление элемента с заданным номером
- •19.5. Добавление элемента с заданным номером
- •19.6. Двунаправленные списки
- •19.7. Очереди и стеки
- •19.8. Бинарные деревья
- •19.9. Обход дерева
- •19.10. Формирование дерева
- •19.11. Удаление элемента из дерева
- •19.12. Обработка деревьев с помощью рекурсивного обхода
- •20. ПРЕПРОЦЕССОРНЫЕ СРЕДСТВА
- •20.1. Стадии и команды препроцессорной обработки
- •20.2. Директива #define
- •20.3. Включение текстов из файлов
- •20.4. Условная компиляция
- •20.5. Макроподстановки средствами препроцессора
- •21.1. Проектирование программы
- •21.2. Кодирование и документирование программы
- •СПИСОК ЛИТЕРАТУРЫ
- •ПРОЕКТИРОВАНИЕ ПРОГРАММ И ПРОГРАММИРОВАНИЕ НА C++
S tu d e n t |
m a s [3 5 ]; |
//м а с с и в стр у к ту р |
|
//в в о д |
зн ач ен и й |
м асси ва |
|
f o r ( i n t |
i= 0 ;i< 3 5 ;i+ + ) |
|
|
{ |
|
|
|
c o u t< < " \n E n te r |
nam e: |
c in > > m a s [i] .n a m e ; |
c o u t< < " \n E n te r g r o u p :" ; c in > > m a s [ i] .g r o u p ;
c o u t< < " \n E n te r r a t i n g : " ; c i n > > m a s [ i ] . r a t in g ;
}
//в ы в о д с т у д е н т о в , у которы х р ей ти н г меньше 3 c o u t « " R a i t n g < 3 :" ;
f o r ( i = 0 ; i< 3 5 ; i+ + ) if ( m a s [ i] .n a m e < 3 )
c o u t< < " \n " < < m a s [i] .n a m e ;
}
Указатели на структуры. Указатели на структуры определя
ются так же, как и указатели на другие типы. |
|
|||
S tu d e n t* |
p s ; |
|
|
|
Можно ввести указатель для типа s t r u c t , |
не имеющего имени |
|||
(способ 2): |
|
|
|
|
s t r u c t |
|
|
|
|
{ |
|
|
|
|
c h a r |
*nam e; |
|
|
|
i n t |
a g e ; |
|
|
|
} ^ p e rs o n ; |
//у к а з а т е л ь |
на ст р у к ту р у |
||
При определении указатель на структуру может быть сразу же |
||||
проинициализирован. |
|
|
||
S tu d e n t* |
p s = |
& m as[0]; |
|
Указатель на структуру обеспечивает доступ к ее элементам двумя способами:
1.( * у к а з а т е л ь ) . и м я_ элем ента
2.у к а за т е л ь -> и м я _ эл е м е н т а
c in > > (* p s ) .n a m e ; c i n > > p s - > t i t l e ;
18.3.2. Битовые поля
Битовые поля - это особый вид полей структуры. При описании битового поля указывается его длина в битах (целая положительная константа).