игра брюс 2048
Главная / Программирование / Язык программирования C / Тест 4

Язык программирования C - тест 4

Упражнение 1:
Номер 1
Для чего служит оператор return в функциях?

Ответ:

 (1) для возвращения значения из вызванной функции в функцию, которая к ней обратилась 

 (2) для обозначения конца функции 

 (3) для получения из вызываемой функции значений аргументов 


Номер 2
Как записать минимальную функцию, которая не совершает никаких действий?

Ответ:

 (1) function{}() 

 (2) function(){} 

 (3) function()[] 


Номер 3
Каким образом осуществляется связь между функциями?

Ответ:

 (1) через аргументы и возвращаемые значения 

 (2) через внешние переменные 

 (3) через внутренние переменные 


Упражнение 2:
Номер 1
Какого типа значения, по умолчанию, возвращает функция?

Ответ:

 (1) char 

 (2) int 

 (3) float 


Номер 2
Как выглядит описание функции, возвращающей значение типа double?

Ответ:

 (1) double function() 

 (2) function (double) 

 (3) double int function (double) 


Номер 3
Как выглядит описание функции, возвращающей значение типа char?

Ответ:

 (1) char function() 

 (2) function (char) 

 (3) double function (char) 


Упражнение 3:
Номер 1
Как функция изменяет элементы массива, если в качестве аргумента функции выступает его имя?

Ответ:

 (1) создается временный массив, куда копируются элементы оригинального массива; затем после преобразований, элементы из временного массива копируются обратно 

 (2) используя индексацию и адрес начала 

 (3) функция не может изменить элементы массива 


Номер 2
Можно ли на C написать действительно переносимую функцию, которая будет вычислять максимум от произвольного числа аргументов?

Ответ:

 (1) можно 

 (2) нельзя 


Номер 3
Какими переменными являются аргументы внутри функций?

Ответ:

 (1) глобальными 

 (2) локальными 

 (3) внешними 


Упражнение 4:
Номер 1
Как записать инфиксное выражение типа (1+2)*(3-4)=, используя обратную польскую нотацию?

Ответ:

 (1) =*+12-34 

 (2) 12+*34-= 

 (3) 12+34-*= 


Номер 2
Какие причины обеспечивают удобство в использовании внешних переменных?

Ответ:

 (1) внешние переменные более удобны и эффективны, чем использование длинных списков аргументов 

 (2) внешние массивы могут быть инициализированы, а автоматические нет 

 (3) внешние переменные существуют постоянно и могут сохранять свои значения в период от одного обращения к функции до другого 


Упражнение 5:
Номер 1
Что является областью действия для автоматической переменной, описанной в начале функции?

Ответ:

 (1) все функции, в которых описано имя этой переменной 

 (2) та функция, в которой описано имя этой переменной 

 (3) область программы от точки, в которой она объявлена в исходном файле, до конца этого файла 


Номер 2
Что является областью действия для внешней переменной?

Ответ:

 (1) все функции, в которых описано имя этой переменной 

 (2) та функция, в которой описано имя этой переменной 

 (3) область программы от точки, в которой она объявлена в исходном файле, до конца этого файла 


Номер 3
Чем отличается описание внешней переменной от ее определения?

Ответ:

 (1) описание и определение внешней переменной - синонимы 

 (2) описание указывает свойства переменной (ее тип, размер и т.д.) и вызывает отведение памяти; определение указывает только свойства переменной 

 (3) описание указывает свойства переменной (ее тип, размер и т.д.); определение вызывает еще и отведение памяти 


Упражнение 6:
Номер 1
int SP; double VAL[MAXVAL]; Что можно сказать об этих переменных, увидев их в коде программы вне какой бы то ни было функции?

Ответ:

 (1) они определяют внешние переменные SP и VAL, вызывают отведение памяти для них и служат в качестве описания для остальной части этого исходного файла 

 (2) они описывают внешние переменные SP и VAL и создают их, но не вызывают отведение памяти для них 

 (3) они не создают переменных и не отводят им места в памяти, а описывают в указанной части этого исходного файла переменную SP как int, а VAL как массив типа double /размер которого указан в другом месте/ 


Номер 2
extern int SP; extern double VAL[]; Что можно сказать об этих переменных, увидев их в коде программы?

Ответ:

 (1) они определяют внешние переменные SP и VAL, вызывают отведение памяти для них и служат в качестве описания для остальной части этого исходного файла 

 (2) они описывают внешние переменные SP и VAL и создают их, но не вызывают отведение памяти для них 

 (3) они не создают переменных и не отводят им места в памяти, а описывают в указанной части этого исходного файла переменную SP как int, а VAL как массив типа double /размер которого указан в другом месте/ 


Номер 3
Сколько раз может происходить определение внешней переменной?

