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

20.Операторы цикла while, do … while. Варианты выражений. Бесконечные циклы.

while (выражение) оператор;

do оператор; while (выражение); (выполняется хотя бы 1 раз)

21.Оператор цикла for. Варианты выражений. Тело цикла. Пустой оператор for. Оператор без тела цикла.

for ( оператор1; выражение1; выражение2 ) оператор2;

for(i=1,s=0;i<100;i++)

s+=i;

cout<<s;

Если в цикле for оператор пустой, то этот цикл будет крутится бесконечно.

Тело цикла for может быть пустым.Такую особенность цикла for можно использовать для упрощения некоторых программ, а также в циклах, предназначенных для того, чтобы отложить выполнение последующей части программы на некоторое время.

22. Операторы goto, break, continue, return. Варианты использования.

Оператор безусловного перехода goto имеет вид

goto метка;

Оператор break

Этот оператор осуществляет выход из тела цикла for, while, do-while или оператора switch, в котором он появился. При этом управление передается на первый оператор после цикла.

Оператор continue

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

Оператор return

Этот оператор завершает выполнение функции, в которой он задан, и возвращает управление в вызывающую функцию.

23.Массивы. Индексация, инициализация, размещение элементов в памяти. Определение размера массива.

Массив – это последовательность однотипных элементов, имеющих единый идентификатор и хранящихся в смежных ячейках памяти.

Единственный оператор для массива – индексация []. Начинается с 0. Индекс – всегда целое выражение.

Объявление массивов:

int massiv[5];

Массив можно проинициализировать при объявлении (явная инициализация):

int massiv[5] = {2,4,6,8,10};

Размер массива:

sizeof(massiv)

24.Многомерные массивы. Инициализация многомерных массивов. Размещение элементов в памяти.

Двумерный массив рассматриваются как массив элементов, каждый из которых является одномерным массивом. Трехмерный - как массив, элементами которого являются двумерные массивы и т.д.

int matrix[3][4]

int matrix[3][4][2]

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

int f [ ][2] = { 2, 4, 6, 1 }; // массив f [2][2];

int a [ ][2][2] = { 1, 2, 3, 4, 5, 6, 7, 8 }; // массив a [2][2][2].

25.Строки. Представление строк. Длина строки. Варианты инициализации строк.

В C++ отсутствует тип данных для символьных строк. Строка представляется в виде массива символов (char). Каждый символ хранится в отдельной ячейке массива, а в последней ячейке содержится null-символ '\0'.

Длина массива должна учитывать '\0'.

char s[5];

s[0] = 's';

s[1]='h';

s[2] = 'i';

s[3]='p';

s[4]='\0';

Или сразу

char s[5] = {'s','h','i','p','\0'};

char s[] = {'s','h','i','p','\0'}; // можно не задавать размер

Можно проще:

char s[5];

s = "ship"; // в этом случае null-символ будет добавлен автоматически

Или

char s[] = "ship";

Массив можно заполнить при помощи функции scanf:

scanf("%s",s);

Обратите внимание, что взятие адреса (&) здесь не требуется.

Для определения длины строки используется команда

sizeof(имя строки);//размер самой строки

strlen(имя строки);//кол-во заполненных символами без учета нуль-символа

26. Строки. Функции для работы со строками.

Для работы со строками используются специальные функции:

gets(stroka);

puts(stroka);

strlen(имя_строки) определяет длину указанной строки, без учёта нуль-символа

strcpy(s1,s2) выполняет копирование символов из строки  s2 в строку s1

strcat(s1,s2) объединяет строку s2 со строкой s1. Результат сохраняется в s1

27. Понятие функции. Прототип функции. Определение функции.

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

Прототип функции- это есть объявление данной функции:

int sum(int a, int b, int c);

Определение функции

тип имя(список описаний аргументов){ операторы }

Вызов функции

a = b+f();//f() функция

28. Функции. Передача аргументов. Аргументы по умолчанию.

void f1 (int a, int b);{a+b}

f1(3,4)

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

void f1 (int a, int b = 0, int c = 0);

f1 (10); // вызывается f1(10, 0, 0);

29. Функции. Передача массивов.

Чтобы передать массив в функцию, ей надо сообщить адрес начала массива и количество его элементов. Это делается с помощью двух параметров: float sum (float а[], int n) { float s=0; for (int i=0; i<n; i++) s+=a[i]; return s; }

30.Имена типов. Синоним имени типа. Порядок интерпретации объявлений объектов и типов.

Синоним имени типа строится при помощи ключевого слова typedef. Выражение, в котором присутствует это ключевое слово, является описанием некоторого имени. Наличие слова typedef говорит о том, что объявляемый идентификатор становится не именем объекта некоторого типа, а синонимом имени этого типа.

int INTEGER;  // INTEGER - имя переменной типа int

typedef int INT; // INT - синоним типа int

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

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