Ален голуб правила программирования

Программирование на C / C++ / Ален И. Голуб. Правила программирования на Си и Си++ [pdf]

Здесь $ представляет собой приглашение компилятора С ++, принятая в большинстве могут быть разными в разных системах .

Одной из задач , выполняемых компилятором в процессе обработки исходного файла , является проверка правильности программы . Компилятор не может обнаружить 1 Во время написания этой книги не все компиляторы С ++ поддерживали пространства имен . Если ваш компилятор таков , откажитесь от данной директивы . Большинство программ , приводимых нами , используют компиляторы , не поддерживающие пространство имен , поэтому директива using в них отсутствует .

С ++ для начинающих 18

смысловые ошибки , однако он может найти формальные ошибки в тексте программы . Существует два типа формальных ошибок : синтаксические ошибки . Программист может допустить “ грамматические ”, с точки int main( < // ошибка – пропущена ')' readIn(): // ошибка – недопустимый символ ':' sort(); compact(); print(); return 0 // ошибка – пропущен символ ';' зрения языка С ++, ошибки . Например : >ошибки типизации . С каждой переменной и константой в С ++ сопоставлен некоторый тип . Например , число 10 – целого типа . Строка «hello» , заключенная в двойные кавычки , имеет символьный тип . Если функция ожидает получить в качестве параметра целое значение , а получает символьную строку , компилятор рассматривает это как ошибку типизации . Сообщение об ошибке содержит номер строки и краткое описание . Полезно просматривать список ошибок , начиная с первой , потому что одна — единственная ошибка может вызвать цепную реакцию , появление “ наведенных ” ошибок . Исправление этой единственной ошибки приведет и к исчезновению остальных . После исправления синтаксических ошибок программу нужно перекомпилировать . После проверки на правильность компилятор переводит исходный текст в объектный код , который может быть понят и исполнен компьютером . Эту фазу работы компилятора называют генерацией кода . В результате успешной компиляции образуется выполняемый файл . Если запустить выполняемый файл , полученный в результате компиляции нашей программы , на readIn() sort() compact() терминале появится следующий текст : print() В С ++ набор основных типов данных – это целый и вещественный числовые типы , символьный тип и логический , или булевский . Каждый тип обозначается своим

Читайте также:  Размеры экранов смартфонов верстка
ключевым словом . Любой объект программы ассоциируется с некоторым типом .
int age = 10;
double price = 19.99;
char delimiter = ‘ ‘;
Например :
bool found = false;
С ++ для начинающих 19

Здесь определены четыре объекта : age , price , delimiter , found , имеющие соответственно типы целый , вещественный с двойной точностью , символьный и логический . Каждый объект инициализирован константой – целым числом 10 , вещественным числом 19.99 , символом пробела и логическим значением false . Между основными типами данных может осуществляться неявное преобразование типов . Если переменной age , имеющей тип int , присвоить константу типа double , например : age = 33.333; то значением переменной age станет целое число 33 . ( Стандартные преобразования типов , а также общие проблемы преобразования типов рассматриваются в разделе 4.14.) Стандартная библиотека С ++ расширяет базовый набор типов , добавляя к ним такие // заголовочный файл с определением типа string #include string current_chapter = «Начинаем»; // заголовочный файл с определением типа vector #include типы , как строка , комплексное число , вектор , список . Примеры : vector chapter_titles(20); Здесь current_chapter – объект типа string , инициализированный константой «Начинаем» . Переменная chapter_titles – вектор из 20 элементов строкового типа . Несколько необычный синтаксис выражения vector сообщает компилятору о необходимости создать вектор , содержащий объекты типа string . Для того чтобы определить вектор из 20 целых значений , необходимо написать : vector ivec(20); Никакой язык , никакие стандартные библиотеки не способны обеспечить нас всеми типами данных , которые могут потребоваться . Взамен современные языки программирования предоставляют механизм создания новых типов данных . В С ++ для этого служит механизм классов . Все расширенные типы данных из стандартной библиотеки С ++, такие как строка , комплексное число , вектор , список , являются классами , написанными на С ++. Классами являются и объекты из библиотеки ввода / вывода . Механизм классов – одна из самых главных особенностей языка С ++, и в главе 2 мы рассмотрим его очень подробно . 1.2.1. Порядок выполнения инструкций По умолчанию инструкции программы выполняются одна за другой , последовательно . В программе

Читайте также:  Волгоградский колледж программирование компьютерных систем
С ++ для начинающих 20

int main() < readIn(); sort(); compact(); print(); return 0; >первой будет выполнена инструкция readIn() , за ней sort() , compact() и наконец print() . Однако представим себе ситуацию , когда количество продаж невелико : оно равно 1 или даже 0 . Вряд ли стоит вызывать функции sort() и compact() для такого случая . Но вывести результат все — таки нужно , поэтому функцию print() следует вызывать в любом случае . Для этого случая мы можем использовать условную инструкцию if . Нам придется переписать функцию readIn() так , чтобы она возвращала количество прочитанных // readIn() возвращает количество прочитанных записей // возвращаемое значение имеет тип int int readIn() < . >// . int main() < int count = readIn(); // если количество записей больше 1, // то вызвать sort() и compact() if ( count >1 ) < sort(); compact(); >if ( count == 0 ) cout Первая инструкция if обеспечивает условное выполнение блока программы : функции sort() и compact() вызываются только в том случае , если count больше 1 . Согласно второй инструкции if на терминал выводится сообщение “ Продаж не было ”, если условие истинно , т . е . значение count равно 0 . Если же это условие ложно , производится вызов функции print() . ( Детальное описание инструкции if приводится в разделе 5.3.) Другим распространенным способом непоследовательного выполнения программы является итерация , или инструкция цикла . Такая инструкция предписывает повторять

С ++ для начинающих 21

блок программы до тех пор , пока некоторое условие не изменится с true на false . int main() < int iterations = 0; bool continue_loop = true; while ( continue_loop != false ) < iterations++; cout return 0; Например : > В этом надуманном примере цикл while выполняется пять раз , до тех пор пока переменная iterations не получит значение 5 и переменная continue_loop не станет равной false . Инструкция iterations++; увеличивает значение переменной iterations на единицу . ( Инструкции цикла детально рассматриваются в главе 5.) 1.3. Директивы препроцессора Заголовочные файлы включаются в текст программы с помощью директивы препроцессора #include . Директивы препроцессора начинаются со знака “ диез ” ( # ), который должен быть самым первым символом строки . Программа , которая обрабатывает эти директивы , называется препроцессором ( в современных компиляторах препроцессор обычно является частью самого компилятора ). Директива #include включает в программу содержимое указанного файла . Имя файла #include может быть указано двумя способами : #include «my_file.h» Если имя файла заключено в угловые скобки ( <> ), считается , что нам нужен некий стандартный заголовочный файл , и компилятор ищет этот файл в предопределенных местах . ( Способ определения этих мест сильно различается для разных платформ и реализаций .) Двойные кавычки означают , что заголовочный файл – пользовательский , и его поиск начинается с того каталога , где находится исходный текст программы . Заголовочный файл также может содержать директивы #include . Поэтому иногда трудно понять , какие же конкретно заголовочные файлы включены в данный исходный

Читайте также:  Программирование моделирования системы массового обслуживания

Источник

C и C++

Эту книгу можно было бы еще назвать «С++: путь гуру». С++ в ней описывается совсем не так, как в книгах для начинающих. На этом уровне С++ — не столько язык, сколько целая субкультура со своими идиомами, приемами и стандартными архитектурными решениями, которые не следуют очевидным образом из формального описания языка. Книга предназначена для тех, кто уже достиг заветной цели, но хочет пообщаться, поболтать в дружеской компании и пошевелить мозгами над очередной головоломкой.
Автор: Джефф Элджер.
Скачать C++: Библиотека программиста

Стэнли Б. Липпман. C++ для начинающих

“C++ для начинающих” содержит обстоятельное введение в международный стандарт С++.
В книгу включены такие аспекты программирования, как обработка исключений, контейнерные типы, объектно-ориентированный подход и т.п., также представлены решения конкретных задач.
Автор: Стэнли Б. Липпман
Скачать C++ для начинающих

Ален И. Голуб. Правила программирования на Си и Си++

Программисты, инженеры, научные работники, студенты и все, кто работает с Си или Си++! Если вы хотите писать лучший код без блужданий по лабиринтам технической документации, то это краткое, но содержательное руководство является именно тем, что вам нужно. «Веревка достаточной длины, чтобы… выстрелить себе в ногу» предлагает более 100 практических правил, которые вы сможете использовать для создания элегантного, простого в сопровождении кода. А так как книга написана признанным знатоком в этой области, то и вы в ней не заблудитесь. Ален Голуб предлагает необходимый набор пояснений, советов и технических приемов с целью помочь вам полностью использовать возможности этих чрезвычайно мощных языков. Но не бойтесь встретить очередное скучное руководство по программированию. Автору удается сделать изложение столь серьезной темы живым и интересным за счет рассыпанного по тексту юмора и глубокого знания предмета.
Автор: Ален И. Голуб
Скачать Правила программирования на Си и Си++

Источник

Голуб Ален. Правила программирования на С/С++

Голуб Ален. Правила программирования на С/С++

241 с.
Москва 2001
Программисты, инженеры, научные работники, студенты и все, кто работает с Си или Си++! Если вы хотите писать лучший код без блужданий по лабиринтам технической документации, то это краткое, но содержательное руководство является именно тем, что вам нужно. «Веревка достаточной длины, чтобы… выстрелить себе в ногу» предлагает более 100 практических правил, которые вы сможете использовать для создания элегантного, простого в сопровождении кода. А так как книга написана признанным знатоком в этой области, то и вы в ней не заблудитесь.
Ален Голуб предлагает необходимый набор пояснений, советов и технических приемов с целью помочь вам полностью использовать возможности этих чрезвычайно мощных языков. Но не бойтесь встретить очередное скучное руководство по программированию. Автору удается сделать изложение столь серьезной темы живым и интересным за счет рассыпанного по тексту юмора и глубокого знания предмета.
Голуб рассматривает универсальные правила, форматирование и правильную организацию программ перед тем, как углубиться в такие основополагающие вопросы, как:
♦ Практические способы организации и написания сопровождаемого кода.
♦ Объектно-ориентированное программирование и методы абстракции данных.
♦ Как избежать проблем, специфических для Си и Си++.
Для закрепления правил, намеченных в этой книге в общих чертах, предлагается множество примеров. Вы также найдете здесь полезные проектные стратегии, освещение вопросов административного управления и многое другое.
© Original copyright. McGraw–Hill, 1995
© Перевод с английского языка. В. Зацепин, 1996
© Редакция и текст примечаний. В. Базаров, 1998
© Оформление Интернет–версии. В. Зацепин, 2001

Источник

Оцените статью