Строкаsystem("PAUSE") позволяет просматривать результаты, а для завершения проекта достаточно нажать на любую клавишу. И, наконец, строка returnEXIT_SUCCESSговорит, что здесь программу нужно завершить. Эта строка называется оператором возврата и считается исполняемым оператором, поскольку указывает на действие, которое должен выполнить компьютер.
Программа состоит из операторов. Операторы - это инструкции, выполняемые компьютером. А точнее, оператор это минимальный фрагмент программы для выполнения действия в смысле вычисления, управления или декларирования. Операторы для вычисления или управления также называют исполняемыми операторами. На С++ каждый оператор оканчивается точкой с запятой. Этот символ имеет примерно тот же смысл, что и точка в предложении: он отмечает конец оператора.
Переменные в C++. Переменные могут хранить числовые данные или данные других типов. Пока мы будем говорить только о первых из них. Такие переменные чем-то напоминают школьную доску, где можно написать любое число. И подобно тому, как число на доске можно стереть и написать вместо него другое, в C++ в любой момент можно изменить содержимое переменной. Но в отличие от доски, которая вообще может не содержать записей, переменная всегда что-нибудь хранит (это может быть даже «мусор», который остался в памяти компьютера от предыдущей программы). Число или данные другого типа, хранящиеся в переменной, называются ее значением. В рассматриваемой нами программе из листинга 2 используются три переменные: miqdor, vazn и vazni_umumi. Программа использует консольный поток ввода и вывода данных: cin и cout (consoleinput и consoleoutput). Они являются предопределенными в пространстве имен std из библиотеки iostream. Когда программа выполняется при входных данных, указанных в примере диалога (см. листинг 2), значение переменной miqdor с помощью оператора
cin>>miqdor;
устанавливается равным введенному числу с клавиатуру.
После выполнения еще одного такого же оператора переменная изменяется и становится равным другому значению.
Листинг 2 .
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
intmiqdor;
doublevazn, vazni_umumi;
cout<< "Введите количество шоколадных плиток в пакете\n";
cout<< "и вес одной плитки.\n";
cout<< "Затемнажмите Enter.\n":
cin>> miqdor;
cin>> vazn;
vazni_umumi = miqdor *vazn;
cout<<miqdor<< " шоколадных плиток \n":
cout<<vazn<< " - вес одной плитки\n ";
cout<<"Общий вес -" <<vazni_umumi \n”
cout<<"Введите другие данные.\n";
cin>> miqdor;
cin>> vazn;
vazni_umumi = miqdor *vazn;
cout<<miqdor<< " шоколадных плиток \n":
cout<<vazn<< " - вес одной плитки\n ";
cout<<"Общий вес -" <<vazni_umumi \n”
system("PAUSE");
return EXIT_SUCCESS;
Пример диалога
Введите количество шоколадных плиток в пакете
и вес одной плитки.
Затем нажмите Enter.
11 2.1
11 шоколадных плиток
2.1 - вес одной плитки
Общий вес – 23.1
Введите другие данные
12 1.8
12 шоколадных плиток
1.8 - вес одной плитки
Общий вес – 21.6
Конечно, сравнение переменных со школьной доской является образным. Боле удачным сравнением может быть сопоставить переменную с магнитной лентой или магнитным диском. Но поскольку они являются элементами компьютерной технологии, используемые для записи и хранения данных почти также как это делается в физической памяти компьютера, поэтому для большей образности сравнения мы назвали школьную доску. Физически переменные представлены ячейками памяти - компилятор связывает с именем каждой переменной адрес начальной ячейки области памяти, выделенной для хранения этой переменной. В такой области памяти хранится значение переменой, закодированное последовательностью нулей и единиц. Например, трем переменным в рассматриваемой программе могут быть присвоены адреса памяти 1001, 1003 и 1007. Точные числа будут зависеть от модели компьютера, используемого компилятора и множества других факторов. Причем программист не знает, какие адреса компилятор выбирает для переменных программы, да это и не важно. Можно считать, что области памяти просто помечены именами переменных.
1.2. Имена и идентификаторы
Обычно имена переменных в программах длиннее имен обычных переменных, используемых в математике. В программировании для облегчения понимания кода переменным следует давать информативные имена. Имя переменной (или другого определяемого в программе элемента) называется идентификатором. Идентификатор представляет собой последовательность символов произвольной длины, которая содержит буквы, цифры и символы подчеркивания и начинается либо буквой, либо символом подчеркивания. Например, имена X, х1, х_1, _abc, ABC123Z7, sum, NARX, count, data2, Andozaявляются допустимыми идентификаторами, но первые пять выбраны неудачно, поскольку не несут никакой информации о назначении соответствующих программных элементов. Приведенные ниже имена не являются допустимыми идентификаторами и не будут приняты компилятором. 12, ЗХ, ^change, data-l, myfirst. c, PROG. CPP. Первые три не подходят, поскольку начинаются не с буквы или символа подчеркивания, а три последних содержат недопустимые символы, отличные от букв, цифр и символа подчеркивания.
Язык C++ чувствителен к регистру, то есть в нем различаются прописные и строчные буквы, используемые в идентификаторах. Поэтому следующие три идентификатора воспринимаются C++ как различные и могут применяться для обозначения трех разных переменных: razmer, RAZMER, Razmer. Однако использовать переменные с такими именами в одной программе не стоит, поскольку это может привести к путанице. Часто имена переменных в C++ задаются в нижнем регистре, хотя язык этого и не требует. Но предопределенные идентификаторы, такие как main, сin и cout, обязательно должны быть набраны строчными буквами. Идентификатор в C++ может иметь любую длину, хотя существуют компиляторы, которые игнорируют символы идентификатора, введенные сверх некоторого максимально допустимого количества.
В программах на C++ идентификаторы используются в качестве имен переменных, а также имен других элементов. Идентификатор представляет собой последовательность символов произвольной длины, которая содержит буквы, цифры и символы подчеркивания и начинается либо буквой, либо символом подчеркивания. Существует особый класс идентификаторов, называемых ключевыми или зарезервированными словами. Эти идентификаторы имеют в C++ заранее определенное значение и не могут использоваться в качестве имен переменных или как-либо еще.
Таблица 1.Ключевые слова С++.
asm | const_cast | explicit | Int | Public | struct | typename |
auto | continue | extern | Log | Register | switch | union |
bool | default | false | Long | Reinterpret_cast | template | unsigned |
break | delete | float | Mutable | return | this | using |
case | do | for | Namespace | short | throw | virtual |
catch | double | friend | New | signed | true | void |
char | dynain1c_cast | goto | Operator | sizeof | ist try | volatile |
class | else | if | Private | static | typedef | wchar_t |
const | enum | Inline | Protected | static_cast | typeid | while |
В таблице 1 приведен полный список ключевых слов. Можетвозникнуть вопрос, почему другие слова, которые определены как часть языка C++, не включены в этот список. Например, чем объяснить, что в нем отсутствуют слова сin и cout? Дело в том, что программисту разрешено их переопределять, хотя это и может привести к путанице. Такие предопределенные слова не являются ключевыми, однако они определены в библиотеках, требуемых стандартом языка C++. Отметим, что любое применение предопределенного идентификатора, не соответствующее его стандартному назначению, нежелательно, поскольку приводит к недоразумениям и может послужить причиной ошибок в программе. Безопасней и проще всего использовать предопределенные идентификаторы таким же образом, как ключевые слова.
Объявление переменныхКаждая переменная в программе на C++ должна быть объявлена для того, чтобы указать компилятору, а следовательно, и компьютеру, какие данные будут храниться в этой переменной. Например, следующие два объявления из программы в листинге 2 определяют три используемые в ней переменные:
intmiqdor;
doublevazn, vazni_umumi;
Когда в одном объявлении определяется несколько переменных, их имена разделяются запятыми и каждое объявление оканчивается точкой с запятой. Слово int, используемое в первой строке, является сокращением от английского integer - целый. В программах на C++ обычно употребляют сокращенную форму. В первой строке указывается, что идентификатор miqdor будет служить именем переменной типа int,, то есть значением этой переменной может быть только целое число, например 1, 2, - 1 , 0, 37 или -288. Во второй строке два идентификатора – vaznиvazni_umumi – объявляются как имена переменных типа double. В переменных этого типа могут храниться числа с дробной частью, скажем, 1,75 или -0,55. Тип хранящегося в переменной значения именуется ее типом данных, а обозначение этого типа, такое как int или double, называется именем типа данных.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |


