Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сборник тестовых вопросов и задач по языку программирования Си. В 2 частях. Ч. 1. Практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
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.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]