Курс «С++. Программирование на языке высокого уровня» Павловская Т.А.
Лекция 1. Основные понятия языка Вводятся базовые для всего дальнейшего изложения понятия: из каких простейших «кирпичиков» состоят все тексты на языке программирования, что понимают под типом данных, какие встроенные типы данных есть в языке C++.
Литература
Литература Павловская Т.А. C/C++. Программирование на языке высокого уровня. — CПб.: Питер, 2001, 2003. Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум. — СПб: ПИТЕР, 2002. Павловская Т.А., Щупак Ю.А. С++. Объектно-ориентированное программирование: Практикум. — СПб: ПИТЕР, 2004. Саттер Г. Решение сложных задач на C++. Серия C++ In-Depth, т.4. — Москва: Издательский дом «Вильямс», 2002 г. — 400 с. Александреску А. Современное проектирование на С++. Серия C++ In-Depth, т.3. — Москва: Издательский дом «Вильямс», 2002 г. — 336 с. Кениг Э., Му Б. Эффективное программирование на С++. Серия C++ In-Depth, т.2. — Москва: Издательский дом «Вильямс», 2002 г. — 384 с.
Литература Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб: ПИТЕР, 2001 г. — 368 с. Влиссидес Дж. Применение шаблонов проектирования. Дополнительные штрихи. — Москва: Издательский дом «Вильямс», 2003 г. — 144 с. Шаллоуей А., Тротт Д. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию. — Москва: Издательский дом «Вильямс», 2002 г. — 288 с. Штерн В. Основы С++. Методы программной инженерии. — Москва: ЛОРИ, 2003 г. — 860 с. В. Лаптев. С++. Экспресс-курс. — СПб: БХВ-Петербург, 2004 г. — 512 с. Б. Эккель. Философия С++. — СПб: ПИТЕР, 2004 г. — 572 с.
Литература К. Бек. Экстремальное программирование. — СПб: ПИТЕР, 2002. К. Бек, М. Фаулер. Экстремальное программирование. Планирование. — СПб: ПИТЕР, 2003 г. — 144 с. К. Ауэр, Р. Миллер. Экстремальное программирование. Постановка процесса. — СПб: ПИТЕР, 2003 г. — 368 с. К. Лоудон. С++. Краткий справочник. — СПб: ПИТЕР, 2004 г. — 220 с. С. Уэллин. Как не надо программировать на С++. — СПб: ПИТЕР, 2004 г. — 240 с. А. Крупник. Изучаем С++. — СПб: ПИТЕР, 2003 г. — 251 с. С. Макконнелл. Совершенный код. — СПб: «Питер», 2005. — 896 с. Стандарт С++: INTERNATIONAL ISO/IEC STANDARD 14882 1998-09-01, 2003
Критерии качества ПО Внешние характеристики корректность практичность эффективность надежность целостность адаптируемость …
Основные критерии качества программы
Парадигмы программирования Парадигма — способ организации программы, то есть принцип ее построения. Наиболее распространенными являются процедурная и объектно-ориентированная парадигмы. Они различаются способом декомпозиции, положенным в основу при создании программы. Процедурная декомпозиция состоит в том, что задача, реализуемая программой, делится на подзадачи, а они, в свою очередь — на более мелкие этапы, то есть выполняется пошаговая детализация алгоритма решения задачи. Объектно-ориентированная декомпозиция предполагает разбиение предметной области на объекты и реализацию этих объектов и их взаимосвязей в виде программы. Кроме того, существуют функциональная и логическая парадигмы.
Состав языка
Пример структуры программы
Константы
Управляющие последовательности
Типы данных
Основные (стандартные) типы данных:
Составные типы arrays of objects of a given type; functions, which have parameters of given types and return void or references or objects of a given type; pointers to void or objects or functions of a given type; references to objects or functions of a given type; classes containing a sequence of objects of various types, a set of types, enumerations and functions for manipulating these objects, and a set of restrictions on the access to these entities; unions, which are classes capable of containing objects of different types at different times; enumerations, which comprise a set of named constant values. Each distinct enumeration constitutes a different enumerated type; pointers to non-staticclass members
Диапазоны для IBM PC-совместимых
There are four signed integer types: signed char, short int, int, and long int. In this list, each type provides at least as much storage as those preceding it in the list. Plain ints have the natural size suggested by the architecture of the execution environment. There are four signed integer types: signed char, short int, int, and long int. In this list, each type provides at least as much storage as those preceding it in the list. Plain ints have the natural size suggested by the architecture of the execution environment. For each of the signed integer types, there exists a corresponding (but different) unsigned integer type: unsigned char, unsigned short int, unsigned int, and unsigned long int, each of which occupies the same amount of storage and has the same alignment requirements. There are three floating point types: float, double, and long double. The type double provides at least as much precision as float, and the type long double provides at least as much precision as double.
Диапазоны типов по стандарту sizeof(float) ≤ sizeof(double) ≤ sizeof(long double) sizeof(char) ≤ sizeof(short) ≤ sizeof(int) ≤ sizeof(long) Минимальные и максимальные значения определены в файлах: <climits> - целые <cfloat> - вещественные
Явное задание типа констант 0X22UL 05Lu 2E+6L 1.82f L”Vasia”