КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Перевірка та перетворення символівОперації над рядками Введення-виведення рядків Розглянемо найбільш розповсюдженні бібліотечні функції gets() та puts(). Функція gets() отримує рядок з буфера клавіатури. Вона зчитує символи до тих пір, поки не зустріне символ нового рядка (‘\n’). Функція бере вcі символи до знака ‘\n’, приєднує до них нуль-символ та передає рядок програмі, що її визиває. Приклад: /* отримання імені * / main () { char name [81]; /* виділення пам'яти*/ printf ("Як вас звуть? \n"); gets(name); /* ім'я поміщується до масиву name */ cout<<”Гарне ім’я”<<name<<”\n”; Функція puts() виводить рядок символів на консоль виводу, у неї є тільки один аргумент - покажчик на рядок. Приклад: void main () { char str[]=”Приклад”; puts (str); } Для використання наведених далі функцій необхідно додати до програми файл string.h: #include <string.h> Таблиця 5.2 – Функції для роботи з рядками
Продовження таблиці 5.2
Приклад: /* використання функцій strcat() и strcpy()*/ main () { static char name [80]; static char cpname [80]; static char add [] = “додано до кількості користувачів системи”; printf(“Вкажіть ваше прізвище.\n”); gets(name); strcpy(cpname, name); /*копія прізвища*/ strcat(name, add); puts(name); puts(cpname); puts(add); }
Результати роботи програми: Вкажіть ваше прізвище. Іванов Іванов додано до кількості користувачів системи Іванов додано до кількості користувачів системи
Файл ctype.h містить декілька макровизначень, що перевіряють, до якого класу належать символи. Визначення: int c;
Таблиця 5.3 – Функції перевірки належності символів
Приклад: isalpha (‘s’)! = 0 isalpha (‘#’) = = 0 Функція isalpha(c) повертає ненульове значення (істина), якщо с є символом літери, та нуль (не істина) - у противному випадку. Перетворення символьних рядків: atoi(), atof() Функція atoi() перетворює рядок в ціле. Функція atof() перетворює рядок в число із плаваючою точкою. Система може мати зворотні функції: itoa() перетворює ціле в символьний рядок, а функція ftoa() число із плаваючою точкою в символьний рядок. Приклад: /*включення atoi()*/ #include <stdio.h> main() { static char number [10]; int value; puts(“Введіть ціле число”); gеts(number); value = atoi (number); printf(“Число було%d\n”,value); } Функція atoi(), ігноруючи початкові і кінцеві пропуски, обробляє цифри та алгебраїчний знак, якщо він є. Обробка ведеться до тих пір, поки обробляємий символ є цифрою чи знаком. Функція atof() виконує ті ж самі дії для чисел із плаваючою точкою. Вона повертає тип double, саме тому повинна бути описана як double у використовуючий її програмі. Кожному символу ставиться у відповідність ASCII-код. Таблиця ASCII-кодів наведена у додатку Д.
Дата добавления: 2014-12-07; Просмотров: 425; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |