Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом версія 1.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
361.22 Кб
Скачать

1.3 Програма "Hello, World!"

Ця проста програма, яка з'явилася в першому виданні книги " Мова програмування Сі "Керніган та Рітчі, зазвичай є першою програмою більшості підручників Сі. Вона друкує повідомлення "Hello, World!" на стандартному пристрої виведення (яким, як правило, є монітор (дисплей), але може бути і файл, якесь пристрій або область в пам'яті, в залежності від того, як відображається стандартний пристрій виводу на даній платформі).

main ( ) { printf ( "Hello, World! \ N " ) ; }

Незважаючи на те, що на більшості сучасних компіляторів ця програма може бути скомпільована, вона породжує кілька попереджень на компіляторах стандарту ANSI C. Крім того, цей код не буде компілюватися, якщо компілятор слід стандарту C99, так як в цьому випадку тип int більше не мається на увазі для випадків, коли тип в результаті функції не вказано (а оформлення функції main взагалі описано окремо). Ці повідомлення можна прибрати, якщо внести в цю програму кілька невеликих змін:

# Include int main ( void ) { printf ( "Hello, World! \ N " ) ; return 0 ; }

У першому рядку програми розташована директива препроцесора # include, зустрівши яку, компілятор замінює її на повний текст файлу, на який вона посилається. В даному випадку цей рядок буде замінена стандартним заголовні файлом stdio.h. Кутові дужки вказують компілятору шукати файл stdio.h в каталозі стандартних заголовків файлів.

Наступний рядок є оголошенням функції з ім'ям main. Ця функція в програмі Сі є особливою, так як виконується першою з написаних програмістом при запуску програми. Слово int каже, що функція main повертає ціле число. Фігурні дужки після функції main позначають її визначення.

Наступний рядок "викликає" функцію printf. Включається заголовний файл stdio.h містить інформацію, що описує те, як потрібно викликати цю функцію. У даному прикладі цієї функції передається єдиний аргумент, що містить текстову рядок "Hello, World! \ N". Послідовність \ n транслюється в символ "новий рядок", який при відображенні відповідно позначає розрив рядка. Функція printf повертає значення типу int, яке повертає число надрукованих символів (у цьому прикладі повертається значення ігнорується).

Вираз return змушує програму припинити виконання функції (main в цьому випадку), повертаючи викликала функції значення, вказане після ключового словаreturn (тут 0). Так як поточна функція - це main, то викликають є код, який і запустив програму. Остання фігурна дужка позначає кінець визначення функціїmain. За стандартом C99, return 0 в main не обов'язково (відсутність return в main означає return 0;).

1.4 Коментарі і типи даних

Текст, укладений у службові символи / * і * / (у цьому порядку), повністю ігнорується компілятором. Вкладення коментарів не допускається. Компілятори, сумісні зі стандартом C99, також дозволяють використовувати коментарі, що починаються з символів / / і закінчуються перекладом рядка

Система типів в Сі подібна типам в інших нащадках Алгол, таких, як Паскаль. У Сі є типи цілих чисел різних розмірів ( short int, long int), зі знаком (signed) і без ( unsigned), чисел з плаваючою комою ( float, double), символів, що перераховуються типів (enum) і записів-структур (struct). Крім того, мова Сі пропонує тип об'єднання (union), за допомогою якого можна або зберігати в одному місці пам'яті різнорідні дані, не пересічні по часу існування (це дозволяє економити пам'ять), або звертатися до вмісту ділянки пам'яті, як до даних різних типів (що дозволяє змінювати тип-інтерпретацію даних , не міняючи самі дані).

У мові можливо перетворення типів, але воно не завжди відбувається автоматично. Тільки різні типи числових даних повністю сумісні один з одним. При такому перетворенні компілятор може видати тільки попередження. Щоб повністю убезпечити себе від помилок такого роду, можна використовувати програму lint.