КАТЕГОРИИ: Архитектура-(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) |
Обработка символьных данных
Ввод-вывод символьных данных Символьный тип данных Текстовые данные В языке С++ текстовая информация представляется двумя типами данных: с помощью символов и строк - массивов символов. Значением данных символьного типа является любой символ При написании программ символьные данные могут быть Символьная константа представляет собой одиночный ‘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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |