- •Целочисленные типы. Объявление переменных целочисленного типа.
- •Типы с плавающей точкой. Объявление переменных.
- •Директива #include.
- •Вывод на консоль printf. Примеры
- •Считывание с консоли scanf. Примеры.
- •Арифметические и логические операции. Приоритет операций
- •Оператор ветвления if.
- •Цикл for.
- •Цикл while.
- •Массивы.
- •Указатели.
- •Операторы new и delete.
- •Функции. Примеры.
- •Структуры struct. Примеры.
- •Класс. Член класса. Private, protected, public – разделы класса.
- •Наследование. Примеры.
- •Виртуальные функции. Полиморфизм.
Массивы.
Массив - это одна из известных и наиболее простых структур данных. Под массивом в языке С понимают набор данных одного и того же типа, собранных под одним именем. Массив определяется именем массива и порядковым номером каждого своего элемента. Обычно порядковый номер элемента называют индексом. Так будет более кратко. Хотя не значит, что более понятно. Надо запомнить, что индекс (то есть порядковый номер элемента: видите, как длинно?) в языке С всегда целое число. Объявление массива. В каждой программе, использующей массив, он обязательно объявляется. Делается это следующим образом. Пусть массив имеет размерность N. Что это такое? N - это максимальное количество элементов в массиве. Иначе - размерность массива. Итак, основная форма объявления массива следующая: тип<имя массива>[размер1][размер2]...[размер N]; Чаще всего используются одномерные массивы. Их форма описания такова: тип<имя массива>[размер1]; Поясним, что такое тип. Тип - это базовый, то есть основной тип элементов массива. Размер - это, как выше было сказано, количество элементов одномерного массива. Все дело в том, что в двухмерном массиве размер определяется с помощью умножения. При описании двумерного массива его объявление будет таково: тип<имя массива>[размер1][размер2]; Это будет массив массива. То есть массив размера [размер2], элементами которого являются одномерные массивы: <имя массива>[размер1]. Размер массива в языке С задается константой или контантным выражением. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм, называемый динамическим выделением памяти. Вопрос о динамическом выделении памяти и о переменных массивах будет изучаться нами попозже. Но первоначально уделим больше внимания одномерным массивам. Важные сведения о массивах. В языке С нумерация элементов начинается с нуля. То есть миниальный неотрицательный индекс элемента есть число - ноль. Таким образом, всегда первый элемет массива - это элемент с нулевым номером. Предположим, что Вы объявили массив int a[100]; Это означает, что массив содержит следующие элементы: a[0], a[1], a[2],..., и так далее, a[99]. Легко подсчитать, сколько байт памти потребуется под одномерный массив. Количество байт = <размер базового типа> * <количество элементов в массиве> Следует знать, что в языке С под массив всегда выделяется непрерывное место в оперативной памяти. Выход массива за cвои опеределенные командой пределы в С не проверяется. Это следует помнить. То есть, например, если массив имеет 100 элементов и описан как a[100], то при обращении к элементу a[200] язык С не дает программе средств для контроля того факта, что имеется выхода за пределы памяти, отведенной под массив. Программа на языке С не выдаст сообщение об ошибке. Такие возможности разработчиками не предусмотрены. Возможно потому, что в те времена особенно дефицитным ресурсом была память и ее экономили на сам транслятор и потому не уделяли такого внимания анализу ошибок программиста. Отметим, что можно определять массивы любого ранее рассмотренного типа: unsighed arr[40], long double al[1000], char ch[80].