2. Розкажіть про покажчики і структури даних.
. Як проводиться обробка рядків?
Лекція № 13
Тема: Рядки
План:
1. Обробка рядків
Приступаючи до вирішення завдань цього розділу, слід згадати, що:
1. кожному символу відповідає число - код символу;
2. в Cи рядок - це масив символів;
. останнім символом рядка обов'язково повинен бути нуль-символ, код якого дорівнює 0, і який в тексті програми зображується так: ' 0';
. повідомлення або підказки, що використовуються в програмі, зручно представити як масив покажчиків на рядки і ініціалізувати масив, задати повідомлення в інструкції оголошення масиву:
. char * mes [] = {"Повідомлення 1", "Повідомлення 2", ... , "Повідомлення"};
. якщо вводиться під час роботи програми рядок містить прогалини, то функція scanf вводить тільки частина рядка до першого пробілу, а функція gers - весь рядок, в тому числі і відповідний клавіші символ ' n'.
Наведемо приклади розв'язання задач на рядки:
Завдання 165
// Привітання # include # include void main () {name [15];// імяfam [20];// прізвище
printfC'KaK Вас звати? п "); (" Введіть своє ім'я та прізвище, ");
printf ("потім натисніть "); ("->"); ("% s", & name); ("% s" , sfam);
// функція scanf читає з буфера клавіатури символи
// до роздільник - пропусків ("Здрастуйте, Is% s! n", name, f am); (" пДля завершення натисніть "); getch ( )
Завдання 166
// Привітання (посимвольного введення рядка) # include # include void main () name [40];// ім'я та по батькові користувача char ch; int i; 'KaK Вас звати? п "); (" (введіть своє ім'я, по батькові та натисніть "); printf (" -> "); i = 0;
while ((ch = getch ())! = 13 && i <40)// поки не натиснута
/|/клавіша
h); name [i + +] - ch;}] = ' 0'; printf ("ХпЗдравствуйте,% s! n", name); І
І printf (" пДля завершення натисніть "); I getch О; І
Завдання 167// Обчислює довжину рядка HI # include # include void main () {char st [80];// введений рядок int i = 0;// довжина рядка IB
1 II HI puts ("ХпВведіте рядок і натисніть "); Н printf ("->"); 111 gets (st); while (st [i + + ])
III
| HI printf ("Довжина введеної рядки:% i n", i); printf ("Для завершення роботи натисніть "); 8 ^ o,
Контрольні питання:
. Яке число відповідає кожному символу?
. Як виконується обробка рядків?
Лекція № 14
Тема: Файли
План:
1. Опис структури файлів
2. Організація роботи з файлами
Звичайна СІ-програма являє собою визначення функції main, яка для виконання необхідних дій викликає інші функції. Наведені вище приклади програм представляли собою один вихідний файл, що містить всі необхідні для виконання програми функції. Зв'язок між функціями здійснювалася за даними за допомогою передачі параметрів і повернення значень функцій. Але компілятор мови СІ дозволяє також розбити програму на кілька окремих частин (вихідних файлів), відтранслювати кожну частину окремо, і потім об'єднати всі частини в один виконуваний файл за допомогою редактора зв'язків. p align="justify"> При такій структурі вихідної програми функції, що знаходяться в різних вихідних файлах можуть використовувати глобальні зовнішні змінні. Всі функції в мові Сі з визначення зовнішні і завжди доступні з будь-яких файлів. Наприклад, якщо програма складається з двох вихідних файлів, як показано на рис.2., То функція main може викликати будь-яку з трьох функцій fun1, fun2, fun3, а кожна з цих функцій може викликати будь-яку іншу. p align="justify"> main ()
{...
} ()
<...