Читайте также: |
|
Тема : Ввід-вивід символьної інформації та її обробка
Мета роботи:Навчитись описувати, задавати і обробляти символьну інформацію засобами мови C, а також працювати з символьними даними і текстовою інформацією.
1 Короткі теоретичні відомості
1. Поняття символу. Під символом ми розуміємо букву, цифру та інші знаки. Рядок - це послідовність символів. В рядках зберігається текстова інформація.
Задачі вводу, обробки, аналізу та виводу символьної інформації належать до найбільш поширених задач комп’ютерних інформаційних технологій. Текстові дані є важливою складовою практично кожної програми. Від коректно організованих задач обробки текстової інформації в значній мірі залежить якість і практична цінність програми.
Практичне значення має задача аналізу символів в текстовій інформації, в залежності від деяких умов. З її допомогою можна виявити чи є символ буквою, цифрою чи розділовим знаком. Такого роду перевірки можуть виявитися корисними при вводі цифрової (наприклад, банківської) або текстової інформації, а також при розробці власних функцій введення даних. Розглянуто також задачу пошуку і виділення слів (лексем) у фразах.
В мові С для зберігання окремих символів використовується тип даних char. Раніше було сказано, що тип char це цілочисельний тип. Як же він може описувати змінні символьного типу. На це питання можна відповісти, розглянувши представлення символьної інформації в комп’ютері. В пам’яті комп’ютера всі дані зберігаються в числовій формі, тобто кожному символу відповідає числовий код.
Сукупність кодів окремих символів утворює код ASCII (American Standard Code for Information interchange - американський стандартний код обміну інформацією). В цьому наборі буквам верхнього і нижнього регістрів, цифрам та іншим символам ставиться у відповідність число від 0 до 255.
Наприклад маленька латинськабуква a представлена числом 97. Поміщуючи символ a в змінну типу char, мифактично поміщаємо число 97. Оскільки діапазон допустимих значень змінної даного типу від 0 до 255, то цей тип найбільше підходить до зберігання символів. Оскільки змінна типу char зберігає як цілі числа так і символи, то їх розрізняють по контексту.
- кщо змінна типу char використовується в програмі, де очікується символьна інформація, то її значення інтерпретується як символ.
- Якщо змінна типу char використовується в програмі, де очікується числова інформація, то її значення інтерпретується як число.
2. Опис символів. Змінні символьного типу повинні бути описані до їх використання. Вони описуються за допомогою службового слова char. Синтаксис опису:
char a, b, c;
При описі змінні символьного типу можна задавати. Змінні символьного типу задаються в одиничних лапках.
char d=’x’; /* при описі */
d=’x’; /* оператор присвоєння */
Можна створювати іменовані символічні константи
const char a=’z’;
Для задання констант також використовуються одиничні лапки.
Приклад програми для виводу змінної c1 в виді числа і в виді символу
printf(«%с», с1); /* вивід змінної с1 як символу */
printf(«%d», с1); /* вивід змінної с1 як числа */
3. Масиви символів. Рядки, які є послідовністю символів, задаються масивами символів. Синтаксис опису масиву символів::
char string[10];
В цьому масиві можна зберігати дев’ять символів можна зберігати і менше символів. Чому в масиві, який містить 10 елементів, можна зберігати 9 символів.? В мові С рядки визначаються як послідовність символів, що закінчується нульовим символом. Нульовий символ - це спеціальний символ, який позначається \0. Хоч він записується в виді двох знаків (оберненої риски і 0) компілятор сприймає його як один символ, що відповідає коду ASCII ‘0’. Це є спеціальний символ мови С. В чому ж різниця між рядками і масивами символів? По означенню рядок –це послідовність символів з завершуючим символом \0 Масив по означенню являє собою послідовність символів. Тому рядок –це масив символів з завершуючим нульовим символом.
Наприклад в рядку
fghhjkg є 7 символів і ще нульовий символ \0 всього вісім.
4. Задання символьних масивів. Масиви можуть задаватися при описі.
сhar r[10]={‘a’,’b’,’c’,’d’, ‘\0’}; але вигідніше використовувати рядкові літерали, тобто послідовності символів в подвійних лапках.
char r[10]=’’abcd’’;
Кожний раз, коли в програмі використовується рядковий літерал, компілятор автоматично додає нульовий символ в кінець рядка. Якщо при описі і заданні масиву символів опустити його довжину, то компілятор сам порахує довжину масиву по довжині літералу
char r[]=’’abcd’’; Цей рядок – це+ масив з 5-ти елементів.
5. Вивід символів за допомогою функції putchar(). Функція призначена для виводу символів на екран. Прототип функції знаходиться в бібліотечному файлі stdio.h і має вид
Дата добавления: 2015-07-17; просмотров: 126 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Лабораторна робота № 13-14 | | | Int putchar(int c); |