// Welcome.cpp
#include <stdio.h>
main()
{
printf("Hello, world");
return 0;
}
Перший рядок наведеної програми (директива препроцесора #include) підключає заголовний файл stdio.h, що містить оголошення функцій і змінних для консольного введення/виведення. Ім’я модуля, що підключається, вказується в косих дужках (<> – заголовний файл перебуває в каталозі INCLUDE) або в лапках (“ “ – заголовний файл перебуває у поточному каталозі).
Далі наведено опис єдиної в прикладі функції main(). Треба відзначити, що будь-яка програма на С++ обов’язково містить у собі функцію main(), з якої й починає своє виконання. Тіло функції main() містить виклик функції printf() для виведення послідовності символів на консоль і оператор повернення з функції return.
1.1. Повідомлення про помилки
Існує дві категорії «скарг» компілятора:
Кожне повідомлення про помилку містить ім’я файлу (що більше важливо для багатофайлових програм), номер рядка й коротке пояснення.
Неправильний варіант:
// Bad.cpp
#include <stdio.h)
main{}
(
printf("Problems, problemsn");
printf("Problems all day long!n");
printf("The Everly Brothersn")
)
Правильний варіант:
// Bad.cpp
#include <stdio.h>
main()
{
printf("Problems, problemsn");
printf("Problems all day long!n");
printf("The Everly Brothersn");
}
1.2. Заголовні файли
Такі директиви, як #include <stdio.h>, вказують компіляторові на читання файлу stdio.h, начебто замість директиви записані його рядки.
// Файл Mystaff.inc
printf("Inside Mystaff.incn");
// Файл Includes.cpp
#include<stdio.h>
main()
{
#include "Mystuff.inc"
printf("Inside Includes.cppn");
return 0;
}
Перший рядок підключає заголовний файл stdio.h звичайним чином. Рядок #include "Mystuff.inc" підключає заголовний файл Mystuff.inc, що змушує компілятор прочитати єдиний виклик функції printf() з лістинга Mystuff.inc і включити його у функцію main(). При виконанні цієї програми ви побачите два рядки:
Inside Mystaff.inc
Inside Includes.cpp
які доводять, що були скомпільовані обидва виклики функції printf().
2. Коментарі
У програмах, написаних мовою програмування С++, використовуються два різновиди коментарів:
/* */ – багаторядковий, запозичений з мови С;
// – однорядковий.
3. Змінні й типи даних
На відміну від локальних змінних, оголошених усередині функції main(), глобальні змінні попередньо ініціалізуються нульовими значеннями.
// Default.cpp
#include <stdio.h>
int global = 100;
int globalDefault;
main()
{
int local = 200;
int localDefault;
printf("global = %dn", global);
printf("local = %dn", local);
printf("globalDefault = %dn", globalDefault);
printf("localDefault = %dn", localDefault);
return 0;
}
Змінним global і local надаються початкові значення, а змінним globalDefault та localDefault – ні. При виконанні цієї програми тільки змінній globalDefault буде гарантована рівність нулю.