Программирование >>  Структурное программирование 

1 ... 18 19 20 [ 21 ] 22 23 24 ... 342


могут налагать некоторые ограничения на длину идентификаторов. Язык С++ чувствителен к регистру - прописные и строчные буквы различаются, так что al и А1 - это разные идентификаторы.

Хороший стиль программирования 1.9

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

Хороший стиль программирования 1.10

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

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

int integerl;

можно было бы поместить непосредственно перед строкой

cin >> integerl;

объявление

int integerl;

можно было поместить перед строкой

cin >> integer2;

и объявление

int sum;

можно было поместить перед строкой

sum = integerl + integer2;

Хороший стиль программирования 1.11

Всегда помещайте пустую строку перед объявлением, которое находится между выполняемыми операторами. Это делает объявление заметными в программе и способствует ее четкости.

Хороший стиль программирования 1.12

Если вы предпочитаете размещать объявления в начале функции, отделяйте эти объявления от выполняемых операторов в этой функции пустой строкой, чтобы выделить конец объявлений и начало выполняемых операторов.



Оператор

cout << Введите первое целое число\п приглашение

печатает на экране буквенное сообщение Введите первое целое число и позиционирует курсор на начало следующей строки. Это сообщение называется приглашением, потому что оно предлагает пользователю выполнить некоторое действие. О предыдущем операторе можно сказать так: cout получает символьную строку Введите первое целое число\п . Оператор

cin >> integerl; чтение целого

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

Когда компьютер выполняет предыдущий оператор, он ждет от пользователя ввода значения переменной integerl. В ответ пользователь набирает на клавиатуре целое число и затем нажимает клавишу возврата - return (называемую иногда клавишей ввода - enter), чтобы послать это число в компьютер. Компьютер затем присваивает это число, или значение, переменной integerl. Любое последующее обращение в программе к integerl будет использовать это значение.

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

Оператор

cout << Введите второе целое число\п ; приглашение

печатает на экране сообщение Введите второе целое число и затем позиционирует курсор на начало следующей строки. Этот оператор приглашает пользователя выполнить действие. Оператор

cin >> integer2; чтение целого

получает от пользователя значение переменной integer2. Оператор присваивания

sum = integerl + integer2; присваивание значения сумме

рассчитывает сумму переменных integerl и integer2 и присваивает результат переменной sum, используя операцию присваивания =. Оператор читается так: sum получает значение, равное integerl + integer2 . Оператор присваивания используется в большинстве расчетов. Операция = и операция + называются бинарными операциями, потому что каждая из них имеет по два операнда. В случае операции + этими операндами являются integerl и integer2. В случае операции = двумя операндами являются sum и значение выражения integerl Ч-integer2 .

Хороший стиль программирования 1.13

Размещайте пробелы с обеих сторон бинарной операции. Это вьщелит операцию и улучшит читаемость программы.



Оператор

cout << Сумма равна << sum << endl; печать суммы

печатает символьную строку Сумма равна, затем численное значение переменной sum, за которым следует endl (аббревиатура словосочетания *end Ипе - конец строки) - так называемый манипулятор потока. Манипулятор endl выводит символ новой строки и затем очищает буфер вывода . Это просто означает, что в некоторых системах, где выводы накапливаются в вычислительной машине до тех пор, пока их не станет достаточно, чтобы имело смысл печатать на экране , endl вызывает немедленную печать на экране всего накопленного.

Заметим, что предыдущий оператор выводит множество значений разных типов. Операция поместить в поток знает , как выводить каждзоо единицу данных. Многократное использование операции поместить в поток ( ) в одном операторе называется сцепленной операцией поместить в поток. Таким образом, не обязательно иметь множество операций вывода для вывода множества фрагментов данных.

В операторах вывода можно также выполнять вычисления. Мы могли бы объединить два предыдущих оператора в один

cout << Сумма равна << integerl + integer2 << endl;

Правая фигурная скобка } информирует компьютер о том, что функция main окончена.

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

1.17. Концепции памяти

Имена переменных, такие, как integerl, integer2 и sum, в действительности соответствуют областям в памяти компьютера. Каждая переменная имеет имя, тип, размер и значение.

В программе сложения на рис. 1.6 при выполнении оператора

cin >> integerl;

значение, введенное пользователем, помещается в область памяти, которой компилятор присвоил имя integerl. Допустим, пользователь вводит число 45 как значение integerl. Компилятор разместит 45 в области памяти integerl, как показано на рис. 1.7.

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

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

cin >> integer2;

пользователь вводит значение 72. Это значение помещается в область памяти integer2 и теперь распределение памяти выглядит так, как показано на рис. 1.8. Заметим, что соседство этих областей в памяти необязательно.



1 ... 18 19 20 [ 21 ] 22 23 24 ... 342

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика