V Константа должна быть обязательно инициализирована при объявлении. — КиберПедия 

Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

V Константа должна быть обязательно инициализирована при объявлении.

2023-01-02 15
V Константа должна быть обязательно инициализирована при объявлении. 0.00 из 5.00 0 оценок
Заказать работу

v Ключевое слово const можно задавать как перед типом, так и после него.

V В одном операторе можно определить несколько величин одного типа, разделяя их запятыми.

Именованная константа

Примеры:

const char C = 'C', X = '|';

int const y = 56;

const long a=6;

const float pp=6.6e-34;

Переменные

V С помощью инициализатора можно присвоить переменной начальное значение (инициализировать переменную).

v Инициализатор можно записывать в двух формах - со знаком равенства:

= выражение

или в круглых скобках:

(выражение)

V Выражение должно быть вычисляемым на момент выполнения оператора,.

Переменные

short int a = 1;

short int b(a + 1);

char s, sf = 'f';

// инициализация относится только к sf

Char t (54);

float c = 0.22, x(3), sum;

Int f,c,d;

float r;

I, j;

// две переменные типа int (по умолчанию)

unsigned int max,min;

с har c1,c2;

unsigned char c5;

double k=89.34; float eps=0.1e-4; char ch=’G’;

Переменные

Int a;       //глобальная переменная a

Int main()

{ int b;   //локальная переменная b

static int c; //локальная статическая переменная c

a = 1;   //присваивание глобальной переменной

int a;   //локальная переменная a

a = 2;   //присваивание локальной переменной

::a = 3; //присваивание глобальной переменной

extern int x;

//переменная х объявлена; определение дальше

...

return 0;

}

int x = 4;   //определение и инициализация x

 

СТРУКТУРЫ ДАННЫХ

АДРЕСНАЯ АРИФМЕТИКА

План лекции

• Массивы

• Строки

• Структуры

• Объединения

• Указатели

• Взаимосвязь массивов и указателей

Массивы

СТРУКТУРЫ ДАННЫХ

Массивы

Конечная именованная последовательность однотипных величин называется массивом.

• В С++ различают массивы фиксированного размера и массивы переменного размера (динамические).

• Количество элементов в массиве первого типа известно при написании программы и никогда не меняется.

• Память под такой массив выделяет компилятор.

Массивы

• Количество элементов динамического массива на этапе компиляции не известно и, как правило, зависит от входных данных.

• Память под динамический массив выделяется во время выполнения программы с помощью операций выделения памяти.

Массивы

• Описание массива фиксированного размера отличается от описания простой переменной наличием после имени квадратных скобок, в которых задается количество элементов массива (размерность):

<Тип элемента> <Имя>[<Размер1>]

     [<Размер2>]...[= {<Список значений >}];

Массивы

float a [10];

int a[4][5];

unsigned int koord[10];

float b[10][20][2];

char buffer[10];

const int array_size = 10;

int ia[ array_size ];

int b[100], х [27];

Массивы

• Тип элементов массива - любой допустимый тип С++.

• Элементами массива не могут быть функции и элементы типа void.

• Кроме того, не разрешается использовать массив ссылок.

• Элементы массива нумеруются с нуля.

Массивы

• Глобальный массив по умолчанию инициализируется нулями.

•  Локальный массив, как и обычная переменная, по умолчанию никак не инициализируется.

• Инициализирующие значения при желании задают в фигурных скобках:

extern int a[5]={0,-36,78,3789,50};

Массивы

const int array_size = 3;

int ia[ array_size ] = { 0, 1, 2 };

int b[5] = {3, 2, 1};

// b [0]=3, b [1]=2, b [2]=1, b [3]=0, b [4]=0

// массив размера 3

int ia[] = { 0, 1, 2 };

extern long double c[]={7.89L,6.98L,0.5L,56.8L};

// 4 элемента

Массивы

• Размерность массива может быть задана только целой положительной константой или константным выражением.

• Размерность массивов предпочтительнее задавать с помощью типизированных констант.

• Для доступа к элементу массива после его имени указывается номер элемента (индекс) в квадратных скобках.

Массивы

# include <iostream.h>

using namespace std;

