C++ возврат значений

Готовые макросы в VBA Excel, Миронов

Готовые макросы в VBA Excel, Миронов.

Код в стандартном модуле
Sub FastChangeNumberFormat()
Dim bar As CommandBar
Dim button As CommandBarButton

Проверка наличия файла по указанному пути_1.
Sub VerifyFileLocation()
Dim strFileName As String
Dim strFileTitle As String
‘Имя и путь искомого файла
strFileTitle = «primer.xls»
strFileName = «C:\Документы\primer.xls»
‘Проверка наличия файла (функция Dir возвращает пустую _
строку, если по указанному пути файл обнаружить не удалось)
If Dir(strFileName) <> «» Then
MsgBox «Файл » & strFileTitle & » найден»
Else
MsgBox «Файл » & strFileTitle & » не найден»
End If
End Sub

Ограничение
Глава 1. Макросы 8
Запуск макроса с поиском ячейки 8
Запуск макроса при открытии книги 8
Запуск макроса при вводе в ячейку «2» 8
Запуск макроса при нажатии «Ентер» 9
Добавить в панель свою вкладку «Надстройки» (Формат ячейки) 9
Глава 2. Работа с файлами (т.е.обмен данными с ТХТ, RTF, XLS и т.д.) 11
Проверка наличия файла по указанному пути_1 11
Проверка наличия файла по указанному пути_2 11
Проверка наличия файла по указанному пути_3 11
Поиск нужного файла_1 12
Поиск нужного файла_2 12
Поиск нужного файла_3 13
Поиск нужного файла_4 13
Автоматизация удаления файлов 13
Произвольный текст в строке состояния 14
Восстановление строки состояния 14
Бегущая строка в строке состояния 14
Быстрое изменение заголовка окна 14
Быстрое изменение заголовка окна_2 14
Изменение заголовка окна (со скрытием названия файла) 14
Возврат к первоначальному заголовку 15
Что открыто в данный момент 15
Работа с текстовыми файлами 15
Запись и чтение текстового файла 15
Обработка нескольких текстовых файлов 16
Определение конца строки текстового файла 17
Копирование из текстового файла в эксель 18
Копирование содержимого в текстовый файл_1 18
Копирование содержимого в текстовый файл_2 18
Экспорт данных в txt 18
Экспорт данных в html 20
Импорт данных, для которых нужно более 256 столбцов 22
Создание резервных копий ценных файлов 25
Подсчет количества открытий файла 25
Вывод пути к файлу в активную ячейку 26
Копирование содержимого файла RTF в эксель 26
Копирование данных из закрытой книги 27
Извлечение данных из закрытого файла 27
Поиск слова в файлах 28
Создание текстового файла и ввод текста в файл 29
Создание текстового файла и ввод текста (определение конца файла) 30
Создание документов Word на основе таблицы Excel 30
Команды создания и удаления каталогов 32
Получение текущего каталога 32
Смена каталога 32
Посмотреть все файлы в каталоге_1 32
Посмотреть все файлы в каталоге_2 33
Посмотреть все файлы в каталоге_3 35
Глава 3. Рабочая область Microsoft Excel 37
Рабочая книга 37
Количество имен рабочей книги 37
Защита рабочей книги 37
Запрет печати книги 38
Открытие книги (или текстовых файлов) 38
Открытие книги и добавление в ячейку А1 текста 38
Сколько книг открыто 38
Закрытие всех книг 39
Закрытие рабочей книги только при выполнении условия 39
Сохранение рабочей книги с именем, представляющим собой текущую дату 39
Сохранена ли рабочая книга 39
Создать книгу с одним листом 39
Создать книгу 39
Удаление ненужных имен 40
Быстрое размножение рабочей книги 40
Сортировка листов 40
Поиск максимального значения на всех листах книги 42
Рабочий лист 43
Проверка наличия защиты рабочего листа 43
Список отсортированных листов 43
Создать новый лист_1 45
Создать новый лист_2 45
Удаление листов в зависимости от даты 45
Копирование листа в книге 46
Копирование листа в новую книгу (создается) 46
Перемещение листа в книге 46
Перемещение нескольких листов в новую книгу 46
Заменить существующий файл 46
«Перелистывание» книги 46
Вставка колонтитула с именем книги, листа и текущей датой 47
Существует ли лист 47
Существует ли лист_2 47
Вывод количества листов в активной книге 48
Вывод количества листов в активной книге в виде гиперссылок 48
Вывод имен активных листов по очереди 48
Вывод имени и номеров листов текущей книги 48
Сделать лист невидимым 49
Сколько страниц на всех листах? 49
Ячейка и диапазон (столбцы и строки) 49
Копирование строк на другой лист 49
Копирование столбцов на другой лист 49
Подсчет количества ячеек, содержащих указанные значения_1 50
Подсчет количества ячеек в диапазоне, содержащих указанные значения_2 50
Подсчет количества видимых ячеек в диапазоне 51
Определение количества ячеек в диапазоне и суммы их значений 51
Подсчет количества ячеек 51
Автоматический пересчет данных таблицы при изменении ее значений 51
Ввод данных в ячейки 53
Ввод данных с использованием формул 53
Последовательный ввод данных 53
Ввод текстоввых данных в ячейки 53
Вывод в ячейки названия книги, листа и количества листов 54
Удаление пустых строк_1 54
Удаление пустых строк_2 54
Удаление пустых строк_3 55
Удаление строки по условию 55
Удаление скрытых строк 56
Удаление используемых скрытых строк или строк с нулевой высотой 56
Удаление дубликатов по маске 56
Выделение диапазона над текущей ячейкой 57
Выделение диапазона над текущей ячейкой_2 57
Выделить ячейку и поместить туда число 58
Выделение отрицательных значений 58
Выделение диапазона и использование абсолютных адресов 58
Выделение ячеек через интервал_1 59
Выделение ячеек через интервал_2 59
Выделение нескольких диапазонов 60
Движение по ячейкам 60
Поиск ближайшей пустой ячейки столбца 61
Поиск максимального значения 61
Поиск и замена по шаблону 61
Поиск значения с отображением результата в отдельном окне 62
Поиск с выделением найденных данных_1 62
Поиск с выделением найденных данных_2 62
Поиск по условию в диапазоне 63
Поиск последней непустой ячейки диапазона 64
Поиск последней непустой ячейки столбца 64
Поиск последней непустой ячейки строки 64
Поиск ячейки синего цвета в диапазоне 65
Поиск отрицательного значения в диапазоне и выделения синим цветом 65
Поиск наличия значения в столбце 65
Поиск совпадений в диапазоне 66
Поиск ячейки в диапазоне_1 67
Поиск ячейки в диапазоне_2 67
Поиск приближенного значения в диапазоне 67
Поиск начала и окончания диапазона, содержащего данные 68
Поиск начала данных 68
Автоматическая замена значений 68
Быстрое заполнение диапазона (массив) 69
Заполнение через интервал(массив) 69
Заполнение указанного диапазона(массив) 70
Заполнение диапазона(массив) 70
Расчет суммы первых значений диапазона 71
Размещение в ячейке электронных часов 72
«Будильник» 72
Оформление верхней и нижней границ диапазона 72
Адрес активной ячейки 73
Координаты активной ячейки 73
Формула активной ячейки 73
Получение из ячейки формулы 73
Тип данных ячейки 73
Вывод адреса конца диапазона 74
Получение информации о выделенном диапазоне 74
Взять слово с 13 символа в ячейке 76
Создание изменяемого списка (таблица) 77
Проверка на пустое значение 77
Пересечение ячеек 77
Умножение выделенного диапазона на 2 77
Одновременное умножение всех данных диапазона 78
Деление диапазона на 100 78
Возведение каждой ячейки диапазона в квадрат 78
Суммирование данных только видимых ячеек 78
Сумма ячеек с числовыми значениями 79
При суммировании — курсор внутри диапазона 79
Начисление процентов в зависимости от суммы_1 80
Начисление процентов в зависимости от суммы_2 80
Начисление процентов в зависимости от суммы_3 81
Сводный пример расчета комиссионного вознаграждения 81
Движение по диапазону 83
Сдвиг от выделенной ячейки 83
Перебор ячеек вниз по колонне 83
Создание заливки диапазона 84
Подбор параметра ячейки 84
Разбиение диапазона 84
Объединение данных диапазона 85
Объединение данных диапазона_2 85
Узнать максимальную колонку или строку. 86
Ограничение возможных значений диапазона 86
Тестирование скорости чтения и записи диапазонов 88
Открыть MsgBox при выборе ячейки 89
Скрытие строки 89
Скрытие нескольких строк 89
Скрытие столбца 89
Скрытие нескольких столбцов 89
Скрытие строки по имени ячейки 89
Скрытие нескольких строк по адресам ячеек 89
Скрытие столбца по имени ячейки 89
Скрытие нескольких столбцов по адресам ячеек 90
Мигание ячейки 90
Глава 4. Работа с примечаниями 91
Вывод на экран всех примечаний рабочего листа 91
Функция извлечения комментария 91
Список примечаний защищенных листов 91
Перечень примечаний в отдельном списке_1 92
Перечень примечаний в отдельном списке_2 93
Перечень примечаний в отдельном списке_3 93
Подсчет количества примечаний_1 94
Подсчет количества примечаний_2 95
Подсчет примечаний_3 95
Выделение ячеек с примечаниями 95
Отображение всех примечаний 95
Изменение цвета примечаний 96
Добавление примечаний 96
Добавление примечаний в диапазон по условию 96
Перенос комментария в ячейку и обратно 96
Перенос значений из ячейки в комментарий_1 97
Перенос значений из ячейки в комментарий_2 98
Глава 5 . Пользовательские вкладки на ленте 99
Дополнение панели инструментов 99
Добавление кнопки на панель инструментов 99
Панель с одной кнопкой 99
Панель с двумя кнопками 99
Создание панели справа 100
Вызов предварительного просмотра 100
Создание пользовательского меню (вариант 1) 100
Создание пользовательского меню (вариант 2) 101
Создание пользовательского меню (вариант 3) 102
Создание пользовательского меню (вариант 4) 102
Создание пользовательского меню (вариант 5) 102
Создание пользовательского меню (вариант 6) 106
Создание списка пунктов главного меню Excel 108
Создание списка пунктов контекстных меню 108
Отображение панели инструментов при определенном условии 109
Скрытие и отображение панелей инструментов 111
Создать подсказку к моим кнопкам 112
Создание меню на основе данных рабочего листа 112
Создание контекстного меню 115
Блокировка контекстного меню 117
Добавление команды в меню Сервис 118
Добавление команды в меню Вид 119
Создание панели со списком 120
Мультфильм с помощником в главной роли 122
Дополнение помощника текстом, заголовком, кнопкой и значком 123
Новые параметры помощника 124
Использование помощника для выбора цвета заливки 125
Глава 6. ДИАЛОГОВЫЕ ОКНА 127
Функция INPUTBOX (через ввод значения) 127
Вызов предварительного просмотра 127
Настройка ввода данных в диалоговом окне 127
Открытие диалогового окна (“Открыть файл”)_1 128
Открытие диалогового окна (“Открыть файл”)_2 128
Открытие диалогового окна (“Печать”) 128
Другие диалоговые окна 128
Вызов броузера из Экселя 129
Диалоговое окно ввода данных 129
Диалоговое окно настройки шрифта 129
Значения по умолчанию 129
Глава 7. Форматирование текста. Таблицы. ГРАНИЦЫ И ЗАЛИВКА. 130
Вывод списка доступных шрифтов 130
Выбор из текста всех чисел 130
Прописная буква только в начале текста 131
Подсчет количества повторов искомого текста 131
Выделение из текста произвольного элемента 132
Отображение текста «задом наперед» 133
Англоязычный текст — заглавными буквами 133
Запуск таблицы символов из Excel 134
глава информация о пользователе, компьютере, принтере и т.д. 136
Получить имя пользователя 136
Вывод разрешения монитора 137
Получение информации об используемом принтере 137
Просмотр информации о дисках компьютера 138
Глава 8. ЮЗЕРФОРМЫ 140
Глава 9. ДИАГРАММЫ 142
Построение диаграммы с помощью макроса 142
Сохранение диаграммы в отдельном файле 143
Построение и удаление диаграммы нажатием одной кнопки 144
Вывод списка диаграмм в отдельном окне 145
Применение случайной цветовой палитры 146
Эффект прозрачности диаграммы 146
Построение диаграммы на основе данных нескольких рабочих листов 148
Создание подписей к данным диаграммы 150
Глава 10. РАЗНЫЕ ПРОГРАММЫ. 151
Программа для составления кроссвордов 151
Создать обложку DVD 155
Игра «Минное поле» 156
Игра «Угадай животное» 158
Расчет на основании ячеек определенного цвета 161
Глава 11. ДРУГИЕ ФУНКЦИИ И МАКРОСЫ 175
Вызов функциональных клавиш 175
Расчет среднего арифметического значения 175
Перевод чисел в «деньги» 175
Поиск ближайшего понедельника 176
Подсчет количества полных лет 177
Расчет средневзвешенного значения 177
Преобразование номера месяца в его название 178
Использование относительных ссылок 178
Преобразование таблицы Excel в HTML-формат 179
Генератор случайных чисел 181
Случайные числа — на основании диапазона 182
Применение функции без ввода ее в ячейку 183
Подсчет именованных объектов 183
Включение автофильтра с помощью макроса 183
Создание бегущей строки 183
Создание бегущей картинки 184
Вращающиеся автофигуры 185
Вызов таблицы цветов 187
Создание калькулятора 188
Склонение фамилии, имени и отчества 188
Глава 12. ДАТА И ВРЕМЯ 194
Вывод даты и времени_1 194
Вывод даты и времени_2 194
Получение системной даты 195
Извлечение даты и часов 195
Функция ДатаПолная 195.

