У мові СІ будь-яка програма складається з однієї або більше функцій, що задають дії, які потрібно виконати. Виконання будь-якої програми починається з функції 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.Усі параметри, за винятком параметрів типу покажчик та масивів, передаються за значенням. Це означає, що при виклику функції їй передаються тільки значення змінних. Сама функція не в змозі змінити цих значень у викликаючій функції. Наступний приклад це демонструє: