- •Методическое материалы по курсу
- •Cанкт-Петербург
- •Оглавление
- •Введение.
- •Задание: Разобраться в коде и вывести на консоль еще одну фразу: "It's a first program"
- •Типы данных и правила их применения:
- •Операции
- •Управляющие операторы
- •Задание: в данном примере реализуйте операции умножения и деления Оператор цикла for (;;)
- •Оператор цикла do-while
- •Задание: к примеру добавьте перегруженную функцию для суммирования чисел типа double, и проверьте ее работу
- •Модульная организация программы
- •Массивы
- •Задание: добавьте еще один элемент в массив при инициализации и посмотрите его размерность. В цикле увеличьте значение всех элементов массива на 10 и напечатайте его заново. Работа со строками
- •Ссылочный тип данных
- •Задание: Объявить еще одну переменную-ссылку на I и, изменив ее значение, пронаблюдать, как изменилось значение переменной I Работа с файлами
- •Взаимодействие с ассемблером
- •Обработка ошибок и исключений
- •Директивы препроцессора: Макросы и Условные директивы
- •Структуры
- •Задание : Добавить в сруктуру еще одно данное (стоимость модели) типа int, в коде функции main() задать значение этого данного переменной–структуры, и напечатать его.
- •Объектно-ориентированное программирование (ооп)
- •Терминология ооп
- •Структура как простейший класс
- •Конструкторы и деструкторы
- •Перегрузка методов класса
- •Дружественные функции и классы
- •Указатель this
- •Перегрузка операций
- •Множественное наследование
- •Если осталось время – разобраться в иерархии классов и принципов построения
- •Список литературы
Задание: Разобраться в коде и вывести на консоль еще одну фразу: "It's a first program"
Программа использующая ввод и вывод пользователя приведена в \02SECOND
#include <iostream>
using namespace std;
int main()
{
float feet, centimeters; // Объявление переменных
// Приглашение на ввод значения футов для перевода в сантиметры
cout << "Enter the number of feet to be converted: ";
cin >> feet; // Запрос ввода значения футов
while (feet > 0) // Цикл пока значение футов не 0
{
centimeters = feet * 12 * 2.54; // Пересчет в сантиметры
// Вывод футов и сантиметров
cout << feet << " feet equals \n";
cout << centimeters << " centimeters \n\n\a";
cout << "Enter another value (0 ends the program) ";
cin >> feet; // Запрос на ввод следующего значения
}
return(0);
}
Задание: Разобраться в коде и переделать алгоритм так, чтобы запрашивались градусы Цельсия, переводились в градусы Фаренгейта, и выводились пользователю (Формула: F= 32 + 9/5*C )
Данные
Идентификатор - имя, которым в программе можно обозначать переменные, константы, типы, функции и метки, значимой длиной до 31 символа. Регистр важен.
Ключевые слова - предопределенные идентификаторы, имеющие определенное значение для компилятора, например:
class, int, float, while, if, delete, inline, new, operator, private, protected, public
Переменные, константы всегда объявляются перед их использованием и регистр имеет значение
Типы данных и правила их применения:
Cимвольный тип данных (\03CHAR), содержит любые символы .
char csinglechar, cuppercase, clowercase; // Декларация символьных переменных
cout << "Enter a single character: "; // Приглашение ввода символа
cin >> csinglechar; // Считывание символа
cuppercase = toupper(csinglechar); // Перевод символа в верхний регистр
clowercase = tolower(csinglechar); // Перевод символа в нижний регистр
csinglechar = csinglechar + 1; // Доступ к следующему символу в таблице
Целочисленные типы (\04INT.CPP)
int – 2 байта(платформа Win16) или 4 байта (платформа Win32)
short – 2 байта (–32768 .. +32767) или (0..65535)
long – 4 байта (-2147483648..+ 2147483647) или (0..429496295) Модификатор unsigned - говорит, что целое число не имеет знака, signed - имеет знак
int iValue; // Декларация целочисленной переменной
unsigned int iUnsValue; // Декларация целочисленной неотрицательной переменной
cout << "Enter any integer number: "; // Приглашение ввода любого целого числа
cin >> iValue; // Считывание числа
cout << "Enter positive integer number: "; // Приглашение ввода положительного числа
cin >> iUnsValue; // Считывание числа
cout << "iValue=" << iValue << " iUnsValue=" << iUnsValue << "\n"; // Вывод чисел
cout << "Sum of integers = " << iValue + iUnsValue << "\n"; // Вывод суммы
Задание: Разобраться в коде; посмотреть, что произойдет, если вместо положительного ввести отрицательное число; объявить переменную типа long и перед выводом поместить в нее сумму; вывести разность, перемножить, разделить числа (операторы - , *, /)
Типы данных с плавающей точкой (\05FLOAT)
float - 4 байта, диапазон 3.4Е38
double - 8 байт, диапазон 1.7Е308
long double - 10 байт, диапазон 1.1Е4932
double dValue = 123.45678; // Декларация переменной c ее инициализацией
cout << "\nStandard formatting: \t" << dValue; // Стандартный формат
cout.setf(ios::scientific);
cout << "\nScientific formatting: \t" << dValue; // Экспоненциальный формат
cout.setf(ios::fixed);
cout << "\nFixed formatting: \t" << setw(10) // Фиксированный формат
<< setprecision(8) << dValue;
enum - перечислимый тип. (\06ENUM). Нужен для облегчения понимания кода В С компилятор не делает различия между типами int и enum. В С++ при отсутствии явного приведения типов компилятор выдает ошибку
enum air_supply // Объявление перечислимого типа
{ EMPTY, USEABLE, FULL=5};
air_supply tank; // Объявление переменной данного типа
tank = EMPTY; // Присвоение перечисляемого значения
cout << "Tank is " << tank;
tank = USEABLE;
cout << "\nTank is " << tank;
tank = (air_supply)5; // Приведение типов в С++
tank = air_supply(5); // Еще один вариант
cout << "\nTank is " << tank;
Константы – задаются директивой #define (язык С), в С++ обычно используется const
#define PI 3.14
const float pi = 3.14;
Задание:В примере \05FLOAT вышеописанным способом ввести константу PI и найти длину окружности для радиуса 5, поместив результат вычисления в переменную dValue (=2*PI*R)
void – тип, использующийся для определения величин, имеющих нулевую длину и не имеющих значения (обобщенные указатели).
Время жизни переменных и объектов: auto, register (локальное время жизни), static, extern (глобальное) - указывают компилятору на способ хранения переменной
auto: используется по умолчанию, переменная видна только в блоке, где описана
register: указание компилятору разместить переменную в регистре (если возможно).
static: два модуля могут содержать переменную с одним и тем же именем, в каждом модуле она имеет свое текущее значение, при отсутствии инициализации - 0, при выходе из блока переменная сохраняет свое значение.
extern: ссылка на уже объявленную в другом модуле переменную