Бесплатно скачать электронную книгу в удобном формате и читать:

nashol.com

C++ возврат значений

Язык Си, созданный Денисом Ритчи в начале 70-х годов в Bell Laboratory американской корпорации AT&T, является одним из универсальных языков программирования. Язык Си считается языком системного программирования, хотя он удобен и для написания прикладных программ. Среди преимуществ языка Си следует отметить переносимость программ на компьютеры различной архитектуры и из одной операционной системы в другую, лаконичность записи алгоритмов, логическую стройность программ, а также возможность получить программный код, сравнимый по скорости выполнения с программами, написанными на языке ассемблера. Последнее связано с тем, что хотя Си является языком высокого уровня, имеющим полный набор конструкций структурного программирования, он также обладает набором низкоуровневых средств, обеспечивающих доступ к аппаратным средствам компьютера. С 1989 года язык Си регламентируется стандартом Американского института национальных стандартов ANSI С. В настоящее время, кроме стандарта ANSI C разработан международный стандарт ISO C (International Standard Organization C).

В пособии в разделах 1-6 рассматриваются основные конструкции языка Си (общие для Си и Си++). Примеры программ приведены в разделе 7.

РАЗДЕЛ 1. ОСНОВНЫЕ ПОНЯТИЯ И ДАННЫЕ

Основные понятия языка

Программа, написанная на языке Си, состоит из операторов. Каждый оператор вызывает выполнение некоторых действий на соответствующем шаге выполнения программы.

При написании операторов применяются латинские прописные и строчные буквы, цифры и специальные знаки. К таким знакам, например, относятся: точка (.), запятая (,), двоеточие (:), точка с запятой (;) и др. Совокупность символов, используемых в языке, называется алфавитом языка.

В персональном компьютере символы хранятся в виде кодов. Соответствие между каждым символом и его кодом задается специальной кодовой таблицей. На нее разработан стандарт ASCII, поэтому коды символов называют ASCII-кодами.

Различают видимые и управляющие символы. Первые могут быть отображены на экране дисплея либо отпечатаны на принтере. Вторые вызывают определенные действия в машине, например: звуковой сигнал — код 710, возврат курсора на один шаг — код 810, горизонтальная табуляция — код 910, перевод курсора на новую строку — код 1010, перемещение курсора в начало строки — код 1310 и т.д. Такие управляющие символы имеют десятичные номера 0 — 31, 127.

Для представления каждого символа в персональном компьютере используется один байт, поэтому общее число символов равно 2 8 = 256. Кодовая таблица, которая устанавливает соответствие между символом и его кодом, имеет 256 строк вида:

