Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Сборник тестовых вопросов и задач по языку программирования Си. В 2 частях. Ч. 1. Практикум
.pdf
51
9. Что будет выведено на экран после выполнения оператора switch?
int i =6;
switch(i)
{
case '1': case ‘3’:case ‘5’: case ‘7’: case ‘9’: printf("Это нечетная цифра ");
case '0': case '2':case ‘4’: case ‘6’: case ‘8’: printf("Это четная цифра ");
default: printf("Это не цифра ");
}
• Это четная цифра Это не цифра;
• Это нечетная цифра Это четная цифра;
• Это нечетная цифра;
• Это не цифра.
10. Что будет выведено на экран после выполнения оператора switch?
char i ='1';
switch(i)
{
case '1': case ‘3’:case ‘5’: case ‘7’: case ‘9’: printf("Это нечетная цифра ");
case '0': case '2':case ‘4’: case ‘6’: case ‘8’: printf("Это четная цифра ");
default: printf("Это не цифра ");
}
• Это четная цифра;
• Это нечетная цифра Это четная цифра;
• Это нечетная цифра;
• Это нечетная цифра Это четная цифра Это не цифра.
11. Какие из следующих утверждений верны?
• метка default в операторе switch может отсутствовать;
• в операторе switch каждый оператор должен быть помечен только одной
меткой вида «case константное выражение»;
• в операторе switch управление передается тому из помеченных с помо-
щью метки case операторов, для которого значение константного выражения
совпадает со значением переключающего выражения;
• если не предусмотрены переходы и выходы из оператора switch, то в нем
последовательно выполняются все операторы, начиная с той метки, на которую
передано управление.

52
12. Какие из следующих утверждений верны?
• переключающее выражение в операторе switch должно быть целочис-
ленным, или его значение должно приводиться к целочисленному;
• если значение переключающего выражения не совпадает ни с одним из
константных выражений, то выполняется переход к оператору, отмеченному
меткой default, если такой имеется;
• для выхода из оператора switch обычно используют оператор break;
• в операторе switch всегда выполняется только один оператор, помеченный
с помощью метки case, для которого значение константного выражения совпадет
со значением переключающего выражения.
13. Можно ли написать оператор switch без оператора break?
• да, если нужно выполнить оператор default;
• да, если нужно выполнить и последующие альтернативы;
• да, если после выполнения блока операторов следует выйти из функции;
• нет.
14. Дан условный оператор:
if (выражение) оператор1; else оператор2;
Какие из следующих утверждений верны?
• в качестве оператора1 и оператора2 можно использовать описания и опре-
деления;
• в качестве оператора1 и оператора2 можно использовать блоки опера-
торов;
• оператор1 выполняется в том случае, если выражение ненулевое.
15. Какие из приведенных условных операторов написаны правильно?
• if (a>b) max=a else max=b;
• if (a&&b) a=c;
• if (a) a=b;
• if (!a) a=c; else а=b;

53
16. Какие из приведенных условных операторов написаны правильно?
• if a>b max=a;
• if (!a) a=c;
• if (a) a=c;
• if (a==b) a=c;
•
17. Тело какого цикла всегда выполняется хотя бы один раз?
• for;
• do while;
• while.
18. Что используется для разделения параметров в цикле for?
• круглые скобки;
• точка с запятой;
• запятая;
• точка.
19. Тело каких циклов может не выполняться ни разу в зависимости
от условия?
• for;
• do while;
• while.
20. Какая из конструкций цикла не решает задачу подсчета произве-
дения первых K (К > 1) членов натурального ряда?
• int i=1, p=0; while (i<=K) {p*=i; i++;}
• int i=0, p=1; do p*=++i; while (i<K);
• for(int i=1, p=1; i<=K, i++) p*=i;
21. Какая из конструкций цикла не решает задачу суммирования пер-
вых К (K > 1) членов натурального ряда?
• for (int i=1,s=0; i<=K; i++) s+=i;
• int i=0; s=0; do {++i; s+=i;} while (i<=K)
• int i=1,s=0; while (i<=K) s+=i;
• for (int i=0,s=0; i<=K; ) s+=++i

54
22. Какая из конструкций цикла не решает задачу суммирования квад-
ратов первых K (К > 1) членов натурального ряда?
• for (i=1 s=0; i<=K; i++) s+=i*i;
• int i=1, s=0; while (i<=K) {s+=i*i; i++;}
• int i=0; s=0; do {++i; s+=i*i;} while (i<=K);
23. Что будет получено на выходе в результате работы следующего
цикла?
for(int value = 36; value > 0; value /= 2)
printf("%3d", value);
• 36 18 9;
• 36;
• 36 36 18 9 4;
• 36 18 9 4 2 1.
24. Какое ключевое слово используется для завершения работы про-
граммы?
• continue;
• goto;
• return;
• exit.
25. Какое ключевое слово используется для завершения работы
функции?
• continue;
• goto;
• return;
• exit.
26. Какое ключевое слово используется для выхода из рекурсии?
• break;
• return;
• exit;
• goto.

55
27. Применение оператора goto считают обоснованным, если его ис-
пользуют:
• для перехода из нескольких мест программы к одному участку, который
нельзя по каким-либо причинам оформить в виде функции;
• при необходимости выйти из вложенных циклов или переключателей;
• для входа внутрь блока.
28. Что выполняет оператор break?
• передает управление на оператор, следующий за конструкцией цикла;
• передает управление на указанную метку;
• завершает текущую итерацию цикла и передает управление на проверку
условий дальнейшего продолжения цикла.
29. Что выполняет оператор continue?
• завершает текущую итерацию цикла и передает управление на проверку
условий дальнейшего продолжения цикла;
• передает управление на оператор, следующий за оператором цикла;
• передает управление на указанную метку;
• передает управление на оператор, следующий за оператором мультветв-
ления.
30. Что выполняет оператор goto?
• завершает текущую итерацию цикла и передает управление на проверку
условий дальнейшего продолжения цикла;
• передает управление на оператор, следующий за оператором цикла;
• передает управление на оператор, следующий за оператором мультветв-
ления;
• передает управление на указанную метку.
ОТВЕТЫ К ВОПРОСАМ И ЗАДАЧАМ ТЕМЫ 5
1. Какие из следующих высказываний верны?
• вычислительный процесс, который включает в себя повторяемую после-
довательность команд, называется циклическим;
• если условие проверяется после выполнения тела цикла, то цикл назы-
вается циклом с постусловием;
• циклический процесс называется детерминированным, если число повто-
рений цикла заранее определено.

56
2. Какие из следующих высказываний верны?
• модификация параметров цикла должна осуществляться в конце каждого
выполнения тела цикла;
• для корректной работы цикла параметры цикла должны модифициро-
ваться;
• если условие проверяется до выполнения тела цикла, то цикл называется
циклом с предусловием.
3. Какие из следующих высказываний верны?
• любая ветвь, по которой осуществляются вычисления, должна приводить
к завершению вычислительного процесса;
• при однократном прохождении программы процесс реализуется только
по одной ветви, а остальные исключаются;
• в языках программирования структура ветвления реализуется условными
и селективными операторами.
4. Какие из следующих высказываний верны?
• линейный вычислительный процесс реализуется структурой следования;
• тело любой функции в Си является составным оператором.
5. Какие из следующих высказываний верны?
• составные операторы заключены в инструктивные скобки;
• Выполнение составного оператора состоит в последовательном выпол-
нении составляющих его операторов.
6. Любую программу можно преобразовать в эквивалентную, состоя-
щую только из некоторых базовых структур и их комбинаций. Каковы эти
базовые структуры?
• следование, ветвление, цикл.
7. Какие типы переключательных выражений допускается использо-
вать в операторе switch?
• char;
• int;
• enum.
Переключающее выражение в switch должно быть целочисленным, или его
значение должно приводиться к целому.

