|
Программирование >> Структурное программирование
могут налагать некоторые ограничения на длину идентификаторов. Язык С++ чувствителен к регистру - прописные и строчные буквы различаются, так что 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. Заметим, что соседство этих областей в памяти необязательно.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |