Это самый простой из известных мне способов написать программу на 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, мы сделали это! 💃
Надеюсь, это намного яснее, иначе я оставил вам еще больше вопросов. Холла в комментариях ниже. 😄