Тест 13. Функции (1+2+3+...11+12+13)

Какие условия необходимы для корректного выполнения рекурсивной функции?
Функция должна иметь условие окончания рекурсии (базовую задачу)
Функция должна вызывать себя прямо или косвенно
Функция должна вызывать себя с измененными параметрами
Функция должна возвращать значения

Чем является шаг рекурсии?
Упрощенным вариантом исходной задачи?
Исходной задачей
Возвратом значения функции в предыдущий рекурсивный вызов
Базовой задачей

Чем должны инициализироваться внешние и статические переменные?
Функциями
Константными выражениями
Переменными
Инициализация не допустима

Укажите имя функции, описанной void stat(int run, float fun)
stat
run
fun
void

Структура данных это:
Тип исходных данных алгоритма
Тип данных результата работы алгоритма
Совокупность типов данных переменных промежуточных результатов алгоритма
Исходные данные, промежуточные и конечные результаты

Имеется фрагмент программы:

float sred(int a,int b)
{int d;
float f;
d=a+b;
a=0;
f=d/2.0;
return f;}

void stat()
{int a=2;
int b=1;
float e;
e=sred(a,b);
printf("%i",a);}

Какое значение будет выведено на экран?
Значение не определено
3
2
0

В какой памяти распологаются локальные переменные, объявленные внутри блока?
В регистровой
В автоматической
В статической
Во внешней

Можно ли используя механизм указателей произвести присваивание одного массива другому?
Да. Только поэлементно *(d+i)=*(c+i)
Да. Только одновременно *d=*c
Определенно программистом
Нет

Какое ключевое слово должно использоваться при описании статической переменной?
auto
global
extern
static

Может ли спецификация параметров функции не содержать ни одного формального параметра?
Определяется программистом
Нет
Зависит от компилятора
Да

Где описываются формальные параметры функции?
В теле вызываемой функции
В теле вызывающей функции
В списке параметров при вызове функции
В спецификации параметров при описании функции

Возможно ли обращение к локальной переменной одного блока из другого блока?
Нет
Зависит от последовательности блоков в программе
Определяется программистом
Да

Как происходит передача данных в функцию?
По значению. Значения фактических параметров копируются в переменные, указанные в качестве формальных параметров
По имени. Значения формальных параметров, копируются в переменные с теми же именами, указанные в качестве фактических параметров
Передача данных не производится. Функция работает с переменными, указанными в качестве фактических параметров

Может ли условный оператор быть вложенным в другой условный оператор?
Только в сокращенную форму условного оператора
Нет
Да
Только в полную форму условного оператора
Определяется режимом компиляции

Какой основной недостаток рекурсивных функций?
Невозможность помещения рекурсивной функции в библиотеку
Использование специального оформления рекурсивной функции
Сложность компиляции рекурсивных вызовов
Высокая требовательность к вычислительным ресурсам?

Какая переменная называется локальной?
Описание которой находится вне блока и предшествует ему в тексте программы
Описание которой находится внутри блока
Описание которой предшествует ключевое слово local
Описание которой не требует явной инициализации

Укажите тип функции, описанной void func(char c, double f)
func
double
char
void

Если функция имеет тип отличный от void, но не вернула значение, то каково значение функции?
null?
0
1
Не определено (мусор)

До каких пор выполняется рекурсивное выполнение функции?
До схождения последовательности рекурсивных вызовов к базовой задаче
До ограничения на количество вызовов, указанного программистом
До первого оператора return
До первого возвращенного числового значения

На величину какого типа переменная ptc, описанная: char *ptc
Любого типа
Целого типа
Вещественного типа
Символьного типа

Через что осуществляется связь между функции ?
Возвращенный значения
Внешние переменные
Аргументы
Автоматические переменные

Чем соединяются блоки в блок-схеме?
Линиями направления просмотра
Соединительными линиями
Линиями условного перехода
Линиями потока информации

