Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Именованные типизированные константы




Хотя длина строки в С++ практически не ограничена, текст программы не должен выходить за пределы ширины экрана для того, чтобы было удобно читать и распечатывать программу.

Строковые константы

Строковый литерал – это последовательность символов, заключенная в двойные кавычки. Строка в С++ соответствует типу данных «массив символов» и может содержать любые символы алфавита языка, например: "A", "строка", "string", "\n". Строки завершаются символом '\0' (компилятор автоматически добавляет '\0').

При наличии символа L перед открывающей кавычкой, говорят о широкой строковой константе: L"A", L"строка", L"string", L"\n".

 

Пустая строка определяется как "" и сохраняется как один символ '\0', т.е. имеет длину, равную 1. Cимвольная константа и строка из одного символа не одно и то же: 'x' не есть "x". Первое – это один символ, использованный для представления числового значения буквы х. Второе – строка, содержащая букву х и '\0' (имеет длину 2). Поэтому при создании строки (как массива символов) необходимо предусматривать дополнительный байт на символ '\0', а при инициализации такой строки в число инициализирующих элементов включать в качестве завершающего символа '\0'.

Примеры строковых литералов:

"5" // строковый литерал из символов '5' и '\0'

"symbol" // строковый литерал из семи символов, включая символ '\0'

"\'" // строковый литерал из апострофа и завершающего нуля

"a\tb\n" //строковые литералы могут содержать управляющие последовательности;
// если этот литерал записан в операторе вывода, то на экран выводится: буква a;
//несколько пробелов, соответствующих значению символа табуляции;
//буква b. После этого происходит переход на следующую строку.

 

Компилятор объединяет две строковые константы, разделенные символами – разделителями и следующие одна за другой:

char *s="Mi" "nsk";

cout <<s << endl; //выведет на экран: Minsk

 

char *longStr = "Это длинная строка, которую"

" мы разбили на 3 строки."

" Компилятор сам склеит строки."

Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса обратную косую черту. Например, строка:

char *longStr1= "Никто не доволен своей \

внешностью, но все довольны \

своим умом"

эквивалентна сроке:

"Никто не доволен своей внешностью, но все довольны своим умом".

 

Именованные константы позволяют сделать запись более наглядной. Идентификаторы именованных констант рекомендуется записывать прописными буквами.

 

В С++ используются типизированные именованные константы:

§ для задания параметров, управляющих:
- размером структур данных (например, массивов: const int N=10; int mas[N];),
- числом итераций в циклах (const int K=10; for (int i=1; i<K; i++) ….)

§ для задания других значений, изменение которых может потребоваться при отладке или модернизации программы;

§ для обозначения часто встречающихся в программе постоянных величин;

§ при использовании констант, имеющих общеупотребительные обозначения.

 

Например:

const int K = 40;

int M[K][K];

float A[K], B[K][K];

 




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


Дата добавления: 2015-06-25; Просмотров: 407; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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