русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Короткі теоретичні відомості


Дата додавання: 2014-11-28; переглядів: 869.


Робота з символьними змінними. Змінні типу char повинні бути описані до їх використання. При описі їх можна задавати.

char a, b, c; char d=’x’; при описі d=’x’; оператор присвоєння

Можна створювати іменовані символічні константи

const char a=’z’; Використовуються одинарні лапки

Приклад програми для виводу змінної c1 в виді числа і в виді символа

printf(«%с», с1); як символ printf(«%d», с1); як число.

Масиви символів (рядки). Опис.Рядки, які є послідовністю символів, задаються масивами символів. Синтаксис опису:char string[10];

В цьому масиві можна зберігати дев’ять символів можна зберігати і менше символів. Чому в асиві, чкий містить 10 елементів, можна зберігати 9 символів.? В мові С рядки визначаються як послідовність символів, що закінчується нульовим символом. Нульовий символ - це спеціальний символ, який позначається \0. Хоч він записується в виді двох знаків (оберненої риски і 0) компілятор сприймає його як один символ, що відповідає коду ASCII ‘0’. Це є спеціальний символ мови С. В чому ж різниця між рядками і масивами символів? По означенню рядок –це послідовність символів з завершуючим символом \0Масив по означенню являє собою послідовність символів. Тому рядок –це масив символів з завершуючим нулем.

Наприклад в рядку

fghhjkg є 7 символів і ще нульовий символ \0 -всього вісім.

Задання символьних масивів.Масиви можуть задаватися при описі.

Char r[10]={‘a’,’b’,’c’,’d’,‘\0’}; але вигідніше використовувати рядкові літерали, тобто послідовності символів в подвійних лапках.

Char r[10]=’’abcd’’;

Кожний раз, коли в програмі використовується рядковий літерал, компілятор автоматично додає нульовий символ в кінець рядка. Якщо при описі і заданні масиву символів опустити його довжину, то компілятор сам порахує довжину масиву по довжині літералу

Char r[]=’’abcd’’; В цьому рядку є масив з 5-ти елементів.

Для роботи з рядками існує бібліотека string.h. Приклади функцій для роботи з.

Функція Прототип і короткий опис функції
strcmp int strcmp(const char *str1, const char *str2); Порівнює рядки str1 й str2. Якщо str1< str2, то результат від’ємний, якщо str1 = str2, то результат дорівнює 0, якщо str1> str2, то результат додатний.
strcpy char* strcpy(char*s1, const char *s2); Копіює рядок s2 у рядок s1
strncpy char *strncpy(char *s1, const char *s2, int kol); Копіює kol символів рядка s2 у рядок s1.
strlen unsigned strlen (const char *str); Обчислює довжину рядка str.
strcat char *strcat(char *s1, const char *s2); Приписує символ рядка s2 до рядка s1.
strncat char *strncat(char *s1, const char *s2, int kol); Приписує kol символів рядка s2 до рядка s1.

Рядки, при передачі у функцію, в ролі фактичних параметрів можуть бути визначені або як одновимірні масиви типу char[], або як вказівники типу char *. На відміну від звичайних масивів у цьому випадку немає необхідності явно вказувати довжину рядка.

 


<== попередня лекція | наступна лекція ==>
Варіанти індивідуальних завдань | Короткі теоретичні відомості


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн