Переменные и выражения
Типы с плавающей точкой.
Имеют мантиссу и порядок
0,1<=m<1
Внутренне представление вещественного числа состоит из m и p мантиссы и порядка. Для величин типа float выделяется 4 байта: 1 бит знаковый, 8 битов порядок, 23 бита мантиссы
для величин типа double 8бит: 1 бит-знак, 11 битов порядок, 52 мантисса
Константы с плавающей точкой по умолчанию относятся к типу double, также существет суффиксы F L
таблица
Операция size of служит для определения длины поля памяти. Ее аргументом может быть либо имя переменной, либо имя типа. Size of (int) size of x
Тип void. Множество значений этого типа пусто. Ониспользуется для описания функций, которые не возвращают значений, а также для указаний списка аргументов функции
Структура С++
Программа состоит из директив препроцессора, описаний и функций.
Одна из функций обязательно должна иметь имя main.
Выполнение программы начинается с первого оператора этой функции
Телом функции является совокупность операций заключенный в операторных функциях.
{main}
Если функция не должна возвращать значения-ей приписывается void. Функции не могут быть вложенными.
Пример структуры
Директивы препроцессора
описания
int main()
{
операторы
}
int f1(int x)
{ операторы}
void f2(int a)
{операторы}
Пример
#include<iostream>
int main()
{
int I, j
cout<<”Введите целое число \n”;
cin>>i
cout<<”Вы ввели целое число''<<i<<”Спасибо»;
return 0;
}
iostream содержит описание набора классов для управления ввода вывода.
Cout - является объектом этого класса и называется стандартным выходным потоком
cin – стандартный входной поток.
<< - операция помещения в поток
>> - операция чтения из потока
Выражение это = операнд операция операнд
операнд = константа, перемененная, выражение
операции = + - …
Переменная- это именованная область памяти, в которой хранятся данные.
Имя переменной служит для обращения к этой области.
Значение переменной — содержание области.
Любая переменная в программе должна быть предварительно описана, тог есть отнесена к одному из типов.
Оператор описания = [класс памяти][const] тип имя[инициализатор];
Если в описании переменной используется слово const, то переменную называют именованной константой. Инициализатор это конструкция, служащая для присвоения переменной начального значения. Int I = 5; int i(5);
область действия имени это часть программы, в которой имя может быть использовано в соответствии со своим описанием. В зависимости от области действия переменная может быть локальной или глобальной
Если переменная описана внутри блока { }, то область ее действия от точки описания до конца блока. В этом случае переменная называется локальной.
Если переменная описана вне любого блока. Она называется глобальной. И область ее действия — от точки описания до конца программы.
Класс памяти определяет время жизни и область видимости переменой.
Время жизни может быть постоянным (в течение всего времени выполнения программы)
и временный (в течение выполнения какого- либо блока)
Областью видимости имени называется часть текста программы. В которой допустим доступ к области памяти, связанной с этим именем.
Для задания класса памяти используются следующие слова:
auto (автоматическая переменная) память под нее выделяется в стеке. И освобождается при выходе из блока в котором написана переменная.
Время жизни такой переменной с момента описания до конца блока.
Стек- та область памяти, которая служит для выделения полей.
Для глобальных переменных это служебное слово не используется, а для локальных оно применяется по умолчанию.
Extern (external) означает что переменная является внешней. ТО есть объявлена в другом месте программы в другой функции или в другом файле. Что бы переменная была доступна для нескольких блоков.
Используется для создания переменных, доступных модулей программы, в которых они объявлены.
Static – статическая переменная. Время жизни постоянное
Такая переменная специализируется один раз, при первом выполнении оператора, содержащего описание переменной.
Register — это означает запрос на выделение памяти в регистре процессора. Если такой возможности у компилятора нет переменные будут отнесены к классу auto.
Int a;
int main()
{ int b;
extern int x;
static int c;
a = 1;
int a;
::a= 3;
return o;
}
:: - доступ к глобальной переменной