Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Программирование -> C / C++ -> Учебник С++


Учебник С++


Содержание частей учебника

Часть 1. Изучение основ.

Урок 1. Создание вашей первой программы.
Урок 2. Более внимательный взгляд на С++.
Урок 3. Вывод сообщений на экран.
Урок 4. Программы хранят информацию в переменных.
Урок 5. Выполнение простых операций.
Урок 6. Чтение ввода с клавиатуры.
Урок 7. Программа принимает решение.
Урок 8. Повторение одного или нескольких операторов

Часть 2. Создание программ с помощью функций.

Урок 9. Знакомство с функциями.
Урок 10. Изменение значений параметров.
Урок 11. Преимущества использования библиотеки этапа выполнения.
Урок 12. Локальные переменные и область видимости.
Урок 13. Перегрузка функций.
Урок 14. Использование ссылок в С++.
Урок 15. Значения параметров по умолчанию.

Часть 3. Хранение информации с помощью массивов и структур.

Урок 16. Хранение значений в массивах.
Урок 17. Символьные строки.
Урок 18. Хранение связанной информации в структурах.
Урок 19. Объединения.
Урок 20. Указатели.

Часть 4. Использование классов в С++.

Урок 21. Знакомство с классами в С++.
Урок 22. Частные и общие данные.
Урок 23. Конструктор и деструктор.
Урок 24. Перегрузка операторов.
Урок 25. Статические функции и элементы данных.

Часть 5. Наследование и шаблоны.

Урок 26. Наследование.
Урок 27. Множественное наследование.
Урок 28. Частные элементы и друзья.
Урок 29. Использование шаблонов функций.
Урок 30. Использование шаблонов классов.

Часть 6. Расширенные возможности С++.

Урок 31. Использование свободной памяти в С++.
Урок 32. Управление свободной памятью.
Урок 33. Дополнительные возможности cin и cout.
Урок 34. Файловые операции В/В в С++.
Урок 35. Встроенные функции и ассемблерные коды.
Урок 36. Использование аргументов командной строки.
Урок 37. Использование констант и макрокоманд.
Урок 38. Полиморфизм.
Урок 39. Использование исключительных ситуаций С++ для обработки ошибок.


Урок 1. Создание вашей первой программы.

Для начала надо определиться с некоторыми ключевыми понятиями. Итак.

Программное обеспечение - это файлы, содержащие инструкции (команды), которые указывают компьютеру, что следует делать. Это файлы с расширением EXE.

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

Язык программирования - это язык инструкций для компьютера, например С++.

Исходный файл - это текстовый файл, хранящий инструкции (команды).

Компилятор нужен для преобразования команд исходного файла в файл с расширением EXE, содержащий единицы и нули, которые понимает компьютер.

Создание простой программы

Сегодня большинство программистов на С++ программируют в среде для Windows, таких как Visual C++ или Borland C++. Для примеров в учебнике будет использоваться интегрированная среда фирмы Borland.
После запуска программы выберите File > New > TextEdit. Появится окно текстового редактора в которое вы будете вводить текст программы.



Создайте на диске папку в которой вы будете сохранять ваши программы, например C:\MyProgs. По умолчанию файл в Borland C++ имеет название NONAME00.CPP . Расширение СРР указывает на то, что этот файл содержит программу на С++. Наша первая программа будет называться FIRST.CPP , для изменения названия выберите File > Save as.. В диалоговом окне введите название файла FIRST (расширение можно не вводить) и нажмите "Сохранить".

В окно редактора введите следующие операторы программы С++:

#include <iostream.h>
void main(void)
{
cout << "Учимся программировать на языке С++!";
}

Примечание. Если вместо русских букв у вас появляются непонятные символы, выберите Options > Environment..


В появившемся диалоговом окне, в левой части дважды щелкните на пункте Edit и выберите подпункт Display и в правой части окна в разделе Font выберите другой шрифт.

Компиляция вашей программы

Компьютер работает с комбинациями единиц и нулей (машинным языком). Он не понимает операторы программы на С++, которые понятны вам. Чтобы перевести операторы С++ в машинный язык используется компилятор . Компилятор создает файл с расширением EXE, который вы можете запустить.

Итак, чтобы откомпилировать программу выберите Project > Make All или нажмите F9, программа произведет компиляцию и если вы не допустили ошибок в исходном тексте выведет сообщение об успешной компиляции.

