Чи можу я ігнорувати попереджувальні повідомлення, що надходять від компілятора?
Серед програмістів поширена думка, що на попереджувальні повідомлення компілятора можна не звертати уваги, але я дотримуюся іншої думки. Візьміть за правило реагувати на попередження компілятора як на повідомлення про помилки. Компілятор C ++ генерує попереджувальні повідомлення в тих випадках, коли, на його думку, ви робите те, що не входить у ваші наміри. Уважно поставтеся до цього попередження і зробіть все, щоб вони зникли.
Що означає час компіляції?
Це час роботи вашого компілятора, на відміну від часу компонування (коли працює компонувальник) або часу виконання програми (коли виконується програма). Ці терміни придумали програмісти, щоб коротко позначити тимчасові періоди, протягом яких зазвичай і проявляються різні помилки.
У цьому розділі пропонуються питання для самоконтролю і зміцнення отриманих знань і наводиться кілька вправ, які допоможуть закріпити ваші практичні навички. Спробуйте самостійно відповісти на питання тесту і виконати завдання, а потім звірте отримані результати з відповідями в додатку Г. Не приступайте до вивчення матеріалу наступного розділу, якщо для вас залишилися неясними хоча б деякі із запропонованих нижче запитань.
1. У чому різниця між інтерпретатором і компілятором?
2. Як відбувається компіляція вихідного коду програми?
3. В чому полягає призначення компоновщика?
4. Яка звичайна послідовність дій в циклі розробки?
1: #include
У рядках 5-8 визначається функція DemonstrationFunction (). Вона виводить на екран повідомлення і повертає керування програмі.
Функція main () починається в рядку 13, і в рядку 15 виводиться на екран повідомлення, що повідомляє про те, що зараз управління програмою знаходиться в функції main (). Після виведення цього повідомлення в рядку 16 викликається функція DemonstrationFunction (). В результаті цього виклику виконуються команди, що містяться в функції DemonstrationFunction (). В даному випадку вся функція складається з однієї команди, що міститься в рядку 7, яка виводить ще одне повідомлення. По завершенні виконання функції DemonstrationFunction () (рядок 8) управління програмою повертається туди, звідки ця функція була викликана. В даному випадку виконання програми триває з рядка 17, у якій функція main () виводить на екран заключне повідомлення.
Функції повертають або деяке реальне значення, яке значення типу void, тобто нічого не повертають. Функцію, яка складає два цілих числа і повертає значення суми, слід визначити як повертає цілочисельне значення. Функції, яка тільки виводить повідомлення, повертати нічого, тому для неї задається тип повернення void.
Функції складаються з заголовка і тіла. Тема містить установки типу значення, що повертається, імені та параметрів функції. Параметри дозволяють передавати в функцію значення. Отже, якщо функція призначена для складання двох чисел, то ці числа необхідно передати в функцію як параметри. Ось як буде виглядати заголовок такої функції:
int Sum (int а, int b)
Тіло функції починається відкриває фігурною дужкою і містить ряд рядків (хоча тіло функції може бути навіть нульовим), за якими слід закриває фігурна дужка. Призначення функції визначається містяться в ній рядками програмного коду. Функція може повертати значення в програму за допомогою оператора повернення (return). Цей оператор також означає вихід з функції. Якщо не помістити в функцію оператор повернення, то по завершенні функції автоматично повертається значення типу void. Значення, що повертається функцією, повинно мати тип, оголошений в заголовку функції.
Примітка: Більш детально функції розглядаються на занятті 5; типи значень, що повертаються функціями, - на занятті 3. Інформація, представлена на цьому занятті, є хоча і оглядової, але цілком достатній для засвоєння наступного матеріалу, оскільки функції будуть використовуватися практично у всіх програмах, представлених в цій книзі.
У лістингу 2.5 демонструється функція, яка приймає два цілочисельних параметра і повертає цілочисельне значення. Не турбуйтеся поки щодо синтаксису або особливостей роботи з цілими значеннями (наприклад, int x): ця тема докладно розкривається на занятті 3.
Лістинг 2.5. Приклад використання простої функції (FUNC.CPP)
1: #include
2: int Add (int x, int у)
5: cout <<"In Add(), received " < In Add (), received 3 and 5 АНАЛІЗ: Функція Add () визначена в рядку 2. Вона приймає два цілочисельних параметра і повертає цілочисельне значення. Сама ж програма починається в рядку 9, виводячи на екран перше повідомлення. Потім користувачеві пропонується ввести два числа (рядки 13-15). Користувач вводить числа, розділяючи їх пропуском, а потім натискає, клавішу Управління програмою переходить до функції Add (), яка починається в рядку 2. Параметри а і b виводяться на екран, а потім складаються. Результат функції повертається в рядку 6, і на цьому функція завершує свою роботу. Складність вивчення такого предмета, як програмування, полягає в наступному: велика частина досліджуваного вами матеріалу багато в чому залежить від того, що вам ще тільки належить вивчити. На цьому занятті ви познайомилися з основними складовими частинами простої програми на мові C ++. Крім того, ви отримали уявлення про цикл розробки і дізналися кілька важливих термінів. Яку роль виконує директива #include? Це команда для препроцесора, який автоматично запускається при виклику компілятора. Дана директива служить для введення вмісту файлу, ім'я якого стоїть після директиви, в вихідний текст програми. У цьому розділі пропонуються питання для самоконтролю і зміцнення отриманих знань і наводиться кілька вправ, які допоможуть закріпити ваші практичні навички. Спробуйте самостійно відповісти на питання тесту і виконати завдання, а потім звірте отримані результати з відповідями в додатку Г. Не приступайте до вивчення матеріалу наступного розділу, якщо для вас залишилися неясними хоча б деякі із запропонованих нижче запитань. 1. У чому різниця між компілятором і препроцесором? 2. У чому полягає особливість функції main ()? 1. Напишіть програму, яка виводить на екран повідомлення I love C ++. 2. Напишіть найменшу програму, яку можна скомпілювати, скомпонувати і виконати. 3. Жучки: введіть цю програму і скомпілюйте її. Чому вона дає збій? Як її можна виправити? 1: #include 4: cout < 4. Виправте помилку у вправі 3, після чого Перекомпілюйте її, скомпонуйте і запустіть на виконання.Схожі статті