Full transcript
0:00+ 1 друзья мы продолжаем изучать язык
0:02программирования си плюс плюс
0:04и прежде чем мы перейдем к следующей
0:06теме мы посмотрим каким образом нужно
0:11было выполнять домашнее задание которое
0:14было в прошлом уроке и так остановились
0:18мы на том что у нас выводилось
0:20в консоль сообщения привет точнее мы
0:23хотели бы чтобы она водилась но вместо
0:25этого мы получили непонятные кракозябры
0:29на самом деле это не кракозябры
0:30символы но об этом и еще немного позже
0:33домашним заданием
0:35вашим было сделать так чтобы наша
0:38консоль понимала что мы хотим вывести
0:42символы русского алфавита ну что ж если
0:46у вас ничего не получилось ничего
0:48страшного мы сейчас с вами это сделаем
0:51итак вам нужно ввести вот такую вот
0:58штуковину
1:00set a la calle на самом деле это функция
1:06новая тема функций у нас будет
1:08немножечко позже она кстати очень
1:09интересно и может стать
1:12основополагающего всяком случае для
1:13процедурного программирования и так
1:15собственно вот наша функция сет локали
1:17которая принимает 2 параметра пока мы не
1:20будем разбираться что такое параметры вы
1:21просто повторяете за мной и у вас все
1:24заработает как надо и так пишем со
1:27злаками открываем круглые скобки и
1:29внутри пишем lc пол потом ставим запятую
1:34открываем закрываем кавычки и пишем rus
1:38и в конце не забываем заказе куклу
1:41скобочку и поставить точку с запятой
1:43после проделанных манипуляций если мы
1:47вызовем
1:49нашу программку запустим ее то у нас в
1:52нашей консоли будет отображаться все как
1:54и нужно мы видим наше слово привет то
1:57есть у нас получилось то что мы и хотели
2:01теперь собственно мы можем идти дальше и
2:04сегодня мы поговорим об общей структуре
2:06программы и порядке выполнения кода и
2:08вот здесь нам как раз и пригодится вот
2:11это наша функция сад локаль и вывод в
2:14консоль слово привет итак некоторые вещи
2:17которые сейчас буду рассказывать не
2:18совсем подробный но недостаточны для
2:21того чтобы вы четко понимали что
2:24происходит в программе вас сложилась
2:25общая картина что к чему и как чего
2:27происходит итак сначала о том как именно
2:32компилятора выполняет код который мы
2:35написали и так если вы помните из
2:37прошлого урока то этом говорил что вот
2:40это вот функция main который в скобочках
2:43которых которой мы пишем сейчас наш код
2:46она является точкой входа
2:48входа в систему и так после того как
2:50наша программа запускается оно идет
2:55очень не сама программа идет о
2:57компилятор формирует и выполняет код
3:00таким образом что он идет по порядку
3:02построчно и здесь важно то в каком
3:08порядке мы размещаем наш код и когда что
3:11пишем допустим чтобы вы понимали как это
3:17работает если мы вот эту нашу функцию
3:20сад локаль которая отвечает за то чтобы
3:23в консоли нормально выводился нормаль
3:27выводили символы русского алфавита
3:29вызовем после того как выведем на
3:33консоль
3:34слово привет то у нас ничего не
3:36получится мы видим те самые как озера
3:41который у нас были до этого если же мы
3:43вернем ее до вывода слово привет в
3:46консоль то она отработает где сделать
3:50соответствующие настройки для вывода
3:52корректных для корректно вывода этих
3:53символов и слово привет и у нас
3:57отобразится
3:58для того чтобы было более понятно
4:00сделаем так вот эту функцию мы напишем
4:04после того как первый раз выводим слово
4:07привет а после того как у нас вызывается
4:09функция ответственная за корректное
4:11отображение русских символов z локаль мы
4:14вызываем вывод на экран нашего слово
4:18привет ещё раз и смотрите что получается
4:22итак первый раз у нас вы велик вывелись
4:25кракозябры далее отработала функций сад
4:28локальность строила нашу программу на
4:30корректное отображение русских символов
4:31и далее мы опять вызываем то же самое
4:34строчку кода оно идентично вот это
4:37сейчас мы немножко подправим чтобы
4:40расставить даже символы и пробел
4:43идентична такой вот в розовой то же
4:47самую функцию которая у нас на седьмой
4:48строке еще раз на 11 строке но теперь
4:52она выводит символы свой корректно
4:54потому что перед ней уже
4:56выполнилась функция сарлакка ли которая
4:59дала нам возможность корректного водить
5:01русские символы и так еще раз чтобы было
5:04понятно
5:04программа выполняется построчно вот
5:07здесь у нас есть нумерации строк так оно
5:09выполняется сначала вот эта строка а
5:11потом следующая строка потом следующие
5:13да кстати если здесь таки ничего не
5:16написано the compiler просто игнорирует
5:18эту строку для него это все равно что
5:20вот так просто сейчас я поставил здесь
5:25пробелы между текстом
5:27чтобы было более наглядно и понятно
5:32объяснять это все это был более
5:34читабельным и так так как мы говорим
5:37сегодня об организации кода в его на его
5:39наглядности и понятности то мы конечно
5:42же не можем не затронуть такую тему как
5:44комментарии к кодам и так есть два вида
5:51комментирование в зал studio
5:54ну и вообще во многих средах разработки
5:57используется та же самая схема так что
5:59она вам пригодится
6:00практически везде как вы видите на
6:03строке 4 5 6 8 9 и 10 у нас какой-то
6:08текст зеленого цвета это и есть наши
6:11комментарии комментарии бывают двух
6:13видов это однострочный комментарий и
6:16многострочный однострочные комментарии
6:18используется точнее выполняется с
6:23помощью двух вот этих вот строчек
6:26допустим мы сейчас по эксперименте по
6:27периметру им над строкой 22
6:30перед выводом нашего текста привет мы
6:32возьмем постами и вот эти вот в черточки
6:35и ничего собственно и таким образом наш
6:42кот за комментируется кстати код который
6:45у нас закомментировал компилятор не
6:47замечает и выполняться он не будет
6:50давайте кстати часты проверим выполнится
6:52он или нет итак смотрите во первых у нас
6:55вначале наши программы куча всяких буков
7:00и надписей и
7:01компиляторы никак на это не реагирует ни
7:03чего не выходит а во-вторых у нас было
7:06еще строчка кода которая должна
7:08проводить привет ну вот на краказябра то
7:11как функция стекла светлакова вызывается
7:13после нее
7:13но у нас здесь ничего не будет потому
7:15что она закомментировано давайте
7:17проверим действительно ли комментарии
7:19повлияют на код так что компилятор его
7:21не видит или нет возьмем и
7:23раскомментируем 20 вторую строчку кода
7:25сейчас нас появятся кракозябры да вот
7:29наши кракозябры которых не будет если мы
7:34эту строчку закомментируем есть еще один
7:36вид комментариев это многострочный
7:39пишется он вот так это такая чёрточка
7:42звездочка дальше за студия сама
7:44добавляет недостающая часть вот этим вот
7:48вот этот конструкцией комментарий
7:50открывается вот это закрывается все что
7:53будет находиться между двумя вот этими
7:56конструкциями будет закомментировано
7:59и компилятор этого видеть не будет
8:01допустим если мы возьмем и засунем
8:05также сама вот этот вот кусочек кода
8:08такую же конструкцию мы можем здесь даже
8:11еще чего-то написать the compiler тоже
8:15его не заметит и собственно ничего с
8:18этим кодом делать не будет понятно дело
8:21что комментарии используется не только
8:22для того чтобы не давать компилятор
8:24выполнять какой-то код для того чтобы
8:26действительно комментировать какую-то
8:28функцию функцию ли какой-то
8:31конструкцию ну в общем все что вы
8:33захотите то и можете комментировать
8:34кстати написании комментариев это
8:37правило хорошего тона особенно очень
8:40сложности больших программах потому что
8:42говоря уже о том что вы сами потом
8:44сможете с трудом разобраться что вы
8:46когда-то давно писали другим людям тоже
8:48возможно будет сложновато это сделать ну
8:51много чего зависит от стиля вашего
8:53программирования конечно об этом я еще
8:55много чего вам расскажу итак как же мы
8:58еще можем использовать наш комментарий
9:01допустим можем написать что вот это у
9:04нас
9:04что вот это у нас функция качающаяся
9:14и вот русских консоль
9:22ну таким образом к становится более
9:24понятным и
9:25[музыка]
9:27читабельным здесь у нас вы вот в конус
9:35солве
9:36ну вот таким вот образом нехитрым
9:39используется комментарии давайте
9:40вернемся и посмотрим на то что же значит
9:46еще другие надписи в нашей программе
9:49которых мы упоминали только вскользь
9:51нашей функции main и и как точки входа в
9:55систему то что в не выполняется мы
9:57говорили достаточно много
9:58а что же такое вот это вот на второй
10:01строке и вот это вот на 15 мы еще с вами
10:05не знаем и так сначала а надписи на
10:09второй строке
10:10блюда и az-3 как видите я в комментарии
10:13написал что это такое но расскажи более
10:16просто своими словами это у нас вот есть
10:19наш код а есть еще какая-то библиотека
10:22вот эта библиотека отличается то чтобы
10:25мы могли бы водить что-нибудь консоль
10:27также что-нибудь в консоль вводить и
10:30принимать по свою программу если сказать
10:33попроще то на самом деле
10:36компилятор вместо вот этого надпись вот
10:39это вот надпись иных людей и a stream
10:41видит еще большой большой кусок кода там
10:43где написано каким образом всего будет в
10:46консоль таким образом информация с
10:47консоли отображается но это стандартная
10:50библиотека которая уже написано
10:53кента и нам не делись не нужно мы просто
10:56берем и функционал поэтому мы ее просто
11:00подключаем вот это вот решетка young
11:02люди это директива препроцессора то есть
11:05то что будет выполняться еще на этапе
11:08компиляции то того как наша программа
11:11вообще запущена как оно все будет
11:13собираться вот этой командой мы сюда
11:16подключаем кусок кода который дальнейшем
11:19тоже можем спорами moby библиотеки и
11:21стрим мы можем подключать вообще многие
11:24другие библиотеки которые могут нам
11:26понадобиться например библиотеку maps и
11:29давать им покажу этот язык это
11:41библиотека отвечает за математические
11:43операции содержат себе
11:45например возведение в степень и
11:47нахождение корня квадратного
11:49также мы можем сюда подключать какие-то
11:52политики которые напишем сами но об этом
11:56уже мы поговорим немножечко попозже
11:58теперь пару слов о том что такое есть
12:01пространство имен но возьмем к примеру
12:04такой ситуации если у нас есть два
12:07разработчика программы
12:08один пишет какой-то свой кусок кода
12:11другой
12:12свой но по какому стечение обстоятельств
12:16они взяли и по называли функции своей
12:19программе ну вот типа вот этой вот
12:21функция сет локаль
12:22или переменная но переменных конечно
12:25пока ничего не знаем но просто пока
12:27поверите они взяли и назвали
12:29все эти вещи одинаковыми именами таким
12:33образом если пытаясь обратиться какой-то
12:38функции которая написана
12:41каким то из разработчиков мы не поймем
12:43на самом деле какой мы вызывают но
12:44разработчики 2 вот для этого и нужна нам
12:48пространство имен мы можем вызвать
12:49пространство имен из которого вызываем
12:51функцию таким образом компилятор поймёт
12:53чего мы от него хотим но о конкретном
12:57вот здесь конкретном случае который мы
13:00используем вот здесь нам пространство и
13:02на нужно только для
13:03чтобы сократить код потому что в
13:05пространстве - т.д. содержится
13:08команда seal и функции seat функция
13:12онлайн на который мы используем и если
13:15бы мы не использовали это пространство и
13:17он имен нам при каждом обращении к атаке
13:20нба и нужно было это указывать я сейчас
13:23вам покажу каким образом это происходило
13:25давайте просто закомментируем using an
13:28ice namespace std то есть маска наш
13:31компилятор же не знает что мы используем
13:32такое пространство имен вот он нам даже
13:35подчеркивает наш салат и онлайн говорит
13:38что чуть то такое я такого не знаю
13:40вообще что это от меня хотите поэтому мы
13:43должны ему явно указать откуда мы берём
13:47этот салат пространство имен у нас std
13:50как вы помните вот мы указываем это
13:52пространство имен и пишем два раза :
13:58пространство имен из т.д.
13:59содержится команда seat так же само
14:03онлайн и два раза : вот теперь
14:12компилятор понимает что мы хотим к
14:14команду симау три команды red line из
14:18пространства имен
14:19std все выполняется ну конечно же если
14:24мы возьмем да раскомментируем вызов и
14:28указания нашего пространства xtd все все
14:31равно будет работать то есть мы можем
14:33явно указывать но без вот этого нам бы
14:37просто пришлось гораздо меньше писать
14:39так как по мне удобнее
14:40поэтому сейчас мы всегда будем указывать
14:43пространстве std потому что с консоли мы
14:46будем работать очень много и довольно
14:49долго на этом пожалуй мы текущей урок
14:52завершим следующем уроке мы поговорим
14:54более подробно выбрать и данных узнаем
14:57что такое skip последовательности
14:58поработаем с ними
14:59но на этом пока все если вам понравилось
15:02то и диана был он полезно и интересно то
15:04и забываем ставить лайк и подписываемся
15:07на канал чтобы не пропускать и
15:08дальнейшее уроки
15:09всем спасибо за внимание пока
15:12он
15:13[музыка]