Теперь можно запустить вашу программу. Для этого в сеансе MS-DOS в командной строке введите имя программы, т.е. FIRST. Так, если ваша программа находится в каталоге C:\MyProgs , то вам в ответ на командную подсказку C:\> надо ввести MyProgs\FIRST.

Создание второй программы

Для создания новой программы выберите File > New > TextEdit, а затем сохраните её под именем EASY.CPP. Введите следующие операторы:

#include <iostream.h>
void main(void)
{
cout << "Программировать на С++ просто!";
}

Как и ранее сохраните свои операторы программы в исходном файле и откомпилируйте программу (F9) Компилятор создаст программу с именем EASY.EXE. Когда вы её запустите, на вашем экране появится следующее сообщение:



Далее отредактируйте исходный файл EASY.CPP и измените выводимое на экран сообщение, добавив слово очень :

cout <<"Программировать на C++ очень просто!";

Сохраните ваше изменение в исходном файле и откомпилируйте программу. После этого запустите программу.

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

Изучение синтаксических ошибок.

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

Если вы допускаете ошибку при написании программы, компилятор С++ выводит на экран сообщение об ошибке, которое описывает ошибку и соответствующий ей номер строки в исходном файле.

Чтобы понять процесс обнаружения и исправления синтаксических ошибок, создайте следующую программу с именем SYNTAX.CPP:

#include <iostream.h>

void main(void)
{
cout << "Заключайте сообщения в кавычки;
}

При компиляции программы компилятор выведет сообщение о синтаксических ошибках.


Отредактируйте файл, заключив предложение в кавычки.

cout << "Заключайте сообщения в кавычки";

Теперь можете успешно откомпилировать программу и запустить файл.

Урок 2. Более внимательный взгляд на С++.

В уроке 1 вы создали программу FIRST.CPP, которая содержала следующие операторы:

#include <iostream.h>

void main(void)
{
cout << "Учимся программировать на языке С++!";
}

В данном случае программа содержит три оператора . Фигурные скобки (называемые группирующими символами ) группируют связанные операторы.

Представление об операторе #include

При компиляции программы оператор #include заставляет компилятор включать содержимое заданного файла в начало вашей программы. В примерах из первого урока это файл iostream.h

Файлы с расширением h, которые вы включаете в начало (или заголовок ) вашей программы, называются заголовочными файлами. Если вы посмотрите в котолог, содержащий файлы вашего компилятора, то найдете подкаталог с именем INCLUDE, в котором находятся заголовочные файлы. Содержимое этих файлов можно вывести на экран или принтер.

Примечание: Никогда не изменяйте содержимое заголовочных файлов. Это может привести к ошибкам компиляции в каждой создаваемой вами программе.

Что такое void main(void)

Каждая программа на С++ имеет один вход, с которого начинается выполнение программы, - главную программу. В программах на С++ оператор void main(void) указывает стартовую точку вашей программы.

По мере усложнения ваших программ вы будете делить их на несколько небольших частей. При этом оператор void main(void) указывает на часть программы, которая выполняется первой.

Использование void

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

Каждая функция в программе имеет уникальное имя, а каждая программа имеет по крайней мере одну функцию. Каждая программа из урока 1 имела одну функцию с именем main .

Программы используют слово void для указания того, что функция не возвращает значения или не имеет значений, передаваемых в нее. Большинство простых программ на С++, которые будут созданы вами в процессе изучения учебника, не возвращают выходное значение статуса операционной системе. Поэтому вы должны размещать слово void перед main.

Если программа не использует информацию командной строки, вы должны разместить слово void внутри круглых скобок после main, как показано ниже:

void main(void)

Представление о группирующих операторах { }.

По мере усложнения в ваших программах будет один набор операторов, которые компьютер должен выполнить определенное число раз, и другой набор операторов, которые компьютеры должен выполнить, если выполняется определенное условие. Внутри своих программ на С++ вы будете использовать правую и левую фигурные скобки { }, чтобы сгруппировать связанные операторы.

Использование cout для отображения вывода на экран.

Чтобы вывести сообщение, программы используют cout и двойной знак меньше (<<), как показано ниже:

cout << "Привет, С++!";

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

Урок 3. Вывод сообщений на экран.

До сих пор созданные вами программы использовали cout для вывода символьных строк (букв и чисел, взятых в кавычки). Но cout также можно использовать для вывода чисел (без кавычек). Следующая программа 1001.CPP выводит число 1001 на ваш экран:

#include <iostream.h>

void main(void)
{
cout << 1001;
}

Откомпилируйте и запустите эту программу. На вашем экране будет отображено число 1001, как показано ниже:

