С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.98/47: Рейтинг темы: голосов - 47, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 06.12.2023
Сообщений: 1

С чего начать изучать язык C? Советы новичку

06.12.2023, 16:43. Показов 8947. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Хотел бы узнать с чего начать изучение языка С. Где находить задачки для практики, каких ютуберов смотреть, если не сложно ,то расписать темы, которые стоит изучать и т.д
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.12.2023, 16:43
Ответы с готовыми решениями:

С чего начать изучать C++
С чего начать изучать C++ желательно книгу попроще так как мне 12 лет. P.S Решение не оспаривать хочу попробовать P.S.S Работаю в...

С чего начать изучать С++?
Здарова всем, хочу научиться прогать на C++, но толком не знаю с каких книг и ресурсов брать информацию, можете подсказать хорошие книги...

С чего начать новичку
Ребята, программисты, помоги мне пожалуйста в подсказке следующего характера: Когда-то я училась очень хорошо, но совершенно не сильна в...

23
Windows must die
665 / 836 / 102
Регистрация: 23.11.2021
Сообщений: 4,861
Записей в блоге: 15
06.12.2023, 16:49
Ну так как обычно: читаешь K&R, выполняешь задания. Потом берешь книжку Богатырева, тоже читаешь и задания выполняешь. Потом уже начинаешь читать конкретно то, что тебе интересно. Но сразу же желательно с IPC ознакомиться и т.п. Вот эту рекомендую, перечитываю периодически.
По современным стандартам - скажем, тому же с23, сказать ничего не могу: не встречал еще хорошей литературы. Качнул недавно пару книжек с хорошими отзывами, но уж очень посредственные оказались. В общем, просто в поисковике набери "modern c book" - и смотри, что там скачать получится.
2
Злостный нарушитель
 Аватар для Verevkin
10249 / 5676 / 1262
Регистрация: 12.03.2015
Сообщений: 26,309
06.12.2023, 18:41
Цитата Сообщение от sta1kis Посмотреть сообщение
Хотел бы узнать с чего начать изучение языка С.
C вопросов "а оно мне надо? если надо, то зачем?".
3
 Аватар для CoderHuligan
1743 / 1008 / 257
Регистрация: 30.06.2015
Сообщений: 5,107
Записей в блоге: 56
06.12.2023, 20:09
Надо батенька,надо!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38167 / 21102 / 4307
Регистрация: 12.02.2012
Сообщений: 34,690
Записей в блоге: 14
06.12.2023, 20:46
ТС ищет "царский путь" в программирование. зря...
Чтобы меня не обвиняли в неконструктивном ответе, могу помочь:
книги по языку Си
задачи по Си

Хватит надолго!
1
Windows must die
665 / 836 / 102
Регистрация: 23.11.2021
Сообщений: 4,861
Записей в блоге: 15
06.12.2023, 21:01
Verevkin, похоже, хочет в зародыше слить конкурента ☺
1
Злостный нарушитель
 Аватар для Verevkin
10249 / 5676 / 1262
Регистрация: 12.03.2015
Сообщений: 26,309
06.12.2023, 21:47
Цитата Сообщение от Eddy_Em Посмотреть сообщение
похоже, хочет в зародыше слить конкурента ☺
Кликните здесь для просмотра всего текста
1
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,898
07.12.2023, 00:25

Вот эта мне показалось наиболее приемлимым учебником.
Может я не прав. Каждому своё.
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,898
07.12.2023, 00:38
Я когда то разрабатывал устройства на микросхемах.
Давно это было. Тогда были 155 серии 555, 133. И транзисторы туда же.
И - не - или. Различные регистры. И.Т.Д
Вот язык програмирования это очень похоже.
И канифоль не нюхать.
0
Windows must die
665 / 836 / 102
Регистрация: 23.11.2021
Сообщений: 4,861
Записей в блоге: 15
07.12.2023, 08:10
Вот как раз любимая сишечка чем хороша: можно и канифоль понюхать, разрабатывая под микроконтроллеры, а можно гигантские базы данных вертеть, адские числодробилки или просто веб-бэкенд...
Поэтому я уже 20 лет другими ЯП совершенно не интересуюсь: С использую абсолютно везде, кроме мелких скриптов на баше, чертового жабоскрипта в веб-мордах, да латеха в документации (странно было бы на С тексты верстать).

Что до Праты - крайне не советую. После классиков он совсем убог. Да и Богатырев намного круче!
0
35 / 24 / 11
Регистрация: 18.02.2021
Сообщений: 100
08.12.2023, 21:08
Прежде чем начинать изучать Си (который сейчас считается низкоуровневым - в том смысле что он ближе к железу) - можно ознакомиться с архитектурой ЭВМ и архитектурой операционных систем. А только после знакомства с этими вещами, после того как возникнет понимание как работает компьютер и почему все из нулей и единиц, тогда можно и Си начинать учить.
Вот есть на ютубе лекции, посвященные архитектуре ЭВМ и архитектуре ОС:
https://youtu.be/dVZrHGNGvb0?feature=shared
Есть и на английском:
https://youtu.be/So9SR3qpWsM?feature=shared
https://www.youtube.com/watch?v=XXPBl20J22w

Еще неплохо было бы научиться работать с консолью в Windows (если пользуетесь ей) или в Linux.
Лично для меня очень полезная книжка по Си - Д. Трой "Программирование на языке Си для персонального компьютера IBM PC". Правда там на устаревшем стандарте ANSI примеры кода изложены...
2
Заблокирован
08.12.2023, 21:31
Стивен Прата. Язык программирования C. Лекции и упражнения
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,898
12.12.2023, 03:00
Учите ветвления if - else.
Учите и учите. Ни когда до конца не выучите.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
short success{ 0 };
 
     if (m_iAudioSt_indx >= 0)
         if (av_write_trailer(out_aud_fmt_ctx) != 0) {
             std::cout << " Fucked av_write_trailer (AUDIO) " << std::endl; goto end_of_err;
         }else ++success;
     if (m_iVideoSt_indx >= 0)
         if (av_write_trailer(out_vid_fmt_ctx) != 0) {
             std::cout << " Fucked av_write_trailer (VIDEO) " << std::endl; goto end_of_err;
         }else ++success;
    
     if (success == 2)mux_audio_video(audio_patch, video_patch, out_filename);// Вызываем на микшинг
 
     PlaySound(L"C:\\Windows\\Media\\Windows Information Bar.wav", 0, SND_ASYNC);//<--звук windows
    // getchar();                       //      avformat_close_input(&in_fmt_ctx);// закрываеться в деструкторе класса
 end_of_err:
     /* close output */
     if (swr_ctx)swr_free(&swr_ctx);
     if (fifo)av_audio_fifo_free(fifo);
     if (enc_ctx)avcodec_close(enc_ctx);// Привинтил снова
     if (out_vid_fmt_ctx && !(out_vid_fmt_ctx->oformat->flags & AVFMT_NOFILE))avio_closep(&out_vid_fmt_ctx->pb);
     if (out_vid_fmt_ctx)avformat_free_context(out_vid_fmt_ctx);
     if (out_aud_fmt_ctx && !(out_aud_fmt_ctx->oformat->flags & AVFMT_NOFILE))avio_closep(&out_aud_fmt_ctx->pb);
     if (out_aud_fmt_ctx)avformat_free_context(out_aud_fmt_ctx);
 
     //av_freep(&stream_mapping);
     if (ret < 0 && ret != AVERROR_EOF)fprintf(stderr, "Error occurred: (function Video::Cutter_video) \n");
 
     if (success == 2) { 
         remove(video_patch);// Было микширование
         print_volume = true;
     } // удалить видеофайл из  фолдера
     else {
         if (m_iVideoSt_indx >=0)// Переименовать видео в клип
             if (rename(video_patch, out_filename) == 0)
                 print_volume = true;
             if (m_iAudioSt_indx >= 0)// Переименовать аудио в клип
                 if (rename(audio_patch, out_filename) == 0)
                     print_volume = true;
          }
     if (print_volume) {
         ifstream fin;
         fin.open(out_filename, ifstream::binary);
         fin.seekg(0, ios_base::end);
         ret_size = fin.tellg();// Размер полученного файла
         fin.seekg(0, ios_base::beg);
         fin.close();
     }
