Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Типы данных. Преобразования типов.

Синтаксис определения структуры, структурной переменной. Доступ к полям структуры, присвоение структурных переменных. | Синтаксис определения, инициализация указателя на структуру. Работа с полями структуры через указатели. | Определение функции. Передача аргументов и возврат значения по значению, ссылке и указателю. Аргументы по умолчанию. Константы аргументов функции. | Перегруженные функции. Встроенные функции. Рекурсивные функции. | Область видимости и класс памяти. | Объявление и инициализация одномерного и двумерного массивов. Работа с элементами массива через указатель. | Принципы ООП. Инкапсуляция. Наследование. Полиморфизм. | Конструкторы и деструкторы. Конструкторы копирования по умолчанию. | Объекты как аргументы методов и доступ к их числам. | Размещение в памяти членов объектов одного класса и способ создания общих полей (св-в). |


Читайте также:
  1. Базы данных.Системы управления базами данных и базами знаний
  2. Военные преобразования
  3. Военные преобразования при Иване Грозном.
  4. Возможности преобразования альфа-канала
  5. Вопрос 18 Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ
  6. ГОСТ 25861-83. Машины вычислительные и системы обработки данных. Требования по электрической и механической безопасности и методы испытаний.
  7. Государственные преобразования первой четверти XVIII века

Типы данных

Назначение типа Нижняя граница диапазона Верхняя граница диапазона Точность Размер в байтах
bool false true Нет  
char -128   Нет  
Short -32 768 32 767 Нет  
int -2 147 483 648 2 147 483 647 Нет  
Long -2 147 483 648 2 147 483 647 Нет  
Float 3.4*10^(-38) 3.4*10^(38)    
double 1.7*10^(-308) 1.7*10^(308)    

Если значение переменной alpha меньше значения переменной beta, то переменной bool будет присвоено значение true, а в противном случае – false.

Беззнаковые типы данных

Назначение типа Нижняя граница диапазона Верхняя граница диапазона Размер в байтах
Unsigned char      
Unsigned Short   65 535  
Unsigned int   4 294 967 295  
Unsigned Long   4 294 967 295  

Преобразование типов

Рассмотрим программу:

#include <iostream>

using namespace std;

int main()

{

int i = 7;

float f = 155.5F;

double d = i * f;

cout << "Вес равен " << d << endl;

return 0;

}

Здесь переменная типа int умножается на переменную типа float, а результат присваивается переменной типа double.

Неявное преобразование типов

Арифметические операции действуют следующим образом: если их операнды имеют различные типы, то операнд с более «низким» типом будет преобразован к более «высокому» типу. Так в этой прог-е тип int переменной i был преобразован в float. Результат имеющий тип float, затем преобразовался к типу double. (long double – double – float – long – int – short – char)

Явные преобразования типов

Явные преобразования совершаются самим программистом. Это преобразование необходимо в тех случаях, когда компилятор не может безошибочно преобразовать типы автоматически. Преобразование типа int в char:

i = static_cast<char>(c);

Приведение типов следует использовать только в случае полной уверенности в его необходимости и понимания, для чего оно делается.

 

3) Операция отношения. Логические операции. Приоритеты операций в языке С++.

Операции отношения

Операции отношения сравнивают между собой два значения. Значения могут быть разных типов. Результат сравнения является значение истина или ложь.

операция название
> Больше
< Меньше
== Равно
!= Не равно
>= Больше или равно
<= Меньше или равно

Результат сравнения выражений должен быть тип bool. Если выражение true, то выводится 1, а если false – 0.

Пример:

a = 44; // оператор присваивания

b = 12; // оператор присваивания

(a == b) // ложь

(b <= 12) // истина

(a > b) // истина

(a >= 44) // истина

(b!= 12) // ложь

(7 < d) // истина

(0) // ложь (по определению)

(44) // истина (потому что не ложь)

Логические операции

Логические операции позволяют производить действия над двумя значениями – истина и ложь.

операция название
&& Логическое И
|| Логическое ИЛИ
! Логическое НЕ

Рассмотрим программу:

include <iostream>

using namespace std;

int main()

{

int i, o;

cout << “Введите Ваши оценки по информатике и ООП: ”;

cin >> i >> o;

if ((i == 4 || i == 5) && (o == 4 || o == 5))

{ cout << “Ты молодец!” << endl; }

else

{ cout << “Все нормально!” << endl; }

return 0;

}

Операции логического И или ИЛИ связывают пару относительных выражений(выражения, содержащие операции отношения). (операции отношения имеют больший приоритет)

Операция логического НЕ является унарной, т.е. имеет только один операнд. Действие операции! заключается в том, что она меняет значение своего операнда на противоположное. Пр., (х == 7) является истинным, если значение х = 7, а!(х == 7) является истинным для всех х, кроме 7(х!= 7).

Приоритеты операций С++

Чтобы повысить приоритет операции, можно заключить ее в круглые скобки.


Дата добавления: 2015-08-17; просмотров: 75 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Структура программы. Директивы. Переменные и константы.| Циклы и ветвления

mybiblioteka.su - 2015-2024 год. (0.007 сек.)