- •2. Схема розв'язування задачі. Етапи підготовки задачі для розв'язування на еом
- •3. Поняття про операційні системи (ос) та їх роль у функціонуванні еом
- •4.Внутрішня та зовнішня частини ос, їх призначення.
- •5. Cхеми алгоритмів і програм
- •6. Різновидності структур алгоритмів. Організація алгоритмів лінійної і розгалудженої структури
- •7. Організація алгоритмів циклічної і вкладеної структури.
- •8. Основні види мов програмування. Машинно-залежні та машинно-незалежні мови.
- •9. Види програмного забеспечення поем
- •11 Поняття і призначення комп'ютерних мереж
- •12. Архітектура комп’ютерних мереж. Передача даних
- •15 Основні ф-ції
- •17 Типи вірусів
- •30. Оператор if
- •32.Оператор циклу for на мові Сі
- •33. Оператор циклу while на мові Сі.
- •36. Оператор переходу goto на мові Сі.
- •37. Поняття функції на мові Сі, її опис та структура
- •38. Поняття про локальні і глобальні величини на мові Сі
- •39. Звернення до функцій на мові Сі
- •41. Приклад програми з використанням одно та двовимірних масивів на мові Сі.
- •42. Введення даних
- •43.Оператор виводу
- •48. Дії над вказівниками
48. Дії над вказівниками
Приклад : Дії над вказівниками
int a=5;
int *p=&a, *p2, *p2; p2=p1=p;
++p1; p2+=2;
cout<<“a=”<<a;
cout<<” p=”<<*p<<” p=”<<p<<” p1=”<<p1<<” p2=”<<p2;
Результат виконання:
a=5, *p=5, p=FFC8, p1=FFCC, p2=FFD0.
Конкретні значення адрес залежать від низки причин: архітектури комп’ютера, типу і розміру оперативної пам’яті тощо.
З арифметичних операцій між вказівниками дозволена лише операція віднімання.
Різницею двох вказівників одного типу є відстань між двома областями пам’яті, кратна довжині (в байтах) об’єкта того типу, якому відповідає вказівник. Різниця однотипних вказівників, що адресують суміжні об’єкти, за абсолютною величиною рівна одиниці. Адреси змінних позначаються цілочисельними 16-ковими константами.
Ті змінні, визначення яких розміщені в програмі поруч, займають суміжні ділянки пам’яті, проте розміщення об’єктів у пам’яті є оберненим в порівнянні з їх взаємним розташуванням у визначеннях тексту програми.
До вказівника дозволено додавати і віднімати цілочисельну константу (k). При цьому він пересувається між ділянками пам’яті на величину k*(sizeof(type)).
49. Директива # include дає вказівку компілятору читати ще один вихідний файл - на додаток до того файлу, в якому знаходиться сама ця директива. Ім'я вихідного файлу повинна бути укладена в подвійні лапки або в кутові дужки. Наприклад, обидві директиви
# Include "stdio.h"
# Include <stdio.h>
дають компілятору вказівку читати і компілювати заголовок для бібліотечних функцій системи введення / виводу.
Файли, імена яких знаходяться в директивах # include, можуть в свою чергу містити інші директиви # include. Вони називаються вкладеними директивами # include. Кількість допустимих рівнів вкладеності у різних компіляторів може бути різним. Однак у стандарті С89 передбачено, що компілятори повинні допускати не менше 8 таких рівнів. А в стандарті С99 передбачена підтримка не менше 15 рівнів вкладеності.
Спосіб пошуку файлу залежить від того, укладено чи його ім'я в подвійні лапки або ж в кутові дужки. Якщо ім'я укладено в кутові дужки, то пошук файлу проводиться тим способом, який визначений в компіляторі. Часто це означає пошук певного каталогу, спеціально призначеного для зберігання таких файлів. Якщо ім'я укладено в лапки, то пошук файлу проводиться іншим способом. У багатьох компіляторах це означає пошук файлу в поточному робочому каталозі. Якщо ж файл не знайдений, то пошук повторюється вже так, як ніби ім'я файлу укладено в кутові дужки.
defіnе- це директи а виконує заміну макро- константи, вказаної після слова define, на текст підстановки, що записується після імені макроконстанти. Заміна виконується в усьому тексті програми, починаючи з рядка, наступного за даною директивою. Зокрема, в наведеній програмі всі лексеми N будуть замінені константою 20, а лексеми DELTA_TC - константою 1.
Заміни, які виконує директива #define, у літературі іазивають макропідстановками, макрозамінами або макророзширеннями. Саму ж лексему, яка замінюється заданим текстом підстановки, називають іменованою константою, макроконстантою або просто макросом. Детально особливості виконання м; ропідстановок розглянуті в розділі 17, зараз зупинимось тільки на декількох момент
застосування макроконстант дає дві істотні переваги: по-перше, зростає наочність програми, оскільки ім'я макроса несе інформацію про пр значення даної константи (у нашому прикладі DELTA_TC - крок зміни значення ;мператури за Цельсієм);