Закрываем файл. Аудио, видео, или аудио/видео.

Добавлено через 1 минуту
Цитата Сообщение от Наталья8 Посмотреть сообщение
Учите ветвления if - else.
Без разницы на каком языке програмирования.

Добавлено через 17 секунд
Цитата Сообщение от Наталья8 Посмотреть сообщение
Учите ветвления if - else.
Без разницы на каком языке програмирования.
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,898
12.12.2023, 17:13
Есть ещё циклы.
while; do-while; for;
Пиши что нибудь. Смотри на результат и радуйся.
0
Заблокирован
12.12.2023, 23:52
Цитата Сообщение от Наталья8 Посмотреть сообщение
Без разницы на каком языке програмирования.
Бросайте C++ и пееходите а brainfuck - разницы же нет никакой.
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,898
13.12.2023, 00:58
Мне разница есть. Вам нет.
0
Заблокирован
16.12.2023, 22:31
Цитата Сообщение от Наталья8 Посмотреть сообщение
Мне разница есть. Вам нет.
Ты же выше сказал, что разницы нет.
Не уставл флудить кодом из своей единственной программы? Так и будешь ее ее куски везде вставлять?
0
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
18.12.2023, 01:01
del

Добавлено через 7 минут
Ноунейм, но все кратко и понятно

1. Основы языка Си ........................................ ........................................ ...............................4
Алфавит языка ........................................ ........................................ ...............................4
Группы символов................................ ........................................ ...................................4
Лексемы................................. ........................................ ........................................ .........4
Комментарии............................. ........................................ ........................................ .....5
Типы и размеры данных ........................................ ........................................ ...............5
Константы ........................................ ........................................ ......................................7
Переменные.............................. ........................................ ........................................ ......9
Задачи ........................................ ........................................ ........................................ .9
2. Написание простых программ................................ ........................................ ................10
Организация обработки данных.................................. ........................................ .......10
Организация ввода/вывода ........................................ ........................................ .........11
Использование библиотечных функций ........................................ ...........................14
Задачи ........................................ ........................................ .......................................1 4
3. Операции в Си ........................................ ........................................ .................................16
Арифметические операции................................ ........................................ .................16
Операции отношений и логические операции................................ ..........................18
Условная операция ........................................ ........................................ ......................19
Побитовые операции................................ ........................................ ...........................19
Операции присваивания............................ ........................................ ..........................21
Прочие операции ........................................ ........................................ .........................22
Арифметические преобразования данных ........................................ ........................23
Приоритет и порядок выполнения операций в Си ........................................ ...........23
Задачи ........................................ ........................................ .......................................2 4
4. Управляющие операторы в языке Си. ........................................ ...................................26
Условный оператор if...................................... ........................................ ....................26
Оператор switch (переключатель) ........................................ ......................................29
Цикл for..................................... ........................................ ........................................ ....30
Цикл while ........................................ ........................................ ....................................32
Цикл do-while ........................................ ........................................ ...............................33
Вложенные циклы ........................................ ........................................ .......................33
Оператор break................................... ........................................ ..................................34
Оператор continue ........................................ ........................................ ........................35
Оператор goto.................................... ........................................ ...................................35
Задачи ........................................ ........................................ .......................................3 6
5. Препроцессор языка Си ........................................ ........................................ ..................39
Директива #include ........................................ ........................................ ......................39
Директива #define ........................................ ........................................ ........................40
Директива #undef.................................. ........................................ ...............................42
Директивы условной компиляции ........................................ .....................................42
Директива #ifdef. ........................................ ........................................ .........................42
Директива #ifndef. ........................................ ........................................ .......................43
Директива #if..................................... ........................................ ...................................43
Директива #error ........................................ ........................................ ..........................44
Директива #line ........................................ ........................................ ............................44
Директива #pragma ........................................ ........................................ ......................44
Операторы препроцессора # и ##...................................... ........................................ .44
Другие зарезервированные имена в препроцессоре ........................................ ........45
Задачи ........................................ ........................................ .......................................4 5
6. Массивы ........................................ ........................................ ........................................ ...46
Типовые задачи с массивами............................... ........................................ ...............47

Строки.................................. ........................................ ........................................ .........47
Двухмерные и n-мерные массивы................................. ........................................ .....49
Инициализация массивов................................ ........................................ ....................51
Задачи ........................................ ........................................ .......................................5 2
7. Функции ........................................ ........................................ ........................................ ...54
Оператор return ........................................ ........................................ ............................55
Прототип функции ........................................ ........................................ ......................55
Рекурсия ........................................ ........................................ .......................................5 6
Задачи ........................................ ........................................ .......................................5 7
8. Классы памяти ........................................ ........................................ .................................58
9. Указатели............................... ........................................ ........................................ ...........61
Операции с указателями ........................................ ........................................ .............61
Применение указателей ........................................ ........................................ ..............63
Массивы указателей ........................................ ........................................ ....................68
Указатели на функции................................. ........................................ ........................68
Задачи ........................................ ........................................ .......................................6 9
10. Собственные типы данных ........................................ ........................................ .............70
Структуры ........................................ ........................................ ....................................70
Битовые поля.................................... ........................................ ....................................72
Инициализация структур ........................................ ........................................ ............73
Объединения ........................................ ........................................ ................................73
Перечисления............................ ........................................ ........................................ ...74
Оператор typedef................................. ........................................ .................................75
Задачи ........................................ ........................................ .......................................7 6
11. Работа с файлами................................. ........................................ ....................................77
Открытие файла................................... ........................................ ................................77
Проверка наличия доступа. ........................................ ........................................ ........78
Работа с файлом.................................. ........................................ .................................78
Закрытие файла................................... ........................................ .................................80
Последовательный и произвольный доступ ........................................ .....................81
Другие функции работы с файлами................................. ........................................ ..81
Потоки и файлы ........................................ ........................................ ...........................82
Задачи ........................................ ........................................ .......................................8 3
0
 Аватар для Наталья8
519 / 369 / 66
Регистрация: 09.03.2016
Сообщений: 3,898
18.12.2023, 03:02
Меня, отличать си от плюсов, только на форуме научили....
А где вы взяли такое noname?
0
 Аватар для AlexProgramm
227 / 97 / 32
Регистрация: 01.10.2022
Сообщений: 696
Записей в блоге: 47
18.12.2023, 12:31
Наталья8, один хороший человечек дал (ноги растут из Бауманских курсов 'специалист")
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2023, 12:31
Помогаю со студенческими работами здесь

Как начать с 0 изучать язык СИ?
Привет всё, я студент второго курса(Программирование в компьютерных системах) Язучаем язык Си. Я такой человек, который быстро всё не...

C чего лучше начать изучать C++?
C недавнего времени решил начать изучать данный язык, но понятия не имею как и с чего начать. Так что прошу совета.

Хочу начать изучать java. С чего посоветуете начать, какие книги или какие-то советы есть?
Хочу начать изучать java. С чего посоветуете начать, какие книги или какие-то советы есть? Спасибо заранее

С чего начать изучать язык ассемблера?
В бедующем хочу попробовать написать ос(ну как же без этого?)))))) И писать не вирусные программки для винды 64. В прочем типичный...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru