- •Занятие 1.Выбор среды программирования. Первая программа!
- •Резюме урока:
- •Задание для практической работы .
- •Занятие 2.Стандартные типы данных. Переменные. Основы ввода и вывода данных.
- •Стандартные функции ввода/вывода данных языка Си.
- •Резюме урока:
- •Задание для практической работы.
- •Переменные и типы данных.
- •Как объявить переменную?
- •Проверь себя:
- •Проверь себя:
- •Как сохранить что-то в перменной?
- •Домашнее Задание
- •Занятие 3. Ввод и вывод данных. Справочники функций.
- •Символьный ввод и вывод данных.
- •Функция putchar.
- •Функции форматного ввода и вывода данных printf и scanf.
- •Спецификаторы формата:
- •Модификаторы формата
- •Управляющие последовательности
- •Резюме урока:
- •Задание для практической работы:
- •Занятие 4. Арифметические выражения и стандартные математические функции. Приоритет операций. Инкремент. Декремент.
- •Оператор присваивания. Арифметические выражения.
- •Операторы инкремента и декримента.
- •Сокращенный вид записи арифметических выражений.
- •Стандартная бибиотека математических функций math.H.
- •Приоритет операций.
- •Резюме урока:
- •Задание для практической работы
- •Занятие 5.Управляющая конструкция if-else. Логические операторы и выражения.
- •Операторы соотношений и логические выражения.
- •Управляющая конструкция if - else.
- •Логические операторы. Сложные условия.
- •Приоритет логических операций.
- •Задание для практической работы:
- •Занятие 6. Оператор множественного выбора switch.
- •Инструкция switch.
- •Резюме урока:
- •Задание для практической работы:
- •Занятие 7.Циклические конструкции. Цикл со счетчиком for.
- •Циклическая конструкция for. (Цикл for)
- •Первое выражение - инициализация счетчика.
- •Второе выражение - условие.
- •Третье выражение - изменение счетчика.
- •Занятие 8.Оформление кода программы на Си.Уроки программирования для чайников.Язык Си.
- •Имена и способы описания переменных.
- •Оформление логических блоков и запись лесенкой.
- •Оформление арифметических выражений и сложных условий.
- •Использование комментариев.
- •Резюме урока:
- •Занятие 9.Циклические конструкции. Циклы while и do-while.
- •Цикл while.
- •Цикл do-while.
- •Зацикливание.
- •Задание для практической работы.
- •Занятие 10. Функции определяемые пользователем.
- •Как задать функцию.
- •Заголовок функции.
- •Тело функции.
- •Резюме урока:
- •Задание для практической работы.
- •Занятие 11. Одномерные массивы.
- •Резюме урока:
- •Задание для практической работы:
- •Занятие 12. Простейшие алгоритмы для работы с одномерными массивами.
- •Поиск минимального элемента в массиве.
- •Сортировка массива.
- •Задание для практической работы.
- •Занятие 13. Азы работы с файлами и потоками. Случайные числа.
- •Занятие 14. Строки и символьные массивы в языке Си.
- •Объявление и инициализация строк.
- •Ввод и вывод строк.
- •Функция gets().
- •Функция fgets().
- •Функции puts(), fputs().
- •Задания для самостоятельной практической работы.
- •Урок 15. Некоторые стандартные функции работы со строками.
- •Функция strlen().
- •Функции сравнения строк.
- •Функции изменения регистра строки.
- •Функции объединения строк.
- •Занятие 16. Указатели.
- •Перевод числа из шестнадцатеричной системы счисления в десятичную.
- •Перевод числа из десятичной в шестнадцатеричную систему счисления.
- •Переменные и их адреса.
- •Указатели.
- •Объявление указателя.
- •Присвоение указателю адреса.
- •Получение значения переменной.
- •Урок 17. Создание динамического массива. Указатели и практическое применение.
- •Занятие 18. Передача одномерных массивов в функцию. Возвращение массива из функции.
- •Первый случай. Передача в функцию статического массива.
- •Второй случай. Передача в функцию динамического массива.
- •Задание для практической работы:
- •Занятие 18. Передача одномерных массивов в функцию. Возвращение массива из функции.
- •Первый случай. Передача в функцию статического массива.
- •Второй случай. Передача в функцию динамического массива.
- •Задание для практической работы:
- •Занятие 19. Двумерные массивы.
- •Что такое двумерный массив?
- •Как работать с двумерным массивом?
- •Как работать с отдельным элементом массива.
- •Зачем нужны двумерные массивы?
- •Практическое задание.
- •Занятие №20. Некоторые особенности цикла for. Оператор последовательного вычисления.
- •I присвоить 0;
- •Занятие 21. Заголовочные файлы.
- •Как создать заголовочный файл.
- •Как поделиться своей программой с друзьями.
- •Практическое задание.
- •Дополнительные материалы к уроку.
- •Занятие 22. Препроцессор. Директивы препроцессора.
- •Чем занимается препроцессор?
- •Как работает препроцессор?
- •Как посмотреть код программы, после обработки препроцессором.
- •Урок 23. Структуры в языке Си.
- •Int book_date[100]; // дата издания
- •Int book_pages[100]; // количество страниц
- •Что такое структура.
- •Int date; // дата издания
- •Int pages; // количество страниц
- •Как объявить структурную переменную (структуру).
- •Как инициализировать структуру.
- •Как обращаться к полям структуры.
- •Практическое задание:
- •Автор||Название||Год издания||Прочитано||Количество страниц||Стоимость
Как объявить переменную?
Рис.3. Общий синтаксис объявления переменной.
Сначала мы указываем тип данных, которые собираемся хранить в переменной, а потом записываем её имя. Ну и не забываем про точку с запятой.
int z; // переменная z целого типа
char w; // переменная w символьного типа
Проверь себя:
Запишите, как будет выглядеть объявление переменной вещественного типа с именем f
В качестве имени переменной может выступать любая последовательность символов, цифр и знака нижнего подчеркивания _, которая начинается с буквы.
Правильные имена переменных |
Неправильные имена переменных |
Peremennaya, flag, f3, var4, KolichestvoBukv, fd4s, FLaG, key_number |
2num – начинается с цифры num flat – содержит пробел в имени nomer-telefona – содержит дефис |
Проверь себя:
Отметьте правильные имена переменных:
Начало формы
name 0simvol m4 I k |
num-blade key_pressed determinant summa2 summa_a_b imya peremennoi |
Конец формы
В языке программирования Си регистр букв очень важен. Например, переменные с именами flag, FLAG, FlAg, fLAg это различные переменные.
Можно считать, что при объявлении мы говорим компилятору, чтобы он выделил под переменную место в памяти компьютера, и связал это место в памяти определенным именем. Эту мысль можно проиллюстрировать следующим рисунком.
Рис.4.Объявление переменной.
В одном объявлении можно сразу объявить несколько переменных.
int a,c; //переменные a и c целого типа
После того как переменная объявлена её можно использовать в своей программе.
Как сохранить что-то в перменной?
Чтобы сохранить значение в переменной используют оператор присвоения (=). Обычно в таких случаях говорят не сохраним значение в переменную, а присвоим переменной какое-то значение.
int z; // объявляем переменную z целого типа
char w; // объявляем переменную w символьного типа
z = 5; // присваиваем переменной z значение 5.
Теперь в переменой z записано число 5. И наш рисунок выше можно перерисовать следующим образом.
Рис.5. Инициализация переменной.
Возникает вопрос, а что же тогда хранится в переменной w?
Пока переменной не присвоено какое-нибудь значение, в ней хранится «мусор», т.е. непонятно что.
Как может выглядеть этот «мусор», мы еще посмотрим в следующем уроке.
Переменным можно присвоить значения прямо во время объявления, например, так:
int a = 4; // объявляем переменную a целого типа
// и сохраняем в ней значение 4
float b = 5.4 , c = 3.1; //объявляем две вещественные переменные b и c
// и сохраняем в них значении 5.4 и 3.1 соответственно
char d = 'k'; //объявляем символьную переменную с именем d
// и сохраняем в ней символ k
Хотелось бы сказать, что представленные здесь иллюстрирующие рисунки достаточно условны. Так, например, в памяти компьютера, как известно, все хранится в виде нулей и единичек, а в последнем рисунке я записал туда пятерку. Естественно, там хранится не совсем число 5, а его представление в двоичной системе счисления - 101. Но так как эти уроки рассчитаны для новичков и основная наша задача понять суть происходящего, то я считаю, что ничего страшного в таких умышленных допущениях нет. К тому же с большинством из них вы сможете разобраться, если ознакомитесь со второй часть моего курса, посвященной более детальному изучению основ программирования и языка Си.

number