Мы используем cookie для стабильной работы сервиса. Подробнее

Добрый, добрый C/C++ с Сергеем Балакиревым

ФорматОнлайн
Объём11 занятий
О курсе

Подробнее

 Победитель конкурса Stepik Awards 2024. Зачем изучать язык C/C++? На мой взгляд, есть одна причина, по которой этот язык следует знать каждому хорошему программисту: C/C++ показывает всю поднаготную работы многих других языков программирования более высокого уровня, таких как Java, C#, PHP, Python и т.п. Конечно, помимо этого есть области, где язык C/C++ незаменим. Все они связаны с быстрыми вычислениями и контролем над железом (памятью, центральным и графическим процессорами, устройствами ввода/вывода информации и так далее). Например, это разработка операционных систем, игровых движков, интерпретаторов языков программирования (интерпретаторы Java, C#, Python сделаны на C/C++), веб-серверов (Apache, Ngingx), обучение нейронных сетей (сами алгоритмы обучения), программирование микроконтроллеров и многое другое. Поэтому, несмотря на свой возраст, C/C++ будет еще долго бередить неокрепшие души юных программистов. Целью этого курса стало создание структурированного, относительно полного, и достаточно глубокого материала по языку Си и его продолжению C++. Здесь вы изучите все базовые конструкции языка C/C++ и сможете писать свои первые программы среднего уровня (для более высокого необходимо знание ООП, шаблонов, библиотеки STL и некоторых других элементов). После успешного прохождения курса вы, следующим шагом, сможете уверенно перейти к объектно-ориентированному программированию (ООП) на C++, а также к изучению концепции обобщенного программирования - шаблонам. Желаю всем успешного изучения языка C/C++ во всей его полноте! Телеграм-канал: https://t.me/selfedu_sb Телеграм-чат: https://t.me/java_and_c Продолжение, курс "Добрый, добрый ООП C++": https://stepik.org/course/205781
Требования

Что нужно для старта

  • Знания школьной математики.
Результат

Что вы получите

  • Арифметическим и битовым операциям
  • Применению условных операторов и директив препроцессора
  • Использованию операторов циклов
  • Изучите указатели, массивы и строки
  • Узнаете о способах объявления и вызова различных функций
  • Познакомитесь с классами памяти, локальными и глобальными переменными
  • Узнаете о составных типах: структурах, объединениях, перечислениях
  • Научитесь применять файловые функции и в целом работе с файлами
  • Перейдете на уровень C++ и узнаете о его базовых "фишках"
Аудитория

Для кого этот курс

  • Посвящается всем желающим изучать основы программирования и алгоритмизации!
Содержание

Программа курса

11 занятий
ТемаЧто внутри
01Первое знакомство

- Язык Си. Первые шаги
- Этапы трансляции программы в машинный код. Стандарты
- Установка компилятора gcc и Visual Studio Code на ОС Windows
- Структура и понимание работы программы "Hello, World!"
- Двоичная, шестнадцатеричная и восьмеричная системы счисления

02Переменные и арифметические операции

- Переменные и их базовые типы. Модификаторы unsigned и signed
- Присваивание, числовые и символьные литералы, sizeof
- Потоки ввода/вывода. Функции putchar() и getchar()
- Функция printf() для форматированного вывода
- Функция scanf() для форматированного ввода
- Сложение, вычитание, умножение и деление
- Операции деления по модулю, инкремента и декремента
- Арифметические операции +=, -=, *=, /=, %=

03Условные операторы. Директивы препроцессора

- Булевый тип. Операции сравнения. Логические И, ИЛИ, НЕ
- Условный оператор if. Конструкция if-else
- Условное тернарное выражение
- Оператор switch. Ключевое слово break
- Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операции
- Генерация псевдослучайных чисел. Математическая библиотека
- Директивы макропроцессора #define и #undef
- Макросы. Операции # и ##
- Директивы #include и условной компиляции

04Операторы циклов. Указатели

- Оператор цикла while
- Оператор цикла for
- Цикл do-while с постусловием. Вложенные циклы
- Операторы break, continue и goto
- Указатели. Проще простого
- Приведение типов указателей. Константа NULL
- Долгожданная адресная арифметика

05Массивы и строки

- Введение в массивы
- Вычисление размера массива. Инициализация массивов
- Указатели на массивы
- Ключевое слово const с указателями и переменными
- Операции с массивами: копирование, вставка, удаление, сортировка
- Двумерные и многомерные массивы. Указатели на двумерные массивы
- Строки. Способы объявления, escape-последовательности
- Ввод/вывод строк в стандартные потоки
- Строковые функции strlen(), strcpy(), strncpy(), strcat()
- Строковые функции сравнения, поиска символов и фрагментов
- Строковые функции sprintf(), atoi(), atol(), atoll() и atof()

06Функции

- Объявление и вызов функций
- Оператор return. Вызов функций в аргументах
- Прототипы функций
- Указатели как параметры. Передача массивов в функции
- Указатели на функцию. Функция как параметр (callback)
- Стековый фрейм. Автоматические переменные
- Рекурсивные функции
- Функции с произвольным числом параметров