Кроме отображения целых чисел , cout также позволяет отображать числа с плавающей точкой , например 1.2345. Следующая программа FLOATING.CPP использует cout для вывода числа 0.12345 на экран:

#include <iostream.h>

void main(void)
{
cout << 0.12345;
}

Вывод нескольких значений одновременно

Как вы уже знаете двойной знак "меньше" является операцией вставки . С помощью оператора cout вы можете использовать несколько операций вставки в пределах одного оператора. Например, следующая программа 1001TOO.CPP использует эту операцию четыре раза для отображения числа 1001 на вашем экране:

#include <iostream.h>

void main(void)
{
cout << 1 << 0 << 0 << 1;
}

Каждый раз, когда в С++ встречается операция вставки, число или символы просто добавляются к тем, что находятся в настоящее время в выходном потоке. Следующая программа SHOW1001.CPP с помощью cout выводит символьную строку и число:

#include <iostream.h>

void main(void)
{
cout << "Мое любимое число равно " << 1001;
}

Обратите внимаение, что пробел, следующий за словом равно , служит для отделения числа 1001 от этого слова. Без пробела число сливается со следующим словом (равно1001).

Использование специальных символов вывода

Все программы, созданные вами до сих пор, отображали свой вывод в одну строку. Если необходимо переместить курсор в начало следующей строки, можно поместить символ новой строки (\n) в выходной поток. В С++ имеется два разных способа создания новой строки. Первый - это помещение символа \n внутри символьной строки. Например, следующая программа TWOLINES.CPP отображает свой вывод в виде двух строк, используя символ новой строки:

#include <iostream.h>

void main(void)
{
cout << "Это строка один\nЭто строка два";
}

Если вы не выводите символьную строку, можете поместить символ новой строки внутри одинарных кавычек. Например, следующая программа NEWLINES.CPP выводит числа 1, 0, 0 и 1, каждое на своей собственной строке:

#include <iostream.h>

void main(void)
{
cout << 1 << '\n' << 0 << 'n' << 0 << 'n' << 1;
}

Кроме символа новой строки для продвижения в начало следующей строки вы можете использовать символ endl (конец строки). Следующая программа ENDL.CPP иллюстрирует использование endl для продвижения курсора в начало новой строки:

#include <iostream.h>

void main(void)
{
cout << "А теперь..." << endl
        << "Учимся программировать на языке С++";
}

Другие специальные символы

Символ

\a
\b
\f
\n
\r
\t
v
\\
\?
\'
\"
\0
\ooo
\xhhhh
Назначение

Сигнальный символ
Символ возврата
Символ перевода страницы
Символ новой строки
Возврат каретки
Символ горизонтальной табуляции
Символ вертикальной табуляции
Символ обратный слеш
Знак вопроса
Одинарные кавычки
Двойные кавычки
Нулевой символ
Восьмеричное значение
Шеснадцатиричное значение

Вывод восьмеричных и шеснадцатеричных значений

В зависимости от назначения ваших программ вам, возможно, потребуется выводить числа в восьмеричном или шеснадцатеричном виде. Для этого необходимо разместить модификаторы dec , oct и hex внутри выходного потока. Следующая программа OCTHEX.CPP использует эти модификаторы для вывода значений в десятичном, весьмеричном и шеснадцатеричном виде:

#include <iostream.h>

void main(void)
{
cout << "Восьмеричный: " << oct << 10 << ' ' << 20 << endl;
cout << "Шеснадцатеричный: " << hex << 10 << ' ' << 20 << endl;
cout << "Десятичный: " << dec << 10 << ' ' << 20 << endl;
}

Примечание: Когда вы используете один из модификаторов для выбора восьмеричного, шеснадцатеричного или десятичного вывода, ваш выбор будет оставаться в силе до тех пор, пока программа не закончится или пока вы не используете другой модификатор.

Управление шириной вывода

При выводе на cout ваши программы могут указать ширину вывода каждого числа, используя модификатор setw (установка ширины). С помощью setw программы указывают минимальное число символов, занимаемое числом. Например, следующая программа SETW.CPP использует модификаор setw для выбора ширины 3, 4, 5 и 6 для числа 1001. Чтобы использовать модификатор setw, ваша программа должна включать заголовочный файл iomanip.h:

#include <iostream.h>
#include <iomanip.h.h>

void main(void)
{
cout << "Мое любимое число равно" << setw(3) << 1001 << endl;
cout << "Мое любимое число равно" << setw(4) << 1001 << endl;
cout << "Мое любимое число равно" << setw(5) << 1001 << endl;
cout << "Мое любимое число равно" << setw(6) << 1001 << endl;
}

