скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыРеферат: Лекции по C++

1.    Переменные и операции языка С++

   Здесь представлены базовые компоненты программ на С++. В их число

входят типы данных, переменные, константы и выражения.

ИЗУЧАЕМЫЕ ПОНЯТИЯ

   - Предопределенные типы данных в С++ включают в себя типы int, char,

float, double и void. В языке С++ гибкость типов данных увеличивается

благодаря применению модификаторов типов. Эти модификаторы изменяют

точность представления и диапазон значений переменных. Модификаторами

типа являются signed, unsigned, short и long.

   - Идентификаторы в С++ могут иметь длину до 32 символов и

должны начинаться с буквы или подчеркивания. Последующие символы

идентификатора могут быть буквой, цифрой или подчеркиванием. Иден-

тификаторы С++ чувствительны к регистру. Ограничение на 32 символа

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

   - Директива #include является специальной командой компилятора. Она

предписывает компилятору включить в программу содержимое опреде-

ленного файла, как если бы вы сами ввели его в текущий исходный

файл.

   - Объявление констант предусматривает использование директивы #define

для объявления констант, определенных при помощи макросов, или ис-

пользование ключевого слова const для объявления формальных кон-

стант. Формальные константы требуют от вас определения их типа

(значением по умолчанию является int), имени и ассоциированного с

ними значения.

   - Объявление переменной требует, чтобы вы задали ее тип и имя, С++

дает вам возможность инициализировать переменную при ее объявлении.

Вы можете объявить несколько переменных в одном операторе объявле-

ния.

   - Арифметическими операциями являются +, -, *, / и % (деление по

модулю).

   - Арифметические выражения различаются по сложности. Самое простое

выражение содержит единственный элемент данных (литерал, константу

или переменную). Сложные выражения включают набор операций, функ-

ции, литералы, константы и переменные.

   - Операции инкремента и декремента используются в префиксной и пост-

фиксной формах. Язык С++ дает вам возможность применять эти опе-

рации к переменным, в которых хранятся символы, целые числа и даже

числа с плавающей точкой.

   - Арифметические операции присваивания дают вам возможность записы-

вать более короткие арифметические выражения, в которых первый опе-

ранд является также переменной, принимающей результат вычислений.

   - Оператор sizeof возвращает как для типов данных, так и для переменных

их размер в байтах.

   - Механизм приведения типа дает вам возможность форсировать преобра-

зование типа выражения.

   - Операции отношений и логические операции дают вам возможность стро-

ить логические выражения.

   - Булевы выражения объединяют операции отношений и логические опе-

рации для формулирования нетривиальных условий. Эти выражения позволяют

программе принимать сложные решения.

   - Условное выражение предлагает вам короткую форму для простого опе-

ратора if-else с двумя альтернативами.

   - Операции манипулирования битами выполняют поразрядные операции

AND, OR, XOR и NOT. Кроме того, в С++ поддерживаются поразрядные

операции сдвига << и >>.

   - Операции манипулирования битами с присваиванием предлагают корот-

кие формы для простых операций манипулирования битами.

     Буквы и цифры

     Множество символов Си включает большие и малые буквы из ан­глийского алфавита и 10 десятичных арабских цифр:

          -большие английские буквы:

A B C D E F G H I J K L M N O P Q R T U V W X Y Z

          -малые английские буквы:

a b c d e f g h i j k l m n o p q r t u v w x y z

          -десятичные цифры:

          0 1 2 3 4 5 6 7 8 9

     Буквы и цифры используются при формировании констант, иден-

тификаторов и ключевых слов. Все эти конструкции описаны ниже. Компилятор Си рассматривает одну и ту же  малую  и  большую

буквы как отличные символы. Если в данной записи использованы ма­лые буквы, то замена малой буквы "a" на большую букву "A" сделает отличной данную запись от предшествующей.

               Пробельные символы

              Пробел,  табуляция,  перевод строки, возврат каретки, новая страница, вертикальная табуляция и новая строка- это сиволы,  на­зываемые  пробельными, поскольку они имеют то же самое назначение, как и пробелы между словами и строками на печатной странице.  Эти символы разделяют об"екты, определенные пользователем, такие, как константы и идентификаторы, от других об"ектов программы.

              Символ CONTROL-Z рассматривается как индикатор конца файла. Компилятор   игнорирует   любой   текст,  следующий  за  символом