Имеется фрагмент кода программы:

float sred(int a;int b)
{int d;
float f;
d=a+b;
f=d/2.0;
return f;}

void stat()
{int g=2;
int k=5;
float e;
e=sred(g,k);}

Укажите имена фактических параметров функции sred
d,f
g,k,e
a,b
g,k

Укажите, какую форму должен иметь оператор return для функции описанной int sum(int a, int b)
return;
Не является обязательным
return();
return (выражение);

Что выведется на экран в результате выполнения фрагмента кода:

int a;

void main()
{static int b;
printf("%i %i", a, b);}

Выведется мусор
0 0
1 1
Определяется программистом

Что указывает выражение1 в заголовке цикла с параметром for(выражение 1;выражение 2;выражение 3) ?
Условие окончания цикла
Условие выполнения цикла
Изменение параметра цикла
Начальное значение параметра цикла

Что представляет собой идентификатор?
Произвольная последовательность любых знаков
Последовательность букв и цифр, начинающихся с буквы
Текст на естественном языке
Последовательность букв и цифр, начинающихся с цифры

Сколько раз за время выполнения программы производится инициализация статической переменной?
Один раз при вхождении в блок
Каждый раз при вхождении в блок
Один раз на этапе компиляции программы
Не производится

Обязательно ли в спецификации параметров функции указывать имена формальных параметров?
Да
Нет
Определяется программистом
Зависит от компилятора

Если существуют глобальная и локальная переменная с одинаковыми именами, то к какой переменной произойдет обращение к имени?
Определяется программистом
К локальной
Зависит от компилятора
К глобальной

Что возвращает функция strlen(); ?
Длину символьной строки (не учитывая символ конца строки)
Размер памяти, выделенный для хранения символьной строки
Размерность символьного массива, заданная при описании массива
Длину символьной строки (учитывая символ конца строки)

Что такое тело функции?
Это либо основной оператор, либо блок
Перечень операторов, оформленных произвольным образом
Перечень описаний локальных переменных функции
Перечень операторов, выполняемых в функции

Что выведется на экране в результате выполнения фрагмента кода:

int n=0;

void cout()
{static int s=0;
s++;
n=s;}

void main()
{for(int i=0; i<10; i++)
cout();
printf("\n%i",n);}

10
0
1
20

Какое ключевое слово должно использоваться при описании глобальной переменной внутри блока?
auto
global
extern
static

Что такое косвенная рекурсия?
Вызов функции посредством цепочки вызова других функций
Вызов функции, описанной с ключевым словом extern
Обратный ход стека рекурсивных вызовов
Вызов рекурсивной функции, хранящейся во внешней библиотеке

Укажите правила соответствия между формальными и фактическими параметрами:
По количеству
По имени
По последовательности
По размеру
По типу

Что осуществляется на этапе ввода?
Ввод исходных данных
Подготовка программы на исходном языке с помощью текстового редактора?
Ввод в оперативную память, настройка по месту в памяти, передача управления

Что должно предшествовать вызову функции?
Или прототип, или определение вызываемой функции?
Прототип вызываемой функции
Определение вызываемой функции
Заголовочный файл, содержащий данную функцию

Что содержит не инициализированная явным образом статическая или внешняя переменная?
1
null
Не определено (мусор)
0

Какие типы памяти для хранения переменных существуют?
Статическая
Динамическая
Внешняя
Автоматическая
Оперативная
Регистровая
Внутренняя

Укажите тип функции, описанной int sort(float d, double a)
sort
double
float
int

Какое значение будет лежать в переменной s после выполнения следующего фрагмента кода?

int s;
int a[3][5];
for(i=0;i<3;i++)
for(j=0;j<5;j++)
s+=a[i][j];

5
3
15
Значение недопустимо

Чему равно значение переменной А после выполнения операции:

int A=5,B=28;
A%=B;

5
3
5,6
Данная операция недопустима

