Font size
WorksheetsСистемне 2 контрольна 1 сем.
Total questions: 84
Worksheet time: 42mins
Що таке функція в мові С?
Спеціальна змінна для збереження чисел.
Частина коду, що виконує конкретну дію та може бути викликана з інших частин програми.
Команда компілятора для перевірки синтаксису.
Оператор для створення циклів.
Який синтаксис оголошення функції правильний?
void myFunction {}
void myFunction();
void myFunction() { ... }
myFunction() void { ... }
Що таке "прототип функції"?
Повне визначення функції.
Оголошення функції перед її використанням.
Виклик функції без параметрів.
Запис функції в динамічну пам’ять.
Яке ключове слово використовується для функції, що нічого не повертає?
int
void
char
null
Що таке формальні параметри функції?
Параметри, що передаються функції при виклику.
Локальні змінні функції.
Параметри, що оголошуються у визначенні функції.
Всі глобальні змінні програми.
Як функція повертає значення у мові С?
Використовуючи оператор end.
Використовуючи оператор return.
За допомогою ключового слова finish.
За допомогою глобальної змінної.
Який тип повертає функція, якщо вказано int?
Рядок символів.
Ціле число.
Дійсне число.
Порожнє значення.
Що означає void у функції?
Функція повертає 0.
Функція не має тіла.
Функція не повертає значення.
Функц
Як передати масив у функцію?
За значенням.
За посиланням (вказівником).
Використовуючи ключове слово array.
Через глобальні змінні.
Яка частина функції виконується при її виклику?
Прототип функції.
Оголошення функції.
Тіло функції.
Назва функції.
Що таке рекурсивна функція?
Функція, що не має параметрів.
Функція, яка викликає сама себе.
Функція, що повертає тільки 0.
Функція з багатьма параметрами.
Що станеться, якщо рекурсивна функція не матиме базового випадку (тобто не буде містити return)?
Виникне помилка компіляції.
Функція виконається один раз.
Виникне переповнення стеку.
Значення функції буде 0.
Що таке "вкладена рекурсія"?
Рекурсія, де функція викликає іншу функцію.
Рекурсія, де функція містить цикл.
Рекурсія, де функція викликає саму себе всередині іншого виклику.
Функція без параметрів.
Що таке обопільна рекурсія?
Виклик однієї функції кілька разів.
Дві або більше функцій викликають одна одну.
Функція, що має два базових випадки.
Циклічна функція.
Як правильно викликати функцію int sum(int a, int b)?
sum(5, 10);
int sum = (5, 10);
call sum(5, 10);
void sum(5, 10);
Що повертає функція int func() без оператора return?
0
Випадкове значення.
Комп'ютер видасть помилку.
Значення NULL.
Як викликати функцію, яка не має параметрів?
func();
func;
call func;
function func();
Що таке "хвостова рекурсія"?
Рекурсивний виклик є останньою дією у функції.
Функція має кілька рекурсивних викликів.
Рекурсія, що працює з масивами.
Рекурсія з умовами.
Який результат виконання return a > b ? a : b;?
Повертає менше з чисел.
Повертає більше з чисел.
Викликає рекурсію.
Створює масив.
Що таке "локальні змінні функції"?
Змінні, доступні у всій програмі.
Змінні, що оголошуються всередині функції.
Змінні, які не змінюються під час виконання.
Глобальні константи.
Яке початкове значення мають локальні змінні функції?
0
Сміття, які залишилося після виклику інших функцій
Якщо не проініціалізувати змінні програма закриється аварійно
Залежить від налаштувань компілятора, сміття або не дозволить скомпілювати код без початкової ініціалізації
Що таке "параметри командного рядка" у main()?
Параметри функції у вигляді масиву символів.
Оголошення глобальних змінних.
Виклик рекурсивної функції.
Компіляторні директиви.
Що відбувається при передачі параметра за значенням?
Передається адреса змінної.
Передається копія значення змінної.
Функція отримує глобальне значення.
Передається тип змінної.
Що таке вказівник на функцію?
Адреса функції у пам’яті.
Глобальна змінна.
Масив функцій.
Рекурсивний виклик функції.
Що робить оператор sizeof для функції?
Визначає розмір функції у байтах.
Повертає 0.
Визначає кількість викликів функції.
Визначає розмір змінних у функції.
Що станеться при відсутності виклику функції main()?
Програма не скомпілюється.
Програма виконається успішно.
Створиться глобальна помилка.
Виконається перша оголошена функція.
Що таке структура у мові С?
Набір однакових елементів.
Сукупність різнотипних елементів з одним ім'ям.
Функція для обробки даних.
Масив даних одного типу.
Яке ключове слово використовується для оголошення структури?
class
struct
union
typedef
Як виглядає синтаксис оголошення структури?
structure { ... };
struct { ... };
struct Name { ... };
typedef { ... };
Що таке поле структури?
Команда програми.
Оголошена змінна всередині структури.
Масив функцій.
Глобальна змінна.
Як ініціалізувати структуру struct Student, якщо опис структури був наступним?
struct Student{
int nubmer;
char name[20];
int course;
}
Student s = (1, "name", 2);
struct Student s = {1, "name", 2};
Student s;
init Student = {};
Чи при оголошенні обов'язково вказувати ім'я структури?
Так, завжди.
Ні, ім'я структури можна не вказувати.
Тільки якщо є поля.
Лише у глобальному просторі.
Що робить typedef у структурах?
Створює нове поле.
Створює нове ім'я для типу структури.
Ініціалізує структуру.
Видаляє структуру.
Як отримати доступ до поля структури?
struct.field
struct->field
struct{field}
struct:field
Як отримати доступ до поля через вказівник на структуру?
p->field
*p>>field
p.field
struct*p->field
Що відбудеться, якщо в полі структури оголосити масив символів?
Буде збережено лише один символ.
Масив символів зберігатиме рядок.
Буде помилка компіляції.
Поле не може містити масиви.
Який розмір буде у структури з одним int та одним char?
5 байтів для х86 та 9 байтів для х64.
9 байтів
Залежить від налаштування компілятора та архітектури CPU (5, 8 або 9 байтів)
8 байти, оскільки спрацює алгоритм вирівнювання пам'яті для пришвидшення підрахунку адресації
Що таке вкладена структура?
Структура, що містить іншу структуру як поле.
Масив структур.
Функція всередині структури.
Глобальна структура.
Що таке анонімна структура?
Структура без полів.
Структура без імені.
Структура з одним полем.
Структура з масивами.
Що робить оператор sizeof зі структурою?
Повертає кількість полів.
Повертає розмір структури в байтах.
Повертає значення полів.
Нічого не робить.
Як оголосити масив структур?
struct Student[];
struct Student s[10];
struct Student[10];
typedef Student s[10];
Як створити екземпляр структури якщо прототип був оголошений наступним чином?
typedef struct {
int x;
int y;
} Point;
struct Point p = { 1, 2 };
Point p = { 1, 2 };
<struct> Point p;
typedef struct Point p = { 1, 2 };
Як копіювати дані між структурами одного типу?
Використовувати функцію strcpy.
Використовувати оператор =.
Використовувати функцію copy().
Використовувати цикл для копіювання кожного поля.
Як копіювати поле структури у іншу структуру, якщо тип поля рядок?
Використовувати функцію strcpy.
Використовувати оператор =.
Використовувати функцію copy().
Використовувати цикл для копіювання кожного поля.
Що відбувається з пам'яттю при оголошенні структури?
Пам'ять виділяється динамічно.
Пам'ять виділяється на стеку або у статичній області.
Пам'ять звільняється автоматично.
Пам'ять не виділяється.
Що таке об'єднання в C?
Альтернативна форма структури.
Структура, яка ділить пам'ять між полями.
Масив структур.
Глобальна змінна.
Що таке "поля бітів" у структурі?
Поля, що займають частину байта.
Поля для зберігання великих чисел.
Масиви у структурі.
Оголошення полів у бітовому форматі.
Яке ключове слово дозволяє створити псевдонім структури?
struct
union
typedef
define
Що таке вказівник на структуру?
Адреса структури у пам'яті.
Оголошення нової структури.
Ініціалізатор структури.
Масив структур.
Як передати структуру у функцію?
За значенням або через вказівник.
Тільки за значенням.
Тільки через вказівник.
Це неможливо.
Який оператор використовується для доступу до полів об'єднання?
.
->
&
*
Який тип даних використовується для зберігання адреси структури?
char
struct *
union
array
Чи можна вкладати об'єднання у структури?
Так.
Ні.
Тільки у глобальних структурах.
Тільки у функціях.
Що повертає функція rand?
Випадкове число в рамках меж, які були здані як параметри функції
Випадкове ціле число від 0 до RAND_MAX
Випадкове дійсне число від 0 до 1
Випадкове число від 0 до максимального значення, яке було вказане як параметр функції
Як згенерувати число від min до max
rand(min, max);
random(min, max);
rand() % (max - min + 1) + min
rand(max - min + 1) + min
Для чого використовуються функції у мові С?
Для краси.
Для організації повторюваного коду та структурування програми.
Для оголошення змінних глобально.
Для прискорення роботи компілятора.
Що відбудеться, якщо оголосити функцію після її виклику без прототипу?
Програма виконається коректно.
Програма не скомпілюється.
Програма завершиться помилкою під час виконання.
Значення функції буде рівне 0.
Що таке статична функція у мові С?
Функція, доступна лише у межах файлу, де вона оголошена і подібно як макрос.
Функція, яка не змінює свої параметри.
Функція, яка викликається лише один раз.
Функція, що має глобальну область видимості.
Як правильно оголосити статичну функцію?
void myFunction();
static void myFunction();
extern void myFunction();
static void = myFunction();
Що таке прототип функції?
Повне визначення функції.
Оголошення функції до її виклику з вказанням типів параметрів.
Вказівник на функцію.
Використання ключового слова static.
Як правильно оголосити прототип функції з двома параметрами типу int?
void func(int, int);
prototype void func(int a, int b);
func(int, int);
void func();
Як формальні параметри пов'язані з фактичними?
Фактичні параметри передають свої значення формальним.
Формальні параметри дублюють фактичні.
Формальні параметри містять адреси фактичних.
Вони не мають зв'язку.
Яка бібліотека необхідна для роботи з неоголошеними параметрами?
#include <math.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
Як правильно оголосити функцію зі змінною кількістю параметрів?
int func(int a, ...);
int func(..., int a);
void func();
int func(int a, int b);
Що таке стек у мові С?
Спосіб зберігання даних за принципом LIFO (останнім прийшов — першим пішов).
Динамічний масив у пам'яті.
Постійний буфер для збереження змінних.
Місце для зберігання глобальних змінних.
Що таке переповнення стеку?
Перевищення обсягу доступної пам'яті для стеку.
Відсутність пам'яті для глобальних змінних.
Помилка компіляції.
Переповнення змінної типу int.
Що зберігається у стеку під час виклику функції?
Адреса виклику функції, точка повернення, параметри, регістри.
Глобальні змінні.
Адреси всіх функцій програми.
Дані про пам’ять купи.
Який головний недолік рекурсії?
Велике використання пам'яті через стек викликів.
Неможливість викликати функцію більше одного разу.
Неможливість використовувати параметри.
Відсутність базового випадку.
Чи можна функцію викликати саму себе?
Ні, це неможливо.
Так, це називається рекурсією.
Тільки для глобальних функцій.
Тільки якщо функція статична.
Що таке базовий випадок у рекурсії?
Умова, за якою функція зупиняє виклики самої себе.
Випадковий параметр функції.
Початковий стан стеку.
Вказівник на функцію.
Яка функція використовується для виділення динамічної пам’яті?
malloc()
alloc()
dynamic()
new()
Що повертає функція malloc() у разі невдалого виділення пам'яті?
Адресу нульового елемента.
NULL
Значення -1.
Системну помилку.
Яка функція виділяє пам’ять та ініціалізує її нулями?
malloc()
calloc()
realloc()
initalloc()
Що робить функція free()?
Очищає значення змінних.
Звільняє раніше виділену пам'ять.
Видаляє глобальні змінні.
Очищає весь стек програми.
Як змінити розмір вже виділеної пам’яті?
Використати realloc().
Використати resize().
Використати malloc() повторно.
Використати calloc().
Що потрібно передати функції realloc() як перший параметр?
Розмір нового блоку пам'яті.
Адресу раніше виділеної пам'яті.
Кількість елементів масиву.
Індекс масиву.
Що відбудеться, якщо забути викликати free() для динамічної пам'яті?
Пам'ять буде автоматично звільнена.
Відбудеться витік пам'яті.
Програма завершиться помилкою.
Пам'ять буде перезаписана нулями.
Який заголовковий файл необхідний для роботи з динамічною пам’яттю?
#include <malloc.h>
#include <memory.h>
#include <stdlib.h>
#include <alloc.h>
Який результат викличе подвійне звільнення пам’яті через free()?
Програма нічого не зробить.
Пам'ять буде звільнена вдруге.
Виникне непередбачувана поведінка програми.
Пам'ять буде ініціалізована нулями.
Чи можна масив символів використовувати як масив int у мові С?
Так, якщо ми будемо працювати через вказівники, оскільки в пам'яті немає поняття типу даних.
Ні, оскільки типи char і int несумісні.
Так, але лише для додатних чисел.
Ні, це спричинить помилку компіляції.
Який тип даних повертає функція malloc?
void*
char*
int*
double*
Як зв'язати формальні з фактичними параметрами функції, щоб при зміні значення формальної змінної мінялось значення фактичної змінної?
func(int x);
func(int &x);
func(int *x);
func(const int x);
Чи можемо використовувати індексну форму роботи з масивами у наступних функціях:
1) printStudents(stud *p, int n){...};
2) printStudents(stud p[], int n) {...};
Так, назва структури це константний вказівник і С розумію що з ним можна працювати як з масивом.
У першому випадку ні, в другому так.
В обох випадках ні, оскільки 2 варіант функції оголошений з помилкою.
У першому випадку так якщо розадресувати вказівник, в другому так.
Якщо у нас є масив структур і перед нами стоїть завдання посортувати їх, як найефективніше (з точки зору швидкості) це зробити?
Обрати швидкий алгоритм сортування.
Сортувати не структури, а їх вказівники.
Якщо масив структур буде оголошений в глобальній пам'яті.
Якщо масив структур буде оголошений в динамічній пам'яті.
