Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SIT.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
349 Кб
Скачать
☆

Использование операторов break, continue и goto в циклах

Напомним основные сведения о данных операторах.

  • Оператор break имеет два применения. Первое - окончание case в операторе switch. Второе - немедленное окончание цикла, не связанное с проверкой обычного условия окончания цикла. Когда оператор break встречается внутри оператора цикла, то происходит немедленный выход из цикла и переход к выполнению оператора, следующего за оператором цикла.

  • Если оператор continue встретился в операторе цикла, то он передает управление на начало следующей итерации цикла. В циклах while и do-while - на проверку условия, а в цикле for - на приращение. Этот оператор необходим, если вы хотите закончить текущую итерацию цикла и не выполнять оставшиеся операторы, а сразу перейти к следующей итерации цикла.

  • Оператор goto служит для выхода из вложенных циклов или для перехода к нужному месту программы. Этот оператор тесно связан с таким понятием, как метка. Метка в С++ - это идентификатор, за которым следует двоеточие. Например,

goto exit;

…

exit: printf(“конец программы")

Проиллюстрируем использование указанных операторов.

Пpoграмма 2.4:

#include-"'stdio.h>

void main() {

int i;

for(i=0; i<5; i++) {

printf("i=%d\n'', i);

if(i==3) goto out_of_loop; }

out_of_lоор: printf("This is the end of the 1st loop i= %d \n", i);

for(char c:=='a;;c++)

if(c==’d’) {printf("end of the loop for c=%c\n", c);break;}

Результат выполнения программы следующий:

i=0

i=1

i=2

i=3

This is the end of the 1st loop i=3

end olthe loop for c=d

Операция условие ?

Операция условие - единственная операция языка С, имеющая три операнда. Эта операция имеет вид: (выражение1) ? (выражение2): (выражение3) Например, x=flag?y:y*y

Эта операция эквивалентна следующей записи

if (flag) x=y

else x=y*y;

То есть если значение выражения 1 истинно (больше 0), то вычисляется выражение 2, которое и является в этом случае результатом операции. Если же значение выражения 1 – ложно (равно 0), то вычисляется выражение 3, которое и будет являться результатом операции.

Лекция 3 Массивы

Массив - одна из наиболее простых и известных структур данных. Под массивом в языке С понимают набор данных одного и того же типа, собранных под одним именем. Каждый элемент массива определяется именем массива и порядковым номером элемента, который называется индексом. Индекс в языке С всегда целое число.

Основная форма объявления массива размерности N такова:

Тип <имя массива> [размер1] [размер2]...[размерN].

Например,

  • int с[6] - объявлен одномерный массив с, состоящий из 6 целых элементов;

  • float d[2][4] - объявлен двумерный массив d, состоящий из 8 действительных элементов;

  • long double game[100] - объявлен одномерный массив game, состоящий из 100 целых элементов.

Размер массива в языке С может задаваться константой или константным выражением. Нельзя задавать массив переменного размера. Для этого существует отдельный механизм, называемый динамическим выделением памяти.

В языке С индекс элемента массива всегда начинается с нуля. Когда говорят о первом элементе массива, то имеют в виду элемент с индексом 0. Если объявляют массив int c[100], это значит, что массив содержит 100 элементов от с[0] до с[99]. Для одномерного массива легко подсчитать количество байт, занимаемых этим массивом в памяти по формуле:

количество байт = размер базового типа * количество элементов

или

количество байт= sizeof(c[0])*100.

В языке С под массив всегда выделяется непрерывное место в оперативной памяти.

В языке С не проверяется выход индекса за пределы массива. Если массив c[100] описан как целочисленный массив, имеющий 100 элементов, а в программе указано с[200], то сообщение об ошибке не будет выдано, а в качестве значения элемента с[200] будет выдано некоторое число, занимающее соответствующие 2 байта.

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