Лабораторная работа №2 Среда разработки, основы языка и типы данных, ввод- вывод


getchar(): ввод с клавиатуры одного символа •  putchar()



Pdf көрінісі
бет2/3
Дата30.01.2023
өлшемі337,28 Kb.
#63632
түріЛабораторная работа
1   2   3
Байланысты:
Снимок экрана 2023—01—24 в 16.17.12

getchar(): ввод с клавиатуры одного символа
• 
putchar(): вывод на консоль одного символа
• 
gets(): ввод одной строки
• 
puts(): вывод одной строки на консоль
• 
scanf(): ввод с форматированием данных
• 
printf(): вывод с форматированием данных
Функции 
printf
и 
scanf
уже рассматиривались ранее, поэтому посмотрим, как применять
остальные функции.
Ввод и вывод символов
Для ввода одного символа с клавиатуры применяется функция getchar(), которая имеет
следующий прототип:
1
int
getchar(void);
В качестве результата функция возвращает числовой код введенного символа.
Для вывода отдельного символа на консоль предназначена функция putchar() со
следующим прототипом:
1
int
putchar(int
c);
Выводимый символ в виде числового кода передается в putchar в качестве
параметра, он же возвращается функцией.
Следует сказать, что на самом деле функции getchar() и putchar() полноценными
функциями не являются, а определены как макросы в заголовочном файле stdio.h:
1
2
#define getchar() getc(stdin)
#define putchar(c) putc((c), stdout)
При использовании функции getchar следует учитывать, что при печати текста
посредством клавиатуры в буфер операционной системы заносятся коды печатаемых
символов, а сами символы отображаются на экране. Поучение программой введенного
символа из буфера производится с помощью нажатия клавиши Enter.
И если буфер операционной системы не пуст, то при вызове функции getc() она
получает очередной символ из буфера. Если же буфер пуст, то происходит чтение байта из
потока ввода с помощью системной функции, название которой зависит от операционной
системы.
При этом при нажатии клавиши Enter, в буфер также помещается код этой клавиши.
То есть если мы введем один символ и нажмем на Enter, в буфере окажутся два числовых


кода - введенного символа и клавиши Enter. И это надо учитывать при работе с функцией
getchar. В частости, рассмотрим простой, но показательный пример:
1
2
3
4
5
6
7
8
9
10
11
12
#include
int
main(void)
{
printf("1");
getchar(); // ожидание ввода символа
printf("2");
getchar(); // ожидание ввода символа
printf("3");
return
0;
}
Сначала на экран выводится цифра 1, после чего функция getchar ожидает ввода
символа. Если после ввода символа мы нажмем Enter, то в буфер будет помещены два
числовых кода - введеного символа и клавиши Enter. Поэтому при втором вызове getchar
эта функция считывает байт из буфера - то есть числовой код клавиши Enter.
Для вывода одной строки на консоль предназначена функция puts() со следующим
прототипом:
1
int
putchar(char
*s);
В качестве параметра передается указатель на строку, а возвращаемым результатом
функции является последний выведенный символ.
При этом функция puts() будет выводить символы переданной строки, пока не
дойдет до нулевого символа '\0'. Если же выводимый массив символов не содержит этого
символа, то результат программы неопределен.
Используем функции для ввода строки:
1
2
3
4
5
6
7
8
9
10
11
#include
int
main(void)
{
char
name[20];
puts("Enter name:");
gets(name);
printf("Your name: %s", name);
return
0;
}


Достарыңызбен бөлісу:
1   2   3




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет