ператори управління ходом обчислень та макро...

1) Чи можна в програмі використати оператор наступного вигляду і що він виконує for (; ;) {…} ?

да, это бесконечный цикл. Из такого цикла необходимо выходить, например, операторами break, goto или return.

2) Скільки разів буде виконано тіло do-while-оператора, якщо до його виконання змінна Х (типу int) мала значення 10: do {…} while (X--);

11

3) Призначення операторів break, goto, return, default та case!

Break –выход из блока программы; gotoметка на которую переходит программа; return – необходимо либо для немедленного выхода из функции, либо для передачи возвращаемого значения; default - Оператор выбора default будет выполняться, если ни один из операторов выбора case не содержит нужного числа. Т.е. если ничего не совпало с "определенным значением", то будет выполняться оператор по умолчанию – default; case - операторов выбора case может быть очень много, так как это просто различные варианты значений. Но работать будет именно тот оператор case, который будет равен нашему "определенному значению"

4) Чи можна в for-операторі ініціювати одночасно декілька параметрів циклу?

Можно

5) Різниця у виконанні #include “myfile.h”, #include <myfile.h>?

1- файл буде шукатись в поточній папці(у поточному проекті), 2- бібліотека буде шукатись у папці TC\INCLUDE.

6) За допомогою #define навести реалізацію макрокоманди.....

DEF(X,Y), яка обчислює X-Y, якщо X>=Y, та Y-X, якщо Y>X. ( Можливе рішення #define DEF(X,Y) (((X)>=(Y))?(X)-(Y):(Y)-(X)) )

7) Дані якого типу можна використовувати після ключового символу case?

имвольні масиви та їх ініціювання...

1) Чи можна записати у програмі наступну декларацію: char a = “bc”; ?

нет, так как “ bc ” массив

2) Скільки байт буде виділено під символьний масив при ініціюванні його символьним літералом?

на каждый по 1 байту + 1 под терминальный ноль

3) Виконайте в одному операторі - декларацію вказівника pp на тип char та ініціювання його адресою літералу “Data_string”!

Char*p=” Data_string”

4) Що означає наступна декларація: char (* pp) [20]; ?

Массив из указателей (20 элементов указателей)

аписи та об’єднання, їх масиви, тип enum, його особливості, поля біт...

1. Навести декларацію шаблону структури ST, яка має 4 поля: – вказівник на структуру ST, – вказівник на дані типу double, – бітове поле на 3 розряди типу signed та бітове поле на 5 розрядів типу unsigned. Скільки байт буде виділено в пам'ті комп'ютера для розміщення будь-якої змінної типу struct ST, якщо вказівники потребують по 2 байти для їх розміщення?

Template <class type> struct ST

{

struct ST* a;

double* b;

byte c;

unsigned byte d;

}

2+4+1+1=8байт

2. Навести декларацію „перечислимого” типу Days з елементами mn, th, wdn, та змінної Y цього типу. Чи можна записати у С-програмі наступний оператор Y = sun; ?

enum {mn=1; th=2; wdn=3}

Days;

Days Y;

Y = sun – записать нельзя будет ошибка

3. Навести декларацію змінної X структурного типу TN, який включає в собі 2 елементи: - бітове поле на 5 розрядів типу unsigned та об'єднання, яке об'єднує 2 елементи: – дані типу unsigned та дані типу long. Скільки байт буде виділено в пам'ті комп'ютера для розміщення будь-якої змінної типу struct TN?

Struct TK {unsigned int b; long v;}

Struct TN {int k; TK z}

TN Х

12 байт

рограмування функцій для роботи з масивами, списками...

Звернути увагу на те що у функціях у деяких випадках передається вказівник на вказівник, що стосується головного чи хвостового вказівника списка, тому що в деяких ситуаціях треба змінити його значення, а не значення параметра.

1. Дана декларація елементу однонаправленого списку:

struct ELM { struct ELM *succ;

char M[80];

};

Навести реалізацію функції void add(struct ELM **head, struct ELM *elm), яка забезпечує включення елементу elm до голови списку head, де head головний вказівник списку, список з одним головним вказівником.

2. Функції можуть включати, виключати елементи різних видів списків – однонапрвлених, двонаправлених, обчислювати кількість елементів, виконувати пошук по ключу.