Главная > Уроки > Что такое комментарии и зачем они нужны?

Записывайся на этот курс на Stepike!

Что такое комментарии и зачем они нужны?

Пожалуйста, приостановите работу AdBlock на этом сайте.

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

Пример использования комментариев в программе

Рис.1. Пример использования комментария в программе. (Язык Fortran)

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

Вы спросите а зачем нужно отключать куски кода программы? Иногда это нужно для того, чтобы найти ошибку в программе или проверить как работают отдельные её части. Если просто удалить код, то потом его придётся писать заново, а так, закомментировал на время, а потом обратно раскомментировал, когда потребовалось. Когда вы начнёте писать более менее большие программы, тогда вы воочию убедитесь в пользе.

Комментарии пишутся программистами для других программистов, которые в будущем будут читать/изменять этот код. Но даже если вы пишите код сугубо в личных целях, то не рекомендую вам брезговать оставлять комментарии. По прошествию нескольких месяцев бывает очень трудно вспомнить, что же ты тут такое делал и почему именно так делал, а не иначе.

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

Листинг 9.

// Магия. Не трогать.

//Этот код отстой, и мы оба это знаем. 
//Так что двигайся дальше, а идиотом ты назовешь меня потом.

// Дорогой я_из_будущего! Пожалуйста, прости меня за этот код.

// Если я еще раз увижу такое, мне придется начать носить на работу оружие.

/* Если это условие когда-нибудь выполнится, пожалуйста, 
 сообщите мне по тел. ххх-ххх-ххх за вознаграждение. */

// пьян, исправить позже

// Когда я начинал это писать, только Бог и я понимали, что я делаю
// Сейчас остался только Бог

Так и не очень:

Листинг 10.

//Пожалуйста, работай

// Я не несу ответственности за этот код.
// Они меня заставили написать его против моей воли.

/*
Если вы читаете эти строки, значит вам поручили мой предыдущий проект.
Я очень, очень сочувствую вам. Удачи.
*/

Расскажи друзьям!
Или поддержи проект.

Практика

  1. Откройте программу "Hello, World". Попробуйте закомментировать строчку printf("Hello, World!\n"); Как вы думаете, как изменится работа программы? Проверьте свое предположение, скомпилировав и запустив эту программу.
  2. Закомментируйте в следующей программе некоторые строки так, чтобы на экране появился следующий текст:
  3. Wake up, Neo...

    The Matrix has you...

    Follow the white rabbit...

    Программа для изменения

    #include <stdio.h>
    int main (void){
      while (1 > 0) {
        printf("Wake up, Neo...\n\n");
      }
      
      if (0 > 1){	
        printf("The Matrix has you...\n\n");
      }
    
      printf("Follow the white rabbit...\n");  
      return 0;
    }

    Не бойтесь новый непонятных команд! С ними мы ещё разберёмся. =) Программистам часто приходится работать с кодом, в котором они не всё до конца понимают.

  4. Удалите из следующей программы комментарии, которые комментируют код а не поясняют его, и запустите полученную программу.
  5. Программа

    #include <stdio.h>
    #include <locale.h> //библиотека с локализацией, чтобы были доступны русские буквы
    int main(void) {
      setlocale(LC_ALL, ""); //подключаем локализацию
    //  char str1[]= "Поздравляю! Вы справились с задачей!";
    //  for (int i=0; i<37; i++)
    //	printf("%c",str1[i]);
      
      printf("\n");
      return 0;
    }

Дополнительные материалы

Оставить комментарий

Чтобы код красиво отображался на странице заключайте его в теги [code] здесь писать код [/code]

Комментарии

Лёха
Можно, конечно, шутить по поводу комментариев, но всё же за многие годы выработаны определенные рекомендации по их написанию. Например, имхо, очень ёмко они описаны на сайте learncpp.com:

* At the library, program, or function level, use comments to describe WHAT.

* Inside the library, program, or function, use comments to describe HOW.

* At the statement level, use comments to describe WHY.

