Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп
Книгу Программирование. Принципы и практика использования C++ Исправленное издание - Бьёрн Страуструп читаем онлайн бесплатно полную версию! Чтобы начать читать не надо регистрации. Напомним, что читать онлайн вы можете не только на компьютере, но и на андроид (Android), iPhone и iPad. Приятного чтения!
Шрифт:
Интервал:
Закладка:
ПОПРОБУЙТЕ
Запустите программу для выявления повторяющихся слов. Проверьте предложение “She she laughed He He because what he did did not look very very good good”. Сколько раз повторяются слова в этом предложении? Почему? Что значит слово в этой программе? А что значит повторяющееся слово? (Например, “She she” — это повтор или нет?).
3.6. Составные операторы присваивания
Операция инкрементации переменной (т.е. прибавление к ее значению единицы) настолько часто встречается в программах на языке С++, что для нее предусмотрена отдельная синтаксическая конструкция. Например, выражение
++counter
означает
counter = counter + 1
Существует множество способов изменения текущего значения переменной. Например, мы можем захотеть прибавить 7, вычесть 9 или умножить на 2. Такие операции также непосредственно поддерживаются в языке С++. Рассмотрим пример.
a += 7; // означает a = a+7
b –= 9; // означает b = b–9
c *= 2; // означает c = c*2
В целом для любого бинарного оператора oper выражение a oper= b означает a= a oper b (см. раздел А.5). Благодаря этому правилу можно составить операторы +=, –=, *=, /= и %=. Эта компактная запись позволяет просто и ясно выражать свои идеи. Например, во многих приложениях операторы *= и /= означают масштабирование.
3.6.1. Пример: поиск повторяющихся слов
Вернемся к программе, выявляющей повторяющиеся соседние слова. Ее можно улучшить, если мы сможем определять место повторяющегося слова. Например, можно просто подсчитывать и выводить на экран количество повторяющихся слов.
int main()
{
int number_of_words = 0;
string previous = " "; // не слово
string current;
while (cin >> current) {
++number_of_words; // увеличиваем счетчик слов
if (previous == current)
cout << " количество слов " << number_of_words
<< " repeated: " << current << 'n';
previous = current;
}
}
Счетчик слов инициализируется нулем. Каждый раз, когда мы обнаруживаем слово, мы увеличиваем счетчик.
++number_of_words;
Таким образом, первое слово имеет номер 1, второе — 2 и т.д. Эту операцию можно записать иначе:
number_of_words += 1;
или даже так:
number_of_words = number_of_words+1;
но выражение ++number_of_words короче и выражает идею инкрементации намного проще.

3.7. Имена
Мы даем своим переменным имена, чтобы запоминать их и ссылаться на них в других частях программы. Какие сущности могут иметь имена в языке С++? В программе на языке С++ имя начинается с буквы и содержит только буквы, цифры и символ подчеркивания. Приведем несколько примеров.
x
number_of_elements
Fourier_transform
z2
Polygon
Приведенные ниже слова не являются именами.
2x // имя должно начинаться с буквы
time$to$market // символ $ — не буква, не цифра и не подчеркивание
Start menu // пробел — не буква, не цифра и не подчеркивание
Когда мы говорим, что эти последовательности символов не являются именами, то имеем в виду, что компилятор языка С++ не считает их именами.

Имена чувствительны к регистру; иначе говоря, буквы, набранные в нижнем и верхнем регистрах, отличаются друг от друга, так что x и X — это разные имена. Приведем небольшую программу, в которой сделано по крайней мере четыре ошибки.
#include "std_lib_facilities.h"
int Main()
{
STRING s = "Прощай, жестокий мир!";
cOut << S << 'n';
}
Как правило, использование имен, отличающихся лишь регистром, например one и One, — плохая идея; это не может ввести компилятор в заблуждение, но легко сбивает с толку самого программиста.
ПОПРОБУЙТЕ
Скомпилируйте программу “Прощай, жестокий мир!” и проверьте сообщения об ошибках. Смог ли компилятор выявить все ошибки? Какие проблемы обнаружил компилятор? Не запутался ли компилятор и не выявил ли он больше четырех ошибок? Удалите ошибки одну за другой, начиная с первой, и проанализируйте новые сообщения об ошибках (а затем уточните программу).

int if = 7; // ошибка: "if" — это ключевое слово
В программах можно использовать имена, определенные в стандартных библиотеках, такие как string, но этого делать не следует. Повторное использование общих имен может вызвать проблемы, как только вы обратитесь к стандартной библиотеке.
int string = 7; // это порождает проблемы

mtbf
TLA
myw
NBV
Через несколько месяцев вы забудете, что все это
Прочитали книгу? Предлагаем вам поделится своим отзывом от прочитанного(прослушанного)! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.
Уважаемые читатели, слушатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.
- 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
- 2. Просьба отказаться от оскорблений, угроз и запугиваний.
- 3. Просьба отказаться от нецензурной лексики.
- 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.
Надеемся на Ваше понимание и благоразумие. С уважением, администратор knigkindom.ru.
Оставить комментарий
-
Christine26 июнь 01:23 Сначала было тежеловта читать, но потом всё изменилось, я с удовольствием прочитала, спасибо за книгу. Я прочитала весь цикл... Опасное влечение - Полина Лоранс
-
Тамаринда21 июнь 12:33 Редко что-то цепляет, но тут было всё живое, жизненное, чувственное, сильное, читайте, не пожалеете о своём времени...... Хрупкая связь - Ольга Джокер
-
Гость Марина20 июнь 06:08 Книга очень понравилась, хотя и длинная. Героиня сильная личность. Да и герой не подкачал. ... Странная - Татьяна Александровна Шумкова