Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
програмування.docx
Скачиваний:
40
Добавлен:
05.03.2016
Размер:
1.55 Mб
Скачать

18.Приклад застосування структури на мові Сі.

struct str_name

{

private:

int member_1;

float member_2;

public:

std::string member_3;

// ...

};

// примеры инициализации структуры.

str_name struct0;

str_name struct1 = {1, 3.1416, "doit" /* ... */};

str_name struct2 = {member_1:2, member_2:3.1416, member_3:"doit" /* ... */};

str_name struct2 = {.member_1=2, .member_2=3.1416, .member_3="doit" /* ... */};

19. Поняття функції на мові Сі, її опис та структура. У мові СІ будь-яка програма складається з однієї або більше функцій, що задають дії, які потрібно виконати. Виконання будь-якої програми починається з функції main. Далі йде текстпрограми, укладений у фігурні дужки. Таким чином, структура програми має вигляд:

main ()

{

Тіло програми

}

У самому простому випадку функція main не має аргументів, тому в дужках нічого не міститься. Для роботи програми, що забезпечує введення і виведення інформації, передфункцією main необхідно помістити рядок:

# Include <stdio.h>

Програма складається з сукупності фунцій, одна з яких повина називатися main(). Опис функції складається з заголовка і тіла функції. Заголовок містить оператори(директиви) препроцесора, наприклад, #include і ім'я функції. Тіло функції розташоване у фігурних дужках і складається з ряду операторів, кожен з яких закінчується крапкою з комою. Приклад програми, що буде наведений нижче, містить ще і оператор оголошення, який оголошує ім'я і тип змінної, що буде використовуватися. Крім того в ньому був присутній оператор присвоєння, що присвоює значення змінній.

Коротко кажучи, проста програма, що написана з врахуванням вимог стандарту ISO/ANSI C, повинна мати наступний формат:

Загловок:

#include<stdio.h> //- Інструкції препроцесора

int main(void) //- ім'я ф-ї з аргументами

Тіло:

{

int q; // - Оператор оголошення

q=1; //Оператор присвоєння

printf(“%d is neat. \n”,q); // Оператор виклику ф-ї

return 0;

}

Функція – це самостійний фрагмент тексту програми, що призначений для виконання конкретної задачі.

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

int gcd (int m, int n)

{

while (m != n)

if m>n m=m-n; else n=n-m;

//m == n

return m;

}

Кожна функція визначається один раз, а використовується багато разів у різних файлах. Для компіляції викликів компілятору досить мати лише інформацію про кількість і типи параметрів, а також тип результату. Сам код тепер непотрібен. Він буде потрібен лише компонувальнику. Тому користуються оголошенням функції , яке ще називають її сигнатурою .Функція може не повертати значення. В цьому випадку її сигнатура починається словом void.Усі параметри, за винятком параметрів типу покажчик та масивів, передаються за значенням. Це означає, що при виклику функції їй передаються тільки значення змінних. Сама функція не в змозі змінити цих значень у викликаючій функції. Наступний приклад це демонструє:

#include<stdio.h>

void test(int a)

{

   a=15;

   printf(" in test : a==%d\n",a);

}

void main()

{

   int a=10;

   printf("before test : a==%d\n",a);

   test(a);

   printf("after test : a==%d\n",a);

20. Звернення до функції на мові Сі Формат звернення до функції (виклику функції) традиційний:    імя_функциі (список_фактичних_праметрів)    Проте в Сі звернення до функції має своєрідне трактування: звернення до функції - це вираз. У цьому виразі круглі дужки грають роль знака операції, для якої функція і фактичні параметри (аргументи) є операндами. Пріоритет операції "дужки" найвищий, тому обчислення функції у виразах виробляється раніше від інших операцій.    Між формальними і фактичними параметрами при виклику функції повинні дотримуватися правила відповідності за послідовності і за типами. Фактичний параметр - це вираз того ж типу, що й у відповідного йому формального параметра.Стандарт мови Сі допускає автоматичне перетворення значень фактичних параметрів до типу формальних параметрів.    Необхідно засвоїти ще один найважливіший принцип, що діє в Сі: передача параметрів при виклику функції відбувається тільки за значенням. У Сі допустимі тільки параметри-значення. Тому виконання функції не може змінити значення змінних, вказаних в якості фактичних параметрів.