Приклади програм
Приклад 1
#include <stdio.h>
/*Приклад 1*/
main()
{
int year;
year=2004;
printf("Зараз %d рік \n",year);
}
Тепер детально розглянемо нашу першу програму.
Перший рядок:
#include <stdio.h>
Він повідомляє компілятору про необхідність підключити файл stdio.h. Цей файл містить інформацію, необхідну для правильного виконання функцій бібліотеки стандартного введення/виводу мови С. Мова С передбачає використання деякого числа файлів такого типу, що називаються заголовними файлами (header files). У файлі stdio.h знаходиться інформація про стандартну функцію виводу printf(), що ми використовували.
Другий рядок:
/ *Приклад 1* /
є коментарем.
При уважному розгляді програми зауважимо, що між 5-м і 6-м рядками знаходиться порожній рядок. Порожні рядки у мові С не роблять ніякого впливу і можуть бути вставлені для зручності читання програми.
Рядок
void main ( )
визначає ім'я функції. Будь-яка програма на мові С складається з однієї або декількох функцій. Виконання програми починається з виклику функції main(). Тому кожна програма на мові С повинна містити функцію main().
Наступний рядок,
{
містить відкриваючу фігурну дужку (brace), що позначає початок тіла функції main().Фігурні дужки в мові С завжди використовуються парами ( відкриваюча і закриваюча). Дужку, що закриває, ми ще зустрінемо в нашій програмі.
Рядок
int year;
оголошує (declare) змінну, названу year, і повідомляє компілятору, що ця змінна ціла. У мові С усі змінні повинні бути оголошені перед тим, як вони будуть використані. Процес оголошення змінних містить у собі визначення імені (ідентифікатора) змінних (year) і вказівка типу перемінних (int).
Рядок
уеаг=2004;
є оператором присвоєння. У цьому рядку змінній з ім'ям year присвоюється значення 2004. Зауважимо, що в мові С використовується просто знак рівності в операторі присвоєння. Всі оператори в мові С завершуються символом "крапка з комою".
Рядок
printf (“Зараз %d рік\n", year);
є викликом стандартної функції printf(), що виводить на екран деяку інформацію. Цей рядок складається з двох частин: імені функції printf і двох її аргументів "Зараз %d рік\n" і year, розділених комою. У мові С немає вбудованих функцій введення/виводу. Але бібліотеки мови С і Borland C++ містять багато корисних і зручних функцій введення/виводу. Функція printf, що ми використовували, є універсальною функцією форматного виводу.
Для виклику функції потрібно написати ім'я функції і у дужках зазначити необхідні фактичні аргументи. Перший аргумент функції printf() -це рядок у лапках "Зараз %d рік\n", що іноді називають керуючим рядком (control string). Цей рядок може містити будь-які символи або специфікації формату, що починаються із символу '%'. Звичайні символи просто відображаються на екрані у тому порядку, у якому вони йдуть.
Специфікація формату, що починається із символу '%', вказує формат, у якому буде виводитися значення перемінної year, що є другим аргументом функції printf().Специфікація %d вказує, що буде виводиться ціле число в десятковому записі. Комбінація символів '\n' повідомляє функції printf() про необхідність переходу на новий рядок. Цей символ називається символом нового рядка (newline).
Останній рядок програми:
}
містить закриваючу фігурну дужку. Вона позначає кінець функції main().
Якщо при наборі програми ви не допустили помилок, то ви одержите результат, про який написано вище. Якщо, крім того, ви відключили видачу попереджень, то ніяких повідомлень вам не буде видано.
Розглянемо другий приклад, у якому буде реалізовуватися введення даних із клавіатури. Для цього буде використовуватися бібліотечна функція scanf(), що дозволяє користувачу вводити інформацію з клавіатури під час виконання програми.
Приклад 2
#include <stdio.h>
/*Приклад 2. Обчислення довжини кола.*/
void main()
{
int radius;
float length;
printf("Радіус= \n");
scanf("%d", &radius);
length=3.1415*2*radius;
printf("Радіус- %d \n довжина- %f \n", radius, length);
}
У цій програмі, у порівнянні з попередньою, використано декілька важливих нововведень.
По-перше, оголошені дві перемінні двох різних типів: radius - ціле число (int); length – число з плаваючою комою (float), що містить дробову частину.
По-друге, використовується функція scanf() для введення з клавіатури значення радіуса кола. Перший аргумент функції scanf( ) "%d" вказує, що буде вводитися ціле десяткове число. Другий аргумент - ім'я перемінної, котрому буде привласнене введене значення. Символ & (амперсанд, ampersand) перед ім'ям перемінної radius необхідний для правильної роботи функції scanf ( ). Більш докладно необхідність використання символу & перед ім'ям перемінної буде обговорюватися надалі.
У розглянутому прикладі довжина кола обчислюється тільки для цілих радіусів. Можна змінити цю програму так, щоб вона обчислювала довжину кола для будь-яких радіусів і обчислювала, крім цього, площу кругу.
Приклад 3
#include <stdio.h>
/*Приклад 3.*/
/*Довжина кола та площа круга для будь-яких радіусів*/
void main()
{
float radius, length, area;
printf("Радіус= \n");
scanf("%f", &radius);
length=3.1415*2*radius;
area=3.1415*radius*radius;
printf("Радіус= %f, довжина кола= %f, площа круга= %f", radius, length, area);
}
У цій програмі тип перемінної radius змінений на float, відповідно змінені специфікатори формату введення і виводу перемінної radius у функціях scanf() і printf().
