Это самый простой из известных мне способов написать программу на C, выводящую «Hello World!»:

Но что все это значит? Что такое #include? Что значит <stdio.h>? Что такое int?

Или как однажды сказал один известный член моей семьи:

«Почему бы просто не ввести "Hello World!" в блокнот?».

В этой статье я сделаю все возможное, чтобы объяснить, и, надеюсь, вы получите здоровую признательность за C как язык.

#include ‹stdio.h›

Мы перейдем к «#» позже, но оператор «include» указывает компилятору импортировать некоторый код в эту строку.

Этот код для импорта находится в файле с именем «stdio.h», который является файлом заголовка. STDIO означает стандартный ввод / вывод, и это связано с тем, что файл содержит код, который позволяет выполнять такие операции, как чтение ввода с клавиатуры и запись вывода на экран.

Перед «include» ставится «#», чтобы сообщить компилятору о необходимости предварительной обработки этой строки до начала фактической компиляции. Для “#include <stdio.h>” это означает, что компилятор заменяет эту строку всем текстом в файле stdio.h.

Ах да, есть файл stdio.h, и вы можете увидеть его здесь.

Функции

Прежде чем мы обсудим «int main ()», я хотел бы объяснить, что это за функции. Если вы уже знаете, можете перейти к следующему разделу этой статьи.

Все в программе - это инструкция, если только это не комментарий. Иногда вам нужно объединить группу инструкций и дать им общее название, например, как сказать ребенку пойти в школу можно перевести как:

  • Надень школьную форму
  • Покинуть дом
  • Сесть в школьный автобус (возможно)
  • Подождите, пока приедет автобус в школу.

Намного легче говорить «иди в школу» каждый день, чем повторять все четыре (4) приведенных выше инструкций.

Общие имена для блока инструкций в программировании называются функциями. Иногда они имеют другие имена, например «процедуры» и «методы», но при написании C мы будем называть их функциями.

int main ()

Объявление функции (описание) в C состоит из таких частей, как:

  • Имя. Имя функции - это дескриптор, по которому на нее ссылаются. В int main () мы описываем функцию под названием «main». Для нашей команды «пойти в школу» у нас может быть функция под названием «goToSchool».
  • Тип возврата: когда вы даете команду, вы ожидаете обратной связи. Это было успешно? Этот ребенок ходил в школу? Эта обратная связь может поступать по-разному… это может быть просто «верно» или «ложно», указывающее на то, что «иди в школу» команда была выполнена успешно, или «дата / время», указывающее, что ребенок прибыл в школу.
    Наша «основная» функция в C возвращает целое число, которое является число без десятичной точки, например 0, 1 или 178.
  • Аргументы. Что, если бы вы хотели сказать этому ребенку «иди в школу» через 5 минут, а не сейчас? «через 5 минут» становится модификатором для функции «в школу», и ребенок знает, что нужно подождать 5 минут, прежде чем уйти в школу. Эти модификаторы известны как аргументы в C. Они помещаются в скобки после имени функции. В нашей программе hello-world наша функция main () не имеет аргументов.
  • Тело: тело функции содержит все инструкции, которые она представляет. Он заключен в открывающую скобку «{« и закрывающую скобку «}».

Функция «main» - это точка входа в вашу программу. Это первая функция, которая вызывается при выполнении вашей программы.

printf («Привет, мир!»);

Здесь мы выполняем (или вызываем) функцию под названием «printf», которая отображает текст на устройстве вывода, например на экране. Он принимает текст или массив символов в качестве первого аргумента, который является «Hello World!».

Примечание. Все операторы в теле функции заканчиваются точкой с запятой.

возврат 0;

Помните Return-Type как часть объявления функции? Функция main в C возвращает целое число.

Это делается для того, чтобы другая программа могла знать, успешна ли программа, которую мы пишем, или нет. Да, программы могут «разговаривать» друг с другом.

Успешная программа вернется или ответит 0. Любой другой ответ означает, что произошла ошибка. См. Подробнее Коды статуса выхода.

Yaaay, мы сделали это! 💃

Надеюсь, это намного яснее, иначе я оставил вам еще больше вопросов. Холла в комментариях ниже. 😄