Если вы указываете ширину с помощью setw, вы указываете минимальное количество символьных позиций, занимаемых числом. В предыдущей программе модификатор setw(3) указывал минимум три символа. Однако, так как число 1001 потребовало больше трех символов, cout использовал реально требуемое количество, т.е. четыре.

При использовании setw для выбора ширины, указанная ширина действительна для вывода только одного числа. Если вам необходимо указать ширину для нескольких чисел, вы должны использовать setw несколько раз.

Примечание: Предыдущая программа использует заголовочный файл IOMANIP.H. Вы можете исследовать содержимое этого файла, только ничего не изменяйте. Как и заголовочный файл IOSTREAM.H данный файл находится в подкаталоге INCLUDE.

 

Урок 4. Программы хранят информацию в переменных.

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

Объявление переменных в программах Ваши программы используют переменные для хранения информации. В зависимости от типа хранимого значения, например, целое число, буква алфавита или число с плавающей точкой, тип вашей переменной будет разным. Большинство программ на С++ будут использовать типы переменных, перечисленные в таблице:

 

Тип

char
int
unsigned
long
float
double

Хранимые значения

Значения в диапазоне от -128 до 127
Значения в диапазоне -32768 до 32767
Значения в диапазоне 0 до 65535
Значения в диапазоне от -2147483648 до 2147483647
Значения в диапазоне от -3.4 x 10^-38 до 3.4 x 10^38
Значения в диапазоне от 1.7 x 10^-308 до 1.7 x 10^308

Прежде чем вы сможете использовать переменную ваша программа должна её объявить, т.е. представить её компилятору С++. Чтобы объявить переменную, вам следует указать тип переменной и её имя, по которому программа будет обращаться к данной переменной. Выбираемое вами имя переменной может быть произвольным, но лучше, если оно будет иметь смысл, который описывает использование переменной. Например могут быть такие имена: name, age.

В С++ объявление перменной считается оператором, поэтому за именем переменной следует ставить точку с запятой.

Фрагмент следующей программы объявляет три переменные, используя типы int, float и long :

#include <iostream.h>

void main(void)
{
int test_score;
float salary;
long distance_to_mars;
}

Данная программа ничего не выполняет, а только объявляет переменные. Если вы объявляете несколько переменных одного типа, можно разделить их имена запятой:

float salary, income_tax, retirement_fund;

Слова, которые нельзя использовать для имен переменных.

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

asm auto break case catch char class const continue default delete do double else enum extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch template this throw try typedef union unsigned virtual void volatile while

Присваивание значения переменной

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

age = 32;
salary = 25000.75;
distance_to_the_moon = 238857;

Примечание: Значения, присваиваемые переменным, не должны содержать запятые! Если вы включаете запятые, компилятор С++ будет выводить сообщения о синтаксических ошибках.

Присваивание значения при объявлении

При объявлении переменной часто удобно присваивать её начальное значение как показано ниже:

int age = 32;
float salary = 25000.75;
long distance_to_the_moon = 238857;

Использование значения переменной

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

#include <iostream.h>

void main(void)
{
int age = 32;
float salary = 25000.75;
long distance_to_the_moon = 238857;

cout << "Служащему " << age << " года (лет)" << endl;
cout << "Оклад служащего составляет $" << salary << endl;
cout << "От земли до луны " << distance_to_the_moon
        << " миль" << endl;
}

Примечание: Если вам необходимо перенести строку, постарайтесь не делать этого в середине символьной строки (внутри двойных кавычек), используйте дополнительный отступ для перенесенной части строки, как показано выше.

Превышение диапазона значений переменной

Как вы уже знаете, тип переменной определяет набор значений, которая переменная может хранить. Например, переменная типа int может хранить значения в диапазоне от -32768 до 32767. Если вы присваиваете переменной значение, которое находится вне этого диапазона, возникает ошибка переполнения . Например, следующая программа OVERFLOW.CPP иллюстрирует, как превышение диапазона значений переменной приводит к ошибке:

#include <iostream.h>

void main(void)
{
int positive = 40000;
long big_positive = 4000000000;
char little_positive = 210;

cout << "Сейчас positive содержит " << positive << endl;
cout << "Сейчас big_positive содержит " << big_positive << endl;
cout << "Сейчас little_positive содержит " << little_positive << endl;
}

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

Использование комментариев для улучшения чтения ваших программ

