Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Переменные. Основные типы данных. Форматный ввод-вывод
Любая программа, суть которой не есть вывод на экран некоторой текстовой информации, содержит описание переменных. Переменная - это пара “имя” - “значение”. Имени соответствует адрес участка памяти, выделенной переменной, а значением является содержимое этого участка. Именем переменной служит идентификатор. В С идентификатор - это последовательность из букв латинского алфавита, десятичных цифр и символов подчеркивания, начинающаяся не с цифры. Прописные и строчные буквы различаются. Примеры идентификаторов:
i, i2, i_2, stroka, STROKA, F_I_O
Каждая переменная и каждое выражение в программе имеет тип, определяющий операции, которые могут над ними производиться. Все типы языка С делят на основные и производные. Переменные типизируются с помощью описаний. Для описания переменных основных типов используют ключевые слова, содержащиеся в таблице 2. Описание переменных заданного типа имеет следующий формат:
тип имя1 [=иницал._выражение1], имя2 [=иницал._выражение2], …;
где тип– один из основных типов (таблица 2); имя – идентификатор; инициал._выражение – необязательный инициализатор, определяющий начальное значение соответствующего объекта. Таблица 2. Основные типы данных
К основному типу можно применять спецификатор const. Это дает тип, имеющий те же свойства, что и исходный тип, за исключением того, что значение переменных типа const не может изменяться после инициализации. Кроме типов, приведенных в таблице 2, к основным типам относят перечислимый тип enum и тип void (отсутствие значения) (подробнее – в лекциях). Из основных типов с помощью операций *, &, [], () и механизмов определения структурированных типов (классов, структур, объединений) можно конструировать множество производных типов, которые будут рассмотрены позднее. Для определения размера (в байтах) области памяти, выделяемой для переменной определенного типа, в С используется операция sizeof. Разрешены два формата операции:
sizeof выражение или sizeof (тип данных).
sizeoff не вычисляет значения выражения, а только определяет его тип, для которого затем вычисляется размер. Например, пусть определена переменная int i. Тогда операция sizeof(i) определит, сколько байт выделено для переменой i. Соотношение между основными типами можно записать так:
1==sizeof(char) < = sizeof(short) < = sizeof(int) < = sizeof(long) < =sizeof(float) < = sizeof(double) Для вывода информации используется функция printf(). Ее описание содержится в заголовочном файле stdio.h. При этом имеется возможность форматировать данные, то есть влиять на их представление на экране дисплея. Оператор вызова функции можно представить так:
printf(форматная_строка, список аргументов)
Форматная строка записывается в двойных кавычках и может включать произвольный текст, управляющие символы и форматные спецификаторы. Они предназначены для управления формой внешнего представления значений аргументов функции printf() и начинаются с символа %. В список аргументов включают объекты, значения которых должны быть выведены из программы. Это выражения, переменные, константы и функции. Количество аргументов и их типы должны соответствовать последовательности спецификаций преобразования в форматной строке. Список аргументов может отсутствовать. Например:
printf(“\nHello, world! \n”) //здесь нет аргументов, а в форматной //строке содержится два управляющих символа \n
Обобщенный формат форматного спецификатора:
%флажки ширина_поля.точность модификатор спецификатор
Здесь обязательными являются только два элемента – символ ’%’ и спецификатор. Ширина_поля –целое положительное число, определяющее длину (в позициях на экране) представления выводимого значения. Точность-целое положительное число, определяющее количество цифр в дробной части представления вещественного числа (с фиксированной точкой) или его мантиссы (при использовании представления с плавающей точкой) Модификаторы. Возможные значения: ‘-‘ – выравнивание выводимого значения по левому краю Модификатор ‘0’ – при использовании модификатора ширины поля пустые позиции слева от значения заполняются пробелами. Использование модификатора ‘0’ позволяет заменить их на нули. Модификатор ‘l’ позволяет вывести на экран значения типа long int и double Модификатор ‘h’ позволяет вывести на экран короткие значения (значения с модификатором short) Спецификаторы. В задачах будем использовать следующие спецификаторы: d- целое десятичное число (тип int) c-символ s-строка u- беззнаковое целое f- вещественное число с точностью до 6-го знака e- вещественное число в экспоненциальной форме с точностью до 6-го знака g-вещественное число (аналог f или e, но без лишних нулей в конце) Для ввода данных используется функция scanf(). Так же, как и для функции printf(), для функции scanf() указываются управляющая строка и следующий за ней список аргументов. Форматные команды, модификаторы и требования к списку аргументов, используемые для работы функции printf() остаются справедливыми и для scanf(), за исключением следующих отличий: 1. printf() работает с переменными, константами и выражениями, в то время как scanf() использует адреса переменных. Более подробно работа с адресами будет рассмотрена позднее. Важно запомнить два требования: · Если нужно ввести некоторое значение и присвоить его переменной одного из основных типов, то перед именем переменной требуется писать символ &. · Если требуется ввести значение строковой переменной, то использовать символ & не нужно. 2. Различия в форматных командах: · Не используется спецификатор %g. · Спецификаторы %f и %e работают абсолютно одинаково.
|