Первая программа
Добро пожаловать на курс по C! C — один из старейших языков программирования, которыми до сих пор широко пользуются: он появился в начале 1970-х годов. Это небольшой язык, и написанные на нём программы работают очень быстро. Поэтому на нём написаны большие части операционных систем, таких как Linux и Windows, а также программы в микроконтроллерах — крошечных компьютерах внутри стиральных машин, автомобилей и игрушек. Из C вырос язык C++, а многие другие языки, например Java и JavaScript, позаимствовали у него немало элементов синтаксиса, так что изученное здесь пригодится вам и с ними.
На этом курсе вы научитесь писать программы, которые считают, принимают решения, повторяют работу и обрабатывают списки чисел и текст. Вы будете разбивать программы на части поменьше — функции, увидите, как C работает с памятью компьютера, а в конце напишете небольшой собственный проект. Но сначала — самая первая программа.
Программа — это последовательность инструкций: команд, которые компьютер выполняет одну за другой, сверху вниз. Правда, C компьютер напрямую не понимает. Сначала программу должен обработать компилятор: он проверяет, правильно ли она написана, и переводит её в команды, понятные компьютеру. На этом сайте компилятор называется Clang. Когда вы нажимаете Запустить, сайт сначала компилирует (переводит) вашу программу, а потом запускает её.
Вот целая программа, которая выводит приветствие:
#include <stdio.h>
int main(void) {
printf("Привет!\n");
return 0;
}Она выводит:
Привет!Что означают части программы:
#include <stdio.h>подключает к программе заголовочный файлstdio.h(от standard input/output — «стандартный ввод и вывод»). Он входит в стандартную библиотеку: набор готовых инструментов, который есть у каждого компилятора C. Этот файл приносит с собойprintf, а без этой строки компилятор не знал бы такой функции.int main(void) { }— главная часть программы, функцияmain. С неё программа начинается: она выполняет инструкции между фигурными скобками{и}сверху вниз. В каждой программе на C ровно однаmain. Что означаютintи(void), вы узнаете на уроке о функциях. Пока считайте это готовой рамкой, в которую вы вписываете свой код.printf("Привет!\n");выводит текст. Текст пишут в двойных кавычках", они показывают, где он начинается и где заканчивается. Программисты называют текст в кавычках строкой. Символы\nв его конце не выводятся: они завершают строку. Подробнее об этом — в следующем упражнении.return 0;завершаетmain, а с ней и всю программу. Значение0сообщает компьютеру, что программа закончилась нормально, без проблем.- Точка с запятой
;завершает инструкцию, как точка — предложение. Она есть у каждой инструкции внутриmain. Строки#include,int main(void) {и}инструкциями не являются, поэтому точки с запятой у них нет.
C различает заглавные и строчные буквы, поэтому Printf или PRINTF не сработают. Если допущена такая ошибка или пропущена точка с запятой, компилятор не запускает программу, а показывает красное сообщение об ошибке под выводом. Не переживайте: проверьте строку, исправьте её и запустите программу снова. Позже на этом уроке вы научитесь читать такие сообщения.
И ещё одно: программы на этом сайте умеют только писать в вывод. Они не могут читать то, что вы набираете на клавиатуре, поэтому всё, с чем они работают, записано прямо в программе.
Задание
- 1
В редакторе — программа из примера. Нажмите Запустить под редактором и посмотрите на вывод (на телефоне — под заголовком «Вывод»). Первый запуск может занять несколько секунд, пока загружается компилятор.
Затем измените текст в кавычках, чтобы программа выводила традиционное первое сообщение каждого программиста:
Hello, world!Символы
\nв конце текста оставьте. - 2
Под первым
printfдобавьте второй, который выводит ваше имя на следующей строке. Напишите его выше строкиreturn 0;, потому что на ней программа заканчивается, а инструкции ниже никогда не выполнятся. Не забудьте кавычки,\nи точку с запятой в конце.