CONTROL-Z.

              Компилятор Си игнорирует пробельные символы,  если  они  не используются как разделители или как компоненты константы-символа или  строковых  литералов. Это нужно иметь в виду, чтобы дополни­тельно использовать пробельные символы для повышения  наглядности программы (например,для просмотра редактором текстов).

              Знаки пунктуации и специальные символы

              Знаки  пунктуации и специальные символы из множества симво­лов Си используются для различных целей,  от  организации  текста программы  до определения заданий, которые будут выполнены компи­лятором или откомпилированной программой. В таблице 2.1  перечис­лены эти символы.

-----------------------------------------------------------

     Символ Наименование       Символ  Наименование

-----------------------------------------------------------

          ,         Запятая !    Восклицатель-

                             ный знак

          .         Точка    |    Вертикальная

                             черта

          ;         Точка с за- /    Наклонная чер-

                   пятой         та вправо

          :         Двоеточие \    Наклонная чер-

                             та влево

          ?        Знак вопроса ~   Тильда

          '         Одиночная ка     _   Подчеркивание

                   вычка

          (        Левая круглая    #   Знак номера

                   скобка

          )        Правая круглая  %  Знак процента

                   скобка

          {        Левая фигурная &  Амперсанд

                   скобка

          }        Правая фигурная    ^   Caret

                   скобка

          <       Левая угловая    -    Знак минус

                   скобка

          >       Правая угловая  =   Знак равно

                   скобка

          [        Левая  квадратная  +   Знак плюс

                             скобка

          ]                  Правая квадратная

                        скобка -----------------------------------------------------------

                   Табл. 2.1. Знаки пунктуации и специальные символы

              Эти  символы имеют специальный смысл для компилятора Си. Их использование в языке Си описывается в дальнейшем содержании  ру­ководства.  Знаки  пунктуации из множества представимых символов, которые не представлены в данном списке, могут быть  использованы только в строковых литералах, константах-символах и комментариях.

              ESC- последовательности

              ESC-  последовательности- это специальные символьные комби­нации, которые представляют пробельные  символы  и  неграфические символы в строках и символьных константах.

              Их    типичное  использование  связано   со   спецификацией таких   действий,  как  возврат  каретки  и  табуляция ,  а также для  задания  литеральных  представлений  символов,   таких   как символ двойная кавычка. ESC-последовательность состоит из наклон­ной  черты  влево, за которой следует буква, знаки пунктуации ' " \ или комбинация цифр. В таблице 2.2. приведен список ESC- последо­вательностей языка Си.

-------------------------------------------------

     ESC- последовательность    Наименование

-------------------------------------------------

                        \n  Новая строка

                        \t   Горизонтальная табу-

                                 ляция

                        \v  Вертикальная табуля-

                                 ция

                        \b  Пробел

                        \r   Возврат каретки

                        \f  Новая страница

                        \a  Звонок(сигнал)

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

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

                        \\   Наклонная черта влево

                        \ddd  ASCII символ в восьми-

                                 ричном представлении

                        \xdd  ASCII символ в шестнад-

                             цатиричном представлении

                   Табл. 2.2. ESC- последовательности

              Если наклонная черта влево предшествует символу,  не  вклю­ченному  в  этот список, то наклонная черта влево игнорируется, а символ представляется как  литеральный. Например, изображение  \c

