Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab4.doc
Скачиваний:
2
Добавлен:
13.09.2019
Размер:
507.39 Кб
Скачать

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().

Якщо при наборі програми ви не допустили помилок, то ви одержите результат, про який написано вище. Якщо, крім того, ви відключили видачу попереджень, то ніяких повідомлень вам не буде видано.

Спробуємо намірено ввести помилку в нашу програму. Наприклад, не поставивши одну з крапок із комою. Спробуємо ще раз виконати вже неправильну програму. Натиснемо комбінацію клавіш Ctrl-F9. При компіляції програми буде виявлена помилка, що буде підсвічена у вікні повідомлень (message window). Причому у вікні повідомлень помилка буде підсвічена більш яскравим рядком, а у вікні редагування курсор встановлюється у тому місці програми, де компілятор системи Borland C++ виявив помилку. Насправді курсор буде знаходитися у наступному рядку, що буває завжди, коли компілятор не знаходить крапки з комою.

Однією із найбільших зручностей інтегрованого середовища є те, що в інтерактивному режимі користувач може виявити і виправити помилку. Для переходу до наступної помилки потрібно набрати комбінацію клавіш ALT-F8.

Натиснувши комбінацію клавіш ALT-F7, можна перейти до попередньої помилки. Натисканням клавіші Enter можна активізувати вікно редагування і виправити виділену курсором помилку.

Наявність помилок (errors) не дозволяє виконати програму. Необхідно виправити знайдені помилки і знову компілювати програму. Однак, навіть якщо в програмі немає синтаксичних помилок, деякі ситуації можуть викликати підозру в компілятора. Коли Borland C++ зустрічається з однією з таких ситуацій, то друкується попередження (warning). Користувач повинний проаналізувати зазначену ситуацію і прийняти відповідне рішення.

Наприклад, була оголошена перемінна month, але вона не була використана в програмі. Попередження про це повинно бути зроблене системою Borland C++. Однак згадаємо, що при установці опцій для режиму компіляції відповідний блок був відключений. Наявність попереджень не є перешкодою для виконання програми.

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

Приклад 2

#include <stdio.h>

/*Приклад 2. Обчислення довжини кола.*/

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 ( ). Більш докладно необхідність використання символу & перед ім'ям перемінної буде обговорюватися надалі.

Звернемо увагу на те, що в наступному рядку ціле число 2 і radius збільшуються на число з плаваючою комою 3.1415 і результат привласнюється перемінній типу float. На відміну від багатьох інших мов, мова С допускає використання у виразах перемінних різних типів. Для виводу результатів застосовується функція printf(). Специфікатор формату %f використовується для друку значення перемінної length типу float.

У розглянутому прикладі довжина кола обчислюється тільки для цілих радіусів. Можна змінити цю програму так, щоб вона обчислювала довжину кола для будь-яких радіусів і обчислювала, крім цього, площу кругу.

Приклад 3

#include <stdio.h>

/*Приклад 3.*/

/*Довжина кола та площа круга для будь-яких радіусів*/

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().

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]