четверг, 28 февраля 2013 г.

1. Know how to use basic types and cast between them

1. Знать основные типы данных, их использование и приведение

В языке C++ существуют следующие базовые типы данных:
  • int - целое число;
  • floatс плавающей точкой (вещественное число);
  • doubleс плавающей точкой двойной точности;
  • char - символьные данные (символ);
  • bool - логический тип (принимает значение true или false).
Для целочисленного типа существуют модификаторы доступа signed и unsignedМодификатор типа unsigned указывает, что переменная принимает только неотрицательные значения.
Приведем простой пример программы на С++, которая оперирует простыми типами данных и выводит их значения на экран:
#include <iostream>

using namespace std;

int main()
{
    int a;                   // целое число
    bool isTrueValue = true; // булево значение
    float f = 0.1;           // вещественное число
    char s = 's';            // символ 's'

    a = 5;

    cout << "a= " << a << endl
         << "isTrueValue= " << isTrueValue << endl
         << "f= " << f << endl
         << "s= " << s << endl;

    return 0;
}
В C++ различают явное и неявное преобразование типов данных. Неявное преобразование типов данных выполняет компилятор С++, явное преобразование данных выполняет разработчик. О приведении типов данных можно сказать следующее: «Результат любого вычисления будет преобразовываться к наиболее точному типу данных, из тех типов данных, которые участвуют в вычислении».
Следующий пример демонстрирует это:

#include <iostream>

using namespace std;

int main()
{
    int a = 7;                 
    int b = 2;
 
    float c = 7.0;
    float d = 2.0;

    cout << "(int/int) a/b = " << a/b << endl
         << "(float/float) c/d = " << c/d << endl
         << "(int/float) a/d = " << a/d << endl
         << "(float/int) c/b = " << c/b << endl;

    return 0;
}

Полезные ссылки:
  1. http://habrahabr.ru/post/106294/
  2. http://alenacpp.blogspot.com/2005/08/c.html
  3. http://www.cppreference.com
  4. http://www.cplusplus.com/doc/tutorial/typecasting/
  5. http://doc.qt.nokia.com/4.7/qobject.html#qobject_cast
  6. http://www2.research.att.com/~bs/bs_faq2.html
  7. http://doc.qt.nokia.com/4.7/qvariant.html#qvariant_cast
  8. http://www.rsdn.ru/Forum/Info/FAQ.cpp.c-stylecast.aspx

Комментариев нет:

Отправить комментарий