- •1.1. _Классика. Общие сведения
- •1.1.3. Элементарные функции ввода-вывода
- •1.2. Функции
- •Void surface(int dl, int VI, int shi);
- •1.3.1. Задание значений аргумента функций по умолчанию
- •1.3.2. Перезагружаемые функции (function overloading)
- •1.3.4. Допускается использование функции с различным количеством аргументов.
- •1.3.6. Дружественные функции (friend)
- •1.3.8. Шаблоны.
- •1.3.9. Виртуальные (virtual) функции
- •1.3.10. Абстрактные классы
- •1.4. Указатели (ссылки). Массивы.
- •Int fprintf ([указатель-На-Входной-Поток], Управляющая-строка, [,Имя-переменной-1, [Имя-переменной-2…]]);
- •Int cprintf (УправляющаяСтрока[,Имя-переменной-1, [Имя-переменной-2…]]);
- •1.6.1 Директива Include
- •1.6.2 Директивы #define и #undef
- •1.6.3 Условные Директивы
- •1.8..Проект (создание проекта классическими средствами языка с)
- •1 .8.1. Классы памяти
- •1.8.3. Проект
- •Раздел 2. Классы
- •31.10.11 Кр Связан с созданием классов и про ооп
- •Лекция 8 от 17.10.2011
- •7.2.2. Динамически присоединенные библиотеки
Лекция 1 от 05.09.2011
Дегтярев Андрей Викторович, доц каф 504
Лабораторные, 3 контрольные, курсовой проект (самый тяжелый)
Язык С, как его особенности позволили перейти к ООП.
Создание классов
Среда Builder, технологии, близкие к экономическим (базы данных)
SQL для выборки данных
Комплексная курсовая
Начало октября – задание к курсовой
Должна быть защищена до 26.12 (24.12 – суббота, последний день приема)
До 15.12 курсовая должна быть выполнена (в идеале начать делать лучше с 1 ноября)
Защита в виде презентации (До 15.10 – Turbo C++)
До экзамена допуск, если выполнить ВСЕ. Экзамен последний, в январе.
Раздел 1. Основы высокоуровневого ЯП С++
1.1. _Классика. Общие сведения
Язык С представляет собой синоним и функцию ООП. Он был разработан Брианом Керниганом и Денисом Ритчи в 1972 году для компании Bell с целью реализации первого (простейшего) подхода к модульному программированию на основе использования макросов (процедур в 1 строчку).
Основы языка С++
Функция
Препроцессор (Liper: 1C, FoxPro, Парус, Инфософт)
ООП (создание классов)
Ссылки (указатели) работа с адресами
Визуальное программирование (форма,заставка)
Потоки (родовой признак работы с функциями языка С)
Функции нижнего уровня (распространено на все ЯП)
Исключительные ситуации (перехват и обработка ошибок пользователей и аппаратных сбоев)
Оверлэй – частичная загрузка программы.
1
1. [Главное Меню]->[Project Option]->[Directories]
2. PAHT=…в файле autoexec.bat
.1.1.Структура простейшей С++ программы
[ #include <iostream.h>
#unclude “C:\TEST\My.h”
#
В текущем каталоге запуска ИСР, например, tc.exe, обычно в подкаталоге …\BIN\
include “Example.h”…
#... ]
[ Функция 1
{
}
]
Int Main (Параметры функции)
Заголовок функции
/*Описание программы*/
[
Char word[20];
]
/*Операторы тела функции*/
{
Cout<<”Введите слово:”;
Cin>>word;
Cout<<word;
Return 1;
}
Тело обязательной главной функции Main()
[ Функция N
{
}
]
Хотя С++ не содержит строгих синтаксических правил записи, т.е. объекты могут быть объявлены в любом месте программы, в том числе после их использования, рекомендуется следующая структура:
Все указания препроцессора выносятся в начало текста программы, они начинаются с # (F9 – Директории – Include)
Любая C программа обязательно содержит одну функцию Main. Только 1! Где бы она не находилась, выполнение программы начинается с нее. Если проект содержит несколько #.cpp, то Main должна быть только в одном из них!
Ее нельзя вызвать из других функций проекта.
Void – особый (отложенный) тип данных, аргумент не задан пока что.
Аргументы перечисляются через запятую, они задаются из ОС и определяются пробелами.
Это так называемые опции для запуска.
Все функции имеют заголовок.
Int – функция должна вернуть значение (return 1;).
Очень важно писать полный заголовок функции.
/*…*/ - внутри содержится комментарий
// - все, что после этого написано (и до конца строки) является комментарием
{…} – внутренность функции
Можно несколько раз использовать return. Допускается его отсутствие, т.е. функция будет выполняться до закрытия }. При этом обязательно указывать void.
Вложенный блок с {…} или составной оператор.
Они могут быть пустыми. Объекты, объявленные внутри фигурных скобок, по умолчанию имеют ограниченную область видимости и время жизни. Т.е. можно использовать одно и тоже имя много раз:
Int i()
{
Int i….
}
1.1.2. Основные типы данных в С++ (нет сложных)
В программировании бывает нужно работать с разными переменными. Иногда бывает нужно создать переменную, в которой будет храниться целое число, а иногда переменную в которой будет буква. Поэтому каждая переменная относится к какому-либо типу данных.
Тип |
Пояснение |
Размер в байтах |
Пример объявления и инициализации |
Int |
Целое число |
4 |
int a; a=16; |
Double (long double) |
Число одинарной точности (вещественный) |
8 |
double a; a=12.6325; |
Float |
Число двойной точности (вещественный, очень малой точности) – с плавающей точкой |
4 |
float a; a=12.6325; |
Char |
Один символ (символьный) |
1 |
char a; a='+'; a='c'; a='c'; |
String |
Строка |
|
string s="Hello world"; |
Bool |
Логическое значение (флаг), имеет 2 значения: true и false |
1 |
bool a; a=true; a=false; |
Wchar_t |
Расширенный символьный (должен поддерживать все представимые в системе символы) – 2 байта – диапазон 0/32767 |
||
Void |
Не соответствует никакому типу |
Int. Самым простым и главным является тип int. Он используется для хранения целых чисел. В переменную типа int можно записать, например, числа -2, 0, 5. И вообще любые целые числа из его диапазона. Если в переменную типа int попытаться записать дробное число, то компилятор автоматически отбросит дробную часть и в переменной останется только целая часть(произойдет именно отбрасывание, а не округление по правилам математики). То есть записав в int числа 12.25 и 12.94, в обоих случаях получится целое число 12. Также в тип int можно записать букву, тогда в переменной будет код этой буквы.
|
|
Как итог получим:
|
|
Double. При помощи типа double мы можем хранить вещественные (дробные) числа. Например в тип double можно записать число 39.1804. Кроме того в double можно записать и любое целое число, тогда дробная часть будет представлять из себя 0.
Char. С помощью типа char мы можем хранить какой-нибудь символ. На самом деле в типе char хранится не сам символ, а код этого символа. Поэтому, если мы запишем в char какое-либо целое число, то получим символ с этим кодом.
|
|
Примечание Во многих языках программирования существует отдельный тип для хранения строк string. В С++ нет отдельного типа данных для строк. Вместо этого существует специальный контейнер string, использование которого намного удобнее и функциональнее, нежели использование простого типа данных.
В С++ существуют модификаторы типов. Некоторые из перечисленных типов можно модифицировать ключевыми словами signed (знаковый), unsigned (беззнаковый), short (короткий) и long (длинный). Каждому целому типу со знаком соответствует беззнаковый тип, занимающий столько же места в памяти. Типы без знака не могут представлять отрицательные числа, но могут представлять вдвое больше положительных чисел, чем соответствующие типы со знаком.
Далее показаны некоторые примеры модифицированных типов данных: unsigned char, signed char, short int, unsigned short int, unsigned int, long int, long double.
Если тип не указывается, то подразумевается тип int. Пример: short и short int, Long и long int.
В С++ Builder:
Файл Project1.cpp
//-------------------------------------------------------------------------------------
#include <vcf\vcl.h>
#pragma hdrstop
//-------------------------------------------------------------------------------------
USEFORM (“Unit1.cpp”, Form1);
USERES (“Project1.res”);
USEFORM (“Unit2.cpp”, Form2);
//-------------------------------------------------------------------------------------
WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int)
{
Try
{
Application->Initialize();
Application->CreateForm{_classid(TForm1), &Form1};
Application->CreateForm{_classid(TForm2), &Form2};
Application->Run();
}
Catch (Exeption &exeption)
{
Application->ShowExeption (&exeption);
}
Return 0;
}