Главная / Программирование /
Основы программирования на языке C / Тест 12
Основы программирования на языке C - тест 12
Упражнение 1:
Номер 1
Какие массивы можно инициализировать?
Ответ:
 (1) внешние 
 (2) регистровые 
 (3) статические 
 (4) автоматические 
Номер 2
Как получить адрес переменной?
Ответ:
 (1) использовать операцию & 
 (2) использовать операцию * 
 (3) использовать операцию # 
 (4) использовать операцию ? 
Номер 3
Какие операции можно применять для переменных типа указатель?
Ответ:
 (1) присваивание 
 (2) определение значения 
 (3) получение адреса указателя 
 (4) увеличение указателя 
Упражнение 2:
Номер 1
Какие способы инициализации массива внутри функции правильны?
Ответ:
 (1) static int ages[3]={1,2,3}
 
 (2) static int ages[ ] ={10,5,8}
 
 (3) extern int ages[3]={9,0,9}
 
 (4) extern int ages[ ]={50,7,9}
 
Номер 2
Как получить значение, ссылаясь на указатель?
Ответ:
 (1) использовать операцию & 
 (2) использовать операцию * 
 (3) использовать операцию # 
 (4) использовать операцию ? 
Номер 3
Какие операции нельзя применять для переменных типа указатель?
Ответ:
 (1) деление 
 (2) умножение 
 (3) деление нацело 
Упражнение 3:
Номер 1
Какие способы инициализации неправильны?
Ответ:
 (1) static int dog[3][2]= {{1,2},{5,0},{4,9}} 
 (2) register int dog[3][2]={{1,2},{5,0},{4,9}} 
 (3) register int dog[ ][]={{1,2},{5.0},{4,9}} 
 (4) static int dog[2][3]= {{1,2},{5,0},{4,9}} 
Номер 2
Пусть описан массив int a[ ]. Можно ли обращаться к массиву только по имени, без указания индекса?
Ответ:
 (1) да, будет возвращен указатель на первый элемент  
 (2) да, будет возвращено значение первого элемента 
 (3) да, будет возвращен размер элемента 
 (4) нет, это приведет к синтаксической ошибке. Обращение к массиву можно производить только с явным указанием индекса 
Номер 3
Пусть есть двумерный массив. Какой адрес записан верно?
Ответ:
 (1) &grid[ ][ ] 
 (2) grid[0] 
 (3) *grid[0] 
Упражнение 4:
Номер 1
Могут ли быть элементы массива функциями?
Ответ:
 (1) да, но только функции типа void
 
 (2) да, но только функции типа int
 
 (3) нет, но элементы массива могут быть указателями на функции 
 (4) нет, связать массивы с функциям невозможно в принципе 
Номер 2
Что возвращает оператор sizeof
?
Ответ:
 (1) размер операнда, в байтах 
 (2) количество элементов в структуре, указанной в качестве операнда 
 (3) количество операций содержит операнд 
 (4) палиндром выражения, указанного в качестве операнда 
Упражнение 5:
Номер 1
Какого типа могут быть элементы массива?
Ответ:
 (1) указатель 
 (2) union
 
 (3) struct
 
Номер 2
Что означает функция malloc?
Ответ:
 (1) функция возвращает указатель на созданный динамический объект 
 (2) функция подсчитывает объем памяти для хранения выражения 
 (3) функция возвращает размер созданного динамического объекта 
 (4) функция уничтожает динамический объект 
Номер 3
Какая связь существует между указателями и массивами?
Ответ:
 (1) имя каждого массива может рассматриваться как указатель на первый элемент массива 
 (2) имя каждого массива может рассматриваться как адрес первого элемента массива 
 (3) элемент массива a[i] есть элемент, на который указывает значение a+i 
Упражнение 6:
Номер 1
Какое утверждение относительно указателя верно?
Ответ:
 (1) указателем называется компонент заданного типа, являющийся ссылкой на некоторую область памяти 
 (2) тип переменных определяется как тип указателей на тип данных 
 (3) идентификатор массива есть указатель 
Номер 2
Функция calloc
:
Ответ:
 (1) возвращает указатель на созданный динамический объект 
 (2) подсчитывает объем памяти для хранения выражения 
 (3) возвращает размер созданного динамического объекта 
 (4) уничтожает динамический объект 
Номер 3
Что понимают в языке Си под строками?
Ответ:
 (1) строки - это произвольный массив знаков 
 (2) строки - это произвольный набор символов 
 (3) строки - это последовательность символов, заканчивающаяся символом с нулевым кодом 
 (4) строки - это упорядоченный набор знаков