
- •Этапы создания исполняемой программы
- •Идентификаторы
- •Ключевые слова
- •Комментарии
- •Структура программы
- •Вывод данных
- •Ввод данных
- •Вопросы для самоконтроля
- •Тема 1.1(2). Типы данных. Константы и переменные
- •Основные (стандартные) типы данных
- •Область действия переменных
- •1.3.1. Математические операции
- •1.3.2. Простое присваивание
- •1.3.3. Составное (сложное) присваивание
- •1.3.4. Операция приведения (преобразования) типов
- •1.3.5. Операции отношения
- •1.3.7. Операция sizeof
- •1.3.8. Операция "запятая" (,)
- •1.3.9. Условная операция (?:)
- •1.3.10. Указатель. Определение адреса переменной
- •1.3.11. Директива define
- •1.3.12. Директива include
- •1.3.13. Примеры программ
- •1.3.14. Вопросы для самоконтроля
- •Тема 1.3. Программирование алгоритмов различной структуры
- •Базовые конструкции структурного программирования
- •Операторы ветвления
- •1.4.1. Условный оператор if
- •If (условие) оператор_1; else оператор_2;
- •If (условие) оператор_1;
- •1.4.2. Оператор выбора switch
- •Операторы цикла
- •1.4.3. Оператор while
- •1.4.4. Оператор do...While
- •1.4.5. Оператор for
- •1.4.6. Функция exit(), операторы break, continue, return
- •Стандартные математические функции
- •Тема 1.4. Ввод-вывод данных
- •Функции get() и put()
- •Функция getch()
- •Функция printf
- •Функция sprintf()
- •Тема 1.5. Функции. Локальные и глобальные переменные. Способы передачи данных.
- •1.5.1. Видимость переменных
- •1.5.2. Определение функции
- •1.5.3. Функция main
- •1.5.4. Вызов функции
- •1.5.5. Способы передачи данных
- •1.5.6. Возвращаемые значения функции
- •1.5.7. Использование прототипов функций
- •Тема 1.6(1). Массивы и указатели
- •Объявление массива
- •Доступ к элементам массива
- •Многомерные массивы
- •Указатели
- •Тема 1.6(2). Структуры и строки
- •1.6.1. Структуры
- •1 Способ – по шаблону.
- •2 Способ – при объявлении (описании) шаблона.
- •1.6.2. Способы реализации строк
- •1.6.3. Строковые константы
- •1.6.4. Указатель на символьную строку
- •1.6.5. Массив символов
- •1.6.6. Некоторые функции для работы со строками
- •1.6.7. Некоторые функции проверки и преобразования символов
- •Тема 1.7. Работа с памятью
- •Функция malloc
- •Функция free
- •Операция new
- •Операция delete
- •Тема 1.10. Динамические структуры
- •Разновидности динамических структур
- •Примеры программ (фрагментов программ) для работы с динамическими структурами
Функция getch()
Если требуется вводить символы непосредственно в программу, используется функция getch(). Эта функция реализует не буферизованный ввод, т.е. вводимые символы сразу попадают в программу, минуя буфер. При использовании функции getch() ввод не может быть перенаправлен. Символы всегда выводятся на экран, а считываются с клавиатуры. Для использования функции getch() функций в директиве include необходимо указывать библиотечный файл conio.h.
Пример
В программе вычисляется количество букв «а» во введенной строке.
#include <conio.h>
main()
{ char с;
int k=0, i;
cout< < "Введите последовательность из 5 символов \n";
for (i= 1; i<=5; i++)
{ c=getch();
if (c=='a' || c='A')
k++;
}
}
Во время выполнения программы символы не появляются на экране. После ввода каждого символа не надо нажимать клавишу Enter, цикл закончится после набора 5 символов.
Пример
Пользователь вводит пароль из 5 символов, при этом вместо вводимых символов на экране отображается символ '*'.
#include <conio.h>
main()
{ char с[5]; // описывается массив С, состоящий из 5 символов
int k=0, i;
cout< < "Введите последовательность из 5 символов \n";
for (i= 0 ; i<=4; i++)
{ c[i]=getch(); // в элемент массива с[i] заносится набранный на клавиатуре
// символ, который получает функция getch()
cout < < '*';
}
Функцию getch() можно использовать для задержки сообщений на экране.
В библиотеке conio.h так же содержатся функции:
clrscr() – очистка экрана
gotoxy (x1,y1) – позиционирование курсора, х1 – номер строки, y1 – номер столбца (позиции в строке).
Функция printf
Функция printf может быть использована для вывода информации на экран (находится в библиотеке stdio.h).
Формат функции:
printf (Аргумент1, Аргумент2, Аргумент3, ...)
Функция printf формирует и выводит на экран символьную строку из аргументов Аргумент1, Аргумент2, Аргумент3, ..., где
Аргумент1 – это строка символов, которая может включать управляющие последовательности \n \t и т.д., а также знак %.
Знак % указывает место включения в строку символов Аргумента2, Аргумента 3, ...
-
%f – вещественное число, можно указать формат числа;
-
%4.0f – первая цифра - общее количество позиций на число, вторая цифра - количество позиций на дробную часть;
-
%d – десятичное целое число;
-
%о – восьмеричное целое число;
-
%х – шестнадцатеричное целое число;
-
%с – символ
-
%s – символьная строка
Пример
x=142; y=12374.4213;
printf( "\nПри х=%d y=%7.1f ", x , y);
В результате выполнения функции printf на экран выводится сообщение:
При х=142 y= 12374.4
Функция sprintf()
В библиотеке stdio.h имеется еще одна полезная функция – sprintf. В отличие от функции printf функция sprintf не выводит строку на экран, а записывает ее в Аргумент 0. Аргументы 1, 2, 3 и т.д. используются аналогично функции printf.
Формат функции:
sprintf (Аргумент0, Аргумент1, Аргумент2, Аргумент3, ...)
Пример
Сформируем символьную строку buffer из сообщения и значения числа пи:
char buffer[80]; // описывается массив buffer, состоящий из 80 символов
sprintf(buffer, "\n Число Пи = %f\n", M_PI);
В результате выполнения функции sprintf в массив buffer заносится сообщение:
\n Число Пи = 3.14\n
Функция sprintf применима в более новых системах программирования на основе С++, например, в C++ Builder.