Язык Си в примерах/Простейшая программа «Hello World»: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Строка 31: Строка 31:
Слово <tt>void</tt> можно переводить как <tt>ничто</tt>. Далее открываются фигурные скобки и идёт описание этой функции, в конце фигурные скобки закрываются. Функция <tt>main</tt> &mdash; эта главная функция вашей программы, именно она начинает выполняться, когда ваша программа запускается.
Слово <tt>void</tt> можно переводить как <tt>ничто</tt>. Далее открываются фигурные скобки и идёт описание этой функции, в конце фигурные скобки закрываются. Функция <tt>main</tt> &mdash; эта главная функция вашей программы, именно она начинает выполняться, когда ваша программа запускается.


Между фигурных скобок находится ''тело функции'', в котором описана последовательность действий, производимых данной фнукцией &mdash; логика функции. Наша функция производит одно единственное действие:
Между фигурных скобок находится ''тело функции'', в котором описана последовательность действий, производимых данной функцией &mdash; логика функции. Наша функция производит одно единственное действие:
<source lang="c">
<source lang="c">
printf ("Hello, world!\n");
printf ("Hello, world!\n");

Версия от 15:36, 31 декабря 2007

Язык Си в примерах


  1. Компиляция программ
  2. Простейшая программа «Hello World»
  3. Учимся складывать
  4. Максимум
  5. Таблица умножения
  6. ASCII-коды символов
  7. Верхний регистр
  8. Скобочки
  9. Факториал
  10. Степень числа
  11. Треугольник Паскаля
  12. Корень уравнения
  13. Система счисления
  14. Сортировка
  15. Библиотека complex
  16. Сортировка на основе qsort
  17. RPN-калькулятор
  18. RPN-калькулятор на Bison
  19. Простая грамматика
  20. Задача «Расчёт сопротивления схемы»
  21. Простая реализация конечного автомата
  22. Использование аргументов командной строки
  23. Чтение и печать без использования stdio
  24. Декодирование звукозаписи в формате ADX
  25. Другие примеры

Здравствуй, мир!

Первая программа, которую мы рассмотрим, — это «Hello World» — программа, которая выведет на экран строчку «Hello, World!» и закончит своё выполнение.

 #include <stdio.h>
 int main (void) {
     printf ("Hello, World!\n");
     return 0;
 }

Посмотрим на неё внимательно. Первая строчка

 #include <stdio.h>

означает «включи файл stdio.h». В этом файле определяются функции, связанные с вводом и выводом данных.

Аббревиатура STDIO означает «STanDard Input/Output Library». Буква «h» после точки означает «header», то есть заголовочный файл. В заголовочных файлах описано, какие функции предоставляет соответствующая им библиотека[1].

Далее идёт функция main. Она начинается с объявления

 int main(void)

что значит: «функция с именем main, которая возвращает целое число (число типа int от англ. integer number) и у которой нет аргументов (void)»

Слово void можно переводить как ничто. Далее открываются фигурные скобки и идёт описание этой функции, в конце фигурные скобки закрываются. Функция main — эта главная функция вашей программы, именно она начинает выполняться, когда ваша программа запускается.

Между фигурных скобок находится тело функции, в котором описана последовательность действий, производимых данной функцией — логика функции. Наша функция производит одно единственное действие:

 printf ("Hello, world!\n");

Это действие, в свою очередь, есть вызов функции printf из библиотеки stdio. В результате выполния этой функции, на экран печатается текст Hello, world!. Обратите внимание на комбинацию "\n" — она задаёт специальный символ, который в действительности является командой текстовому терминалу: «перейти на следующую строку». Таких специальных символов несколько, все они записываются с помощью символа \ (символ backslash) (см. Базовые понятия языка Си/Специальные символы, Язык Си в примерах/ASCII коды символов).

Затем идёт команда return 0;, которая завершает выполнение функции и возвращает значение 0. Функция main должна возвращать 0, если выполнение прошло успешно.

Примечания

  1. ^  В действительности, #include<...> есть директива препроцессора, то есть команда, которая выполняется до начала компиляции файла. Смысл этой директивы очень прост и заключается в том, чтобы на место, где указана эта директива, вставить содержимое файла, имя которого указано в угловых скобках. Обычно заголовочные файлы содержат только прототипы функций, то есть просто список функций с указанием аргументов и типа возвращаемого значения.