- •Лекция 1 Создание консольного приложения
- •2. Консоль. Построение консольного проекта
- •3. Запуск приложения
- •4. Сохранение и редактирование проекта
- •Лекция 2
- •4. Функции форматированного ввода и вывода
- •4.1. Функция форматированного ввода с клавиатуры
- •4.2. Функция форматированного вывода на экран
- •5. Математические функции
- •Лекция 3 Линейные вычислительные процессы
- •1. Алгоритм. Управляющие структуры
- •2. Линейные вычислительные алгоритмы
- •2.1. Условный оператор if()
- •2.2. Условное выражение
- •2.3. Оператор выбора switch()
- •Лекция 5 Программирование разветвляющихся вычислительных процессов
- •Лекция 6 Циклические вычислительные процессы.
- •1. Типы циклов
- •3. Операторы безусловного перехода
- •Лекция 7 Вычисление последовательностей
- •4. Примеры вычисления последовательностей
- •5. Структура алгоритмов вычисления рекуррентных последовательностей
- •Лекция 8 Одномерные массивы
- •1. Массивы
- •1.1. Примеры программ обработки одномерных массивов
- •1.2. Сортировка выбором
- •1.3. Сортировка простыми вставками
- •Лекция 10 Двухмерные массивы
- •1. Двухмерные массивы
- •Лекция 11 Алгоритмы матричной алгебры
- •1. Алгоритмы матричной алгебры
- •Лекция 12 Динамические массивы
- •1. Память компьютера. Адресное пространство
- •2. Динамическая память
- •3. Адреса и указатели
- •4. Указатели и массивы. Динамические массивы
- •5. Проблемы, связанные с указателями
- •6. Поразрядные операции
- •1.2. Способы объявления и обращения к элементам двухмерных массивов
- •Лекция 14 Символы и строки
- •1. Символьный тип данных
- •2. Строки
- •Лекция 15 Структуры
- •1. Понятие структуры
- •2. Определение нового имени типа
- •3. Массивы структур. Указатели на структуры
- •3.1. Определение статического массива структур
- •3.1. Определение динамического массива из n структур
- •Лекция 16 Файлы
- •1. Потоковый ввод-вывод данных
- •3. Понятие файла. Функции работы с файлами
- •Лекция 17 Файлы
- •Лекция 18 Функции пользователя
- •I. Приёмы построения алгоритмов
- •2. Понятие функции
- •2.1. Определение функции
- •2.2. Область видимости переменных
- •2.3. Параметры функции
- •2.4. Описание функции
- •2.5. Организация вызова функции
- •2.5. Передача параметров в функцию
- •3. Рекурсия
- •Лекция 20 Нахождение приближенного значения корня нелинейного уравнения
- •На отрезке [a;b] с заданной точностью eps
- •1.1. Метод дихотомии (половинного деления)
- •1.2. Метод хорд
- •1.3. Метод касательных (Ньютона)
- •Лекция 22 Объектно-ориентированное программирование
- •Полиморфизм – это свойство класса, позволяющее определить одно и то же по имени, но разное по смыслу действие. Основные этапы ооп:
- •Уточнённое имя принадлежит классу (т.Е. Компонентной) функции
- •Лекция 23 Объектно-ориентированное программирование
- •1. Конструкторы и деструкторы
- •1.2. Определение компонентных функций
- •Лекция 25 Объектно-ориентированное программирование
- •1. Свойства классов
- •1.1. Наследование классов
- •1.2. Полиморфизм
- •Библиографический список
4. Функции форматированного ввода и вывода
При разработке вычислительных алгоритмов не обойтись без функций ввода-вывода информации. В языке С++ предусмотрены функции форматированного ввода-вывода и потоковые функции форматированного ввода-вывода. Для использования в программе функций форматированного ввода-вывода необходимо подключить головной файл stdio.h. Потоковые функции в этом разделе рассматривать не будем.
4.1. Функция форматированного ввода с клавиатуры
Для форматированного ввода информации с клавиатуры в оперативную память используется функция scanf(). Структура функции:
scanf(<формат_ввода>, <адрес_переменной_в_ОП>);
Функция scanf() осуществляет чтение символов, вводимых с клавиатуры, в формате, указанном в скобках, и записывает полученное значение в ячейку ОП, адрес которой указан как второй аргумент функции ввода. <Формат_ввода> – строка, заключенная в кавычки. Эта строка может состоять их двух или трех символов и должна начинаться с символа %, за которым следует символ, определяющий, какого типа данные будут считываться с клавиатуры. Некоторые форматы:
Формат ввода |
Тип данных |
%i или %d |
Целое число (int) |
%f |
Вещественное число (float) |
%u |
Целое число без знака (unsigned int) |
%ld |
Длинное целое (long int) |
%c |
Символ |
%s |
Строка |
Вторым аргументом функции ввода является адрес переменной, в которую записывается вводимое с клавиатуры значение. Для определения адреса переменной пользуются операцией & – получения адреса переменной в ОП.
Таким образом, оператор
scanf(“%i” , &V);
запишет целочисленное значение, введенное с клавиатуры, в оперативную память по адресу переменной V. При этом надо строго следить за тем, чтобы формат ввода и тип переменной точно соответствовали друг другу.
4.2. Функция форматированного вывода на экран
Для форматированного вывода информации на экран используется функция printf(). Структура функции:
printf(<форматная_строка>,<список_выводимых_переменных>);
<Форматная_строка> – строка, заключенная в кавычки. Она может включать в себя произвольный текст, управляющие символы и формат вывода. Текст форматной строки будет выводиться на экран, управляющие символы влияют на расположение выводимых на экран символов, а формат вывода позволяет выводить на экран значения переменных того или иного типа данных.
Наиболее часто используемые управляющие символы:
-
Управляющий символ
Смысл
\n
Перевод строки
\t
Горизонтальная табуляция
\a
Сигнал–звонок
Некоторые форматы вывода:
Формат вывода |
Тип данных |
%i или %d |
Целое число |
%f |
Вещественное число |
%u |
Целое число без знака |
%c |
Символ |
%s |
Строка |
К формату вывода могут быть добавлены числовые параметры: ширина поля и точность. Ширина поля – количество позиций, отводимых для вывода переменной на экране, точность – количество позиций, отводимых под дробную часть.
Таким образом, оператор
printf(“Значение переменной V=%i\n” , V);
выведет следующий текст на экран, если значение переменной V равно 10:
Значение переменной V=10
При выводе форматной строки “Значение переменной V=%i\n” на экран монитора вместо %i будет выведено значение переменной V. При этом необходимо следить за тем, чтобы формат вывода и тип выводимой переменной точно соответствовали друг другу.