Массив
– совокупность данных одного типа.
Одномерный массив объявляется так:
тип <имя> [количество элементов];
Двумерный
массив объявляется так:
тип <имя> [количество строк][количество столбцов];
В памяти
компьютера двумерный массив располагается последовательно по строкам
[14].
Расположение
многомерного массива в памяти можно определить по правилу, что быстрее
всего изменяется последний индекс.
Для
доступа к элементу массива используется специальная операция индексирования.
Значения индекса начинаются с нуля. Последний индекс равен количеству
элементов минус один. Контроль выхода за границы массива возлагается
на программиста.
Например:
int A[3] ; // объявление массива из 3х элементов целого типа выделяется
// 3*sizeof(int) байт памяти
A[0]=11; // присваивание первому элементу значения 11
cout<<A[0]<<’\n’; // Вывод 11 на экран
++A[0]; //Увеличение первого элемента на 1
cout<<A[0]<<’\n’; // Вывод 12 на экран
4.11.
Операторы
Самый
обычный вид оператора – оператор-выражение. Такой оператор состоит
из выражения, за которым следует точка с запятой. Например:
a = b*3+c;
cout << "иду на грозу";
Простейшей формой оператора является пустой оператор:
;
Он не делает ничего. Однако он может быть полезен в тех случаях, когда
синтаксис требует наличия оператора, а вам оператор не нужен.
4.12. Блоки
Блок – это возможно пустой список операторов, заключённый в фигурные
скобки:
{ a=b+2; b++; }
Блок позволяет рассматривать несколько операторов как один. Область
видимости имени, описанного в блоке, простирается до конца блока.
Имя можно сделать невидимым с помощью описаний такого же имени во
внутренних блоках.
4.13. Операторы if
Программа в следующем примере осуществляет преобразование дюймов в
сантиметры и сантиметров в дюймы; предполагается, что вы укажете единицы
измерения вводимых данных, добавляя i для дюймов и c для сантиметров:
#include <iostream.h>
main()
{ const float fac = 2.54;
float x, in, cm; char ch = 0;
cout << "введите длину: "; cin>> x >>
ch;
if (ch == 'i') // i - дюймы
{ in = x; cm = x*fac; }
else if (ch == 'c') // cm - сантиметры
{ in = x/fac; cm = x; }
else in = cm = 0;
cout << " in=" << in << "cm ="
<< cm \n; }
Здесь при вводе с клавиатуры числа 5i программа считает и выводит
на экран результат в сантиметрах. Условие в операторе if должно быть
заключено в круглые скобки.
4.14. Оператор switch
Оператор switch производит сопоставление значения с множеством констант.
Проверки в предыдущем примере можно записать так:
switch
(ch) {
case 'i': {in = x; cm = x*fac; break;}
case 'c': {in = x/fac; cm = x; break; }
default: { in = cm = 0; break; }
}
cout
<< " in=" << in << "cm ="
<< cm \n; }
Операторы break применяются для выхода из оператора switch.
Константы
в вариантах case должны быть различными, и если проверяемое значение
не совпадает ни с одной из констант, выбирается вариант default. Программисту
не обязательно предусматривать default.