Читаем Программирование. Принципы и практика использования C++ Исправленное издание полностью

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

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

cout << "Имя " << " — " << first_name;

Здесь строка "Имя" представляет собой набор из трех символов, а имя first_name позволяет вывести на экран значение переменной first_name, в данном случае Nicolas. Итак, результат выглядит следующим образом:

Имя — Nicolas

<p id="AutBody_Root026"><strong>3.2. Переменные</strong></p>

  В принципе, не имея возможности хранить данные в памяти так, как показано в предыдущем примере, с помощью компьютера невозможно сделать ничего интересного. Место, в котором хранятся данные, называют объектами. Для доступа к объекту необходимо знать его имя. Именованный объект называется переменной и имеет конкретный тип (например, int или string), определяющий, какую информацию можно записать в объект (например, в переменную типа int можно записать число 123, а в объект типа string — строку символов "Hello, World!\n", а также какие операции к нему можно применять (например, переменные типа int можно перемножать с помощью оператора *, а объекты типа string можно сравнивать с помощью оператора <=). Данные, записанные в переменные, называют значениями. Инструкция, определяющая переменную, называется (вполне естественно) определением, причем в определении можно (и обычно желательно) задавать начальное значение переменной. Рассмотрим следующий пример:

string name = "Annemarie";

int number_of_steps = 39;

Эти переменные можно изобразить следующим образом:

Мы не можем записывать в переменную значение неприемлемого типа.

string name2 = 39;   // ошибка: 39 — это не строка

int number_of_steps = "Annemarie"; // ошибка: "Annemarie"

                                   // — не целое число

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

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

int number_of_steps = 39;  // int — для целых чисел

double flying_time = 3.5;  // double — для чисел с плавающей точкой

char decimal_point = '.';  // char — для символов

string name = "Annemarie"; // string — для строк

bool tap_on = true;        // bool — для логических переменных

Ключевое слово double используется по историческим причинам: оно является сокращением от выражения “число с плавающей точкой и двойной точностью” (“double precision floating point.”) Числом с плавающей точкой в компьютерных науках называют действительное число.

Обратите внимание на то, что каждый из этих типов имеет свой характерный способ записи.

39          // int: целое число

3.5         // double: число с плавающей точкой

'.'         // char: отдельный символ, заключенный в одинарные кавычки

"Annemarie" // string: набор символов, выделенный двойными кавычками

true        // bool: либо истина, либо ложь

Иначе говоря, последовательность цифр (например, 1234, 2 или 976) означает целое число, отдельный символ в одинарных кавычках (например, '1', '@' или 'x') означает символ, последовательность цифр с десятичной точкой (например, 1.234, 0.12 или .98) означает число с плавающей точкой, а последовательность символов, заключенных в двойные кавычки (например, "1234", "Howdy!" или "Annemarie"), обозначает строку. Подробное описание литералов приведено в разделе А.2.

<p id="AutBody_Root027"><strong>3.3. Ввод и тип</strong></p>

Операция ввода >> (“извлечь из”) очень чувствительна к типу данных, т.е. она считывает данные в соответствии с типом переменной, в которую производится запись. Рассмотрим пример.

// ввод имени и возраста

int main

{

  cout << "Пожалуйста, введите свое имя и возраст \n";

  string first_name; // переменная типа string

Перейти на страницу:

Похожие книги

97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

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

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT