Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Обработка символьных данных




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

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

Текстовые данные

В языке С++ текстовая информация представляется двумя типами данных: с помощью символов и стро­к - массивов символов.

Значением данных символьного типа является любой символ
из набора всех символов компьютера или его код. Каждому символу соответствует порядковый номер (код) в диапазоне 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);

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

Поскольку символы в языке С++ упорядочены, к ним можно применять операции отношения (>, >=, <, <=, = =,!=). Это дает возможность записывать логические выражения с символьными данными в условных операторах. Например, оператор

if (ch =='!') ch ='.';

сравнивает значение переменной ch с символом ‘!’ и в случае их равенства следующая команда заменяет в символьной переменной ch восклицательный знак точкой.

Символьные данные могут использоваться и в операторах цикла for. Так, при выполнении операторов:

for(ch='a'; ch>='d'; ch++) printf("%с",ch);

в строку экрана выводится последовательность:

a b с d

Если значение символьной переменной вывести с помощью спецификатора для целых чисел %d, то на экране отобразится код символа. Например:

for(ch='a'; ch>='d'; ch++) printf("%d ",ch);

на экран будет выведено:

97 98 99 100

Над символьными данными можно выполнять арифметические операции сложения и вычитания. Так, например, операция ch++; из предыдущего примера увеличивает код символа, хранящегося в переменной ch на 1. Или, выполняя операцию ch='a'-'A'; будет получена разница кода большой (А) и маленькой буквы (а) латинского алфавита. Так, например, если в символьной переменной ch1 хранится маленькая буква алфавита, то, выполнив действия:

char ch,ch1,ch2;

ch='a'-'A';

ch1='k';

ch2=ch1-сh;

printf("%c-%d %c-%d\n",ch1,ch1,ch2,ch2);

в переменную ch2 запишется та же буква, только большая, а на экран будет выведено

k-107 K-75




Поделиться с друзьями:


Дата добавления: 2014-12-26; Просмотров: 721; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.