
- •1. База
- •Определения
- •Циклы
- •Целочисленные типы:
- •Вещественные типы – типы хранения дробной части
- •Квалификаторы
- •Строки
- •Реализация функций
- •Перегрузка функций (только в C++)
- •Указатели
- •Динамическое выделение памяти
- •Выделение памяти в C++
- •Адресная арифметика
- •Структуры
- •Практика
- •Задача #1
- •Задача #2
- •Задача #3
- •Задача #4
- •Задача #5
- •Задача #6
- •Задача #7
Оглавление: |
|
1. База |
2 |
Определения |
2 |
Циклы |
3 |
Целочисленные типы: |
5 |
Вещественные типы – типы хранения дробной части |
5 |
Квалификаторы |
5 |
Строки |
6 |
Реализация функций |
7 |
Перегрузка функций (только в C++) |
9 |
Указатели |
9 |
Динамическое выделение памяти |
9 |
Выделение памяти в C++ |
10 |
Адресная арифметика |
10 |
Структуры |
11 |
Практика |
12 |
Задача #1 |
12 |
Задача #2 |
12 |
Задача #3 |
13 |
Задача #4 |
14 |
Задача #5 |
15 |
Задача #6 |
15 |
Задача #7 |
16 |

1.База
Определения
● Программирование (наука) — создание алгоритмов и их реализация на разных языках (а также модификация и отладка программ)
● Компьютерная программа — набор команд на каком-либо языке для какого-либо исполнителя
● Библиотека — набор функций, обязательные для поддержки в компиляторе в соответствии со стандартом
● Стандартная библиотека - набор функций обязательные для поддержки в компиляторе в соответствии со стандартом
● Компиляция — преобразование исходного кода в машинный (в последовательность машинных инструкций)
○ Создание объектных файлов (.o или .obj) путем компиляции; затем все объединяется в исполняемый (.exe)
○ Реализация стандартной библиотеки (в данном случае <stdio.h> и функции printf в ней)
● Линковка — связь между объектным файлом и исполняющим
● Препроцессор — специальная программа, которая обрабатывает исходный код для компиляции
● Переменная — именованная область ОЗУ, предназначенная для хранения какого-либо значения (глобальная обнуляется автоматически, локальная - нет)
1) Глобальная переменная – переменная, объявленная вне любой функции.

2) Локальная переменная – переменная, объявленная в теле функции. Автоматически обнуляются при запуске.
Размер переменной зависит от её типа. Размер и тип переменной на протяжении всей работы программы постоянны. Если значение знаковое, то знак хранится в старшем бите.
Имя переменной не может начинаться с цифры, не может содержать значение переменной, специальных символов, пробелов и букв не латинского алфавита.
● Диапазон значений знакового типа — [− 2−1 ... 2−1 − 1]
● Диапазон значений беззнакового типа — [0 ... 2 − 1]
● Архитектура ПК — основные принципы устройства компьютера, в том числе набора машинных инструкций, набора регистров, правил взаимодействия основных элементов пк
● Регистр процессора — выделенная ячейка памяти в процессоре.
● Массив — Это переменная, являющаяся последовательностью непрерывно следующих друг
за другом элементов одного типа. Свойства:
○ Произвольный доступ к любому элементу;
○ Доступ к элементу с помощью индекса этого элемента.
○ Массивы бывают одномерные и многомерные, статические и динамические.
○ Количество элементов в статическом массиве неизменно, а в динамическом - нет.
○ Sizeof применим только к статическим массивам только в той области видимости, в которой этот статический массив доступен не по указателю.
Циклы
● While (условие) выражение; (выражение выполняется пока условие является истинным).
Проверка ист. условия выполняется до выполнения выражения. Выражение, выполняющееся в цикле, называют телом цикла.
● Do … while; проверка ист. условия выполняется после выполнения выражения.
do {
Выражение; } while (условие);
● Switch … case предназначен для проверки целочисленного значения на соответствие одной или нескольких константам и выполнение каких-либо действий в случае совпадение
проверяемого значения с константой.
if (условие) выражение 1;
else выражение 2; (необязательная часть).
● for (выражение 1; условие; выражение 2)
выражение 3; - выполняется 1 раз до итерации
Ист. условий проверяется перед каждой итерацией. Выр. 2- выполняется после каждой итерации. Выр. 3 - тело цикла. Чаще всего выр. 1 имеет обозначение счетчика цикла. Счетчик цикла - переменная, значение которой меняется после каждой итерации. Если условия нет, то считается, что условие всегда ист.
● Continue - предназначен, чтобы прервать текущую итерацию.
Целочисленные типы:
1)Знаковые
2)Беззнаковые
У целочисленных типов не только размер, но и диапазон значений.
Char – 8 bit
Short int – 16 bit
Int – 32 bit
Long int – 32 bit
Long long int – 64 bit
Вещественные типы – типы хранения дробной части
Float - 32 bit
Double - 64 или 80 bit
Long double 64 или 80 bit
Квалификаторы
Signed – знаковый тип; Unsigned – беззнаковый тип.
Static - квалификатор для выделения одного и того же места в памяти(инициализация возможна
1 раз). Все переменные с этим квалификатором обнуляются автоматически.(можно указать перед
типом функции).
Inline - генерирует машинный код функции. Если есть inline, то функция не может быть вызвана рекурсивно.
Const - делает переменную константой, если она инициализирована.
Register - размещает переменную в регистре (если возможно), невозможно использовать амперсанд.
В С и С++ при совпадении имён локальных и глобальных переменных приоритет имеет локальная переменная, но, можно изменить приоритет, если перед именем переменной поставить
“::”.