Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
C++ все лекции 2005.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
410.11 Кб
Скачать

Массивы.

Одномерные массивы.

Int a[10]

Массив из 10 чисе.

К каждому элементу можно обратиться по индексу. Индекс массива начинается с 0.

Двумерные массивы.

Int a [10][9];

Массив из 10 строк и 9 столбцов.

Индексируются с 0.

Количество элементов в массиве: Sizeof – возвращает объем памяти, отведенной под переменную.

Sizeof(a)/ Sizeof(a[0])

Указатели.

Переменная, значение которой равно значению адреса в памяти, по которой лежит значение некоторой другой переменной.

В этом смысле имя другой переменной отсылает к ее значению прямо, а указатель косвенно.

Ссылка на значение посредством указателя называется косвенной адресацией. Указатели должны быть объявлены.

Пример: Int y=5

Int *yPtr; x; - определяет переменнуюyPtr, как указатель на целое число, а переменную х – просто как целое число.

Указатель *

Для присваиванию указатель адреса некоторой переменной используется операция адресации.

yPtr = &y;

& - возвращает адрес своего операнда (у)

Для того, чтобы получить значение на которое указывает указатель используется операция косвенной адресации. x = * yPtr

В х будет занесено то, что лежит в ячейке памяти, адрес которой хранится yPtr.

Пример: это значение = 5

Ссылки.

Следующий тип указателя, который позволяет работать с указателем как с объектом.

Объявление с помощью &.

Пример: Пусть в программе имеется указатель на объект какого-то типа

MyObject * P

То можно создать ссылку на этот объект MyObject & Ref = *P

Объявленная таким образом переменная Ref, является ссылкой на объект MyObject.

Lable1-> Caption = «Мама»

Введем ссылку на * Lable1

С помощью переменной Ref можно получить:

Ref.Caption = «Папа»

Чаще всего ссылки используются при передаче функции параметров по ссылке.

Структуры.

Это составные типы данных, построенные с использованием других типов. Они представляют собой объединенный общим именем набор данных различных типов.

Пример:

Struct TPers

{

AnsiString Name, Fam, Par;

Int Vozrast;

Bool Sex;

}

Доступ к элементам структуры через тоску.

TPers. Fam = “Ka”

TPers. Sex = true

Оператор.

Оператор передачи управления.

If

If (условие)

{

выполняется если условие true

}

else

{

выполняется если условие false

}

В С++ арифметическое значение может преобразовываться в булево. Любое не нулевое значение воспринимается как true, а не нулевое как false.

В первом If несколько условий:

And = &&

Or = \\

Пример:

If ((a= =b)\\(b>0))

If ((a= =b)(&&)(b>0))

{

a=c

}

Условный оператор множественного выбора:

Switch (выражение выбора)

{case значение 1:{операторы}

сase значение n: {операторы}

}

Позволяет провести анализ значения некоторого выражения и в зависимости от его выполнить те или иные действия.

Пример:

Switch (key)

{case ‘y’:{a=b};

сase ‘n’: {a=c};

default: {b=c};

}

Анализируем значение переменной key: если ни y’, ни n, то default.

Оператор передачи управления.

Goto

Позволяет прервать поток управления и передать управление в произвольную точку кода, помеченную специальной меткой. Метки имеют областью действия функцию.

Пример:

goto идентификатор;

идентификатор : оператор

В общем, в программировании высокого уровня он имеет очень мало применений, но он может быть очень полезен, когда C++ программа генерируется программой, а не пишется непосредственно человеком. Например, операторы goto можно использовать в синтаксическом анализаторе, порождаемом генератором синтаксических анализаторов. Оператор goto может быть также важен в тех редких случаях, когда

важна наилучшая эффективность, например, во внутреннем цикле какой-нибудь программы, работающей в реальном времени.

Операторы циклов:

For

Оператор for - это наиболее общий способ организации цикла. Он имеет следующий формат:

for ( выражение 1 ; выражение 2 ; выражение 3 )

{тело

}

Пример:

int main()

{ int i,b;

for (i=1; i<10; i++) b="i*i;" return 0; }

В этом примере вычисляются квадраты чисел от 1 до 9.

Dowhite

Оператор цикла do while называется оператором цикла с постусловием и используется в тех случаях, когда необходимо выполнить тело цикла хотя бы один раз. Формат оператора имеет следующий вид:

do {операторы} while (условие);

While

while (условие)

{ операторы

}

Внутри цикла условие должно изменяться либо должно быть предусмотрено прерывание цикла в какой-либо момент.

Прерывание цикла.

Break, Continue, Return.

Пример:

For (int i=9000; i>0; i--)

{ if (A[i]=5)

{ A[i]=100; Break

}

}

Просмотр с последнего элемента. Ищет элемент, значения = 5, заменяет на 100 и цикл прервется.

Пример:

int main()

{ int a,b;

for (a=1,b=0; a<100; b+="a,a++)" { if (b%2) continue; ... /* обработка четных сумм */ } return 0; }

Когда сумма чисел от 1 до а становится нечетной, оператор continue передает управление на очередную итерацию цикла for, не выполняя операторы обработки четных сумм.

Пример:

void prov (int a, double b)

{ double c;

if (a<3) return; else if (b>10) return;

else { c=a+b;

if ((2*c-b)==11) return;

}

}

В этом примере оператор return используется для выхода из функции в случае выполнения одного из проверяемых условий. В отличие от оператора Break оператор Return, не только прерывает цикл, но и функцию, в которой он расположен.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]