- •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. Дії над вказівниками
42. Введення даних
Форматне введення даних зі стандартного вхідного потоку stdin іереважно він пов'язаний з клавіатурою) виконує функція scanf ():
int scanf ( рядок_формату, список адрес введення )
Ця функція послідовно читає введені символи, формуючи з них поля зедення (вхідні дані). Кожне поле інтерпретується і перетворюється у двійкову форму відповідно до заданих у рядку формату специфікацій і внутрішніх кодів, властивих даній системі програмування. У разі успішного перетворення отримані значення записуються в змінні (ділянки оперативної пам'яті), адреси яких вказані у списку і едення. Функція scanf () забезпечує введення даних усіх числових типів (як цілії' так і дійсних), а також одиночних символів і символьних рядків.
Рядок формату, що є обов'язковим першим параметром функції scanf (), складається зі специфікацій, які визначають спосіб інтерпретації введених аних. Здебільшого рядок_формату записується як константний рядок, але його можна задавати також і через зовнішній символьний рядок. Для застосування зовнішнього рядка формату треба вказати в scanf () ім'я змінної, яка зберігає адресу цього рядка, подібно до того, як це було зроблено в наведеному вище прикладі для функції printf ().
43.Оператор виводу
Оператор виводу зазвичай застосовується для запису на стандартний висновок cout. Наприклад, програма
# Include <iostream>
int main ()
{
cout << "плетуха Анна Лівія \ n";
}
друкує на терміналі рядок:
плетуха Анна Лівія
Є оператори, що приймають аргументи будь-якого вбудованого типу даних, включаючи const char *, а також типів string і complex із стандартної бібліотеки. Будь-яке вираження, включаючи виклик функції, може бути аргументом оператора виведення за умови, що результатом його обчислення буде тип, який приймає яких-небудь варіантом цього оператора. Наприклад, програма # include <iostream>
# include <string.h>
int main ()
{
cout << "Длина" Улисс "равна: \ t";
cout << strlen ("Улисс");
cout << '\ n';
cout << "Размер" Улисс "равен: \ t";
cout << sizeof ("Улисс");
cout << endl;
}
45. Структури
Структури - це особливии комбінований тип даних, якии об єднує у спільне ціл набір логічно пов'язаних між собою різнотипних компонентів. Складові частини структури називають полями або елементами. Кожне поле структури має свій тип і своє імя.
Шаблони структур. Шаблон структури оголошується наступною синтаксичною конструкцією:
struct тег_структури { типполяї ім 'я_поля1 ; тип_поля2 ім'я_поля2;
. . .
тип поляк ім'я_поляс;
} ;
тут struct - службове (ключове) слово, що специфікує структуру; тег_структури - ім'я, яким позначатимуть у програмі структури даної форми. Список полів структури охоплюється фігурними дужками {}, після правої дукки } записується Знак ; (за умови, що після шаблону структури не оголошено структурних змінних). Кожне поле структури описується як змінна - типом та іменем.
46. Об'єднання - це особливий тип даних, який дає змогу записувати в одну і ту ж встановлену ділянку оперативної пам'яті дані різних типів і розмірів. Таким чином створюється ділянка пам'яті спільного користування, до якої можна звертатись різними способами через єдину змінну, що має тип об'єднання.
Оголошення об'єднання подібне до оголошення структури: задається шаблон об'єднання та перелічуються відповідні змінні. Так само, як і для структур, шаблон об'єднання можна оголошувати окремо або одночасно з оголошенням змінних. У разі автономного оголошення шаблону об'єднання застосовують синтаксичну конструкцію, аналогічну до шаблону структури, але починають її ключовим словом union:
union тегоб'єднання { тип_поля1 ім'я_поля1; тип_поля2 ім 'я_поля2,
тип поляк ім 'я поля3;
} ;
Тег об'єднання ідентифікує дане об'єднання, а список полів задає перелік даних, які можна заносити в це об'єднання.
Як і у випадку структур, змінні з типом об'єднання можна оголошувати спільно з оголошенням шаблону або пізніше, використовуючи тип union тег об'єднання. Обсяг ділянки пам'яті, яка виділяється для кожної змінної, що має тип об'єднання, визначається розміром найдовшого поля даного об'єднання.
У декларації typedef можна сумістити оголошення шаблону об'єднання та його найменування. Наведемо приклад оголошення іменованого об'єднання:
47. Поняття про вказівники на мові Сі
Кожна змінна у програмі - це об’єкт, який володіє ім’ям і значенням. Після визначення змінної з ініціалізацією всі звернення у програмі до неї за іменем замінюються компілятором на адресу іменованої області оперативної пам’яті, в якій зберігається значення змінної (Рис. 5.1). Програміст може визначити власні змінні для збереження адрес областей пам’яті. Такі змінні називають вказівниками.
int a=10;
Вказівник визначається наступним чином:
<тип> *<шідентифікатор> <іініціалізатор>;
Приклад 1. Визначення вказівників
int* pa=&a;// вказівник ра містить значення адреси змінної а
float *ptr (NULL); // Нульовий вказівник на об’єкт типу float
char*p; // Неініціалізований вказівник на об’єкт типу char
Значення адреси змінної одержується за допомогою унарної операції ”&”.
Для доступу до комірки пам’яті, виділеної під змінну через вказівник до останнього, слід застосувати унарну операцію розіменування ”*”.