https://www.learncpp.com/cpp-tutorial/comments/
В моём вольном переводе это будет выглядеть так:
* На уровне библиотек, программ и функциий описывайте ЧТО (они делают)
* Внутри библиотек, программ и функций описывайте КАК (они это делают)
* На уровне команд, пользуйтесь комментариями чтобы описать ПОЧЕМУ (они это делают)
KaDeaT
Отличная ссылка. Спасибо за содержательный комментарий.)
pavel
https://ideone.com попробуй этот компилятор использовать, у меня все норм!
Игорь
Спасибо за интересный урок и ссылки.
KaDeaT
Пожалуйста! Приходите снова.
Art
Я только начал Си изучать и до этого урока все получалось, а тут не получилось, не могу понять почему ошибки выдает.
И с первым заданием не все гладко:Надпись в консоли только эта выскакивает Wake up, Neo...
и она же идет вниз, вниз,вниз, другие не появляются((
Может кто подскажет как решить эту задачку)
Art
Компилятором пользуюсь Code::Blocks 16.01!
Lola_lala
Исправьте в 4 предложении "врямя"
kirena00
А можно все-таки решение для 2ой задачи? С учетом того, что - по тексту урока - компилятор игнорирует любые комментарии, вообще не понятно, что надо сделать, чтобы прервать НЕ ОБЪЯСНЕННЫЙ цикл while с бесконечной фразой Wake up Neo и перейти к выполнению следующей функции.
Robertgrina
В наше время, кальян является не просто модным девайсом, но и средством приятного времяпровождения с компании друзей.

Однако для не опытного человека может возникнуть ряд трудностей при выборе как кальяна, так и табака, однако речь идет не только о разнообразии вкусов, но и крепости.

Подобрать табак самостоятельно, Вам поможет данная статья. Она подскажет какую крепость выбрать и как подобрать качественный товар.

В первую очередь, Вам нужно знать то, что все табачные смеси для забивания кальяна, изготовлены примерно из идентичных табачных листов.

<a href=https://hookah-magic.su/item/tabak-inferno-pryanik-200gr/>купить табак для самокруток в самаре</a>

В состав каждой смеси входят такие компоненты как :

1. глицерин

2. патока

3. мед или сахарный сироп

4. ароматизаторы

5. и самое главный компонент – табачный лист.

Именно различие последнего и самого важного компонента поможет Вам разобраться и ориентироваться в вариациях табака.

Всего в мире насчитывается около 60 вариантов табака, однако при производстве кальянной смеси используют только 4 вида:

1. Вирджиния голд – самый популярный вид табака. В то же время он является лучшим для людей, которые только начинают свое знакомство с кальяном. Данный табак не слишком крепкий и он имеет характерный сладковатый привкус, благодаря этим особенностям, при курении кальян будет легким, а смесь будет иметь более яркий и приятный вкус.

2. Ориентал – Данный табак подойдет людям, которые хотят меньшее содержание никотина. Данный табак используют для приготовления самых мягких кальянов.

3. Берли – данный табак не так популярен, как предыдущие и он так же реже встречается на прилавках магазина. Он не подойдет для новичка, однако для более опытных в самый раз. Этот табак имее
uyekhoh
http://mewkid.net/when-is-rabunya/ - Cialis Generic <a href="http://mewkid.net/when-is-rabunya/">Cialis</a> pcy.umjn.youngcoder.ru.izt.xu http://mewkid.net/when-is-rabunya/
Antoniobaj
Доброго времени суток господа! Предлагаем Вашему вниманию замечательный сайт для заказа бурения скважин на воду. Бурение скважин в Минске компанией ЕВРОБУРСЕРВИС – полный комплекс качественных и разумных по цене услуг. <a href=https://euroburservice.by/>скважина на воду</a>,<a href=https://euroburservice.by/>бурение скважин</a>, <a href=https://euroburservice.by/>скважина минск</a>,<a href=https://euroburservice.by/>скважина на воду цена</a>,<a href=https://euroburservice.by/>бурение скважин в минской области</a>,<a href=https://euroburservice.by/>ремонт скважин</a> и <a href=https://euroburservice.by/>бурение скважин минск</a>. Мы бурим любые виды скважин.У нас доступная ценовая политика, рассрочка на услуги и оборудование.Заказывайте скважину для воды в euroburservice – получите доступ к экологически чистой природной воде по самым выгодным в Минске ценам!
Увидимся!
http://banglagamer.com/member.php?256925-Patriotbon
http://bifabbs.com/home.php?mod=space&uid=409783
http://ziranov.ru/up3/index.php?subaction=userinfo&user=Antoniozkk
http://loudi.info/space-uid-23608.html
http://www.mo-valdivatskoe.ru/index/8-16800
Zelenajqx
Добрый день друзья<a href=https://belyjmost.by/>!</a>
Наша организация занимается свыше 10 лет продажей промышленных и фасадных красок в городе Минске.Основные направления и виды нашей деятельности:
1)<a href=https://belyjmost.by/>краска для фасадов </a>
2)<a href=https://belyjmost.by/>масло для дерева </a>
3)<a href=https://belyjmost.by/>интерьерные краски</a>
4)<a href=https://belyjmost.by/>пропитка для дерева </a>
5)<a href=https://belyjmost.by/>краски для окон </a>
Всегда рады помочь Вам! С уважением, BELYJMOST
https://www.riolis.com/board/profile.php?mode=viewprofile&u=189115
https://iaisite.ru/index/8-45251
http://hamsafon.tj/user/Zelenarbz/
http://bellevuestellenbosch.co.za/forum/profile.php?id=786273
http://www1.xuesheng360.cn/bbs/home.php?mod=space&uid=990411&do=index&view=Zelenazwx
Antoniofbs
Здравствуйте дамы и господа! Предлагаем Вашему вниманию замечательный сайт для заказа бурения скважин на воду. Заказывайте скважину для воды в ЕВРОБУРСЕРВИС – получите доступ к экологически чистой природной воде по самым выгодным в Минске ценам! Более подробная информация размещена тут https://drive.google.com/file/d/12UGUi1eb4vB_-VAklwchUhrlKM8233go/view?usp=sharing
Увидимся!
aqokiwog
http://mewkid.net/when-is-rabunya/ - Cialis <a href="http://mewkid.net/when-is-rabunya/">Cialis 20mg</a> ssq.habw.youngcoder.ru.zel.bi http://mewkid.net/when-is-rabunya/
ivadaanexk
http://mewkid.net/when-is-rabunya/ - Generic Cialis <a href="http://mewkid.net/when-is-rabunya/">Cialis 20mg</a> igl.ueyv.youngcoder.ru.lzg.hs http://mewkid.net/when-is-rabunya/
aapaniji
http://mewkid.net/when-is-rabunya/ - Cialis <a href="http://mewkid.net/when-is-rabunya/">Cialis 20 Mg</a> qoa.kxcj.youngcoder.ru.gye.ke http://mewkid.net/when-is-rabunya/
Pavlosmtt
Здравствуйте товарищи!
https://drive.google.com/file/d/1M6KESe6-2SPzKQijWyIrS7jND2KDnClq/view?usp=sharing
Предлагаем Вашему вниманию интересный сайт для заказа бурения скважин на воду.Основной деятельностью нашей компании является обеспечение клиента качественной питьевой водой в достаточном количестве. Компания «ПРОФИБУР» использует современный роторный способ бурения, его можно использовать на самых разных грунтах. Ждем Вас у нас в офисе.
Увидимся!
http://www.canadagridiron.com/index.php?action=profile;u=121
https://forum.blu-ray.com/member.php?u=651899
http://jedlykastan.cz/phpBB3/memberlist.php?mode=viewprofile&u=29307
http://v6.johnslone.org/user/Melenakml
http://kqxs88.com/xoso/profile.php?id=976241