Какой оператор требуется поставить для корректного выполнения следующего фрагмента программы?

int a=5;b=10;
switch (a)
{
case 5: c=1;
case 10: c=2;
default: c=3;
}

continue
return
break
goto

Обязательно ли в прототипе функции указывать имена формальных параметров?
Зависит от компилятора
Да
Нет
Определяется программистом

Чем отличается составной оператор от блока?
Составной оператор не может быть телом функции
Блок используется только при описании тела функции
В составном операторе производится описание программных объектов
В блоке производится описание программных объектов

В какой памяти находятся глобальные переменные
В автоматической
В статической
В регистровой
Во внешней

Чем является указанный фрагмент кода? {int a; int b; a=2*b}
Зависит от месторасположения в программе
Составным оператором
Определить невозможно
Блоком

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

Какими символами ограничивается тело функции?
Двойными кавычками
Квадратными скобками
Круглыми скобками
Фигурными скобками

Что такое тип функции?
Это имя функции
Это тип передаваемых в функции значений
Это тип переменных, описанных в теле функции
Это тип возвращаемого функцией результата

Что содержит заголовочный файл библиотеки функций?
Прототипы функций библиотеки
Имена функций библиотеки
Тела функций библиотеки
Определение функций библиотеки

Что содержит не инициализированная явным образом автоматическая переменная?
0
1
null
Не определено (мусор)


Что такое фактический параметр функции?
Это переменная описанная в теле вызывающей функции
Это выражение того же типа, что и у соответствующего ему формального параметра
Это переменная описанная в теле вызываемой функции

Если в функции явным образом отсутствует оператор return, то куда его подставит компилятор?
Перед закрывающей тело функции фигурной скобкой
Отсутствие оператора return вызовет зависание программы
После открывающей тело функции фигурной скобкой
Отсутствие оператора return вызовет ошибку компиляции

Описана функция

float sred(int a,int b)
{int d;
float f;
d=a+b;
f=d/2.0;
return f;}

Укажите имена формальных параметров
b
a
d
f

Может ли выполнение функции изменить значения переменных, указанных в качестве формальных параметров?
Определяется программистом
Нет
Да
Зависит от компилятора

Укажите правильное использование оператора return
return;
return(0);
return
return 1;

Что такое рекурсивная функция?
Это функция, которая не возвращает значения
Это функция, которая выполняется несколько раз за время выполнения программы
Это функция, которая возвращает значения
Это функция, которая вызывает сама себя либо непосредственно, либо косвенно с помощью другой функции

Какой оператор является оператором возврата из функции в точку ее вызова?
goto
exit
continue
return

Что такое имя функции?
Идентификатор первой автоматической переменной функции
Идентификатор первой переменной, описанной в качестве фактического параметра
Идентификатор, задаваемый программистом или main для основной функции
Идентификатор первой переменной, описанной в качестве формального параметра

Возможно ли обращение к глобальной переменной из блока?
Зависит от типа переменной
Да
Нет
Определяется программистом

В какой памяти хранятся глобальные переменные
В регистровой
В автоматической
Во внешней
В статической

Функция с каким именем должна обязательно присутствовать в программа на Си?
main
define
void
include

Может ли оператор return явным образом отсутствовать в теле функции?
Зависит от компилятора
Определяется программистом
Да
Нет

Какая функция является рекурсивной в приведенном фрагменте кода:

void abc(int b)
{ ... abc(...);...}
int def()
{... abc(...);...}

abc
Обе
Ни одна
def

Функция описана: int qwerty(int a, float b) Укажите правильный вариант описания прототипа функции.
qwerty(int a, float b);
int qwerty(int, float);
int qwerty(int a, float b);
int qwerty(int a, float b);

Что такое прямая рекурсия?
Вызов функции внутри тела этой функции
Вызов функции, содержащей вызовы других функций
Вызов рекурсивной функции из тела функции main
Вызов функции, не содержащей вызовов других функций

5 лайков