Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Konspekt_TiTP_2011.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
167.68 Кб
Скачать

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

базовые производные

1)Базовые

целые bool void плавающие

char (1) short(2) long(4)

int (системно зависим) _int n (n=8,16,32,64) long long (8)

Плавающая точка: float (4) double (8) long double (8)

2)Производные

  1. простые - указатель, ссылка

  2. составные - класс(class), структура(structure), объединение(union), массив(array)

  3. sizeof(_) либо выражение, либо тип данных sizeof(char) = =1 double d; sizeof(d) //= =8

y=300*sin(x)

int double Неявное приведение типов производит компилятор автоматически по правилу: ”Полученное в результате вычисления выражение приводится к типу слева от знака равенства.”. Явное приведение типов. y=300*(int)sin(x); //неверно!!!

y=(int)(300*sin(x));

f loat var1; cin>>var1; if(var1 != (int)var1) проверка на тип данных { // не целое }

Файловый ввод - вывод.

  1. infile = fopen(“имя”, w); “Z:\\...\\myfile.txt”;

  1. myfile.txt *.vcproj *sln ..\\ на уровень выше.

Булевые переменные (тип bool).

True =1 False=0 ex. : bool b=(x<=y); //b=5 – ошибка int n=b; (неявное приведение к типу int) Старый BOOL – 4 бита Сейчас BOOL – 1 бит

Понятие, объявление и определение.

Программист даёт имена переменным или функциям, а потом использует переменные в выражении или вызове функции. Когда компилятор встречает в тексте программы любое имя, он должен знать, что имеется ввиду под этим именем, поэтому в C использованию любого имени должно предшествовать описание его свойств.

Declaration Объявлений одного имени может быть сколько угодно, но они должны быть согласованы. Определение может быть только одно.

extern int iNumber; float var2; //объявление + определение double var3 = 3.14159, Один тип объявляется через ‘ , ’ : char var1, var2,var3, var4 = ’ y ’;

Ключевое слово typedef.

typedef тип синоним типа,

typedef unsigned char BYTE; BYTE var8; #if defined(_win32) typedef int int32; #else typedef long int 32; #endif int32 i=1 - 32 разряда памяти

Нельзя комбинировать имена, созданные с помощью typedef.

//typedef long int 32 MY; - НЕЛЬЗЯ for (int index…) { index }

Виды компоновки программ:

1) Внешняя external (все переменные определены вне {} без спецификатора static) int var1, int main {}

2) Внутренняя internal (объявление вне {}, но с ключевым словом static )

3) Без компоновки no linkage (не подлежат компоновке) {int var1; }

file.cpp int z; static int y; void f1() { int x; static int; } void f2() { использование y } void f3() { использование y, z }

file2.cpp extern int z; void f4(); { использование z; }

Автоматическая память – все переменные, которые были определены внутри блока, или параметры функции.

Область видимости.

{ … int i; } //i=1

File scope – область видимости для переменной не {} будет видна только в этом файле

#include… int z; void main() { z=10;

}

Область видимости переменной.

--- namespace; ---function scope; ---void f1(void) { label1: } void f2(void) { label1: } ---class scope ---область видимости имён параметров прототипа функции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]