int main(){

const int n = 10;

int marks[n] = {3, 4, 5, 4, 4};

for (int i = 0, sum = 0; i<n; i++) sum += marks[i];

cout << " Сумма элементов: " << sum;

}

Массивы

#include <iostream.h>

void main() {

 const int n = 10;

// Размерность массива

int a [ n ]; // Объявление массива

for(int i = 0; i < n; i++) {

cout << "Input the a[" << i <<

                         "]element:\t";

cin >> a[i];

// Ввод значений массива  

}

Массивы

int count = 0;

// Счетчик отрицательных элементов

for (i = 0; i < n; i ++)

if(a[i] < 0) count++; // Подсчет

cout << endl;

for(i = 0; i < n; i++)

cout << a[i] << "\t";

// Вывод исходного массива

cout << "\nNumber of negative           elements:\t" << count << endl;

// Вывод результатов подсчета

}

Массивы

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

• Массиву не может быть присвоено значение другого массива, недопустима и инициализация одного массива другим.

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

Массивы

Многомерные массивы фиксированного размера задаются указанием каждого измерения в квадратных скобках.

• В памяти такой массив располагается в последовательных ячейках построчно.

• Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс.

Массивы

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

• Внутренние фигурные скобки, разбивающие список значений на строки, необязательны и используются, как правило, для удобства чтения кода.

Массивы

int mass2 [][] = { {1, 1}, {0, 2}, {1, 0} };

int mass2 [3][2] = {1, 1, 0, 2, 1, 0};

int ia[ 4 ][ 3 ] = {

{ 0, 1, 2 },

{ 3, 4, 5 },

{ 6, 7, 8 },

{ 9, 10, 11 }

};

int ia[4][3] = { 0,1,2,3,4,5,6,7,8,9,10,11 };

Массивы

• В многомерном массиве размер самого левого измерения также можно не указывать.

int MN [][4] = {

{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12}

};

Массивы

int XYZ [][3][4] = {

{

{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12}

},

{

{13, 14, 15, 16},

{17, 18, 19, 20},

{21, 22, 23, 24}

}

};

Массивы

• При обращении к элементам многомерного массива необходимо использовать индексы для каждого измерения (они заключаются в квадратные скобки), например, matr [ i ][ j ].

Конструкция ia[ 1, 2 ] эквивалентна ia[2]!

Массивы

Int main()

{

const int rowSize = 4;

const int colSize = 3;

int ia[ rowSize ][ colSize ];

for (int i = 0; i < rowSize; ++i)

for (int j = 0; j < colSize; ++j)

    ia[ i ][ j ] = i + j;

}

Массивы

#include <stdio.h>

int main() {

 int j, i, matr[3][4];

 for(j = 0; j < 3; j++)

for(i = 0; i < 4; i++)

matr[j][i] = 4 * j + i + 1;

/* вывод массива на экран */

for (j = 0; j < 3; j ++) {

for(i = 0; i < 4; i++)

printf ("%3d", matr[j][i]);

printf ("\n");

}

Массивы

void main() {

 const int N = 4;

 int a[N][N],i,j,s[N];

for(i=0; i<N; i++){

printf("Input numbers of %2d string:\n",i);

for (j=0; j<N; j++)

scanf("%d",&a[i][j]); }

for(i=0;i<N;i++)

for (j=0,s[i]=0;j<N;j++) s[i]+=a[i][j];

for(i=0; i<N; i++){

for (j=0; j<N; j++)

printf("%3d ",a[i][j]);

 printf("sum=%4d\n",s[i]); }

getch();}

Строки

СТРУКТУРЫ ДАННЫХ

Строки

• Строка представляет собой массив символов, заканчивающийся нуль-символом.

• Нуль-символ - это символ с кодом, равным 0, что записывается в виде управляющей последовательности '\0'.

• По положению нуль-символа определяется фактическая длина строки.

Объявление строки

Объявление строки:

char <Имя>[<Объем памяти>] [= <Значение>];

char str1[5] = {‘A’,’B’,’C’,’D’,’\0’};

Строку можно инициализировать строковым литералом:

char str[10] = "Vasia";

char str[] = "Vasia";                        


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.