Особенности ввода, вывода символов

Символы (переменные и константы типа 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;

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: