Skip to content

Commit 055e518

Browse files
committed
Поправил форматирование в 2.5 плюс добавил дополнительные задачи
1 parent 0f13ef7 commit 055e518

File tree

3 files changed

+34
-20
lines changed

3 files changed

+34
-20
lines changed

lang_c/2/4__kommentarii_v_c/article.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
11
# Что такое комментарии и зачем они нужны?
22

3-
Возможно вы заметили, что в листингах из примеров встречается не только код программ, но и мои пояснения написанные после `//`. Это комментарии. Они предназначены для того, чтобы пояснять какую-нибудь сложную и непонятную часть вашей программы. Кроме того, иногда их используют, чтобы на время отключить какую-то часть кода. Это возможно потому, что всё, что записано в комментарии, компилятор игнорирует. Если быть точнее то к тому времени, как компилятор начнёт обрабатывать код программы все комментарии будут уже удалены. Поэтому туда можно писать всё что угодно.
3+
Возможно вы заметили, что в листингах из примеров встречается не только код программ, но и мои пояснения написанные после `//`. Это =комментарии=.
44

5-
![Пример использования комментариев в программе](./comment.png)
5+
Комментарии предназначены для того, чтобы пояснять какую-нибудь сложную часть вашей программы или какой-нибудь неочевидный трюк. Кроме того, иногда их используют, чтобы на время отключить какую-то часть кода. Это возможно потому, что всё, что записано в комментарии, компилятор игнорирует. Если быть точнее процесс перевода программы с языка программирования на язык, понятный компьютеру, состоит из нескольких этапов. На одном из ранних этапов все комментарии из программы удаляются. Поэтому в комментариях можно писать всё что угодно, они никак не повлияют на итоговую программу.
66

7-
Пример использования комментария в программе. (Язык Fortran)
7+
![Пример использования комментариев в программе](./comment.png "Пример объёмного комментария в программе для численного решения дифференциальных уравнений. Язык программирования: Fortran")
88

9-
В языке Си есть два вида комментариев. Первый вид тот, который я использую в коде. Такой комментарий называют `однострочным`. Он действует с того момента как появился и до конца текущей строки. Есть ещё и `многострочный комментарий`. Начало такого комментария обозначается последовательностью `/*`, а конец -- `*/`. Всё, что будет записано между этими двумя последовательностями символов не будет восприниматься компилятором. Обычно многострочные комментарии используют для описания больших кусков кода, очень сложных для понимания функций, для указания авторства, для исключения большого куска кода из программы и т.д.
9+
В языке Си есть два вида комментариев. Первый вид тот, который я использую в коде. Такой комментарий называют =однострочным комментарием=. Он действует с того момента как появился и до конца текущей строки.
1010

11-
Вы спросите, а зачем нужно отключать куски кода программы? Иногда это нужно для того, чтобы найти ошибку в программе или проверить как работают отдельные её части. Если просто удалить код, то потом его придётся писать заново, а так, закомментировал на время, а потом обратно раскомментировал, когда потребовалось. Когда вы начнёте писать более менее большие программы, тогда вы воочию убедитесь в пользе.
11+
Ещё есть =многострочный комментарий=. Начало такого комментария обозначается последовательностью `/*`, а конец -- `*/`. Всё, что будет записано между этими двумя последовательностями символов, будет проигнорировано компилятором. Обычно многострочные комментарии используют для описания больших кусков кода, очень сложных для понимания функций, документирования кода, указания авторства, указания на возможные проблемы в коде, исключения большого куска кода из программы и т.д.
1212

13-
Комментарии пишутся программистами для других программистов, которые в будущем будут читать/изменять этот код. Но даже если вы пишите код сугубо в личных целях, то не рекомендую вам брезговать оставлять комментарии. По прошествию нескольких месяцев бывает очень трудно вспомнить, что же ты тут такое делал и почему именно так делал, а не иначе.
13+
Вы спросите, а зачем нужно отключать куски кода программы? Иногда это нужно для того, чтобы найти ошибку в программе или проверить как работают отдельные её части. Если просто удалить код (или вырезать в буфер обмена), то потом его придётся писать заново, а так, закомментировал на время, а потом обратно раскомментировал, когда потребовалось. Когда вы начнёте писать более-менее большие программы, тогда вы воочию убедитесь в пользе этого подхода.
14+
15+
Комментарии пишут программисты для программистов, которые в будущем будут читать/изменять этот код. Но даже если вы пишите код сугубо в личных целях, то не рекомендую вам брезговать оставлять комментарии. По прошествию нескольких месяцев бывает очень трудно вспомнить, что же ты тут такое делал и почему именно так делал, а не иначе.
1416

1517
Комментарии в коде могут быть как очень смешными:
1618

17-
Листинг 9.
19+
Листинг 1.
1820
```c
1921
// Магия. Не трогать.
2022

@@ -35,7 +37,7 @@
3537
```
3638
Так и не очень:
3739

38-
Листинг 10.
40+
Листинг 2.
3941
```c
4042
//Пожалуйста, работай
4143

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
## Практика
22

3-
- Откройте программу "Hello, World". Попробуйте закомментировать строчку `printf("Hello, World!\n");` Как вы думаете, как изменится работа программы? Проверьте своё предположение, скомпилировав и запустив эту программу.
3+
- Откройте программу "Hello, World". Попробуйте закомментировать строку `printf("Hello, World!\n");`
4+
Как вы думаете, как изменится работа программы? Проверьте своё предположение, скомпилировав и запустив получившуюся программу.
45

5-
- Закомментируйте в следующей программе некоторые строки так, чтобы на экране появился следующий текст:
6+
- Попробуйте добавить комментарий внутрь строки `"Hello, World!\n"`? Как думаете, сработает ли комментарий внутри строки? Проверьте своё предположение.
7+
8+
- Закомментируйте в программе ниже часть строк так, чтобы на экране появился текст:
69

710
```c
811
Wake up, Neo...
@@ -15,18 +18,25 @@ Follow the white rabbit...
1518
Программа для изменения
1619
```c
1720
#include <stdio.h>
18-
int main (void){
19-
while (1 > 0) {
20-
printf("Wake up, Neo...\n\n");
21-
}
2221

23-
if (0 > 1){
24-
printf("The Matrix has you...\n\n");
25-
}
22+
int main (void) {
23+
while (1 > 0) {
24+
printf("Wake up, Neo...\n\n");
25+
}
26+
27+
if (0 > 1) {
28+
printf("The Matrix has you...\n\n");
29+
}
2630

27-
printf("Follow the white rabbit...\n");
28-
return 0;
31+
printf("Follow the white rabbit...\n");
32+
33+
return 0;
2934
}
3035
```
3136
32-
Не бойтесь неизвестных команд! С ними мы ещё разберёмся. =) Программистам часто приходится работать с кодом, в котором они не всё до конца понимают.
37+
Не бойтесь неизвестных инструкция языка программирования Си! С ними мы ещё разберёмся. =) Программистам часто приходится работать с кодом, в котором они не всё до конца понимают.
38+
39+
### Исследовательские задачи для хакеров
40+
41+
- Самостоятельно изучите возможность писать вложенные комментарии.
42+
Попробуйте внутри многострочного комментария использовать однострочный или многострочный комментарий. И наоборот, попробуйте внутри однострочного комментария вставить многострочный комментарий.

lang_c/2/4__kommentarii_v_c/reference.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
1. Подборки смешных и не очень комментариев: [раз](https://skillbox.ru/media/code/zabavnye-kommentarii-v-kode/), [два](https://udaffa.net/archives/4322) Увидели смешной комментарий? Напишите его в комменты.
44

55
2. Немного о том, [как и для чего \[не\]нужно писать комментарии](https://habrahabr.ru/post/207390/)
6+
7+
3. В ранних стандартах языка Си (до С99) были только многострочные комментарии

0 commit comments

Comments
 (0)