Символьный тип данных

Значением данных символьного типа является любой символ
из набора всех символов компьютера или его код. Каждому символу соответствует порядковый номер (код) в диапазоне 0..255. Для кодировки символов первой половины диапазона используется код ASCII (американский стандартный код для обмена информацией),
или более современные стандарты в последних версиях языка Си.

При написании программ символьные данные могут быть
представлены либо константами, либо переменными.

Символьная константа представляет собой одиночный
символ, заключенный в апострофы, например:

‘Y’ ‘!’ ‘_’ ‘Д’

Символьная переменная объявляется с помощью ключевого слова char, например:

char cr;

Во внутренней памяти компьютера каждый символ занимаем 1 байт.

Ввод-вывод символьных данных

Для ввода символьных данных используются функции: scanf() – форматированный ввод, getchar() или getch() – специальные функции для ввода символа. Для форматного ввода и вывода символьных констант используется спецификатор (формат) %с. Необходимо помнить, что нажатие любой небуквенной клавиши при вводе ([пробел], [Enter] и др.) будет значимым и восприниматься как символ.

Пример 1. Организовать ввод символьных переменных:

a='i' b='j' c='k'

main()

{ char a,b,c;

printf("Введите исходные данные");

scanf("%c%c%c",&a,&b,&sc);

...

}

При вводе символы набираются без апострофов и пробелов:

ijk [Enter]

Символ клавиши [Enter] выходит за пределы списка ввода, поэтому он игнорируется.

При вводе символьной информации с помощью функции getchar() надо помнить, что функция переводит программу в состояние ожидания, но при нажатии клавиши символ выводится на экран. А, например, при выполнении следующего фрагмента программы

printf("Введите исходные данные");

a=getch();b=getch();c=getch();

переменные будут введены, но на экране их значения не отразятся.

Для вывода символьных данных используются функции printf() и putchar().

Пример 2. Организовать вывод указанных выше переменных на экран в одну строку. Запись оператора вывода будет следую­щей:

printf("%c%c%c\n",a,b,c);

Нa экране будет отображено:

ijk

Если использовать для вывода функцию putchar():

putchar(a); putchar(b); putchar(c);

на экране будет отображен тот же результат.


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



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