Реферат по предмету "Цифровые устройства"


Массивы

B.I.Березін,С.Б.Березін(С.83) МАСИВИ І ПОКАЖЧИКИ Раніше ми ввели типи даних в мові С, які називаються іноді ба­зовими або вбудованими. На основі цих типів даних мова С дозволяє будувати інші типи даних і структури даних. Масив - один з най­більш простих і відомих структур даних.


Під масивом в мові С розу­міють набір даних одного і того ж типу, зібраних під одним ім'ям. Кожний елемент масиву визначається ім'ям масиву і порядковим номе­ром елемента, який називається індексом. Індекс в мові С завжди ціле число. ОГОЛОШЕННЯ МАСИВУ В ПРОГРАМІ Основна форма оголошення масиву розмірності


N така: тип <ім'я масиву>[размер1][размер2] [размерН] Частіше за все використовуються одновимірні масиви: тип <ім'я масиву> [розмір] ; тип - базовий тип елементів масиву, розмір - кількість елементів одновимірного масиву. При описі двовимірного масиву оголошення має наступний вигляд: тип <ім'я масиву> [размері][размер2]; У цьому описі можна трактувати оголошення двовимірного масиву як


оголошення масиву масивів, т. е. масив розміру [размер2], еле­ментами якого є одновимірні масиви <ім'я масиву>[размер1]. Розмір масиву в мові С може задаватися константою або констан­тним виразом. Не можна задати масив змінного розміру. Для цього існує окремий механізм, званий динамічним виділенням пам'яті.


ОДНОВИМІРНІ МАСИВИ У мові С індекс завжди починається з нуля. Коли ми говоримо про перший елемент масиву, то маємо на увазі елемент з індексом 0. Еслі ми оголосили масив int a[100] ; це означає, що масив містить 100 елементів від а[0] до а[99]. Для одновимірного масиву легко підрахувати, скільки байт в пам'яті бу­де займати цей масив: кільк.байтів=<розмір базового типу>*<кільк.елементів>.


У мові С під масив завжди виділяється безперервне місце в опе­ративній пам'яті. У мові С не перевіряється вихід індексу за межі масиву. Якщо масив а[100] описаний як цілочисельний масив, що має 100 елемен­тів, а ви в програмі вкажете а[200], то повідомлення про помилку не буде видане, а як значення елемента а[200] буде видано деяке число, що займає відповідні 2 байти. Можна визначити масив будь-якого визначеного раніше типу, наприклад unsigned


arr[40], long double al[1000], char ch[80]. /*поміняти місцями max з min*/ #include main() { int i,j,a[10], max. nmax, min, nmin, temp; clrscr(); for (i=0; i<10; i++) сіп » a[i]; max=min=a[0]; nmax=nmin=0; for (i=0; i<10; i++) if(a[i]>max) { max=a[i]; nmax=i;} else if(a[i]

Сортування і програвання масиву #include #include #' nclude void main() { int temp, і, j, a[ 1 0]; clrscr(); for (i=0;i<10;i++) сіп » a [ і ]; for (i=0;i<9;i++) for (j=i+1 ;j<10;j++) if (a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } for (i=0;i<1 0;i++) { cout « a[i]«" "; sound(a[i]*80); delay(500); nosou nd(); } getch(); } МАСИВИ СИМВОЛІВ. РЯДКИ Однак масиви типу char - символьні масиви - займають в мові осо­бливе місце.


У багатьох мовах е спеціальний тип даних - рядок сим­волів (string). У мові С окремого типу рядка символів немає, а ре­алізована робота з рядками шляхом використання одновимірних маси­вів типу char. У мові С символьний рядок - це одновимірний масив типу char, що закінчується нульовим байтом. Нульовий байт - це байт, кожний біт якого рівний нулю. Для нульового байта визначена спеціальна символьна константа '


Це потрібно враховувати при описі відповідного масиву символів. Так, якщо рядок повинен місти­ти N символів, то в описі масиву потрібно указати N+1 елемент. Наприклад, опис char str[11] ; передбачає, що рядок містить 10 символів, а останній байт зарезер­вований під нульовий байт. Звичайно, ми задали звичайний одновимі­рний масив, але якщо ми хочемо трактувати його як рядок символів, то це буде рядок максимум з 10 елементів.


Хоча в мові С немає спеціального типу рядка, мова допускає ряд­кові константи. Рядкова константа - це список літер, взятих в по­двійні лапки. Наприклад, "Borland C++ ", "Це рядкова константа". У кінець рядкової константи не треба ставити символ Це зробить компілятор, і рядок "Borland C++" в пам'яті буде вигляда-


В о г 1 а n d С + + Є два простих способи ввести рядок з клавіатури. Перший спосіб -скористатися функцією scanf() зі специфікатором введення %s. Треба пам'ятати, що функція scanf() вводить символи до першого пропуско-вого символа. Другий спосіб - скористатися спеціальною бібліотеч­ною функцією gets(), оголошеною в файлі stdio.h. Функція gets() дозволяє вводити рядки, що містять пропуски.


Введення закінчується натисненням клавіші Enter. Обидві функції автоматично ставлять в кінець рядка нульовий байт. Не забудьте зарезервувати для нього місце. Як параметр в цих функціях викори



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.