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

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

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

Ответ:

 (1) MIN(X,Y) ((X)<(Y) ? (X)<Y) 

 (2) #define MIN(X,Y) ((X)<(Y) ? (X) : (Y)) 

 (3) #define MIN(X,Y) ((X)>(Y) ? (X) : (Y)) 

 (4) #DEFINE MIN(X,Y) ((X)<(Y) ? (X) : (Y)) 


Номер 3
Отметьте правильные варианты включения файлов в код программы?

Ответ:

 (1) #include <stdio.h> 

 (2) #include "stdio.h" 

 (3) #include "nina.h" 

 (4) #include "a:nina.h" 


Упражнение 2:
Номер 1
Какая макрофункция печатает значения двух целых выражений?

Ответ:

 (1) #define P(X,Y) printf("X=%d, Y=%d.\n",X,Y) 

 (2) #define P (X,Y) printf("X=%d, Y=%d.\n", X,Y) 

 (3) #define P(X,Y) Printf("X=%d, Y=%d.\n") 


Номер 2
Имеется следующее объявление: int x, j = 1;. Какой вариант макроопределения приведет к ответу 9 в результате вызова x = NEW(j << 2);?

Ответ:

 (1) #define new(x) x+5 

 (2) #define NEW(x) x+5 

 (3) #define NEW (x) x+5 

 (4) #define NEW(X) ((X)+5) 


Упражнение 3:
Номер 1
В чем опасность применения макрофункций?

Ответ:

 (1) побочный эффект 

 (2) нет побочных эффектов 

 (3) тяжело программировать 

 (4) в создании строчного кода 


Номер 2
Как определить символьную константу DOG директивой  #define?

Ответ:

 (1) #define DOG '5' 

 (2) #define DOG = 5 

 (3) #define(DOG) 

 (4) #define 5! = DOG 


Упражнение 4:
Номер 1
Где может появиться  директива #define?

Ответ:

 (1) в начале файла 

 (2) под командами включения файлов 

 (3) в середине файла 

 (4) в конце файла 


Номер 2
Что лучше использовать: макроопределение или функцию?

Ответ:

 (1) на этот счет нет строгих правил 

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

 (3) выбор функции - к увеличению времени работы программы 

 (4) не использовать ни того ни другого 


Номер 3
Каково назначение препроцессора?

Ответ:

 (1) назначение препроцессора - обработка исходного текста программы до ее компиляции 

 (2) назначение препроцессора - подготовка программиста к серьезной работе 

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

 (4) назначение препроцессора - для сокращения времени работы компилятора 


Упражнение 5:
Номер 1
Где имеет силу даваемое определение директивы #define?

Ответ:

 (1) от места появления до конца файла или до #undef 

 (2) от начала файла до места появления 

 (3) в первой описанной функции файла 

 (4) в последней описанной функции файла 


Номер 2
Где может находиться программная строка #include?

Ответ:

 (1) программная строка #include может находиться в середине файла исходного текста 

 (2) программная строка #include может находиться в начале файла исходного текста 

 (3) программная строка #include может находиться в конце файла исходного текста 


Номер 3
Из каких стадий состоит препроцессорная обработка?

Ответ:

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

 (2) каждая пара из символов '\' и "конец строки" вместе с пробелами между ними убираются, и тем самым следующая строка исходного текста присоединяется к строке, в которой находилась эта пара символов 

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

 (4) выполняются директивы препроцессора и производятся макроподстановки 


Упражнение 6:
Номер 1
Какие утверждения верны?

Ответ:

 (1) препроцессор не выполняет вычислений 

 (2) препроцессор делает предложенные подстановки 

 (3) препроцессор выполняет вычисления 


Номер 2
Как задается пустая директива?

Ответ:

 (1) # 

 (2) #pragma 

 (3) #empty 


Номер 3
Каковы действия обработки директив препроцессора?

Ответ:

 (1) замена идентификаторов заранее подготовленными последовательностями символов 

 (2) включение в программу текстов из указанных файлов 

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

 (4) макроподстановка, то есть замена обозначения параметризованным текстом 




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