C (Си): Привет, Мир!
Первая программа
В этом уроке мы напишем первую программу на C и сразу пройдем полный цикл: код -> компиляция -> запуск.
Классический старт — Hello, World!.
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}Что здесь происходит
#include <stdio.h>подключает стандартную библиотеку ввода-вывода, чтобы мы могли использоватьprintf().main()— точка входа в программу. Выполнение начинается именно с этой функции.printf("Hello, World!\n");выводит текст в консоль.return 0;означает, что программа завершилась успешно.
Синтаксис
- Текстовые значения записываются в двойных кавычках.
- Инструкции внутри функции заканчиваются точкой с запятой.
- Фигурные скобки
{}задают тело функции.
Компиляция и запуск
Теперь скомпилируем программу. Исходный файл, например, называется hello.c.
gcc hello.cПосле компиляции обычно появляется исполняемый файл a.out. Запустим его:
./a.outОжидаемый результат:
Hello, World!Итоги
- В C программу сначала пишут в исходном файле.
- Затем код компилируют в исполняемый файл.
- После этого программу запускают из терминала.
Задание
Напишите программу, выводящую на экран фразу Hello, World!.
Внимание: если вы напишете heLLo, woRld! вместо Hello, World!, то это будет считаться другим текстом, потому что заглавные и строчные буквы — это разные символы. Размер буквы называют регистром, и говорят: регистр — важен! Это касается почти всего в коде, поэтому привыкайте всегда обращать внимание на регистр.
Полезное
C (Си): Привет, Мир!
Первая программа
В этом уроке мы напишем первую программу на C и сразу пройдем полный цикл: код -> компиляция -> запуск.
Классический старт — Hello, World!.
#include <stdio.h>
int main(void)
{
printf("Hello, World!\n");
return 0;
}Что здесь происходит
#include <stdio.h>подключает стандартную библиотеку ввода-вывода, чтобы мы могли использоватьprintf().main()— точка входа в программу. Выполнение начинается именно с этой функции.printf("Hello, World!\n");выводит текст в консоль.return 0;означает, что программа завершилась успешно.
Синтаксис
- Текстовые значения записываются в двойных кавычках.
- Инструкции внутри функции заканчиваются точкой с запятой.
- Фигурные скобки
{}задают тело функции.
Компиляция и запуск
Теперь скомпилируем программу. Исходный файл, например, называется hello.c.
gcc hello.cПосле компиляции обычно появляется исполняемый файл a.out. Запустим его:
./a.outОжидаемый результат:
Hello, World!Итоги
- В C программу сначала пишут в исходном файле.
- Затем код компилируют в исполняемый файл.
- После этого программу запускают из терминала.
Задание
Напишите программу, выводящую на экран фразу Hello, World!.
Внимание: если вы напишете heLLo, woRld! вместо Hello, World!, то это будет считаться другим текстом, потому что заглавные и строчные буквы — это разные символы. Размер буквы называют регистром, и говорят: регистр — важен! Это касается почти всего в коде, поэтому привыкайте всегда обращать внимание на регистр.
Полезное
Ваше упражнение проверяется по этим тестам
#include "greatest.h"
#include <unistd.h>
#include "main.c"
TEST test_base(void) {
int stdout_bk = dup(fileno(stdout));
int pipefd[2];
pipe(pipefd);
dup2(pipefd[1], fileno(stdout));
hello();
fflush(stdout);
close(pipefd[1]);
dup2(stdout_bk, fileno(stdout));
int buf_size = 10240;
char actual[buf_size];
read(pipefd[0], actual, buf_size);
ASSERT_STR_EQ("Hello, World!", actual);
memset(actual, 0, buf_size);
PASS();
}
GREATEST_MAIN_DEFS();
int main(int argc, char **argv) {
GREATEST_MAIN_BEGIN();
RUN_TEST(test_base);
GREATEST_MAIN_END();
}Решение учителя откроется через:
20:00