представляет символ "c" в литеральной строке или константе-симво­ле.

     Последовательности  \ddd и \xdd позволяют задать любой сим­вол в ASCII (Американский стандартный код  информационного интер­фейса) как последовательность трех восьмеричных цифр или двух ше­стнадцатеричных цифр. Например, символ пробела может  быть  задан как \010 или \x08. Код ASCII "нуль" может быть задан  как \0  или \x0 . В  восьмеричной  ESC- последовательности могут быть исполь­зованы от одной до трех восьмеричных цифр.

     Например, символ пробела может быть задан  как \10 .  Точно так же в шестнадцатеричной ESC- последовательности могут быть ис­пользованы от одной до двух шестнадцатеричных цифр. Так, шестнад­цатеричная последовательность для символа  пробела может быть за­дана  как \x08 или \x8 .

     Замечание:

     Когда используется восьмеричная или шестнадцатеричная  ESC­последовательность  в  строках,  то  нужно полностью задавать все цифры ESC- последовательности (три цифры для восьмеричной  и  две цифры для шестнадцатеричной ESC- последовательностей). Иначе, ес­ли  символ непосредственно следующий за ESC- последовательностью, случайно окажется восьмеричной или шестнадцатеричной  цифрой,  то он  проинтерпретируется  как  часть последовательности. Например, строка  \x7Bell  при  выводе на печать будет выглядеть как {ell , поскольку  \x7B  проинтерпретируется как символ  левой  фигурной скобки({)    . Строка  \x07Bell будет правильным представлением сим-

вола "звонок" с последующим словом Bell.

     ESC-  последовательности  позволяют  посылать неграфические управляющие символы к внешним устройствам. Например, ESC-  после­довательность\033 часто используется как первый символ команд уп­равления терминалом и  принтером.  Неграфические  символы  всегда должны представляться ESC-последовательностями, поскольку, непос­редственное использование в программах на Си неграфических симво­лов будет иметь непредсказуемый результат.

     Наклонная черта влево (\) помимо определения ESC-последова­тельностей  используется  также,  как символ продолжения строки в препроцессорных определениях.

     Если символ "новая строка" следует за наклонной чертой вле­во, то новая строка игнорируется и следующая строка  рассматрива­ется, как часть предыдущей строки.

     Операции

     Операции- это специальные комбинации символов, специфициру­ющие  действия по пробразованию различных величин. Компилятор ин­терпретирует каждую из этих комбинаций как самостоятельную едини­цу, называемую лексемой (token).

     В Табл. 2.3 представлен список  операций.  Операции  должны использоваться точно так, как они представлены в таблице: без про­бельных  символов между символами в тех операциях, которые предс­тавлены несколькими символами.

     Операция sizeof не включена в эту таблицу. Она скорее пред­ставляет собой ключевое слово, чем символ.

-------------------------------------------------

Операция                     Наименование -------------------------------------------------

              !                         Логическое НЕ

~                         Побитовое дополнение

              +                         Сложение

-    Вычитание, арифмети-

     ческое отрицание

*   Умножение

/    Деление

%  Остаток

<<     Сдвиг влево

>>     Сдвиг вправо

<   Меньше

<=     Меньше или равно

>   Больше

>=     Больше или равно

==     Равно

!= Не равно

&  Побитовое И, адрес от

|    Побитовое  включающее ИЛИ

^   Побитовое исключающее ИЛИ

&&    Логическое И

||   Логическое ИЛИ

'    Последовательное выполне-

     ние (запятая)

?:  Операция условного вы-

     ражения

++     Инкремент

--  Декремент

=   Простое присваивание

+=     Сложение с присваиванием

-= Вычитание с присваиванием

*= Умножение с присваиванием

/=  Деление с присваиванием

%=    Остаток с присваиванием

>>=   Сдвиг вправо с присваива-

     иванием

<<=   Сдвиг влево с присваива-

     нием

&=    Побитовое И с присваива-

     нием

|=  Побитовое включающее ИЛИ

     с присваиванием

^= Побитовое исключающее ИЛИ

     с присваиванием

              -------------------------------------------------------

                        Табл. 2.3. Операции

          Замечание:

          Операция  условного выражения ?: -это тернарная, а не двух­символьная  операция.  Формат  условного   выражения   следующий: <expression>?<expression>:<expression>

          Константы

          Константа- это число, символ или строка символов. Константы используются  в  программе  как неизменяемые величины. В языке Си различают четыре типа констант: целые константы, константы с пла­вающей точкой, константы-символы и строчные литералы.

          Целые константы

          Целая константа- это десятичное, восьмеричное или  шестнад­цатеричное число, которое представляет целую величину. Десятичная константа имеет следующий формат представления:

          <digits>,

          где  <digits>  - это одна или более десятичных цифр от 0 до 9.

          Восьмеричная константа имеет следующий  формат  представле­ния:

          0<odigits>,

          где  <odigits>  - это одна или более восьмеричных цифр от 0 до 7. Запись ведущего нуля необходима.

          Шестнадцатеричная константа имеет один из следующих  форма­тов представления:

          0x<hdigits>

          0X<hdigits>,

где <hdigits> одна или более шестнадцатеричных цифр. Шестнадцатеричная  цифра  может  быть  цифрой от 0 до 9 или

буквой (большой или малой) от A до F. В  представлении  константы допускается  "смесь" больших и малых букв. Запись ведущего нуля и следующего за ним символа x или X необходима.

          Пробельные символы не допускаются между цифрами целой конс­танты. В Табл. 2.4 иллюстрируются примеры целых констант.

-----------------------------------------------------------

     Десятичные              Восьмеричные         Шестнадцатеричные

     константы            константы            константы

-----------------------------------------------------------

     10                     012                  0xa или 0xA

     132                        0204                 0x84

     32179               076663               0x7dB3 или 0x7DB3

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.