07Классы памяти. Составные типы

- Локальные и глобальные переменные
- Локальные переменные во вложенных блоках
- Ключевые слова static и extern
- Функции malloc(), free(), calloc(), realloc(), memcpy()
- Перечисления (enum). Директива typedef
- Структуры. Вложенные структуры
- Указатели на структуры. Передача структур в функции
- Реализация стека (пример использования структур)
- Объединения (union). Битовые поля

08Работа с файлами

- Файловые функции: fopen(), fclose(), fgetc(), fputc()
- Функции perror(), fseek() и ftell()
- Функции fputs(), fgets() и fprintf(), fscanf()
- Функции feof(), fflush(), setvbuf()
- Бинарный режим доступа. Функции fwrite() и fread()

09Движемся от Си к C++

- C++. Начало
- Первая программа на С++
- Ввод-вывод с помощью объектов cin и cout
- Пространства имен (namespace)
- Оператор using
- Новые типы данных. Приведение типов указателей
- Инициализация переменных. Ключевые слова auto и decltype
- Ссылки. Константные ссылки
- Объект-строка string. Операции с объектами класса string
- Файловые потоки. Открытие и закрытие файлов. Режимы доступа
- Чтение и запись данных в файл в текстовом режиме
- Чтение и запись данных в файл в бинарном режиме
- Перегрузка функций. Директива extern C
- Значения параметров функции по умолчанию
- inline-функции
- Лямбда-выражения. Объявление и вызов
- Захват внешних значений в лямбда выражениях

10Структуры в C++. Работа с памятью

- Структуры в С++, как обновленный тип данных
- Структуры. Режимы доступа. Сеттеры и геттеры
- Структуры. Конструкторы и деструкторы
- Операторы new / delete и new [] / delete []
- Особенности работы new и delete
- Smart-указатели типа unique_ptr
- Smart-указатели типа shared_ptr

11Что дальше?

- Варианты pet-проектов
- Что дальше?

01Первое знакомство

- Язык Си. Первые шаги
- Этапы трансляции программы в машинный код. Стандарты
- Установка компилятора gcc и Visual Studio Code на ОС Windows
- Структура и понимание работы программы "Hello, World!"
- Двоичная, шестнадцатеричная и восьмеричная системы счисления

02Переменные и арифметические операции

- Переменные и их базовые типы. Модификаторы unsigned и signed
- Присваивание, числовые и символьные литералы, sizeof
- Потоки ввода/вывода. Функции putchar() и getchar()
- Функция printf() для форматированного вывода
- Функция scanf() для форматированного ввода
- Сложение, вычитание, умножение и деление
- Операции деления по модулю, инкремента и декремента
- Арифметические операции +=, -=, *=, /=, %=

03Условные операторы. Директивы препроцессора

- Булевый тип. Операции сравнения. Логические И, ИЛИ, НЕ
- Условный оператор if. Конструкция if-else
- Условное тернарное выражение
- Оператор switch. Ключевое слово break
- Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операции
- Генерация псевдослучайных чисел. Математическая библиотека
- Директивы макропроцессора #define и #undef
- Макросы. Операции # и ##
- Директивы #include и условной компиляции

04Операторы циклов. Указатели

- Оператор цикла while
- Оператор цикла for
- Цикл do-while с постусловием. Вложенные циклы
- Операторы break, continue и goto
- Указатели. Проще простого
- Приведение типов указателей. Константа NULL
- Долгожданная адресная арифметика

05Массивы и строки

- Введение в массивы
- Вычисление размера массива. Инициализация массивов
- Указатели на массивы
- Ключевое слово const с указателями и переменными
- Операции с массивами: копирование, вставка, удаление, сортировка
- Двумерные и многомерные массивы. Указатели на двумерные массивы
- Строки. Способы объявления, escape-последовательности
- Ввод/вывод строк в стандартные потоки
- Строковые функции strlen(), strcpy(), strncpy(), strcat()
- Строковые функции сравнения, поиска символов и фрагментов
- Строковые функции sprintf(), atoi(), atol(), atoll() и atof()

06Функции

- Объявление и вызов функций
- Оператор return. Вызов функций в аргументах
- Прототипы функций
- Указатели как параметры. Передача массивов в функции
- Указатели на функцию. Функция как параметр (callback)
- Стековый фрейм. Автоматические переменные
- Рекурсивные функции
- Функции с произвольным числом параметров

07Классы памяти. Составные типы

- Локальные и глобальные переменные
- Локальные переменные во вложенных блоках
- Ключевые слова static и extern
- Функции malloc(), free(), calloc(), realloc(), memcpy()
- Перечисления (enum). Директива typedef
- Структуры. Вложенные структуры
- Указатели на структуры. Передача структур в функции
- Реализация стека (пример использования структур)
- Объединения (union). Битовые поля

08Работа с файлами

- Файловые функции: fopen(), fclose(), fgetc(), fputc()
- Функции perror(), fseek() и ftell()
- Функции fputs(), fgets() и fprintf(), fscanf()
- Функции feof(), fflush(), setvbuf()
- Бинарный режим доступа. Функции fwrite() и fread()

09Движемся от Си к C++

- C++. Начало
- Первая программа на С++
- Ввод-вывод с помощью объектов cin и cout
- Пространства имен (namespace)
- Оператор using
- Новые типы данных. Приведение типов указателей
- Инициализация переменных. Ключевые слова auto и decltype
- Ссылки. Константные ссылки
- Объект-строка string. Операции с объектами класса string
- Файловые потоки. Открытие и закрытие файлов. Режимы доступа
- Чтение и запись данных в файл в текстовом режиме
- Чтение и запись данных в файл в бинарном режиме
- Перегрузка функций. Директива extern C
- Значения параметров функции по умолчанию
- inline-функции
- Лямбда-выражения. Объявление и вызов
- Захват внешних значений в лямбда выражениях

10Структуры в C++. Работа с памятью

- Структуры в С++, как обновленный тип данных
- Структуры. Режимы доступа. Сеттеры и геттеры
- Структуры. Конструкторы и деструкторы
- Операторы new / delete и new [] / delete []
- Особенности работы new и delete
- Smart-указатели типа unique_ptr
- Smart-указатели типа shared_ptr

11Что дальше?

- Варианты pet-проектов
- Что дальше?

Организатор

Автор курса

StepikStepik
Stepik — образовательная платформа и конструктор онлайн-курсов. Мы разрабатываем алгоритмы адаптивного обучения, сотрудничаем с авторами MOOC, помогаем в проведении олимпиад и программ переподготовки. Наша цель — сделать образование открытым и удобным. Stepik — широко известная российская образовательная платформа, основанная в 2013 году. На Stepik зарегистрировано более миллиона пользователей из России и стран СНГ. В настоящее время на Stepik представлены несколько тысяч учебных курсов на самые разные темы.
Подробнее об авторе
Мнения учеников

Отзывы о курсе

Оставьте отзыв

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

Напишите ваш коментарий, не менее 30 символов

Нажимая кнопку, вы даете согласие на обработку персональных данных

Оставьте заявку

Консультант ответит на вопросы о курсе «Добрый, добрый C/C++ с Сергеем Балакиревым» и поможет разобраться в деталях обучения.

Комментарий ...

Нажимая кнопку, вы даете согласие на обработку персональных данных

Информация обновлена 3 сентября 2026 г.

Продолжить выбор

Похожие курсы

Библиотека Qt (С++ ). Уровень 1. Основы программирования
40 ак. ч. + 40 ак. ч. самостоятельно
Библиотека Qt (С++ ). Уровень 1. Основы программирования

Обучение проходит на QT 6 Qt – кроссплатформенная среда для разработки пользовательского интерфейса на языке C++, а также на других объектно-ориентированных языках. Qt Creator – и…

Онлайн10 занятий
50 350 ₽
C++ для разработки игр
3 сентября
C++ для разработки игр

Освой С++ на базовом уровне, создай свою первую игру уже через 2 месяца обучения, в дальнейшем сможешь применить эти знания для работы в Unreal Engine.

Онлайн4 занятий
Домашние заданияВидеоуроки+2
90 300 ₽Рассрочка на 12 мес.
Основы разработки на C++: белый пояс
Основы разработки на C++: белый пояс

Этот курс посвящён знакомству с языком программирования С++. Вы научитесь использовать его основные конструкции, создавать свои типы данных, разбивать программу на классы и функци…

Онлайн5 занятий
20 000 ₽
Основы C#
Основы C#

Курс несомненно подойдёт начинающим разработчикам, который хотят освоить современный и востребованный язык программирования. Курс мы начнём с изучения основ - встроенных в язык ти…

Онлайн10 занятий
3 999 ₽
Технология разработки программного обеспечения - переподготовка
−40%2 месяца
Технология разработки программного обеспечения - переподготовка

Курс профессиональной переподготовки «Технология разработки программного обеспечения» по всей России. ✓ Дистанционное обучение ✓ Получение диплома с бесплатной доставкой ✓ Цена 32…

Онлайн5 занятий
Текстовые уроки
54 980 ₽−40%
32 980 ₽
Python разработчик
6,5 месяца
Python разработчик

Веб-разработка на Python: Django, Django REST Framework, Flask. Работа с базами данных, ORM, создание API. Асинхронное программирование, FastAPI. Основы DevOps, контейнеризация, р…

ОнлайнНачальный
110 000 ₽от 6 111 ₽/мес на 18 мес.
Начать без затрат

Бесплатные курсы

Claude Code с нуля до реальных задач
Бесплатно1 месяц
Claude Code с нуля до реальных задач

Вы разовьёте аналитическое мышление, научитесь искать уязвимости и обеспечивать безопасность IT-систем. Освоите востребованную профессию даже с нулевым опытом в IT. Программа курс…

Онлайн
Бесплатноот 11 647 ₽/мес