Программирование >>  Дополнительные возможности наследования 

1 ... 12 13 14 [ 15 ] 16 17 18 ... 265


Компьютеры не имеют ни малейшего понятия ни о каких буквах, знаках препинания или предложениях. Все они понимают только числа. В действительности же они оценивают некоторые электрические параметры в определенных точках своих схем. Если значение оцениваемого параметра выше некоторой оговоренной величины, оно представляется внутренне как 1, если нет - как 0. Путем группирования нулей и единиц компьютер способен генерировать кодовые комбинации, которые можно интерпретировать как числа, а те, в свою очередь, можно присвоить буквам и знакам препинания.

Символы U числа

Если разместить какой-нибудь символ, например а , в переменной типа char, то в действительности она будет хранить число, лежащее в диапазоне между О и 255. Однако компилятор знает, как переходить от символов к их цифровым эквивалентам в ASCII и обратно.

Взаимосвязь между числом и буквой произвольна, поскольку нет никакой весомой причины для присваивания строчной букве а именно значения 97. Если все составляющие компьютера (ваша клавиатура, компилятор и экран) с этим согласны , никаких проблем не возникнет. Однако важно понимать, что между значением 5 и символом 5 большая разница. Символу 5 в действительности соответствует значение 53, так же как букве а соответствует число 97.

Лосшннг З.В. Вывод на экран снмнояов но нх значвнням

♦include <iostream.h>

int mainO

for (int i = 32; i<128; i++)

cout << (char) i; return 0;

! #$%()* + , ./0123456789:; <>?@ABCDEFGHIJKLMNOP QRSTUVWXY2[\] abcdefghijklnnopqrstuvwxyz{ {-

Эта простая программа вьшодит символы, значения которых лежат в диапазоне 32-127.

Спвциальныв символы

Компилятор С++ распознает некоторые специальные символы, предназначенные для форматирования текста. (Самые распространенные из них представлены в табл. 3.2.) Чтобы вставить эти символы в профамму, используется обратный слеш (называемый символом начала управляющей последовательности), указывающий, что следующий за ним символы является управляющими. Следовательно, чтобы вставить в профамму символ табуляции, нужно ввести одиночную кавычку, обратный слеш, букву t и снова одиночную кавычку:

char tabCharacter = At ;



в этом примере объявляется переменная типа char (с именем tabCharacter), которая тут же инициализируется символьным значением \t, распознаваемым как символ табуляции. Специальные символы форматирования используются при выводе информации на экран, в файл или на другое устройство вывода (например, принтер).

Символ начала управляющей последовательности изменяет значение символа, который следует за ним. Например, обычно символ и означает букву и, но когда перед ней стоит символ начала управляющей последовательности (\), то он превращается в символ разрыва строки.

ТвДжищ 3.2. Яправдямщие симввжы

еимивй

\п Разрыв строки

\t Табуляция

\Ь Возврат на одну позицию

\ Двойная кавычка

\ Одиночная кавычка

\? Вопросительный знак

\\ Обратный слеш

Константы

Подобно переменным, константы представляют собой ячейки памяти, предназначенные для хранения данных. Но, в отличие от переменных, константы не изменяются (о чем говорит само название - константа). Создаваемую константу нужно инициализировать, поскольку позже ей нельзя присвоить новое значение,

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

Аитвральпыв константы

Литеральная константа - это значение, непосредственно вводимое в самой про-фамме. Например, в выражении

int myAge = 39;

myAge является переменной типа int, а число 39 - литеральной константой. Нельзя присвоить никакое значение константе 39.

Симввльныв квнстанты

Символьная константа - это константа, представленная именем (точно так же, как именем представляется любая переменная). Однако, в отличие от переменной, значение инициализированной константы изменить нельзя.

Если в вашей профамме есть одна целочисленная переменная с именем students, а другая - с именем classes, вы могли бы вычислить общее количество учеников школы при условии, что вам известно, сколько классов в школе и сколько учеников в каждом классе (допустим, каждый класс состоит из 15 учеников):

students = classes * 15;



Символ означает умножение.

В этом примере число 15 является литеральной константой. Но если эту литеральную константу заменить символьной, то вашу профамму будет легче читать и изменять в будущем:

students = classes * studentsPerClass

Если впоследствии пофебуется изменить количество учеников в каждом классе, вы сможете сделать это единожды в той сфоке профаммы, где определяется константа StudentsPerClass, и вам не придется вносить изменения во все сфоки профаммы, где используется это значение.

В языке С++ существует два способа объявления символьной константы. Традиционный и ныне уже устаревший способ состоит в использовании директивы препроцессора #define.

Опрвдвлвнив констант с пвмвщью дорвктовы #dBfinB

Для определения константы фадиционным способом введите следующее выражение;

#define studentsPerClass 15

Обратите внимание на то, что константа studentsPerClass не имеет никакого конкретного типа (int, char и т.д.). Директива #define выполняет простую текстовую подстановку. Каждый раз, когда препроцессор всфечает слово studentsPerClass, он заменяет его литералом 15.

Поскольку препроцессор запускается перед компилятором, последний никогда не увидит константу, а будет видеть только число 15.

Опрвдвленое квнстант с ввмощью клтчевого слова const

Хотя директива #define и справляется со своими обязанностями, в языке С++ существует новый, более удобный способ определения констант:

const unsigned short int studentsPerClass = 15;

В этом примере также объявляется символическая константа с именем StudentsPerClass, но на сей раз для этой константы задается тип unsigned short int. Этот способ имеет несколько преимуществ, облегчая дальнейшую поддержку вашей профаммы и предотвращая появление некоторых ошибок. Самое важное отличие этой константы от предыдущей (объявленной с помощью директивы #define) состоит в том, что она имеет тип и компилятор может проследить за ее использованием только по назначению (т.е. в соответствии с объявленным типом).

(ттик

Во время работы программы константы изменять нельзя. Если же возникла необходимость в изменении, например, константы StudentsPerClass, вам нужно изменить соответствующее объявление в программе и перекомпилировать ее.



1 ... 12 13 14 [ 15 ] 16 17 18 ... 265

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика