Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на С.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Функция putchar.

Описана в файле stdio.h.

Формат: int putchar(int d)

Предназначена для вывода символа d в стандартный поток вывода, т.е. на экран монитора. Значение d должно быть целого типа. Если вывести символ удалось, то возвращается значение d, если нет – EOF.

Небольшая программка для показания примера работы функций getchar и putchar.

Листинг3.3

#include <stdio.h>

int main(){

int a,b;

a=getchar();

b=150;

b=a;

putchar(b);

return(0);

}

Разберем как она работает. Сначала подключаем файл, потом объявляем переменные целого типа a и b. Переменной b присваиваем значение 150. Потом в переменную a с помощью функции getchar читаем один символ из стандартного потока ввода (с клавиатуры), переменной b присваиваем значение переменной a, выводим с помощью функции putchar значение переменной b.

Результат работы программы можно увидеть на рисунке:

Программа демонстрирующая работу функций посимвольного ввода getchar и putchar

Как видим программа работает. Значение в переменной b изменилось со 150 на то, чтовы введете. В моём случае 3. Теперь надо убедиться что программа читает всего один символ, попробуем ввести несколько символов подряд и нажать Enter.Вот что получится:

Программа демонстрирующая работу функций посимвольного ввода getchar и putchar.

Как видите считался только один символ, что и требовалось докзать.

//UPD (5 июля 2012):

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

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

Листинг3.4

#include <stdio.h>

int main()

{

int a,b,с;

a=getchar();

с=getchar();

b=150;

b=a;

putchar(b);

printf("\n");

putchar(c);

return(0);

}

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

Добавьте подпись

Не стоит забывать, что пробелы, переносы строк, табуляции и т.д., это тоже символы которые записываются во входной поток. Так например, если в программе листинга 3.4 ввести "2 865", то, в переменную с сохранился бы пробел. Убедитесь в этом самостоятельно.

Если надо с помощью getchar считать несколько символов, записанных через пробел, то можно например, использовать дополнительную переменную, в которую будем считывать пробел. Либо писать, несколько раз считывание одного символа.

Пример:

a=getchar();

b=getchar();

b=getchar();

При таком считывании, например, строки "v 4", в переменную а считаем v, далее в переменную b считаем, пробел, и потом еще раз считаем в переменную b следующий символ, то есть 4. В итоге получим, то что нам и требуется.