Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Struct polar




Struct polar

Struct tag_name

{

<тип_1> mem_1; //перший член структури

<тип_2> mem_2; //другий член структури

……..

<тип_n> mem_n; // останій член структури

}; // крапка з комою обовязкова.

Визначення екземпляру структури: tag_name id_example;

Доступ до членів структури – через крапкову нотацію. При визначені структури тег не є обов’язковим. Але тоді екземпляри структури, визначено і анонімно – без тегу, мають визначатись одразу після фігурної дужки, що закриває тіло структури. Структури можуть бути параметрами функцій та повертатись як результат функцій. Обмежень на типи членів структури не має, крім одного – членом структури не може бути екземпляр даної структури, проте може бути вказівник на неї.

Приклад

/*Визначаємо полярні кординати на площині*/

{

float r;

float phi;

}

/*Визначаємо точки a, b, c у полярній системі кординат*/

struct polar a, b, c;

/*Доступ до членів структури через крапкову нотацію: */

a.r =1;

a.phi= 0;

Допустимі операції зі структурами:

· Доступ до членів структури;

· Копіювання й присвоєння структур;

· Взяття адреси структури.

Структури також можуть передаватись у функції в ролі параметрів і повертатись як результат функції.

Приклад(продовження)

{

float r, phi;

}

struct polar a, b, *p;

a.r =1;

a.phi =0;

b=a;//копіювання структури

p=&b;//взятя адреси

(*p).r=5;//дужки обов’язкові, оскільки впливають на порядок операцій.

Для спрощення запису доступу до членів структури, що адресуються вказівником, використовується спеціальна операція, яка позначається ->(знак – і знак >). Отже, останій рядок можна записати таким чином:

p->r=0;

ліворуч від -> знаходиться вказівник на стуктуру, праворуч – член структури.

9.Файли в мові С++. Функції роботи з файлами.

Файл – це сукупність даних, які розміщені на зовнішньому носії, зокрема, на жорсткому диску. Дані у файлі називаються елементами. Кількість даних під час опрацювання файлів не зазначають. Файли можуть містити як текстову, так і числову інформацію. Існує декілька бібліотечних функцій, які дають змогу зчитати інформацію з файлу або спрямувати потік виведення у файл. Для роботи з вайлами насамперед необхідно підключити цю бібліотеку: #include<fstream.h>. у модулі fstream.h також містяться описи стандартних потоків cout і cin. Тому, щоб зчитати інформацію з файлу і вивести її на екран монітора, модуль iostream.h підключати не обовязково. Визначити кінець файлу можна за допомогою функції eof() (eof – end of file, кінець файлу) так: <назва файлової зміни>eof();

Ця функція повертає нульове значення, якщо досягнути кінця файлу. Stream-бібліотека С++ включає набір основних функцій, які контрулюють стан помилки потокової операції. Ці функції включають наступне:

- Функція good() повертає нульове значення, якщо при виконані потокової операції не виникає помилки. Оголошення функції: good:int good();

- Функція fail() повертає ненульове значення, якщо при виконанні потокової операції виникає помилка. Оголошення функції: fail:int fail();

- Операція! застосовується для екземпляра потоку для визначення стану помилки.

10.Директиви препроцесора в мові С.

Директиви препроцесора – це інструкції препроцесору С. препроцесор С – це текстовий процесор, кий маніпулюєтекстом початкового файлу на першій фазі компіляції. Хоча компілятор викликає препроцесор на своїй першій стадії, його можна викликати і окремо для обробки тексту без компіляії. Директиви препроцесора зазвичай використовуються для полегшення внесення змін в початкові програми і для полегшення їх компіляції в різних середивищах виконання. Розташованні в початковому файлі директиви примушують препроцесор виконувати конкретні дії. Наприклад, препроцесор може замінити лексеми в тексті, вставити вміст інших файлів в початковий файл або подавити компіляцію частини файлу, видаляючи сигменти тексту. Препроцесор розпізнає наступні директиви:

#define #if #line

#elif #ifdef #undef

#else #ifndef

#endif #include

Знак номера (#) повинен бути першим нерозділовим символом на рядку, що містить директиву, між символом номера і першою буквою директиви можуть зявитися розділові символи. Директива #define зазвичай використовується для організації звязку змістовних індитифікаторів з константами, ключовими словами і часто використовуваними операторами і виразами. Директива #undef видаляє значення індитифікатора. Після видалення визначення, індитифікатор можна перевизначити іншим значенням. Директива #define замінює всі появи «індитифікатор» в початковому файлі на «текст-заміни». Індетифікатор замінюється тільки тоді, коли він формує лексему. Директива #if разом з директивами #elif, #else і #endif управляють компіляцією частин початкового файлу. Кожна дерактива #if в початковому файлі повина мати відповідну закриваючу дерактиву #endif. Між директивами #if і #endif може зявитися будь-яке число директив #elif, але допускається наявність однієї #else. Якщо є директива #else, то вона повина бути останьою директивою перед #endif. Директиви #ifdef і #ifndef виконують ті ж функції, що і директива #if з defined(індитефікатор). Директиви #ifdef і #ifndef можна використовувати скрізь, де допустиме використання #if. Ці директиви релізовані тільки для забезпечення сумісності з попередніми версіями мови. Директива #include включає текст програми вміст вказаного файлу. Директива #include означає, що до програми необхідно приєднати програмний код із зазначеного після неї файлу (модуля, бібліотеки).

11.Стрічки. Функції роботи зі стрічками символів в мові С++.

Стрічка – це послідовність символів з довільним доступом. Для опрацювання масивів символів у мові С++ є стандартні функції, які описані в модулі string.h деякі з них:

strlen(<рядок>) – визначає фактичну кількість символів у рядку, застосовується у виразах;

strcat(r1,r2) – команда зєднання рядків r1,r2 в один рядок, результат присвоює змінний r;

s trncat(r1,r2,n) – до змінної r1, додає перших n символів рядка r2, команда;

strcpy(r1,r2) – копіює символи з рядка r2 в рядок r1, команда;

strncpy(r1,r2,n) – копіює перших n символів рядка r2 в рядок r1, команда;

strchr(r1, <символ>) – визначає перше входження деякого символу у рядок r1 так: повертає рядок, який починається від першого входження заданого символу до кінця рядка r1, застосовується у виразах;

strrchr(r1,<символ>) – визначає останє входження заданого символу у рядок, застосовується у виразах;

strspn(r1,r2) – визначає номер першого символу, який входит у рядок r1, але не входить у рядок r2, застосовується у виразах;

strstr(r1,r2) – визначає в рядку r1 підрядок, що починається з першого входження рядка r2 у рядок М, використовується у виразах;

strtok(r1,r2) – визначає частину рядка r1, яка закінчується перед першим одинаковим символом рядків r1 та r2;

strset(r1,<.символ>,n) – вставляє n разів заданий символ перед рядком r1, застосовується у виразах;

strupr(r1) – перетворює усі малі літери рядка у великі;

strlwr(r1) – перетворює усі великі літери рядка у малі;

strrev(r1) – записує рядок у зворотньому порядку.

 




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


Дата добавления: 2015-05-08; Просмотров: 380; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.