Первая половина кодовой таблицы является стандартной, а вторая используется для представления символов национальных алфавитов, псевдографических элементов и т.д.

Важным понятием языка является идентификатор, который используется в качестве имени объекта (функции, переменной, константы и др.). Идентификаторы должны выбираться с учетом следующих правил:

  • Они должны начинаться с буквы латинского алфавита (а. z, А. Z) или с символа подчеркивания (_).
  • В них могут использоваться буквы латинского алфавита, символ подчеркивания и цифры (0. 9). Использование других символов в идентификаторах запрещено.
  • В языке Си буквы нижнего регистра (а. z), применяемые в идентификаторах, отличаются от букв верхнего регистра (А. Z). Это означает, что следующие идентификаторы считаются разными: name, NaMe, NAME и т.д.
  • Идентификаторы могут иметь любую длину, но воспринимается и используется для различения объектов (функций, переменных, констант и т.д.) только часть символов. Их число меняется для разных систем программирования, но в соответствии со стандартом ANSI C не превышает 32 (в Си++ это ограничение снято). Если длина идентификатора установлена равной 5, то имена count и counter будут идентичны, поскольку у них совпадают первые пять символов.
  • Идентификаторы для новых объектов не должны совпадать с ключевыми словами языка и именами стандартных функций из библиотеки.
  • В программах на языке Си важная роль отводится комментариям. Они повышают наглядность и удобство чтения программ. Комментарии обрамляются символами /* и */. Их можно записывать в любом месте программы.

    В языке Си++ введена еще одна форма записи комментариев. Все, что находится после знака // до конца текущей строки, будет также рассматриваться как комментарий. Отметим, что компилятор языка Си, встроенный в систему программирования Borland C++, позволяет использовать данный комментарий и в программах на Си.

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

    Типы данных

    Программы оперируют с различными данными, которые могут быть простыми и структурированными. Простые данные — это целые и вещественные числа, символы и указатели (адреса объектов в памяти). Целые числа не имеют, а вещественные имеют дробную часть. Структурированные данные — это массивы и структуры; они будут рассмотрены ниже.

    В языке различают понятия «тип данных» и «модификатор типа». Тип данных — это, например, целый, а модификатор — со знаком или без знака. Целое со знаком будет иметь как положительные, так и отрицательные значения, а целое без знака — только положительные значения. В языке Си можно выделить пять базовых типов, которые задаются следующими ключевыми словами:

  • char — символьный;
  • int — целый;
  • float — вещественный;
  • double — вещественный двойной точности;
  • void — не имеющий значения.
  • Дадим им краткую характеристику:

    1. Переменная типа char имеет размер 1 байт, ее значениями являются различные символы из кодовой таблицы, например: ‘ф’, ‘:’, ‘j’ (при записи в программе они заключаются в одинарные кавычки).
    2. Размер переменной типа int в стандарте языка Си не определен. В большинстве систем программирования размер переменной типа int соответствует размеру целого машинного слова. Например, в компиляторах для 16-разрядных процессоров переменная типа int имеет размер 2 байта. В этом случае знаковые значения этой переменной могут лежать в диапазоне от -32768 до 32767.
    3. Ключевое слово float позволяет определить переменные вещественного типа. Их значения имеют дробную часть, отделяемую точкой, например: -5.6, 31.28 и т.п. Вещественные числа могут быть записаны также в форме с плавающей точкой, например: -1.09e+4. Число перед символом «е» называется мантиссой, а после «е» — порядком. Переменная типа float занимает в памяти 32 бита. Она может принимать значения в диапазоне от 3.4е-38 до 3.4e+38.
    4. Ключевое слово double позволяет определить вещественную переменную двойной точности. Она занимает в памяти в два раза больше места, чем переменная типа float (т.е. ее размер 64 бита). Переменная типа double может принимать значения в диапазоне от 1.7e-308 до 1.7e+308.
    5. Ключевое слово void (не имеющий значения) используется для нейтрализации значения объекта, например, для объявления функции, не возвращающей никаких значений.

    Объект некоторого базового типа может быть модифицирован. С этой целью используются специальные ключевые слова, называемые модификаторами. В стандарте ANSI языка Си имеются следующие модификаторы типа:

    Модификаторы записываются перед спецификаторами типа, например: unsigned char. Если после модификатора опущен спецификатор, то компилятор предполагает, что этим спецификатором является int. Таким образом, следующие строки:

    являются идентичными и определяют объект а как длинный целый. Табл. 1 иллюстрирует возможные сочетания модификаторов (unsigned, signed, short, long) со спецификаторами (char, int, float и double), а также показывает размер и диапазон значений объекта (для 16-разрядных компиляторов).

    Переменные и константы

    Все переменные до их использования должны быть определены (объявлены). При этом задается тип, а затем идет список из одной или более переменных этого типа, разделенных запятыми. Например:

    В языке различают понятия объявления переменной и ее определения. Объявление устанавливает свойства объекта: его тип (например, целый), размер (например, 4 байта) и т.д. Определение наряду с этим вызывает выделение памяти (в приведенном примере дано определение переменных).

    Переменные можно разделять по строкам произвольным образом, например:

    Переменные в языке Си могут быть инициализированы при их определении:

    Выясним теперь, где в тексте программы определяются данные. В языке возможны глобальные и локальные объекты. Первые определяются вне функций и, следовательно, доступны для любой из них. Локальные объекты по отношению к функциям являются внутренними. Они начинают существовать, при входе в функцию и уничтожаются после выхода из нее. Ниже показана структура программы на Си и возможные места в программе, где определяются глобальные и локальные объекты.

    Отметим, что выполнение программы всегда начинается с вызова функции main( ), которая содержит тело программы. Тело программы, как и тело любой другой функции, помещается между открывающей и закрывающей фигурными скобками.

    В языке Си все определения должны следовать перед операторами, составляющими тело функции. В языке Си++ это ограничение снято и определения могут находиться в любом месте программы. Если они сделаны в функции, то соответствующие объекты будут локальными, а если вне функций, то глобальными.

    Наряду с переменными в языке существуют следующие виды констант:

    • вещественные, например 123.456, 5.61е-4. Они могут снабжаться суффиксом F (или f), например 123.456F, 5.61e-4f;
    • целые, например 125;
    • короткие целые, в конце записи которых добавляется буква (суффикс) H (или h), например 275h, 344H;
    • длинные целые, в конце записи которых добавляется буква (суффикс) L (или l), например 361327L;
    • беззнаковые, в конце записи которых добавляется буква U (или u), например 62125U;
    • восьмеричные, в которых перед первой значащей цифрой записывается нуль (0), например 071;
    • шестнадцатеричные, в которых перед первой значащей цифрой записывается пара символов нуль-икс (0x), например 0x5F;
    • символьные — единственный символ, заключенный в одинарные кавычки, например ‘О’, ‘2’, ‘.’ и т.п. Символы, не имеющие графического представления, можно записывать, используя специальные комбинации, например \n (код 10), \0 (код 0). Эти комбинации выглядят как два символа, хотя фактически это один символ. Так же можно представить любой двоичный образ одного байта: ‘\NNN’, где NNN — от одной до трех восьмеричных цифр. Допускается и шестнадцатеричное задание кодов символов, которое представляется в виде: ‘\х2В’, ‘\хЗ6’ и т.п.;
    • строковые — последовательность из нуля символов и более, заключенная в двойные кавычки, например: «Это строковая константа». Кавычки не входят в строку, а лишь ограничивают ее. Строка представляет собой массив из перечисленных элементов, в конце которого помещается байт с символом ‘\0’. Таким образом, число байтов, необходимых для хранения строки, на единицу превышает число символов между двойными кавычками;
    • константное выражение, состоящее из одних констант, которое вычисляется во время трансляции (например: а=60+301);
    • типа long double, в конце записи которых добавляется буква L (или l), например: 1234567.89L.
    • Как вводить и выводить информацию

      Операции ввода/вывода в языке Си организованы посредством библиотечных функций (причем их довольно много).

      Самый простой механизм ввода — чтение по одному символу из стандартного входного потока (с клавиатуры) с помощью функции getchar( ). Она имеет следующий прототип (т.е. описание заголовка):

      Здесь определен тип единственного аргумента (void) и тип возвращаемого функцией значения (int).

      присваивает переменной х очередной вводимый символ. Переменная х должна иметь символьный или целый тип.

      Другая функция — putchar(х) выдает значение переменной x в стандартный выходной поток (на экран дисплея). Функция putchar( ) имеет прототип:

      Объявления getchar( ) и putchar( ) сделаны в заголовочном файле stdio.h, содержащем описания заголовков библиотечных функций стандартного ввода/вывода. Чтобы библиотечные функции стали доступны программе, к ней необходимо подключить данный файл. Подключение осуществляется с помощью директивы препроцессора

      помещаемой в начало программы (подробнее см. в разделе 5).

      Заметим, что для функции getchar( ) после выбора символа необходимо нажать клавишу . Иногда это создает определенные неудобства. Функции getch( ) и getche( ) устраняют их. Они имеют следующие прототипы:

      Обе эти функции вводят символ сразу же после нажатия соответствующей клавиши (здесь не надо дополнительно нажимать клавишу ). Отличие между ними заключается в том, что getche( ) отображает вводимый символ на экране дисплея, а getch( ) — нет. Прототипы этих функций содержатся в файле conio.h (консольный ввод/вывод). Для их использования файл conio.h также следует подключить к программе с помощью директивы #include .

      Форматированный вывод данных

      Функция printf( ) (прототип содержится в файле stdio.h) обеспечивает форматированный вывод. Ее можно записать в следующем формальном виде:

      Управляющая строка содержит компоненты трех типов: обычные символы, которые просто копируются в стандартный выходной поток (выводятся на экран дисплея); спецификации преобразования, каждая из которых вызывает вывод на экран очередного аргумента из последующего списка; управляющие символьные константы.

      Каждая спецификация преобразования начинается со знака % и заканчивается некоторым символом, задающим преобразование. Между знаком % и символом преобразования могут встречаться другие знаки в соответствии со следующим форматом:

      Все параметры в квадратных скобках не являются обязательными.

      На месте параметра c_n (символ преобразования) могут быть записаны:

      с — значением аргумента является символ;
      d или i — значением аргумента является десятичное целое число;
      е — значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1.23e+2;
      Е — значением аргумента является вещественное десятичное число в экспоненциальной форме вида 1.23E+2;
      f — значением аргумента является вещественное десятичное число с плавающей точкой;
      g (или G) — используется, как е или f, и исключает вывод незначащих нулей;
      о — значением аргумента является восьмеричное целое число;
      s — значением аргумента является строка символов (символы строки выводятся до тех пор, пока не встретится символ конца строки или же не будет, выведено число символов, заданное точностью);
      u — значением аргумента является беззнаковое целое число;
      х — значением аргумента является шестнадцатеричное целое число с цифрами 0. 9, а, b, с, d, е, f;
      X — значением аргумента является шестнадцатеричное целое число с цифрами 0. 9, А, В, С, О, Е, F;
      р — значением аргумента является указатель;
      n — применяется в операциях форматирования. Аргумент, соответствующий этому символу спецификации, должен быть указателем на целое. В него возвращается номер позиции строки (отображаемой на экране), в которой записана спецификация %n.

      Необязательные параметры в спецификации преобразования:

    • признак минус (-) указывает, что преобразованный параметр должен быть выровнен влево в своем поле;
    • признак плюс (+) требует вывода результата со знаком;
    • строка цифр, задающая минимальный размер поля (ширина поля). Здесь может так же использоваться символ *, который тоже позволяет задать минимальную ширину поля и точность представления выводимого числа;
    • точка (.), отделяющая размер поля от последующей строки цифр;
    • строка цифр, задающая максимальное число выводимых символов, или же количество цифр, выводимых справа от десятичной точки в значениях типов float или double (точность);
    • символ F, определяющий указатель типа far;
    • символ N, определяющий указатель типа near;
    • символ h, определяющий аргумент типа short int (используется вместе с символами преобразования d, i, о, u, х, Х);
    • символ l, указывающий, что соответствующий аргумент имеет тип long (в случае символов преобразования d, i, о, u, х, X) или double (в случае символов преобразования е, Е, f, g, G);
    • символ L, указывающий, что соответствующий аргумент имеет тип long double (используется вместе с символами преобразований е, Е, f, g, G);
    • символ #, который может встречаться перед символами преобразования g, f, е и перед символом х. В первом случае всегда будет выводиться десятичная точка, а во втором — префикс 0x перед соответствующим шестнадцатеричным числом.
    • Если после знака % записан не символ преобразования, то он выводится на экран. Таким образом, строка %% приводит к выводу на экран знака %.

      Функция printf( ) использует управляющую строку, чтобы определить, сколько всего аргументов и каковы их типы. Аргументами могут быть переменные, константы, выражения, вызовы функций; главное, чтобы их значения соответствовали заданной спецификации.

      При наличии ошибок, например, в числе аргументов или типе преобразования, результаты будут неверными.

      Среди управляющих символьных констант наиболее часто используются следующие:

      \а — для кратковременной подачи звукового сигнала;
      \b — для перевода курсора влево на одну позицию;
      \f — для подачи формата;
      \n — для перехода на новую строку;
      \r — для возврата каретки;
      \t — горизонтальная табуляция;
      \v — вертикальная табуляция;
      \\ — вывод символа \;
      \’ — вывод символа ‘ ;
      \» — вывод символа «;
      \? — вывод символа ?.

      Например, в результате вызова функции:

      сначала выполняется горизонтальная табуляция (\t), т.е. курсор сместится от края экрана, затем на экран будет выведено слово Computer, после этого курсор переместится в начало следующей строки (\n), затем будет выведено целое число i по формату %d (десятичное целое), и, окончательно, курсор перейдет в начало новой строки (\n).

      Напечатать строку символов можно и так:

      Форматированный ввод данных

      Функция scanf( ) (прототип содержится в файле stdio.h) обеспечивает форматированный ввод. Ее можно записать в следующем формальном виде:

      Аргументы scanf( ) должны быть указателями на соответствующие значения. Для этого перед именем переменной записывается символ &. Назначение указателей будет рассмотрено далее.

      Управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. В нее могут включаться:

    • пробелы, символы табуляции и перехода на новую строку (все они игнорируются);
    • спецификации преобразования, состоящие из знака %, возможно, символа * (запрещение присваивания), возможно, числа, задающего максимальный размер поля, и самого символа преобразования;
    • обычные символы, кроме % (считается, что они должны совпадать с очередными неизвестными символами во входном потоке).
    • Рассмотрим символы преобразования функции scanf( ) (указываются после символа %):

      с — на входе ожидается появление одиночного символа;
      d или i — на входе ожидается десятичное целое число и аргумент является указателем на переменную типа int;
      D или l — на входе ожидается десятичное целое число и аргумент является указателем на переменную типа long;
      е или Е — на входе ожидается вещественное число с плавающей точкой;
      f — на входе ожидается вещественное число с плавающей точкой;
      g или G — на входе ожидается вещественное число с плавающей точкой;
      о — на входе ожидается восьмеричное целое число и аргумент является указателем на переменную типа int;
      О — на входе ожидается восьмеричное целое число и аргумент является указателем на переменную типа long;
      s — на входе ожидается появление строки символов;
      х — на входе ожидается шестнадцатеричное целое число и аргумент является указателем на переменную типа int;
      Х — на входе ожидается шестнадцатеричное целое число и аргумент является указателем на переменную типа long;
      р — на входе ожидается появление указателя в виде шестнадцатеричного числа;
      n — применяется в операциях форматирования. Аргумент, соответствующий этому символу спецификации, должен быть указателем на целое. В него возвращается номер позиции (после ввода), в которой записана спецификация %n;
      u — на входе ожидается беззнаковое целое число и аргумент является указателем на переменную типа unsigned int;
      U — на входе ожидается беззнаковое целое число и аргумент является указателем на переменную типа unsigned long;
      [ ] — сканирует входную строку для получения символов.

    Перед некоторыми символами преобразования могут записываться следующие модификаторы:

    F — изменяет указатель, заданный по умолчанию, на указатель типа far;
    N — изменяет указатель, заданный по умолчанию, на указатель типа near;
    h — преобразует аргумент к типу short int (может записываться перед символами d, i, о, u, х);
    l — преобразует аргумент к типу long int (может записываться перед символами d, i, o, u, x);
    L — преобразует аргумент к типу long double (может записываться перед символами е, f, g).

    Ввести целое число (int a;), символ (char b;) и вещественное число (float t;) можно так:

    РАЗДЕЛ 2. ОПЕРАЦИИ И ОПЕРАТОРЫ

    Операции языка Си

    Любое выражение языка состоит из операндов (переменных, констант и др.), соединенных знаками операций. Знак операции — это символ или группа символов, которые сообщают компилятору о необходимости выполнения определенных арифметических, логических или других действий.

    Операции выполняются в строгой последовательности. Величина, определяющая преимущественное право на выполнение той или иной операции, называется приоритетом. В табл. 2 перечислены различные операции языка Си. Их приоритеты для каждой группы одинаковы (группы выделены цветом). Чем большим преимуществом пользуется соответствующая группа операций, тем выше она расположена в таблице. Порядок выполнения операций может регулироваться с помощью круглых скобок.

    dfe.petrsu.ru

    Смотрите так же:

    • Как заполнить приказ о приеме на работу Приказ о приёме работника на работу. Образец заполнения формы № Т-1 Упростите работу с документами! Онлайн-сервис для автоматического заполнения документов Узнать больше >> […]
    • Законы аренды ставка Новые разъяснения об аренде Высший арбитражный суд подготовил дополнения в данные им ранее разъяснения по вопросам применения норм Гражданского кодекса о договоре аренды. Соответствующий […]
    • Образец заявления на декретный отпуск по уходу за ребенком Образец заявления о предоставлении отпуска по уходу за ребенком В соответствии со ст. 256 Трудового кодекса по заявлению женщины ей предоставляется отпуск по уходу за ребенком до […]
    • Приказ о проверке школьной библиотеки Школьные библиотеки Костромского района Меню навигации Пользовательские ссылки Информация о пользователе Вы здесь » Школьные библиотеки Костромского района » Работа с книжным фондом » […]
    • Проверка налогов белгород Налоговая инспекция ИФНС по г. Белгороду Телефоны Приемная начальника инспекции 8 (4722) 20-66-00 Справочная служба 8 (4722) 20-66-55 Факс 8 (4722) 34-74-21 Начальник Воронин Сергей […]
    • Отменить приказ о назначении Приказ об отмене ранее изданного приказа Упростите работу с документами! Онлайн-сервис для автоматического заполнения документов Узнать больше >> Автоматическое заполнение типовых форм […]