Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по технологиям программирования.pdf
Скачиваний:
53
Добавлен:
02.06.2015
Размер:
4.73 Mб
Скачать

Константы

Возможно использование трех типов цифровых констант:

десятичные : 80, 9, 1000000;

восьмеричные: 060, 07, 02345;

шестнадцатиричные: 0х80, 0хAFC

Описание идентификаторов

[<спецификаторклассапамяти>] [const] <спецификатортипа> <идентификатор> [=<начальноезначение>];

auto double first=123.34;

const floatpi = 3.14; int*x, z;

float* neary=NULL;

x= &z; // операция получения адреса

ТИПЫ данных

 

базовые

 

производные

 

пустой

скалярный

 

скалярный

структурный

 

void

 

 

 

 

 

 

 

 

целочисленный

вещественный

enum

массивы

логический

символьный

 

целый

float

имя_типа*

struct

 

указатель

 

 

 

 

 

 

 

char

 

int

double

имя_типа&

union

 

 

ссылка

 

 

 

 

 

 

wchar_t

long

longdouble

class

short

Ссылки int a =3;

int & another = a;

another= another+ 1; // Переменнаяa= 4

Перечисление

enum Err{ ERR_READ, ERR_WRITE,ERR_CONVERT}; Errerror;

switch (error)

{

case ERR_READ: /* операция */ break;

case ERR_WRITE:

/* операция */ break;

case ERR_CONVERT:

/* операция*/ break;

}

 

Массивы

Объявление: intmass [2]; float matr[6] [7];

unsigned long Arr3D[4] [2] [8] ; char x[][3] - {{9,8,7),{6,5,4},{3,2,1}};

chardata= "Этомассив";//data[10]="\0" Инициализация: charArrChar[] = {'W','O','R','L','D'};

intTemp[12] = {2, 4, 7, };

Обращение:

черезуказатель - char* pArr= ArrChar; charLetter= *pArr;

pArr+= 3; // указывает наArrChar[3] Letter = * (ArrChar+ 3) ;

поиндексу -

Letter = ArrChar[3];

В случае многомернымассивов

charArrayOfChar[3][2] = {'W','O','R','L','D','!'}; char* pArr = (char*)ArrayOfChar;

pArr+= 3; //элемент ArrayOfChar[1] [1] char Letter= *pArr;

Передача массивав качествепараметра const int ArSize = 8 ;

int sum_arr (int arr[ ] , int n ) ; int main ( )

{ int cookies [ArSize ] = { 1 , 2 , 4 , 8 , 16 , 32 , 64 , 128 } ; int sum = sum_arr (cookies , ArSize ) ;

std ::cout << " Всегосъеденопеченья : " << sum << " \ n " ; return 0;

}

int sum_arr( int arr [ ] , int n ) { int total = 0;

for ( int i = 0; i < n ; i ++ ) total= total + arr[ i ] ; return total ;

}

Распределениепамятидляструктуры

struct binar{ unsigned first :2; unsigned sec :2; unsigned third :3; unsigned forth :4; unsigned fifth :5; } int_val;

int_val.first = 0; int_val.sec = 0xf; int_val.third = 0; int_val.forth = 8; int_val.fifth = 0;

16

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0 0

0

0

1

0

0

0

0

0

0

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

union int_or_long { int i; long l; } count;