57
8. Какие значения можно задать i, чтобы напечатать фразу «болото,
и ничего больше?»?
• 300;
• 5.
Если значение переключающего выражения не совпадает ни с одним из
константных выражений, то выполняется переход к оператору, отмеченному
меткой default.
9. Что будет выведено на экран после выполнения оператора switch?
• это не цифра.
Если значение переключающего выражения не совпадает ни с одним из
константных выражений, то выполняется переход к оператору, отмеченному.
10. Что будет выведено на экран после выполнения оператора switch?
• это нечетная цифра;
• это четная цифра;
• это не цифра.
Исходное значение переключающего выражения равно 1, для него имеется
соответствующие константное выражение и осуществляется вывод «Это нечет-
ная цифра». Ввиду отсутствия оператора break выполняются операторы, следу-
ющие после данного case, и операторы, стоящие после всех остальных case
и после default данного оператора switch.
11. Какие из следующих утверждений верны?
• метка default в операторе switch может отсутствовать;
• в операторе switch управление передается тому из помеченных с помо-
щью метки case операторов, для которого значение константного выражения
совпадает со значением переключающего выражения;
• если не предусмотрены переходы и выходы из оператора switch, то в нем
последовательно выполняются все операторы, начиная с той метки, на которую
передано управление.
12. Какие из следующих утверждений верны?
• переключающее выражение в операторе switch должно быть целочислен-
ным, или его значение должно приводиться к целочисленному;

58
• если значение переключающего выражения не совпадает ни с одним из
константных выражений, то выполнятся переход к оператору, отмеченному мет-
кой default, если такой имеется;
• для выхода из оператора switch обычно используют оператор break.
13. Можно ли написать оператор switch без оператора break?
• да, если нужно выполнить оператор default.
14. Какие из следующих утверждений верны?:
• в качестве оператора1 и оператора2 можно использовать блоки опера-
торов;
• оператор1 выполняется в том случае, если выражение ненулевое.
15. Какие из приведенных условных операторов написаны правильно?
• if (a>b) max=a else max=b;
• if (a&&b) a=c;
• if (!a) a=c;
• else а=b;
16. Какие из приведенных условных операторов написаны правильно?
• if a>b max=a;
• if (!a) a=c;
• if (a==b) a=c;
17. Тело какого цикла всегда выполняется хотя бы один раз?
• do while.
18. Что используется для разделения параметров в цикле for?
• точка с запятой.
19. Тело каких циклов может не выполняться ни разу в зависимости
от условия?
• for;
• while.
20. Какая из конструкций цикла не решает задачу подсчета произве-
дения первых K (К > 1) членов натурального ряда?
• int i=1, p=0; while (i<=K) {p*=i; i++;}

59
21. Какая из конструкций цикла не решает задачу суммирования пер-
вых К (K > 1) членов натурального ряда?
• for (int i=0,s=0; i<=K; ) s+=++i
22. Какая из конструкций цикла не решает задачу суммирования квад-
ратов первых K (К > 1) членов натурального ряда?
• int i=0; s=0; do {++i; s+=i*i;} while (i<=K);
23. Что будет получено на выходе в результате работы следующего
цикла?
• 36 18 9 4 2 1.
24. Какое ключевое слово используется для завершения работы про-
граммы?
• exit.
25. Какое ключевое слово используется для завершения работы
функции?
• return.
26. Какое ключевое слово используется для выхода из рекурсии?
• return.
27. Применение оператора goto считают обоснованным, если его ис-
пользуют:
• для перехода из нескольких мест программы к одному участку, который
нельзя по каким-либо причинам оформить в виде функции;
• при необходимости выйти из вложенных циклов или переключателей.
28. Что выполняет оператор break?
• передает управление на оператор, следующий за конструкцией цикла.
29. Что выполняет оператор continue?
• завершает текущую итерацию цикла и передает управление на проверку
условий дальнейшего продолжения цикла.
30. Что выполняет оператор goto?
• передает управление на указанную метку.

60
ТЕМА 6. КЛАССЫ ПАМЯТИ ПЕРЕМЕННЫХ ЯЗЫКА СИ
1. Установите соответствие между названием характеристики класса
памяти и ее описанием:
Размещение
Определяет промежуток времени, в течение которого
переменная сохраняет определенное значение
Время существования
Определяет, в каких частях программы будет известно
имя переменной и ее можно будет использовать
Область видимости
Указывает на способ хранения значение переменной
2. Какой класс памяти используется как для локальных, так и для
глобальных переменных?
• register;
• auto;
• static;
• extern.
3. Для каких классов хранения размещение переменных происходит
в RAM?
• register;
• auto;
• static;
• extern.
4. Какие типы данных допустимы для переменных с классом памяти
register?
• long;
• short;
• char;
• float;
• int.
5. Какой класс памяти используется для переменных, требующих
быстрого доступа?
• register;
• auto;
• static;
• extern.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