Ответ:

 (1) во всех файлах, составляющих исходную программу, только один раз; другие файлы могут содержать описания extern для доступа к ней 

 (2) столько раз, сколько необходимо обращение к ней 

 (3) столько раз, сколько существует файлов, составляющих исходную программу 


Упражнение 7:
Номер 1
Какие бывают статические переменные?

Ответ:

 (1) внешнее 

 (2) автоматические 

 (3) внутренние 


Номер 2
Какая особенность внутренних статических переменных?

Ответ:

 (1) они являются локальными для некоторой функции, но остаются существовать, а не появляются и исчезают вместе с обращением к этой функции 

 (2) они являются локальными для некоторой функции, появляются и исчезают вместе с обращением к этой функции 


Номер 3
Какая особенность внешних статических переменных?

Ответ:

 (1) они определены во всех файлах, но после первой инициализации они становятся константами до перезапуска программы 

 (2) они определены в остальной части того исходного файла, в котором они описаны, но не в каком-либо другом файле 

 (3) они определены во всех файлах, и являются глобальными переменными 


Упражнение 8:
Номер 1
Какие существуют классы памяти?

Ответ:

 (1) автоматические, статические, регистровые переменные и extern 

 (2) внешние, внутренние, внешние статические, внутренние статические переменные 

 (3) глобальные, локальные, статические, регистровые, внешние, внутренние, автоматические и extern 


Номер 2
Что указывает компилятору описание переменной register?

Ответ:

 (1) что данная переменная будет редко использоваться 

 (2) что данная переменная будет часто использоваться 

 (3) что данная переменная будет использоваться через регистры процессора 


Номер 3
Отметьте верные утверждения:

Ответ:

 (1) в регистры можно поместить только несколько переменных в каждой функции, причем только определенных типов 

 (2) невозможно извлечь адрес регистровой переменной 

 (3) в случае превышения возможного числа или использования неразрешенных типов слово register игнорируется 


Упражнение 9:
Номер 1
register int x; Может ли часть int быть опущена?

Ответ:

 (1) может 

 (2) не может 


Номер 2
int X; F(){double X; ...; X=X+1;} Какой тип переменная X имеет в выражении Х=Х+1?

Ответ:

 (1) int 

 (2) double 

 (3) компилятор выдаст ошибку 


Номер 3
if (n > 0)  { int i; for (i = 0; i < n; i++) ...} Какова область действия переменной i?

Ответ:

 (1) область ограниченная фигурными скобками 

 (2) область от первой фигурной скобки до конца программы 

 (3) весь файл 


Упражнение 10:
Номер 1
Что присваивается внешним и статическим переменным, если явная инициализация отсутствует?

Ответ:

 (1)

 (2) неопределенные значения (мусор) 

 (3)


Номер 2
Что присваивается автоматическим и регистровым переменным, если явная инициализация отсутствует?

Ответ:

 (1)

 (2) неопределенные значения (мусор) 

 (3)


Номер 3
Как можно инициализировать символьные массивы?

Ответ:

 (1) char SYMBOL_MASSIV[] ="THE" 

 (2) char SYMBOL_MASSIV[] = 'THE' 

 (3) char SYMBOL_MASSIV[] = { 'T', 'H', 'E', '\0' }; 


Упражнение 11:
Номер 1
Что означает использование функции рекурсивно?

Ответ:

 (1) это означает, что к функции буду обращаться несколько раз за время работы программы 

 (2) это означает, что функция может прямо или косвенно обращаться к себе самой 


Номер 2
Что происходит с автоматическими переменными, когда функция вызывает себя рекурсивно?

Ответ:

 (1) автоматические переменные не меняются 

 (2) при каждом обращении образуется новый набор всех автоматических переменных, совершенно не зависящий от предыдущего набора 

 (3) автоматические переменные увеличиваются на постоянную величину 


Номер 3
Отметьте верные утверждения:

Ответ:

 (1) рекурсия обычно не дает никакой экономии памяти, поскольку приходится где-то создавать стек для обрабатываемых значений 

 (2) рекурсивные программы огромны по объему кода, и они зачастую становятся сложными для понимания и написания 

 (3) использование рекурсии обычно не приводит к созданию более быстрых программ 


Упражнение 12:
Номер 1
С помощью какой команды осуществляется включение файлов?

Ответ:

 (1) #INCLUDE"FILENAME" 

 (2) #DEFINE"FILENAME" 

 (3) #INCLUDE 'FILENAME' 


Номер 2
Какая область действия имени, определенного в #DEFINE?

Ответ:

 (1) все файлы программы 

 (2) от точки определения до конца исходного файла 

 (3) до следующего переопределения 


Номер 3
#DEFINE SQUARE(X) X * X Возможно ли в C определение такого макроса?

Ответ:

 (1) возможно, только при обращении к ней, как SQUARE(Z+1), между именем макро и левой круглой скобкой, открывающей список ее аргументов, не должно быть никаких пробелов 

 (2) не возможно 




Главная / Программирование / Язык программирования C / Тест 4