Язык Си для начинающих / #2 - Переменные и типы данных

Поделиться
HTML-код
  • Опубликовано: 3 апр 2020
  • Переменные являются важной частью любого языка программирования. В ходе урока мы познакомимся с написанием переменных, а также изучим различные типы данных. Также мы научимся выводить и получать данные от пользователя.
    1) Урок на сайте itProger: itproger.com/course/c-program...
    ✔ Сообщество программистов: itproger.com/
    ✔ -------------
    Вступай в группу Вк - prog_life 🚀
    Группа FaceBook - goo.gl/XW0aaP
    Инстаграм itProger: / itproger_official
    Instagram: / gosha_dudar
    Telegram: t.me/itProger_official
    Twitter - / goshadudar
    - Уроки от #GoshaDudar 👨🏼‍💻
    - Все уроки по хештегу #goshaLessons

Комментарии • 361

  • @tommyhellatriger6966
    @tommyhellatriger6966 3 года назад +200

    Дали книгу в институте, сказали: «читай», ничего не понял, а тут человек подробно все по полкам разложил. Спасибо тебе, обнял. БЫСТРЕНЬКО ВСЕ ПОДПИСАЛИСЬ!!!💙👋🏻

    • @user-gs6pw2hp8m
      @user-gs6pw2hp8m 3 года назад +68

      тебе хотя бы книгу дали.Мне сразу дали работы,которые нужно сдавать

    • @dinares3271
      @dinares3271 3 года назад +7

      ​@@user-gs6pw2hp8m жиза

    • @xxxxxx2956
      @xxxxxx2956 3 года назад +2

      @@user-gs6pw2hp8m до боли жиза

    • @kotomen_2019
      @kotomen_2019 2 года назад

      чел одной книгой ты ничего не добьёшся практика тоже нужна

    • @andrewkot5212
      @andrewkot5212 2 года назад +1

      А читать пробовал?

  • @MegaDamaskinoS
    @MegaDamaskinoS 3 года назад +46

    Я в восторге. Автор - вы прирождённый учитель. Браво. Великолепно! Единственное, что автор не слишком хорошо помнит диапазоны типов данных. Например int 4 байта (32 бита). Минимальное значение -2 147 483 648, максимальное значение 2 147 483 647. А вот short имеет размер 2 байта(16 бит) и, соответственно, позволяет выразить множество значений равное 2 в степени 16: 2^16=65 536. Так как тип short является знаковым и содержит как положительные, так и отрицательные значения, то диапазон значений находится между -32 768 и 32 767

    • @Klerfe
      @Klerfe 2 года назад

      65535* short вмещает

    • @nakidai
      @nakidai Год назад

      @@Klerfe Он про шорты говорил что кол-во значений

  • @RS-ue4wg
    @RS-ue4wg 3 года назад +50

    Спасибо за уроки. Вы сделали отличный курс для тех, кто изучает Си.

  • @dimas81ification
    @dimas81ification 2 года назад +1

    Отлично и доходчиво! Все понятно! Спасибо огромное!!!

  • @user-kf8xu4he6s
    @user-kf8xu4he6s 2 года назад +2

    Очень полезная информация, спасибо!

  • @helgeplnika009
    @helgeplnika009 2 года назад +1

    Гоша, спасибо тебе огромное!!! Объясняешь очень понятно, все доходит до головы. У тебя лучшие курсы!

  • @Drivelife7
    @Drivelife7 Месяц назад

    вот за это от души. ничего лишнего все как и должно быть. а самое главное понятно))))

  • @SB-ig1rg
    @SB-ig1rg 3 года назад +3

    Большое спасибо, очень круто объяснено 👍👍

  • @SOCHNEF
    @SOCHNEF 9 месяцев назад +1

    Большое спасибо! Это отличный опыт ❤

  • @tomahawk777
    @tomahawk777 3 года назад +2

    Спасибо ! Очень информативно и понятно !!

  • @user-ve1lr4dt7n
    @user-ve1lr4dt7n 2 года назад +17

    Спасибо, Гоша. Даже 13-летнему мне интересно

    • @user-vr2fb4kd2h
      @user-vr2fb4kd2h 2 года назад

      увожаю

    • @ivaniwan1947
      @ivaniwan1947 2 года назад

      А мне 12=), и тож интересно.

    • @nakidai
      @nakidai Год назад

      @@ivaniwan1947 а мне 12 и скучно

    • @yglyglya
      @yglyglya 8 месяцев назад +1

      @@nakidai Мне тоже, сейчас 12

    • @nakidai
      @nakidai 8 месяцев назад

      @@yglyglya а мне уже 14 скоро будет 😎

  • @Dm-if3vl
    @Dm-if3vl 4 года назад +1

    Спасибо, ждем еще

  • @user-rl3rc6qq6y
    @user-rl3rc6qq6y 2 года назад

    Очень просто объяснил👍

  • @jeckkaban
    @jeckkaban 7 месяцев назад

    Спасибо за видосы, учу этот курс в китайском университете)) 😃

  • @rancesen4885
    @rancesen4885 3 года назад +1

    Спасибо огромное! Просто реально помог

  • @user-st6om9pn3s
    @user-st6om9pn3s 2 года назад +2

    Пытался до этого учить с++ по книге, многое понятно но не все. Знаю ассемблер и работал на нем.
    Но когда начал смотреть ваш курс понял "вот оно, мое! ".
    Спасибо большое! От души спасибо!

    • @nakidai
      @nakidai Год назад

      Так а что не так? в асме подключается WinAPI, а у него функции как в C.

  • @eugenydsgn9097
    @eugenydsgn9097 3 года назад +2

    Красавчик, не слушай хейтеров.

  • @LLDevLab
    @LLDevLab 4 года назад +22

    С типом int я бы не был так однозначен. По спецификации int - целое число, размер которого минимум 2 байта. В x86 int - 4 байта, а в AVR (Arduino Uno) - 2 байта. Так что когда используете этот тип, всегда стоит уточнить сколько байт он занимает на вашем устройстве.

    • @user-mi9fo6dx6z
      @user-mi9fo6dx6z 4 года назад +6

      если на платформе x86 short 2 байта (2 в степени 16), int 4байта (2 в степени 32). Автор ошибся в интервале int, там будет больше 2млрд. а без знака больше 4млрд, у автора млн.

    • @user-uj4gr9ql4m
      @user-uj4gr9ql4m 2 года назад

      Да, поэтому есть библиотека stdint.h, которая добавляет числа с конкретными размерами:
      int8_t - 1 байт, int16_t - 2 байта, int32_t - 4 байта и там ещё на 8 байт и без знаков

    • @nakidai
      @nakidai Год назад

      @@user-uj4gr9ql4m о спс шо сказал нейм этой либы

  • @Solokorea
    @Solokorea Год назад

    Топ урок! Наконецто что то понял)

  • @hunter5493
    @hunter5493 3 года назад +2

    Просто " спасибо тебе"

  • @live-404
    @live-404 Год назад

    Сколько пытался всегда с самого начала не чего не понимал, пока не наткнулся на эти уроки, спасибо. А просто повтори за мной как на 99,9% курсов для начинающих, это не учёба

  • @pepsitoly
    @pepsitoly 7 месяцев назад

    С char можно производить математические операции. В char хранятся числа. То, что они являются символами, влияет на их отображение, например, в printf, если указать спецификатор %c

  • @Z00gg
    @Z00gg 9 месяцев назад

    Топ! стукнуло 30 лет сижу конспекты по видео пишу (современная учеба)

  • @user-we3xm4uc4k
    @user-we3xm4uc4k 9 месяцев назад

    Благодарю!

  • @GameOver-wr4bq
    @GameOver-wr4bq 3 года назад +1

    спасибо за труды очень помогаешь учиться все внятно и понятно

  • @gavrilihin
    @gavrilihin 4 года назад +46

    Неинициализованные переменные не используют значения по умолчанию! Они могут хранить мусорные данные.

    • @gavrilihin
      @gavrilihin 4 года назад +1

      @@user-bh6zu7ct6w вам повезло с оптимизацией компилятора

    • @gavrilihin
      @gavrilihin 4 года назад +2

      В стандарте не прописано - значит поведение может быть любое

    • @demetriuss.8291
      @demetriuss.8291 3 года назад +6

      @@user-bh6zu7ct6w эх, золотая школота... Скажи спасибо своему компилятору (или ide при компиляции), он умнее тебя и сам исправил эту ошибку.

    • @TheTruepikvic
      @TheTruepikvic 2 года назад +1

      Поэтому нельзя смотреть Гошу 😏 Хотя парень старается

    • @TheTruepikvic
      @TheTruepikvic 2 года назад +1

      Хотел посоветовать плейлист первокурсникам своим, но после такого точно не буду, а то потом их переучивать :(

  • @tiredjacob
    @tiredjacob 6 месяцев назад

    Количество информации порадовало, не просто int float double и char. Но раздражает неточность в диапозоне значений.

  • @niksanfps7363
    @niksanfps7363 Год назад

    Добрый день. Подскажите пожалуйста как называется Ваш компилятор, в котором вы работаете. Больно у него френдли интерфейс.

  • @Yrysbek2009
    @Yrysbek2009 11 месяцев назад

    Идеально все монял❤

  • @user-wc6xx2tt4n
    @user-wc6xx2tt4n 4 года назад +34

    Для работы с типом данных short нужно использовать спецификатор %hd , а не просто %d!
    Иначе будут вылезать ошибки.
    Кроме того, ещё есть спецификатор для типа unsigned - %u -, о котором ни слова не сказано...

    • @user-fo1ho4ww6p
      @user-fo1ho4ww6p 2 года назад

      а естьли смысл вообще шорт то использовать? с интом легче

    • @Kravtsovss
      @Kravtsovss 2 года назад +3

      @@user-fo1ho4ww6p шорт меньше места в памяти занимает. Например, если нужен небольшой счетчик. как я понимаю

    • @user-uj4gr9ql4m
      @user-uj4gr9ql4m 2 года назад

      @@user-fo1ho4ww6p Ну так short занимает меньше места в оперативке, чем int

    • @nakidai
      @nakidai Год назад

      @@user-uj4gr9ql4m знаешь, сегодня люди такие что ради удобства юзают long long

  • @user-yq9co4st1n
    @user-yq9co4st1n Месяц назад

    Курс имба

  • @helgeplnika009
    @helgeplnika009 2 года назад +6

    Я в Visual Studio 2019, и там он у меня требует чтобы я писал вместо функции scanf(), scanf_s(). Так что будьте внимательны!

    • @user-jd1dv4gk8n
      @user-jd1dv4gk8n 2 года назад

      А в чём разница? Спасибо, заработало со scanf_s(...)

    • @helgeplnika009
      @helgeplnika009 2 года назад

      @@user-jd1dv4gk8n Ну типа это зависит от компилятора. Вот например у меня Visual Studio принимает scanf() за ошибку.

  • @SStaryi
    @SStaryi Год назад +2

    2:39
    Да, конечно, 0. Если бы в Си было всё так просто))
    Язык Си разрабатывался для максимальной производительности. А т.к. присваивание нулевого значения по умолчанию является операцией, то это идёт в разрез его эффективности. Зачем присваиватьзначение по умолчанию, если разработчик потом планирует дать переменной значение?
    В переменную по умолчанию записывается мусор, который хранится в ячейке памяти, в которой находится переменная. Да, там может быть 0. А может и не быть)) (скорее всего это будет второй вариант)

    • @txmka7
      @txmka7 Год назад

      А что будет вместо нуля?

    • @georgemikava7459
      @georgemikava7459 Год назад

      ​@@txmka7 По идее ничего...Если говорить про максимальную эффективность программа даже не должна пытаться дать этой переменной какое-то значение,а просто отставлять болванку для дальнейшего использования...Я далеко не эксперт но если расширить комментарии выше,по идее должно быть так, если это физически возможно.

  • @user-wi1di3qy6x
    @user-wi1di3qy6x Год назад

    А можете посоветовать книги для изучения Си

  • @purity_one
    @purity_one 4 года назад +20

    Почему функция вывода в C называется printf, а не просто print?

    • @hikitadeveloper5811
      @hikitadeveloper5811 4 года назад +26

      printf (от англ. print formatted, «форматированная печать») (Википедия). Может быть записана printf("my number is %f", 1.5); в итоге мы увидим "my number is 1.5" знак "%" значит, что сейчас будет форматирование, а буква ""f" обозначает тип данных( в данном случае float).

    • @iminputlag
      @iminputlag 3 года назад +1

      А если проще говорить, функция printf позволяет работать с переменными. Поэтому она и называется print format.

  • @demetriuss.8291
    @demetriuss.8291 3 года назад +2

    29:13 указатель не на переменную, а именно на адрес области памяти этой переменной. Так точнее и понятнее сам процесс работы

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      Это не указатель, а просто символ адресации, амперсанд, он указывает на месторасположения значения переменной в памяти, это не указатель

    • @demetriuss.8291
      @demetriuss.8291 3 года назад

      @@ruslanvolovik2745 ты не понял мой комментарий. Моё слово "указатель" означает одно и тоже, что ты потом подправляешь меня словом "указывает". В данном контексте, при вводе значения через scanf, имхо, но этим словом больше понятно, чем говорить, что он возвращает адрес. Да и к тому же я тут напрямую поправляю автора...
      То что этот знак не указатель и так должно быть понятно, ибо что такое указатель? Указатель это ПЕРЕМЕННАЯ, которая хранит адрес ячейки.

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад +1

      @@demetriuss.8291 все верно!

  • @yosa9463
    @yosa9463 4 года назад +2

    Сделай урок по C# Xamarin для Android

  • @LebbLebb
    @LebbLebb Год назад

    Спасибо). Открыл благодаря тебе жуткий баг в mingw. (visual studio не захотел со мной дружить) в scanf. Теперь сижу, горю

  • @citizenone158
    @citizenone158 3 года назад +3

    Небольшая поправка:
    тип данных *short int* использует 2 байта памяти -> может хранить значения 0...65536 для unsigned и -32768...+32768 для signed
    если *int* использует в 2 раза больше памяти (4байта), то диапазон его значений составляет +-2 млрд, а не млн

    • @citizenone158
      @citizenone158 2 года назад +1

      @@moneyhouse4365 Спасибо, поправил. Действительно перепутал signed и unsigned местами)

    • @moneyhouse4365
      @moneyhouse4365 2 года назад +1

      @@citizenone158 Да, и так же ещё:
      верхний предел для unsigned short не 65 536, а 65 535. И для signed short верхний предел не 32 768, а 32767 ;-)

    • @SStaryi
      @SStaryi Год назад +1

      Не на всех компьютерах машинное слово 4 байта (размер для int). Я пришёл сюда душить)) Тип short хранит половину машинного слова

  • @Nik-df1ej
    @Nik-df1ej 4 года назад +10

    Мастер "hello world!" на все руки

  • @cppprograms5868
    @cppprograms5868 4 года назад +4

    Не строка а команда. В строке может быть много действий и т. д., но целом урок хороший как всегда.

  • @kirill2003_yt
    @kirill2003_yt 2 года назад +1

    Здравствуйте. В видеоуроке вы рассказали о том, что для типа float не нужно писать unsigned, так как для данного типа подходят и отрицательные, и положительные числа. Но разве в тот же int не входят те же отрицательные и положительные числа? Почему мы возле int можем написать unsigned, а возле float - нет?

    • @user-bt6mf1qq4u
      @user-bt6mf1qq4u 2 года назад

      Он сказал что в тип float не могут входить только положительное значение так как он работает и с теми и с отрицательными по умолчанию(грубо говоря тип данных тупо так устроен и так он и работает)

    • @kirill2003_yt
      @kirill2003_yt 2 года назад

      @@user-bt6mf1qq4u хорошо, спасибо

  • @JohnWick-rn7ph
    @JohnWick-rn7ph 11 месяцев назад

    я все это делаю через терминал так у меня при подставлении значений появляется ошибка (%x and %y) а в целом все очень ххорошо расставелно по местам. мне все очень понравилось

  • @ailove4ever
    @ailove4ever 4 года назад +1

    Привет, скажи пожалуйста. Только только начал изучение программированием, что можешь посоветовать новичку? С чего начать лучше всего? Ответь ПЖ!

    • @farkhodpulatov6366
      @farkhodpulatov6366 4 года назад

      С основ т.е. то чего он говорит.

    • @animovhere894
      @animovhere894 4 года назад

      Я бы тебе питон для начала посоветовал .А когда уже научишься мыслить и искать инфу в гугле то переходи на С ,или С++ , смотря для чего тебе программирование надо.C и C++ звучит одинаково ,но языки разные )

    • @nakidai
      @nakidai Год назад

      @@animovhere894 Я бы никогда бы не посоветовал начинать с питона. Это СЛИШКОМ дружелюбный язык, который показывает слишком мало ошибок и часто будет просто пропускать если неправильно напишешь (к примеру случайно поставил = вместо == в условии). Да и гемор такой будет при переходе на c-подобные языки, когда надо везде эти скобочки, точки с запятой ставить. Где ' ' и " " не одно и тоже. Но также, каждый выбирает что ему интереснее, и указывать что выбрать не стоит.

  • @user-br7vc8nc2x
    @user-br7vc8nc2x 2 года назад

    Где же ты раньше был , добрый человек?

  • @demure_iskander
    @demure_iskander 3 месяца назад

    9:58 разве %d - это не decimal (рус "десятичный") или же у него есть два названия?

  • @dimakostenko1709
    @dimakostenko1709 2 года назад

    молодец

  • @dmitriyshaykovskiy221
    @dmitriyshaykovskiy221 4 года назад +1

    Спасибо за урок. Я Полный "чайник"и перед тем как пойти на курсы, решил подучить хоть какие основы для лучшего усвоения в дальнейшем. Начал Рихтера читать, но в какой-то момент понял, что читаю просто текст без понимания))) А тут все досконально объяснил, детали из книги стали понятны. Буду продолжать по тихоньку, от непривычной информации мозг кипеть начинает. Может быть кто-то поделится опытом, как действовать в изучении от полного 0?

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      По началу тебе только видео помогут

    • @user-qi2vu2rm4g
      @user-qi2vu2rm4g 2 года назад +2

      Год прошёл) поделитесь опытом
      Удалось с нуля разобраться?

    • @v.shinoxy
      @v.shinoxy Год назад +1

      @@user-qi2vu2rm4g начинаю с нуля тоже) из базы только знания питона. си учу по курсам на степике и по видео с этого канала. пока вроде все понятно, но особенно понятно, что дальше будет сложно. потому что си очень про память и эффективность))(((
      отпишусь может быть потом

  • @user-yl1cx8vu2m
    @user-yl1cx8vu2m 18 дней назад

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

  • @user-cu2lk5zr8r
    @user-cu2lk5zr8r 4 года назад +1

    👍

  • @trnrvl
    @trnrvl Год назад +1

    Integer Types
    Type Storage size Value range
    int 2 or 4 bytes -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
    unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
    short 2 bytes -32,768 to 32,767
    unsigned short 2 bytes 0 to 65,535

    • @YangiyerBola
      @YangiyerBola 4 месяца назад

      А на Andruino меньше

  • @nikolaysemenov9787
    @nikolaysemenov9787 4 года назад +1

    Когда будет видео про бота

  • @notgonnadie8140
    @notgonnadie8140 5 месяцев назад

    А зачем к флоату добавлять "f"? компилятор прочитал корректно как число с "f" так и без

  • @programming_harius
    @programming_harius 4 года назад +4

    Здравствуйте, Гоша! Пусть Вам не покажется этот комментарий слишком наивным. Я делаю игру на C++. Выживание. Скажу сразу, я занимаюсь программированием меньше года. Знаю циклы, массивы, условные операторы ну и там по мелочи. Игра представляет собой выживание на улице. Да, звучит странновато. Так вот. Мне нужно, чтобы прогресс игры сохранялся каждый день (один день - один ход). И чтобы игрок мог выйти из игры и потом продолжить. Как я могу такое реализовать? Я долго искал в интернете, но так и не нашёл или не понял. Ах да, ещё я хотел бы сделать, чтоб был "зал рекордов", где показывалось бы максимальное количество прожитых дней. И как сделать это, я тоже не знаю. Надеюсь на Вашу помощь, буду очень благодарен, если хотя бы откликнитесь.

    • @user-xc8fo9le2w
      @user-xc8fo9le2w 4 года назад +4

      Здравствуйте, для этого нужно использовать базу данных или чтение/запись с файлов и каждый "день" записывать всю информацию о данной игре в файл или бд, и при загрузке в зависимости от того, что там написано, то и загружать. Таким же образом работает таблица рекордов. Может я объяснил как-то криво, но постарался помочь, ведь я пока что только Смотрю и Учусь.

    • @animovhere894
      @animovhere894 4 года назад +3

      Согласен с челом выше , тебе нужно использовать файлы что будут сохранятся на жестком диске или в облако.А как именно то там уже изворачивайся как хочешь.Например при загрузке будет считываться файл в котором на каждой определенной строке будет определенная инфа (хп,мана,опыт и тд.) в другом файле в виде массива будут записаны числа которые будут обозначать какие вещи есть в инвентаре и тд.
      Это самое первое что пришло на ум.
      Удачи!!

    • @nakidai
      @nakidai Год назад

      @@animovhere894 знаешь. бд звучит тут получше как-то

  • @superspace691
    @superspace691 Год назад

    лучше чем в Гарварде

    • @m1kus960
      @m1kus960 Год назад

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

  • @whitelinuxAz
    @whitelinuxAz 4 года назад +1

    Гоша Дударь привет
    Я пользователь linux каккой текстовый редактор мне использовать?
    Спасибо!

    • @p4m3remostone71
      @p4m3remostone71 4 года назад +4

      vim

    • @sergeichwelcome
      @sergeichwelcome 4 года назад +1

      Sublime text

    • @iCoteg
      @iCoteg 4 года назад +1

      Gedit с плагинами и не нужно изобретать велосипед !! Для среды KDE не помню какой там дефолтный редактор, но он тоже весьма норм будет

    • @whitelinuxAz
      @whitelinuxAz 4 года назад

      @@iCoteg cbacibo

    • @user-fe7lo6ir8j
      @user-fe7lo6ir8j 4 года назад

      NetBeans 8.2 (с модулями работы с Си и Си++)

  • @gingerbread_ck4223
    @gingerbread_ck4223 3 года назад +1

    Работаю в atom. Запись следующая:
    #include
    #include
    int main(){
    char fletter;
    short age;
    float height;
    printf("Первая буква вашего имени: ");
    scanf("%c", &fletter);
    printf("Ваш возраст: ");
    scanf("%d", &age);
    printf("Ваш рост: ");
    scanf("%f", &height);
    printf("Первая буква: %c,
    Возраст: %d,
    Рост: %f
    ", fletter, age, height);
    }
    При запуске ошибок не выдаёт, всё работает до конца. но не высвечивается первая буква. Вывод выглядит так:
    Первая буква вашего имени: О
    Ваш возраст: 45
    Ваш рост: 345
    Первая буква: ,
    Возраст: 45,
    Рост: 345.000000
    Для продолжения нажмите любую клавишу . . .

    • @user-yr4vs2sw3h
      @user-yr4vs2sw3h 8 месяцев назад

      Используй кодировку, где русский символ занимает 1 байт.

  • @askargylymbekov6612
    @askargylymbekov6612 3 года назад +1

    слм всем, кто может подсказать: пишу код(C#) на дев С++ без библиотеки (то есть не пишу #include ), программа всё равно запускается.

    • @exdes4520
      @exdes4520 3 года назад

      В какой среде работаете? Возможно вы ставили дополнения, которые автоматически подключают библиотеки? Ещё вроде VS с этим сам справляется

  • @demetriuss.8291
    @demetriuss.8291 3 года назад +1

    При подключении библиотеки ты не расширяешь возможности файла или языка, тут происходит другое...
    Если конечно для тебя готовые функции и типы не являются так называемой расширенной возможностью программирования...

    • @programer8
      @programer8 3 года назад

      Это не библиотека а загаловочный фаил

  • @maxchizhov
    @maxchizhov 3 месяца назад

    При создании локальной переменной НЕ будет установлено значение по умолчанию. Будут случайные значения.

  • @user-iz5xs6no1x
    @user-iz5xs6no1x 2 года назад +1

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

    • @user-yr4vs2sw3h
      @user-yr4vs2sw3h 8 месяцев назад

      Для глобальной переменной значение будет 0, тк память под нее выделяется при компиляции. Но так то, в видео глобальные переменные вообще не представлены)

  • @user-hd5fb9ph1g
    @user-hd5fb9ph1g Год назад

    хорош

  • @alexpetrov521
    @alexpetrov521 4 года назад

    Здравствуйте. Что вы порекомендуете почитать если и этот урок ступор вызывает? Непонятно вообще что значат все эти буквы и цифры и для чего они нужны

    • @dgyipdgyip1695
      @dgyipdgyip1695 4 года назад +1

      Сайт t-r-o-n.ru имеет вполне не плохое руководство по языку си

    • @animovhere894
      @animovhere894 4 года назад

      Если ваще тупой (как я) начни с питона , дальше будет видно втянешся или нет.Если втянешся переходи на С или С++ или ваще на Java я хер знает .

    • @demetriuss.8291
      @demetriuss.8291 3 года назад +2

      Ага, слушай их....
      Если не понимаешь что написано, то первым делом бери учебник английского, нужно хотя-бы понимать такие базывые надписи, далее почитай немножко про матлогику, а именно что такое бинарные числа и как работают операции И, ИЛИ, НЕ. Для самого начала этого хватит. Далее, ты должен понимать, что компудахтер как раз и работает с бинарными числами.
      Далее язык. Если не смыслешь в СИ, то бери обычный паскаль или бейсик. Питон не бери, он язык ооп, к тому же в основном для веба используется....
      Если сразу с него начнёшь, то либо запутаешься, либо станешь говнокодером, в плане ооп. Пока что тебе нужно научиться писать обычные структурированные программы. Как только будешь уверенным в паскале или в бейсик, садись либо на си, либо с++. Научись его синтаксису, разбери уже указатели, работу с памятью и т.д.
      И только после этого садись за ооп. Для ооп есть си object, c++, c#, Java, Python. Но начинать лучше либо с C object, либо с C++. А там уже выбирай что хочешь

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      @@animovhere894 пиши на javascript и не нужен тебе c/c++, питон и прочее

  • @kage8533
    @kage8533 2 года назад

    А как будет сокровенные версия x=1-x .
    1 -= x? - да не ужели

  • @Maya_02.11
    @Maya_02.11 Год назад

    Мне одно не понятно. Что в итоге получается после всех этих манипуляций? Программа получается или что?

  • @kiryashel8186
    @kiryashel8186 3 года назад

    Что сделать если комманда /n не переносит на следующую строку, я пишу в Code blocks

    • @hoyoreverse
      @hoyoreverse 3 года назад +1

      Потому что не /n, а

    • @kiryashel8186
      @kiryashel8186 3 года назад

      @@hoyoreverse Аа, пасиба большое)

  • @danil-shaber5977
    @danil-shaber5977 4 года назад +1

    Спасибо ты топ но это точно))

  • @user-cu2lk5zr8r
    @user-cu2lk5zr8r 4 года назад

    Крутой урок! Отлично объясняет, все понятно, збс, чётко.

  • @mars8095
    @mars8095 2 года назад

    Возвращаемое значения пропущено "scanf" ??? что делать ?

    • @zloyden4ik332
      @zloyden4ik332 Год назад

      scanf_s пиши)))

    • @bullx21
      @bullx21 Год назад

      @@zloyden4ik332 спасибо большое, это сработало))

  • @iCoteg
    @iCoteg 4 года назад +3

    -32768 ÷ 32767 про 0 не забываем !!

  • @user-pj2gs9ip8d
    @user-pj2gs9ip8d 3 года назад

    А у меня scantf не пошла.
    Пишет возвращаем значение пропущено: "scantf".
    Работал в visual studio. Всё делал как в видео.
    Не подскажите что может быть?

    • @hezevruar7466
      @hezevruar7466 3 года назад +2

      думаю нужно без t)

    • @ostapilkiv3058
      @ostapilkiv3058 3 года назад +1

      напиши scanf_s

    • @kimaller5148
      @kimaller5148 3 года назад

      @@ostapilkiv3058 такое пошло, но почему с _s ?

    • @user-rd4gb9sk7m
      @user-rd4gb9sk7m 3 года назад +1

      @@kimaller5148 с "_s" потому-что это безопасное(раньше были проблемы с безопасностью без этого) дополнение к функции, без этого visual studio попросту не разрешает, ну там конечно можно заморочиться и макрос добавить, тогда оно и без дополнения разрешает, но это уже такое

  • @user-bd9nq8hq7t
    @user-bd9nq8hq7t Год назад

    Я потписался

  • @user-cy3eu1nq8p
    @user-cy3eu1nq8p 3 года назад +4

    Цілі числа в printf() можна виводити не тільки за допомогою %d, а ще й за допомогою %i.

  • @whitelinuxAz
    @whitelinuxAz 4 года назад +1

    ТЫ ТОП

  • @Mehtung
    @Mehtung 7 месяцев назад

    не нашел в комментах объяснение, может кто ответит зачем были поставлены f в записях типа float x = 5.5f, y = 6.7f;?

    • @YangiyerBola
      @YangiyerBola 4 месяца назад

      Без этого суффикса десятичное число рассматривается как значение типов int/long

    • @Mehtung
      @Mehtung 4 месяца назад

      @@YangiyerBolaспасибо за ответ, но конечно поздновато уже)))

  • @xurshidkarimov9815
    @xurshidkarimov9815 2 года назад

    Если не ошибаюсь, булевых значении нет в языке "C". А в "C++" есть.

    • @nakidai
      @nakidai Год назад

      Да есть они везде, bool зовутся.

    • @eirjair7037
      @eirjair7037 Год назад

      @@nakidai, только в Си требуется стандарт С99 и stdbool.h

    • @nakidai
      @nakidai Год назад +1

      @@eirjair7037 ну, как миниммум в MinGW это есть, так что норм

  • @mragosh8665
    @mragosh8665 4 года назад

    Mожете научить pointer , пожалуйста, как можно скорее

  • @coolteachernastya
    @coolteachernastya 2 года назад

    Спасибо за дезинформацию! Полчаса искала, почему же я не могу в VS ввести числа и что за ошибку мне выдает при scanf! Оказалось, надо вообще по-другому писать, весь инет перешерстила, нашла в комментах.

    • @user-nh3sc4mc8h
      @user-nh3sc4mc8h 2 года назад

      Доброго времени суток, скажите пожалуйста, где можно найти решение? Тоже выдаёт ошибки)

    • @bullx21
      @bullx21 Год назад

      и у меня такая же ошибка, что нужно сделать что бы исправить?

  • @zloyden4ik332
    @zloyden4ik332 Год назад +1

    пол часа мучался, пока не погуглил, в MS_VS не работает svanf, нужно вводить scanf_s, нужно учитывать такие мелочи

    • @renatk.3829
      @renatk.3829 Год назад

      тоже самое.твой комент помог, спасибо

  • @devo4ka_konfeto4ka
    @devo4ka_konfeto4ka Год назад

    А разве bool не используется в си++, а чи его нет?

  • @NIVLON
    @NIVLON 3 года назад +6

    Здравствуйте! Мне 12 и я очень хочу программировать пытался учить джава СЛОЖНО, Пайтон НЕОХОТО И СЛОЖНО а с си ОТЛИЧНО покачто я очень люблю математику и думаю это мне поможет можете ли вы мне что то посоветовать

    • @itty1895
      @itty1895 3 года назад +3

      иди в бравл старс по играй

    • @user-rd4gb9sk7m
      @user-rd4gb9sk7m 3 года назад +1

      Учи Си, так как это плюс-минус сложный язык программирования, как и с++, потом будет легче учить другие

    • @andrey6552
      @andrey6552 2 года назад

      Как успехи спустя год?:)

    • @NIVLON
      @NIVLON 2 года назад

      @@andrey6552 норм, на С написал лишь калькулятор, перебрался на питон, забросил, сейчас учу Godot вообще имба

    • @andrey6552
      @andrey6552 2 года назад

      @@NIVLON красавчик :)

  • @_Chosen_-zp4iu
    @_Chosen_-zp4iu Год назад

    У меня не работает функция запроса " scanf" 😭😭😭. Во первых это единственная функция которая не подсвечиваеться другим цветом. И в ошибке указывает на scanf

  • @demetriuss.8291
    @demetriuss.8291 3 года назад

    Вместо bool можно просто использовать целые числа. А раз ты решил затронуть подключаемых библиотеки, то нужно рассказать что это такое

    • @ruslanvolovik2745
      @ruslanvolovik2745 3 года назад

      Зачем тогда это множество значений булевого типа данных?

    • @nakidai
      @nakidai Год назад

      @@ruslanvolovik2745 да в жопу оно идет, учитывая что bool юзает столько же, сколько byte, то либо использовать побитовые операторы, либо byte, например чтобы экономить оперативку юзая одну переменную

  • @user-kj9cd1qp7p
    @user-kj9cd1qp7p 3 месяца назад

    даже такой как я 0) понял что это вообще такое))

  • @tiredjacob
    @tiredjacob 6 месяцев назад

    num_first, если не задать ей значение, не ноль, а пустота

  • @antoninakosenko6089
    @antoninakosenko6089 3 года назад +2

    а разе %d означает не decimal?

  • @cokaina5854
    @cokaina5854 3 года назад

    Что за редактор кода и что за тема?

  • @ahineya6146
    @ahineya6146 3 года назад

    ааа, зачем у Плавающих чисел ("с точкой) добавляется "f"????
    (кто-нибудь знает зачем? пробую вводить без f и "все пока работает", но чувствую, что надо использовать... (в др. "объяснениях" такое не упоминают, видимо чего-то не знают..)

    • @user-rd4gb9sk7m
      @user-rd4gb9sk7m 3 года назад

      Изначально без f присваивается тип данных double, здесь же используется float, для коей реализации и добавляется "f"

    • @nakidai
      @nakidai Год назад

      @@user-rd4gb9sk7m а как же неявные преобразования, тыры пыры шмыры?

  • @user-yr4vs2sw3h
    @user-yr4vs2sw3h 8 месяцев назад

    Чувак, в локальной переменной значения по умолчанию нет, тк память под них выделяется в процессе выполнения.

  • @pivko777
    @pivko777 7 месяцев назад

    Кстати не все числа можно в инт писать,вроде как от -2 миллиардов до +2 миллиардов.Ну это грубо говоря.

  • @demetriuss.8291
    @demetriuss.8291 3 года назад

    Переменная не должна называться одними цифрами, об этом не сказано. Также не услышал о том, что например такие переменные не равные: Name, name, NAME, ...

  • @user-ol9oe9wq1q
    @user-ol9oe9wq1q 4 года назад

    Кто-нибудь может посоветовать книги по си?

    • @gromoblomov9853
      @gromoblomov9853 4 года назад

      K&R

    • @user-fe7lo6ir8j
      @user-fe7lo6ir8j 4 года назад +1

      Программирование на C для начинающих, 3-е изд. Грег Перри, Дин Миллер.pdf
      Это - лучшее для начинающих!

  • @risoukanpeki
    @risoukanpeki 11 месяцев назад

    Так %d означает digest? Но оно не переводится как "цифра"
    Цивра переводится как number

    • @yglyglya
      @yglyglya 8 месяцев назад +2

      digit → число (состоит из цифр)
      number → цифра (0-9)

    • @risoukanpeki
      @risoukanpeki 8 месяцев назад

      @@yglyglya а понятно

  • @user-do5yb4vo5r
    @user-do5yb4vo5r 3 года назад +2

    пацаны ,нужна помощь .Помогите сделать задачу по программированию на C.
    Даны три действительных числа. Найти и вывести максимальное по модулю число.

    • @vtuegd1463
      @vtuegd1463 3 года назад +5

      #include
      #include // для abs()
      int main() {
      const int SIZE = 3;
      int arr[SIZE];
      arr[0] = -10, arr[1] = 5, arr[2] = 0;
      for (int i = 0; i < SIZE; i++)
      arr[i] = abs(arr[i]);
      int max = arr[0];
      for (int i = 0; i < SIZE; i++)
      if (max < arr[i]) max = arr[i];
      printf("%d", max);
      return 0;
      }

  • @user-qe9zw4yj1n
    @user-qe9zw4yj1n 4 года назад

    Если кто-то хочет программировать под Windows 7, то для этого есть самая простая в установке (по сравнению с другими) и интуитивно понятная среда CodeBlocks.

    • @demetriuss.8291
      @demetriuss.8291 3 года назад +1

      Ага, индивидуальная для Windows 7 🤦‍♂️

    • @vip51000
      @vip51000 3 года назад +3

      Учитесь писать в простом текстовом редакторе и компилировать через cmd

    • @nakidai
      @nakidai Год назад

      @@vip51000 зачем?

  • @anthonycoook
    @anthonycoook 3 года назад +3

    В большинстве компиляторов уже давно запрещено юзать scanf, ибо нужно scanf_s

    • @AspireM3400
      @AspireM3400 3 года назад +2

      Ерунда, scanf_s - только в VS используется, в остальных компиляторах стандартный scanf.

    • @nakidai
      @nakidai Год назад

      если честно впервые слышу о твоих _s, юзал MinGW и не ругалось

  • @demetriuss.8291
    @demetriuss.8291 3 года назад +1

    2:40 не любое число, а число только из диапазона integer. Да, ты об этом сказал позже, но ошибка есть ошибка. Не точность

  • @demetriuss.8291
    @demetriuss.8291 3 года назад

    7:20 а кто будет говорить, как эти действия называются?

  • @user-qe9zw4yj1n
    @user-qe9zw4yj1n 4 года назад

    Это чистый си или си шарп?

    • @magicwinnie8779
      @magicwinnie8779 4 года назад

      Чистый си

    • @user-qe9zw4yj1n
      @user-qe9zw4yj1n 4 года назад

      @@magicwinnie8779 а что за среда показана на видео?

    • @magicwinnie8779
      @magicwinnie8779 4 года назад

      @@user-qe9zw4yj1n Вроде бы, xcode

    • @yukinakiu739
      @yukinakiu739 4 года назад

      @@user-qe9zw4yj1n block code

    • @demetriuss.8291
      @demetriuss.8291 3 года назад

      Что в описании написано?

  • @fatoldhikki4837
    @fatoldhikki4837 Год назад

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