Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proga_shpory.docx
Скачиваний:
44
Добавлен:
25.03.2015
Размер:
102.57 Кб
Скачать

24) Другие операторы: break, continue, return. Примеры использования

1) break;

Используется для выхода из switch и досрочного выхода из операторов цикла.

заголовок цикла

{

операторы

if (условие) break;

операторы

}

сontinue;

Используется для пропуска этапов выполнения циклов

заголовок цикла

{

операторы

if (условие) continue;

операторы

}

Для for по continue осуществляется переход на выражение3. для while и do while на условие-выражение.

Пример:

1.

x=-9;

while (x<1) {

if (x<0.5 && x>0.1) { x+=0.05;continue;}

y=x+1;

x+=0.05;}

2.

for (x=-9; x<1; x+=0.05)

{

if (x<0.5 && x>0.1) continue;

y=x+1;

}

return

Это оператор выхода из функции. Может находиться в любом месте функции и их может столько сколько нужно по алгоритму.

Формат записи

return выражение;

return переменная;

return const;

return;

Примеры:

return 0;

return x*x+1;

25) Понятие указателя. Виды указателей. Их описание

В языке С++ есть возможность определение собственных переменных для хранения адресов областей памяти. Такие переменные называются указателями.

Есть три вида:

на объект или переменную

на функцию

на тип void

Описание приведенных видов указателей.

тип * имя

Тип указателя задается по типу переменной, адрес которой хранится в указателе.

int * a;

char *k;

2. тип (* имя) (список аргументов)

float (*fun) (float x, float y);

3. void * имя

Этот тип используется, когда тип переменной, адрес которой будет храниться в указателе, не определен, когда он станет известным, используется операция явного преобразования типа.

26) Специальные операции, связанные с указателями. Стандартные операции, применимые к указателям.

Специальные операции для указателей

Операция взятия адреса переменной или объекта

&

int a, *k=&a;

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

* операция разыменования (разадресации)

int a=7, *k=&a;

int x,y;

x=a; //x=7

y=*k; //y=7

Действия над указателями

Действия над указателями:

+ - * на число ++ -- < > == != сравнение с NULL или с 0,

если есть адрес в указателе.

if (a!=0) { // адрес есть}

else // адреса нет

27) Инициализация указателей.

При определении указателя надо стремиться выполнить его инициализацию, т. к. использование неинициализированного указателя – это источник ошибок в программе.

Инициализированное значение записывается после имени указателя или в ( ), либо после =.

Основные способы инициализации указателя

Присваивание указателю адреса существующего объекта или переменной:

с помощью операции взятия адреса

int a=5; int *p=&a; или int *p(&a);

с помощью значения другого указателя

int *d=p;

с помощью имени массива

int B[20]; int *k=B;

указатель на функцию может быть проинициализирован именем существующей функции

void f(int x); void (*put) (int); put=f;

Присвоение указателю адреса области памяти в явном виде

char *v=0x88000000;

Присвоение пустого значения указателю

int *s=NULL; int *s=0;

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

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