Прот создании программ включайте комментарии, которые объясняют работу программы. Если другим программистам понадобится изменить вашу программу, они смогут воспользоваться комментариями. В программах на С++ комментарии начинаются с двойного слеша:

// Это комментарий С++

Когда компилятор С++ встречает двойной слеш, он игнорирует весь текст оставшийся в текущей строке, который следует за слешем.

Урок 5. Выполнение простых операций.

Основные математические операции

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

Операция
+
-
*
/

Назначение
Сложение
Вычитание
Умножение
Деление

Пример
total=cost+tax
change=payment-total
tax=cost*tax_rate
average=total/count

#include <iostream.h>

void main(void)
{
cout << "5 + 7 = " << 5 + 7 << endl;
cout << "12 - 7 = " << 12 - 7 << endl;
cout << "1.2345 * 2 = " << 1.2345 * 2 << endl;
cout << "15 / 3 = " << 15 / 3 << endl;
}

Обратите внимание, что каждое выражение сначала появляется в кавычках, которые обеспечивают вывод символов (например, 5 + 7 =)на экран. Затем программа выводит результат операции и символ новой строки.

Следующая программа MATHVARS.CPP выполняет арифметические операции, используя переменные:

#include <iostream.h>

void main(void)
{
float cost = 15.50;
float sales_tax = 0.06;
float amount_paid = 20.00;
float tax, change, total;

tax = cost * sales_tax;
total = cost + tax;
change = amount_paid - total;

cout << "Стоимость покупки: $" << cost <<
"\tНалог: $" << tax << "\tОбщий счет: $" << total << endl;

cout << "Сдача покупателю: $" << change << endl;
}

Увеличение значения переменной на 1

Обычной операцией, которую вы будете выполнять при программировании, является прибавление 1 к значению целой переменной. Например, ваша программа использует переменную с именем count, чтобы сохранить данные о количестве напечатанных файлов. Каждый раз, когда программа печатает файл, 1 будет добавляться к текущему значению count:

count = count + 1;

Следующая программа INTCOUNT.CPP использует оператор присваивания для увеличения переменной count (которая первоначально содержит значение 1000) на единицу (присваивая переменной результат 1001):

#include <iostream.h>

void main(void)
{
int count = 1000;

cout << "начальное значение count равно" << count << endl;
count = count + 1;
cout << "конечное значение count равно" << count << endl;
}

Увеличение значения переменной представляет собой обычную операцию в программах, поэтому в С++ есть операция увеличения - двойной знак плюс (++). Операция увеличения обеспечивает быстрый способ прибавления единицы к значению пременной. Следующая программа INC_OP.CPP использует операцию увеличения для наращивания значения переменной count на 1:

#include <iostream.h>

void main(void)
{
int count = 1000;

cout << "начальное значение count равно" << count << endl;
count++;
cout << "конечное значение count равно" << count << endl;
}

Представление о префиксной (до) и постфиксной (после) операциях увеличения.

При использовании операций увеличения ваши программы могут размещать оператор увеличения до или после переменной, как показано ниже:

++variable;          variable++;

Так как первый оператор появляется до переменной, он называется префиксным оператором увеличения . Аналогично этому, второй оператор появляется после переменной и называется постфиксным оператором увеличения . Например, рассмотрим следующий оператор присваивания:

current_count = count++;

Этот оператор присваивания указывает С++ присвоить текущее значение count переменной current_count и увеличивает текущее значение count. В данном случае постфиксный оператор увеличение эквивалентен следующим операторам:

current_count = cont;
count = count + 1;

Рассотрим префиксный оператор увеличения:

current_count = ++count;

В этом случае оператор присваивания указывает С++ сначала увеличить значение count, а затем присвоить результат переменной current_count. Использование префиксного оператора эквивалентно следующим оператором:

count = cont + 1;
current_count = count;

Следующая программа PRE_POST.CPP показывает использование префиксной и постфиксной операций увеличения:

#include <iostream.h>

void main(void)
{
int small_count = 0;
int big_count = 1000;

cout << "small_count равно " << small_count << endl;
cout << "small_count++ производит " << small_count++ << endl;
cout << "конечное значение small_count равно " << small_count << endl;

cout << "big_count равно " << big_count << endl;
cout << "++big_count производит " << ++big_count << endl;
cout << "конечное значение big_count равно " << big_count << endl;
}

С переменной small_count программа использует постфиксную операцию увеличения. В результате программа выводит текущее значение переменной (0), а затем увеличивает его на 1. С переменной big_count программа использует префиксную операцию увеличения. В результате программа сначала увеличивает значение переменной (1000 + 1), а затем выводит результат (1001).

С++ обеспечивает также операции уменьшения

В С++ двойной знак минус (--) соответствует оператору уменьшения , который уменьшает значение переменной на 1. Как и в случае с операцией увеличения, С++ поддерживает префиксный и постфиксный операторы уменьшения. Следующая программа DECCOUNT.CPP иллюстрирует использование оператора ументшения С++:

#include <iostream.h>

void main(void)
{
int small_count = 0;
int big_count = 1000;

cout << "small_count равно " << small_count << endl;
cout << "small_count-- производит " << small_count-- << endl;
cout << "конечное значение small_count равно " << small_count << endl;

cout << "big_count равно " << big_count << endl;
cout << "--big_count производит " << --big_count << endl;
cout << "конечное значение big_count равно " << big_count << endl;
}

Другие операторы С++

Операция
%

~
&
|
^
<<

>>


Функция
Взятие по модулю или остаток; возвращает остаток целочисленного деления
Дополнение; инвертирует биты значений
Побитовое И
Побитовое включающее ИЛИ
Побитое исключающее ИЛИ
Сдвиг влево; сдвигает биты значения влево на указанное количество разрядов
Сдвиг вправо; сдвигает биты значения вправо на указанное количество разрядов

Старшинство операций

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

Операция
::

::

.
->
[]
()
()
sizeof
sizeof

++
++
--
--
&
*
new
delete

delete[]
~
!
+
-
()

.*
->

*
/
%

+
-

Имя
Разрешение области видимости
Глобальное разрешение

Выбор элемента
Выбор элемента
Индексация
Вызов функции
Построение значения
Размер объекта
Размер типа

Приращение после
Приращение до
Уменьшение после
Уменьшение до
Адрес объекта
Разыменование
Создание (размещение)
Уничтожение (освобождение)
Уничтожение массива
Дополнение
Логическое НЕ
Унарный плюс
Унарный минус
Приведение

Выбор элемента
Выбор элемента

Умножение
Деление
Взятие по модулю

Сложение (плюс)
Вычитание (минус)

Пример
class_name::class_member_name

::variable name

object.member_name
pointer->member_name
pointer[element]
expression(parameters)
type(parameters)
sizeof expression
sizeof(type)

variable++
++variable
variable--
--variable
&variable
*pointer
new type
delete pointer

delete pointer
~expression
!expression
+1
-1
(type)expression

object.*pointer
object->*pointer

expression*expression
expression/expression
expression%expression

expression+expression
expression-expression

Управление порядком, в котором С++ выполняет операции

Иногда порядок, в которм С++ выполняет арифметические операции, не соответствует порядку, в котором вам необходимо их выполнить. Например, предположим, что вашей программе необходимо сложить две стоимости и затем умножить результат на налоговую ставку:

cost = price_a + price _b * 1.06;

В этом случае С++ сначала выполнит умножение, а затем прибавит значение price_a.

Если ваши программы должны выполнять арифметические операции в определенном порядке, вы можете заключить выражение в круглые скобки. С++ оценивает выражение и сначала выполняет операции, заключенные в скобки:

result = (2 + 3) * (3 + 4);


Урок 7. Программа принимает решение.

По мере усложнения ваших программ вам потребуется, чтобы выполнялся один набор операторов, если определенное условие соблюдается, и другой набор, если условие не соблюдается. Другими словами, вам потребуется, чтобы ваши программы приняли решение и соответственно отреагировали. В этом уроке описывается оператор C++ if , который используется для принятия решений. Программы, которые принимают решения, выполняют условную обработку .

Сравнение двух значений

Когда ваши программы принимают решение, они выполняют определенный вид проверки. Например, одна программа может проверять, равны ли тестовые очки студента 100, в другая программа - составляет ли стоимость покупки больше $50.00. Для выполнения подобных проверок ваши программы будуть использовать операции сравнения С++, перечисленные ниже:

Операция
= =
!=

>

<

>=

<=



Проверка
Если два значения равны
Если два значения не равны
Если первое значение больше второго
Если первое значение меньше второго
Если первое значение больше или равно второму
Если первое значение меньше или равно второму

Пример
(score= =100)
(old != new)

(cost > 50.00)

(salary < 20000.00)

(stock_price >= 30.0)

(age <= 21)



Результат сравнения может быть истиной (TRUE) или ложью (FALSE), т.е. два значения или равны(истина), или нет (ложь).

 



 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.