Skip to content

Commit ad46d34

Browse files
committed
Поправил разметку в 3.2
1 parent 44a5e26 commit ad46d34

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"title": "Взаимодействие программ с внешним миром",
3-
"description": "Как программы взаимодействуют с внешними миром? На этот вопрос мы отвечаем в этом уроке.",
3+
"description": "Как программы взаимодействуют с внешними миром? Обсуждаем возможные каналы для входных и выходных данных.",
44
"keywords": "программы и данные, откуда программы получают данные, ввод данных в программу, вывод данных из программы",
55
"canonical_link": "https://youngcoder.ru/lessons/3/vzaimodeistvie_programm"
66
}
Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
# Как устроен ввод и вывод в языке Си. Потоки ввода и вывода
22

3-
Возвращаемся к основной теме урока вводу и выводу данных. Разберёмся как он устроен. Когда мы подключаем к своей программе заголовочный файл `stdio.h` мы определяем для своей программы два стандартных потока: `стандартный поток ввода(stdin)` и `стандартный поток вывода(stdout)`.
3+
Возвращаемся к основной теме урока -- вводу и выводу данных. Разберёмся как он устроен в Си.
44

5-
Чтобы это лучше понять, можно представлять их себе просто как последовательность символов. Следующая картинка иллюстрирует, как это работает.
5+
Помните в программе "Hello, World!" мы подключили заголовочный файл `stdio.h`, чтобы пользоваться стандартной функцией `printf()`? Так вот, кроме этой функции в файле есть множество других для ввода и вывода данных и других штук. Но нас сейчас интересуют не все эти функции, а стандартные потоки ввода и вывода, которые там тоже определены: ==стандартный поток ввода== -- `stdin` и =стандартный поток вывода= -- `stdout`.
6+
7+
Что ещё за потоки? Чтобы лучше это понять, думайте о них, как о последовательности символов.
8+
Следующая картинка иллюстрирует работу потоков:
69

710
![Схема работы потоков ввода и вывода](./streams.png)
811

9-
Стандартный поток ввода называется `stdin` и обычно связан с клавиатурой, а стандартный поток вывода `stdout` -- с экраном. Я говорю обычно, потому что имеется возможность перенаправить эти потоки, т.е. сделать так, чтобы данные выводились не на экран, а в какой-то файл или забирать данные не с клавиатуры, а из файла.
12+
Стандартный поток ввода называется `stdin` (от standard input) и обычно связан с клавиатурой, а стандартный поток вывода `stdout` (standard output) -- с экраном терминала(консоли). Я говорю обычно, потому что есть возможность перенаправить эти потоки, т.е. сделать так, чтобы данные выводились не на экран, а в какой-нибудь файл или получать данные не с клавиатуры, а из файла.
13+
14+
По сути наша программа работает именно с этими потоками и не особо обращает внимание с чем конкретно они связаны (файл, экран терминала, клавиатура). Для неё главное понимать, что данные приходят из потока ввода, а отправлять их надо в поток вывода.
1015

11-
По сути наша программа работает именно с этими потоками и не особо обращает внимание с чем конкретно они связаны. Если вспомнить программу из первого урока мы по сути отправляли строку в поток вывода, которая была связана с экраном и поэтому наша надпись появлялась на мониторе.
16+
Т.е. когда мы в программе "Hello, World!" вызывали функцию `printf("Hello, World!\n")`, то более точно было бы сказать, что функция отправила эту строку не на экран консоли, а в стандартный поток вывода, который связан с экраном консоли и поэтому строка появлялась на экране.
1217

13-
![Пример работы потока вывода](./stdout1.png)
18+
![Пример работы потока вывода](./stdout1.png)
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +0,0 @@
1-
## Практика
2-
3-
- заданий нет
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
## Дополнительные материалы
22

3-
1. пока нет
3+
1. Кроме стандартных потоков ввода и вывода в заголовочном файле `stdio.h` определён ещё `stderr` -- =стандартный поток ошибок=. Его используют для вывода сообщений об ошибках и различных диагностических сообщений. У него есть свои особенности, которых мы не будет касаться, т.к. не будем использовать `stderr`.

0 commit comments

Comments
 (0)