Символы (переменные и константы типа char) в компьютере хранятся в виде кодов, которые интерпретируются как целые числа в диапазоне от -128 до 127 (в соответствии с таблицей ASCII). В программе переменные типа char можно вводить, выводить и использовать либо как символы либо как целые числа. Один или несколько символов можно ввести с помощью функции scanf() с форматной спецификацией %c
char c1,c2,c3;
scanf(“%c%c%c”,&c1,&c2,&c3);
При вводе с помощью этого оператора значения вводимых символов не разделяются никакими разделителями, например, при вводе следующей последовательности символов
abc<Enter>
переменная c1 получит значение a, c2 – значение b, с3 – значение c.
Если при вводе символы нужно разделить пробелом или запятой, то эти разделители ставятся между форматными спецификациями ввода
scanf(“%c %c %c”,&c1,&c2,&c3); (a b c<Enter> - строка ввода)
scanf(“%c,%c,%c”,&c1,&c2,&c3); (a,b,c<Enter> - строка ввода)
При выводе символов можно выводить сам символ по форматной спецификации %c или его код по форматной спецификации %d
|
|
printf(“Код символа %c равен %d\n”,c1,c1);
Здесь сначала значение переменной c1 будет выведено в виде символа (по форматной спецификации %c), а затем значение переменной c1 будет выведено по форматной спецификации %d как целое число (код символа, являющегося значением переменной c1).
Ввод и вывод одного символа гораздо проще осуществляется с помощью функций getchar() и putchar(). Функция getchar() получает один символ, поступающий с терминала, и передает его программе, эта функция не имеет аргументов. А функция putchar() получает один символ, поступающий из программы, и пересылает его для вывода на экран. Функция putchar() имеет один аргумент. При ее вызове необходимо в скобках указать символ, который нужно вывести на экран. Аргументом может быть одиночный символ, переменная или функция, значением которой является одиночный символ, например,
putchar(‘S’); // Символьные константы заключаются в апострофы
Пример использования функции putchar() для вывода строки.
putchar(‘\n); // Переход на новую строку и печать строки “Hello!”
putchar(‘H’); putchar(‘e’); putchar(‘l’); putchar(‘l’); putchar(‘o’); putchar(‘!’);
Пример 1. Ввести с клавиатуры символ и вывести его на экран.
#include <stdio.h>
int main()
{
printf(“Введите символ “);
putchar(getchar()); // Печать на экране только что введенного символа
return 0;
}
Пример 2.
Ввести с клавиатуры символ и вывести на экран его код.
#include <stdio.h>
int main()
{
char smb;
printf(“Введите символ “);
smb=getchar();
printf(“Код символа %c = %d\n”,smb,smb); // Вывод символа и его кода
return 0;
}
Пример 3.
Ввести с клавиатуры код символа (целое число от 1 до 256) и вывести на экран соответствующий символ.
#include <stdio.h>
int main()
{
int x;
printf(“Введите целое число от 1 до 256: “);
scanf(“ %d”,&x);
printf(“Код символа %c = %d\n”,x,x); // Вывод символа и его кода
return 0;
}