точність | Розмір в байтах
1 | bool | false | true | - | 1
2 | char | -128 | 127 | - | 1
3 | short | -32768 | 32767 | - | 2
4 | int | -2147483648 | 2147483647 | - | 4
5 | long | -//- | -//- | - | 4
6 | float | 3.4*10-38 | 3.4*1038 | 7 | 4
7 | double | 1.7*10-308 | 1.7*10308 | 15 | 8
Перетворення типів.
Мова С++, як і С працює з виразами, що містять в собі різні типи даних.
Розглянемо приклад.
Приклад
//mixed.cpp
// використання мішаних типів даних
# include <iostream>]
using namespace std;
int main ()
{
int cot = 7
float avg weight = 155.5F
double total weight = count*avg weight;
coгt << “Ваза рівня” << total weight << endl;
return 0;
}
В даному випадку змінна типу int перемножується на змінну типу float, а результат присвоюється змінній double.
В даному випадку компіляція відбувається без помилок, оскільки компілятори допускають перемноження (та ін опер) із змінними різних типів. Такі операції із змінними різних типів не підтримуються іншими мовами – тільки у С і С++ вони можуть реалізуватися.
1.1.6 Арифметичні операції. Бібліографічні функції.
Остача від ділення.
Остача від ділення застосовується тільки для змінних типів char, short, int і long і позначається знаком %.
Приклад
// remaind.cpp
// застосування операції від ділення
# include <iostream>
using namespace std;
int main ()
{
cout << 6%8 << endl //6
<< 8%8 << endl //7
<< 9%8 << endl //1
<< 10%8 << endl //22
return 0;
}
Арифметичні операції із присвоюванням.
Мова С++ володіє засобами для того, щоб скоротити розмір коду і зробити його не\аочним. Одним із таких засобів є арифметичні операції із присвоєнням.
Приклад.
total = total+item; // заміна значення total сумою – це стандартний запис присвоєння значень змінним.
В С++ є можливість скоротити такі записи, застосовуючи операції із присвоєнням. Такі операції комбінують арифметичні операції і операцію присвоєння. Вони цим самим викликають необхідність використання змінної 2 рази:
Приклад *:
total += item; //додавання total і item
Поряд з операцією додавання + присвоєння використовують ще такі операції: -=Б *=Б /=Б %= і т.д.
Приклад
// assign.cpp
// застосування арифметичних операції із присвоєнням
# include <iostream>
using namespace std;
int main ()
{
int ans=27
ans+=10; // аналогічно ans=ans+10;
cout << ans << “,”;
ans-=7; // ans=ans-7;
cout << ans << “,”;
ans*=2; // ans=ans*2;
cout << endl << “,”;
ans/=3;
cout << ans << “,”;
ans%=3;
cout << ans << endl;
return 0;
}
Результат: 37, 30, 60, 20, 2
Інкренмент.
Приклад
cout=count+1;
cout+=1;
або ++cout – операція інкренмент – збільшення змінної на одиницю.
Префіскна і постфіксна форма.
Знак операції інкренмент може бути записаний у подвійній формі – коли він розташований перед своїм операндом, і коли після операнда.
Префіксна форма запису означає те, що інкренмент буде виконано першим, а постпрефіксна форма означає, що інкренмент виконавця останнім.
Приклад 6.3. Використання операції інкрементування:
// incream.cpp
// застосування операції інкрементування
# include <iostream>
using namespace std;
int main ()
{
int cout=10;
cout << “count” << count <, endl; // вивід 10
cout << “count” << ++count <, endl; // вивід 11 (префіксна форма)
cout << “count” << count <, endl; // вивід числа 11
cout << “count” << count++ <, endl; // вивід 11 (префіксна форма)
cout << “count” << count <, endl; // вивід числа 12
return 0;
}
Приклад:
1) префікс:
вираз: total weight = avg weight * ++count;
дія: |
total weight | avg weihgt | count | операція
1 | - | 155,5 | 7
2 | - | 155,5 | 8 | інкренмент (+1)
3 | 1244,0= | 155,5* | 8 | множення
2) префікс
вираз: total weight = avg weight * count++;
дія: |
total weight | avg weihgt | count | операція
1 | - | 155,5 | 7
2 | 1088,5= | 155,5* | 7 | Множення
3 | 1088,5 | 155,5 | 8 | Інкремент (+1)
Декремент.
Операція декременту – зменшує свій операнд на 1. Декремент також допускає префіксну і профіксну форми запису.
Бібліотечні функції.
Багато дій мови С++ проводиться за допомогою бібліотечних функцій. Ці функції забезпечують доступ до файлів, проводять математичні розрахунки, виконують перетворення даних і багато інших дій.
Приклад Використання бібліографічної функції sqrt ().
/ sqrt.cpp
// використання бібліографічної функції sqrt ()
# include <iostream>
# include <cmath>
using namespace std;
int main ()
{
double number.answer; //???? Типу double для функції sqrt ()
cout << “Введіть число:”;
cin >> number; //ввід числа
answer=sqrt(number); //добування кореня
cout << “Квадратний корінь рівний”;
<< answer << endl; // вивід результату
return 0;
}
Форми директиви #include.
Приведемо схему заготовочних і бібліотечних функцій.
Рисунок 1.4 - Заготовочний і бібліографічний файли.
Кожний заготовочний файл місить інформацію про певний набір функції. Самі функції згруповані в бібліотечних файлах, а інформація про них зберігається в заготовочних файлах.
У файлі iostream міститься опис об’єктів і функцій, які використовуються для вводу / виводу інформації - об’єкта cont – наприклад, файл cmath містить описи математичних функцій (наприклад, sqrt ()).
Існує 2 види директив #include. Кутові дужки <>. В яких є імена файлів iosrteam і cmath вказують на те, що компілятор буде спочатку шукати ці файли в стандартній директорії з іменем include, яка містить заготовочні файли для компілятора. Замість <> можна використовувати і “”: # include “myheeder.h”.
Подвійні дужки “” вказують компілятору на те, що пошук файлу потрібно починати з поточної директорії.
Як правило “” застосовують тоді, коли заготовочні файли створює користувач.
1.1.7 Операції відношення.
Операція відношення порівнює між собою два значення. Значення можуть бути як стандартних типів мови С++ (char, int, float,) так і типів, які задав користувач.
Порівняння встановлює одно із трьох можливих відношень між змінними: