Содержание курса
Язык программирования Си. Академический курс
184 урока
1.
Уровни организации компьютера
↗
2.
Транзисторы, bit, byte, word, dword, qword
↗
3.
Операции над байтами. Центральный Процессор и булева алгебра
↗
4.
Числа. Системы счисления
↗
5.
Адрес ячейки памяти. Память компьютера
↗
6.
Представление чисел в различных системах счисления
↗
7.
Представление целого числа в двоичной системе. Часть_1
↗
8.
Представление целого числа в двоичной системе. Часть_2
↗
9.
Представление чисел с плавающей точкой в двоичной системе
↗
10.
Представление символов ASCII, Windows125x, Unicode.
↗
11.
LSB, MSB, Big Endian, Little Endian
↗
12.
Программы
↗
13.
Машинный код
↗
14.
Трансляторы
↗
15.
Ассемблер
↗
16.
Языки программирования высокого и низкого уровня
↗
17.
Зависимость языков программирования от операционной системы
↗
18.
Компилятор
↗
19.
Интерпретируемые языки и языки со смешанными типами трансляторов
↗
20.
Сравнения языков программирования
↗
21.
История языков программирования
↗
22.
Язык Си история. Этапы развития
↗
23.
Подготовка к работе. Установка компиляторов и IDE
↗
24.
Первая программа на языке Си. Команды CMD
↗
25.
Команды компилятора GCC. Часть 1
↗
26.
Команды компилятора GCC. Часть 2
↗
27.
Этапы написания и построение программы
↗
28.
Настройка Visual Studio, CodeBlock, DevC
↗
29.
Простейшая программа и необходимые навыки программиста
↗
30.
Продвинутые структуры данных
↗
31.
Базовая структура программы на языке Си
↗
32.
Комментарии и ошибки
↗
33.
Tokens (лексемы). Часть 1
↗
34.
Tokens (лексемы). Часть 2
↗
35.
Ключевые слова. Имена переменных
↗
36.
Целочисленные типы
↗
37.
Дополнительные типы
↗
38.
Типы с плавающей точкой
↗
39.
Printf функция
↗
40.
Встроенные типы
↗
41.
Сhar. Int. Printf. Часть 1
↗
42.
Сhar. Int. Printf. Часть 2
↗
43.
Сhar. Int. Printf. Часть 3
↗
44.
Сhar. Int. Printf. Часть 4
↗
45.
Сhar. Int. Printf. Часть 5
↗
46.
Float. Double
↗
47.
Константы (введение)
↗
48.
Численные литералы
↗
49.
Символьные литералы. Операторы sizeof и typedef. Часть 1
↗
50.
Символьные литералы. Операторы sizeof и typedef. Часть 2
↗
51.
Строковые литералы
↗
52.
Специальные символы и операторы языка Си: обзор
↗
53.
Операторы, операнды, операции, lvalue, rvalue
↗
54.
Приоритет и ассоциативность
↗
55.
Порядок вычисления операндов
↗
56.
Операторы языка Си
↗
57.
Операторы языка Си (практическое занятие). Часть 1
↗
58.
Операторы языка Си (практическое занятие). Часть 2
↗
59.
Операторы языка Си (практическое занятие). Часть 3
↗
60.
Операторы языка Си (практическое занятие). Часть 4
↗
61.
Операторы языка Си (практическое занятие). Часть 5
↗
62.
Операторы языка Си (практическое занятие). Часть 6
↗
63.
Преобразование типов
↗
64.
Логические операторы. Часть 1
↗
65.
Логические операторы. Часть 2
↗
66.
Битовые операторы. Часть 1
↗
67.
Битовые операторы. Часть 2
↗
68.
Битовые операторы. Часть 3
↗
69.
Битовые операторы. Часть 4
↗
70.
Условные операторы if else
↗
71.
Условные операторы switch
↗
72.
Условные операторы if else практическое занятие.Часть 1
↗
73.
Условные операторы if else практическое занятие.Часть 2
↗
74.
If switch bonus
↗
75.
Условные операторы - тернарный оператор
↗
76.
Операторы циклов while, do while
↗
77.
Операторы циклов - for
↗
78.
For, while bonus
↗
79.
Операторы циклов. Практическая часть. Часть 1
↗
80.
Операторы циклов. Практическая часть. Часть 2
↗
81.
Операторы передачи управления: break, continue, return, goto.Ч-1
↗
82.
Операторы передачи управления: break, continue, return, goto.Ч-2
↗
83.
enum (перечисления)
↗
84.
Оператор взятия адреса - addressOf
↗
85.
Адрес переменной
↗
86.
Указатели, теория
↗
87.
Разыменование указателей
↗
88.
Указатели на указатели
↗
89.
Указатели, практическое занятие. Часть 1
↗
90.
Указатели, практическое занятие. Часть 2
↗
91.
Указатель на void
↗
92.
Одномерные Массивы (1D массив) в памяти
↗
93.
Создание и инициализация одномерных (1D) массивов
↗
94.
Работа с одномерными (1D) массивами
↗
95.
Одномерные (1D) массивы, практическая часть
↗
96.
Указатели и массивы
↗
97.
Операции над указателями. Часть 1
↗
98.
Операции над указателями. Часть 2
↗
99.
Указатели и одномерные массивы
↗
100.
Двумерные массивы (2D)
↗
101.
Трёхмерные массивы (3D)
↗
102.
2D и 3D массивы. Практическая часть
↗
103.
Указатели на массивы (1D)
↗
104.
Указатели и составные литералы
↗
105.
Указатели на двумерные массивы и одномерные массивы
↗
106.
Примеры работы с многомерными массивами
↗
107.
Массивы указателей
↗
108.
Массив символов
↗
109.
Указатели и строки
↗
110.
Квалификатор const и указатели
↗
111.
Операторы sizeof и typedef
↗
112.
Функции в зыке Си
↗
113.
Функции: объявление, определение, вызов. Часть 1
↗
114.
Функции: объявление, определение, вызов. Часть 2
↗
115.
Функции: передача аргументов в функцию. Часть 1
↗
116.
Функции: передача аргументов в функцию. Часть 2
↗
117.
Функции: передача аргументов в функцию. Часть 3
↗
118.
Функция "main"
↗
119.
Ключевые слова: inline и _Noreturn
↗
120.
Рекурсия
↗
121.
ПРЕПРОЦЕССОР
↗
122.
ПРЕПРОЦЕССОР: директива include
↗
123.
ПРЕПРОЦЕССОР: define, undef, macro
↗
124.
ПРЕПРОЦЕССОР: предопределённые макросы
↗
125.
ПРЕПРОЦЕССОР: макро функции
↗
126.
ПРЕПРОЦЕССОР: if, ifdef, ifndef, else, endif
↗
127.
ПРЕПРОЦЕССОР: line, error, warning
↗
128.
ПРЕПРОЦЕССОР: pragma
↗
129.
ПРЕПРОЦЕССОР: операторы. Часть 1
↗
130.
ПРЕПРОЦЕССОР: операторы. Часть 2
↗
131.
Вариативные функции
↗
132.
Указатели на функции
↗
133.
Указатели на функции как параметр функ. и как возвращаемое знач.
↗
134.
Массивы указателей на функции
↗
135.
Массивы как аргументы функций
↗
136.
Объявление, определение, глобальные и локальные переменные. Ч-1
↗
137.
Объявление, определение, глобальные и локальные переменные. Ч-2
↗
138.
Объявление, определение, глобальные и локальные переменные. Ч-3
↗
139.
Объявление, определение, глобальные и локальные переменные. Ч-4
↗
140.
Объявление, определение, глобальные и локальные переменные. Ч-5
↗
141.
Обл.действ(scope),linkage,storage,register,auto,extern,static.Ч1
↗
142.
Обл.действ(scope),linkage,storage,register,auto,extern,static.Ч2
↗
143.
Обл.действ(scope),linkage,storage,register,auto,extern,static.Ч3
↗
144.
Обл.действ(scope),linkage,storage,register,auto,extern,static.Ч4
↗
145.
Обл.действ(scope),linkage,storage,register,auto,extern,static.Ч5
↗
146.
extern, static итоговое занятие
↗
147.
Организация памяти. Часть 1
↗
148.
Организация памяти. Часть 2
↗
149.
Динамическое выделение памяти. Часть 1
↗
150.
Динамическое выделение памяти. Часть 2
↗
151.
Динамическое выделение памяти. Часть 3
↗
152.
Динамическое выделение памяти. Часть 4
↗
153.
Динамическое выделение памяти. Часть 5
↗
154.
Ошибки при работе с указателями. Часть 1
↗
155.
Ошибки при работе с указателями. Часть 2
↗
156.
Массивы переменной длины (VLA)
↗
157.
Динамические одномерные и многомерные массивы. Часть 1
↗
158.
Динамические одномерные и многомерные массивы. Часть 2
↗
159.
Динамические одномерные и многомерные массивы. Часть 3
↗
160.
_Generic
↗
161.
Структуры создание и инициализация. Часть 1
↗
162.
Структуры создание и инициализация. Часть 2
↗
163.
Структуры создание и инициализация. Часть 3
↗
164.
Организация структур в памяти. Часть 1
↗
165.
Организация структур в памяти. Часть 2
↗
166.
Организация структур в памяти. Часть 3
↗
167.
Анонимные структуры и оператор typedef
↗
168.
Вложенные и встроенные структуры
↗
169.
Структуры и спецификаторы static extern и квалификатор const
↗
170.
Динамическое выделение памяти под структуры. Часть 1
↗
171.
Динамическое выделение памяти под структуры. Часть 2
↗
172.
Динамическое выделение памяти под структуры. Часть 3
↗
173.
Массивы структур
↗
174.
Копирование структур. Часть 1
↗
175.
Копирование структур. Часть 2
↗
176.
Структуры и функции. Часть 1
↗
177.
Структуры и функции. Часть 2
↗
178.
Структуры и функции. Часть 3
↗
179.
Объединения - union
↗
180.
Битовые поля. Часть 1
↗
181.
Битовые поля. Часть 2
↗
182.
Битовые поля. Часть 3
↗
183.
Битовые поля. Часть 4
↗
184.
Квалификаторы типов: const, restrict, volatile, _Atomic
↗
Практические задания
1 урок
1.
Контрольные вопросы
↗