| |
BIGLIB |
| большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно |
|
| |
ФАНТАСТИКА |
| фентези,
фантастика, фантастические повести |
|
| |
ФИЛОСОФИЯ |
книги, которые заставляют
задуматься над окружающим тебя миром.
|
|
| |
МЕДИЦИНА |
медицинские книги,
методички,
народные лечебники |
|
| |
КУЛИНАРИЯ |
рецепты
тортов, консервирование,
все о спиртных
напитках. |
|
| |
СТИХИ |
| стихи популярных
и не очень авторов |
|
| |
ТВОРЧЕСТВО |
| народное творчество,
стихи, песни и т.д. |
|
| |
ЮМОР |
| анекдоты, приколы,
смешные истории |
|
| |
ЭРОТИКА |
| эротические рассказы,
книги о технике секса,
кама-сутра и др. |
|
|
| |
 |
Фигурные скобки
(**) (Открывающие и закрывающие фигурныескобки) обозна-
чают начало и конец составного оператора:
if (d == z)
(*
++x
func();
*)
Закрывающая фигурная скобка служит терминатором состав-
ного оператора, поэтому (;) (точка с запятой) после *) не
требуется, за исключением структур или объявлений классов.
Часто точка с запятой недопустима, как например в случае
if (оператор)
(**); /* недопустимое использование точки с запятой */
else
Запятая
Запятая (,) отделяет элементы списка аргументов функции:
void func(int n, float f, char ch);
Запятая часто используется как операция в "операции с
- 26 -
запятой". Обе эти операции являются допустимыми, но для раз-
личения их вы должны использовать круглые скобки:
func(i, j); /* вызов функции с двумя аргументами */
func((exp1, exp2), (exp3, exp4, exp5)); /* также вызов
функции с двумя аргументами */
Точка с запятой
Точка с запятой (;) служит терминатором оператора. Лю-
бое допустимое выражениеС (включая и пустое выражение), за
которым следует (;), интерпретируется как оператор, называе-
мый оператором выражения. Выражениевычисляется, а его значе-
ние отбрасывается. Если такое выражение не имеетпобочных эф-
фектов, то TurboC++ может его проигнорировать.
a + b; /* a + b вычисляется, но полученное значение
теряется */
++a; /* имеется побочный эффект для a, но результат ++a
*/
/* теряется */
; /* пустое выражение = нулевой оператор */
Точки сзапятой частоиспользуются для создания пустых
операторов:
for (i = 0; i < t; i++)
(*
;
*)
Двоеточие
Двоеточие (:) служит для обозначения оператора с меткой:
stsrt: x=0;
...
goto stsrt;
...
switch (a)(*
case 1: puts("Первый");
break;
case 2: puts("Второй");
break;
...
default: puts("Ни тот, ни другой!");
break;
*)
Метки рассматриваются на стр.92 оригинала.
Многоточие
Многоточие (...) представляет собой три последовательно
расположенные точки без пробелов между ними. Многоточия ис-
пользуются в списках формальных аргументовпрототипов функций
для обозначения переменногочисла аргументов, либо аргументов
с изменяющимся типом:
void func(int n, char ch,...);
Данное объявление указывает, что func будет определена
таким образом, что вызовы ее должны содержать как минимум
два аргумента, int и char,но также могут иметь и любое число
дополнительных аргументов.
В С++ запятую, предшествующую многоточию, можно опустить.
- 27 -
Звездочка (объявление указателя)
Звездочка (*) в объявлении переменной обозначает созда-
ние указателя на тип:
char *char_ptr; /* объявление указателя на тип char */
Можно объявить указатели с несколькими уровнями косвен-
ности, что обозначается соответствующим количеством звездо-
чек:
int **int_ptr; /* указатель на указатель на int */
double ***double_ptr /* указатель на указатель на
указатель на тип double */
Звездочка также используется в качестве операции обра-
щения через указатель, либо операции умножения:
i = *int_ptr;
a = b * 3.14;
Знак равенства (инициализатор)
Знак равенства (=) разделяет объявления переменных от
списков инициализации:
char array[5] = (* 1, 2, 3, 4, 5 *);
int x = 5;
В функциях С никакой код не может предшествовать ника-
ким объявлениям переменных. В С++ объявления любого типа мо-
гут находиться (с некоторыми ограничениями) в любой точке
внутри кода.
В списке аргументов функции С++ знак равенства указыва-
ет на значение параметра по умолчанию:
int f(int i = 0) (* ... *) /* параметр i имеет значение
по умолчанию ноль */
Знак равенства используется также как операция присвое-
ния в выражениях:
a = b + c;
ptr = farmalloc(sizeof(float)*100);
Знак фунта (директива препроцессора)
Знак фунта (#) означает директиву препроцессора, если
она является первым не-пробельным символом встроке. Он зада-
ет действие компилятора, не обязательно связанное с генера-
цией кода. Более подробно директивы препроцессора описаны на
стр.133 оригинала.
# и ## (двойной знак фунта) также используются как опе-
рации замены и слияния лексем на фазе сканирования кода
препроцессором.
Объявления
В данном разделе кратко рассматриваются концепции, свя-
занные с объявлениями: объектов, типов, классов памяти, кон-
текста, видимости, продолжительности и типом компонов-
ки.Преждечем перейти к рассмотрению полного синтаксиса
объявления, важно иметь общее представление об этих поняти-
ях.
- 28 -
Контекст, видимость, продолжительность и тип компоновки
определяют части программы,из которых могут быть сделаны до-
пустимые ссылки на идентификатор сцельюдоступа к соответс-
твующему объекту. Контекст обсуждаетсяна стр.29 оригинала,
видимость - на стр.30; продолжительность рассматривается,
начиная со стр. 31, а тип компоновки - на стр.32.
Объекты
Объектом называется идентифицируемая область памяти,
которая может содержать фиксированное значение переменной
(или набор таких значений). (Используемое в данном случае
слово "объект" не следует путать с более общим термином, ис-
пользуемым в объектно-ориентированных языках - см. главу 5,
"Введение в С++" в документе "Начало работы".) Каждая вели-
чина имеет связанное с ней имя и тип (который также называют
типом данных). Имя используется для доступа к объекту. Имя
может являться простым идентификатором, либо сложнымвыраже-
нием, уникальным образом "указывающим" на данный объект.
Тип используется для
- для определения требуемого количества памяти при ее
исходном распределении,
- для интерпретации битовых коды, находимых в объектах
при последующих к ним обращениях,
- а также в многочисленных ситуациях контроля типа,
требуемого для обнаружения возможных случаев недопустимого
присваивания.
Turbo C++ поддерживает многие стандартные (предопреде-
|
adfun.ru
|
|
|
|