Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по С++.doc
Скачиваний:
34
Добавлен:
15.12.2018
Размер:
2.31 Mб
Скачать

Лекция 14 Символы и строки

Цели:

  • получить представление о символьном типе данных и познакомиться с функциями, работающими с символами;

  • познакомиться с понятием строки в С++ и строчными функциями;

  • освоить методику написания алгоритмов с использованием символьных и строчных переменных, перевода таких алгоритмов на язык программирования С++ (с и без использования побитовых операций) и разработки соответствующего проекта в среде Visual C++ 6.0.

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

Символьным типом данных на языке С++ является тип char. На машинном уровне символы представляются как целые числа. Для хранения символов и манипулирования ими каждому символу поставлен в соответствие его код – целое число. Существует несколько стандартов, определяющих, какие коды каким символам соответствуют. В С++ для кодировки символов используется стандарт ASCII, определяющий коды от 0 до 127. Для представления русских букв используется стандарт КОИ-8 или CP-1251. В этих стандартах русские буквы кодируются числами от 128 до 255. Таким образом, все символы могут быть представлены в одном байте. Значением переменных символьного типа может быть либо числовой код символа, либо символьная константа. Присваивание вида ch=’ab’; приведет к ошибке. Символьная константа – это один символ, заключенный в апострофы. Переменным символьного типа можно присвоить значение целого типа, выходящее за пределы диапазона то 0 до 255, но при этом компилятор преобразует это значение к значению в пределах от 0 до 255.

Объявление переменной символьного типа:

сhar ch; //ch – переменная символьного типа

сh=’а’; // символы на языке С++ заключаются в апострофы

ch=235; // такое присваивание возможно

Так как значением символьной переменной может быть целое число, то к переменным символьного типа применимы арифметические операции: +, -, *, /. Символьные переменные можно сравнивать при помощи операций отношения: >, <, >=, <=, = =, !=. При этом следует учитывать то, что все эти операции производятся с целыми числами – кодами символов. Таким образом, символьные переменные сравниваются через ASCII-коды соответствующих символов. Чем «старше» символ, тем больший ASCII-код ему соответствует.

Для работы с символами определены библиотечные функции, описанные в файлах conio.h, ctype.h и stdio.h. Некоторые из этих функций описаны в табл.8.

Таблица 8

Функция

Форма обращения к функции и её краткое описание

Файл ctype.h

isalnum

i = isalnum(int с);

i – переменная типа int

i не равно нулю, если значение с – код буквы или цифры (A...Z, a...z, 0...9);

i = 0 – в противном случае

isalalpha

i = isalalpha (int с);

i – переменная типа int

i не равно нулю, если значение с – код буквы или цифры (A...Z, a...z);

i = 0 – в противном случае

isascii

i = isascii (int с);

i – переменная типа int

i не равно нулю, если значение с – код ASCII, т.е. принимает значение от 0 до 127; i = 0 – в противном случае

isdigit

i = isdigit (int с);

i – переменная типа int

i не равно нулю, если значение с – цифра (О... 9) в коде ASCII;

i = 0 – в противном случае

toascii

i = toascii (int с);

i – переменная типа int

i принимает значение в диапазоне от 0 до 127, т.е функция преобразует целое число с в символ кода ASCII

Файл stdio.h

scanf

scanf ("%c", &ch);

Функция форматированного ввода с клавиатуры

ch – переменная типа char. Формат ввода "%c" означает, что с клавиатуры будет считываться один символ

printf

printf ("%c", ch);

Функция форматированного вывода

ch – переменная типа char. Формат вывода "%c" означает, что на экран будет выведен один символ

getchar

ch = getchar ();

Считывает очередной символ, введенный с клавиатуры. Введенный символ отображается на экране

ch – переменная типа char, которая получает введенное с клавиатуры значение

putchar

putchar (ch);

Выводит символ сh на экран

ch – переменная типа char

Файл conio.h

getch

ch = getch ();

Считывает один символ, введенный с клавиатуры без отображения на экране

ch – переменная типа char, которая получает введенное с клавиатуры значение