Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Int putchar(int c);

Вона записує символ с в потік stdout. Хоч в прототипі аргумент має цілий тип, в функцію треба посипати аргумент символьного типу. Можна передавати і значення цілого типу, якщо воно не виходить за діапазон 0-255. Функція повертає записаний символ або EOF у випадку помилки.

6. Функція puts(). Бібліотечна функція виводить рядок тексту на екран. Єдиним її аргументом є вказівник на рядок, який треба вивести. Оскільки літеральні рядки інтерпретуютьсякомпілятором як вказівники на рядки, функція puts() може виводити як змінні рядкового типу char r[10]={‘a’,’b’,’c’,’d’, ‘\0’};, так і літерали char r[10]=’’abcd’’; Синтаксис

int puts(char *r). Аргументом є вказівник на перший символ рядка. Вона виводить весь рядок, крім завершуючого символу, додаючи в кінці символ кінця рядка. Функція повертає додатне значення при успішному виводі, або EOF в випадку помилки EOF – це це символічна константа, яка визначена в файлі stdio.h і рівна -1.

Після кожного виведеного рядка функція переходить на новий

7. Функція printf() для виводу символьної інформації. Рядки можна виводити за допомогою функції printf(). Для виводу рядка використовується специфікація формату %s. Аргументом є вказівника на рядок типу char. Рядок виводиться на екран, до тих пір поки не зустрінеться завершуючий нульовий символ. Наприклад

char *str=²fghjkl²;

printf(²%s², str);

Рядки можна виводити разом з числовими змінними.

char *str=²begin²;

char *name=²end²;

int var=100;

printf(²%s var=%d %s², str, var, name);

Результат

begin var=100 end

8. Ввід символів за допомогою функції getchar(). Функція getchar() одержує символ з потоку stdin, буферизує ввід і дублює символ на екрані.

Прототип функції має вигляд:

int getchar(void) void - порожній символ

Функція ch= getchar() чекає одержання символу з потоку stdin, символ в потоці появляється після натискання ENTER. Після натискання клавіші всі введені символи попадають в потік. За кожний виклик функція бере з потоку один символ, присвоюючи його по черзі ch.

Функція getсh(), одержує символ з потоку stdin,,без буферизації і дублювання символ на екрані. Вона не визначена в стандарті ANSI, її нема в багатьох компіляторах, вона міститься в файлі conio.h і прототип має вигляд

Для вводу рядка з клавіатури є функція gets(). При вводі рядка з клавіатури треба виділити для нього пам’ять. Це робиться з допомогою функції malloc() або опису масиву. Функція вводить рядок тексту. При виклику вона зчитує всі символи, набрані на клавіатурі до першого символу кінця рядка (який генерується при натисканні клавіші ENTER).

Функція скидає символ кінця рядка, додає нульовий завершаючий символ і передає одержаний рядок в викликаючу програму. Рядок поміщається по адресі, яку передано в функцію gets(). через аргумент вказівник на char.

Для виконання функції gets(). Необхідно включити в програму файл stdio.h з допомогою директиви #include. Прототип

сhar *gets(char *str) Функція має аргументом вказівник на рядок і повертає вказівник того ж типу. Функція зчитує символи з потоку до тих пір, поки не зустріне кінець рядка (\n) або кінець файлу. У випадку помилки функція повертає NULL. Перед викликом функції треба виділити достатньо пам’яті для зберігання рядків.

 

2 Варіанти індивідуальних завдань

1. Вивести на екран символи, які відповідають кодам від 65 до 78.

2. З клавіатури ввести символьний рядок. Вилучити з нього всі символи, які рівні K. Надрукувати результуючий рядок. Знайти довжину рядка за допомогою функції strlen(). Результат вивести на екран.

3. Ввести символьний рядок за допомогою оператора присвоєння, в якому крім букв повинні бути і цифри. Вилучити з цього рядка всі цифри, рівні 4. Надрукувати результуючий рядок Знайти довжину рядка за допомогою функції strlen(). Результат вивести на екран

4. Задати символьний рядок “qwertyuikjhgfdsaqwerty” за допомогою оператора присвоєння. Поміняти в ньому всі малі літери “g” на великі “О”. За допомогою функції strcpy() скопіювати заданий рядок в рядок s2. Рядок s2 вивести на екран.

5. Вивести на екран символи і їх код ASCII. Задані символи A, B, H, C, D.

6. З клавіатури ввести символьний рядок. Надрукувати рядок, з якого вилучені символи *.Знайти довжину заданого рядка asddfghjk за допомогою однієї з функцій роботи з рядками.. Скопіювати 4 символів цього рядка в новий рядок. Кількість символів заданого рядка і новий рядок вивести на екран.

7. Задати символьний рядок “qwertyuikjhgfdsaqwerty” за допомогою операторів присвоєння. Порахувати в ньому кількість літер “u”. Результат вивести на екран Скопіювати 10 символів цього рядка в новий рядок. Результат вивести на екран.

8. З клавіатури ввести 2 рядки. Вивести на екран номер першого входження літери “t” 1-го рядка.. Порівняти перші 5 символів двох заданих рядків. за допомогою функції strncmp(). Результат порівняння вивести на екран.

9. Задати символьний рядок “qwertyuikjhgfdsaqwerty” за допомогою оператора присвоєння. Поміняти в ньому всі малі літери “g” на великі “R” За допомогою функції strncpy() скопіювати 5 символів заданого рядка asdfghjkk в рядок а1. Рядок а1 вивести на екран.

10. 3 клавіатури ввести символьний рядок, який містить символи k. Замінити символи k на 5.. Надрукувати результатуючий рядок Порівняти перші 5 символів заданого і одержаного рядків. за допомогою функції strncmp(). Результат порівняння вивести на екран

11. З клавіатури ввести рядок ss1, кількість символів якого рівна 14. Утворити з нього новий рядок з інверсним (зворотнім) порядком символів. Надрукувати сформований інверсний рядок. За допомогою функції strcpy() скопіювати заданий рядок ss1 в рядок ss2. Рядки ss1 і ss2 вивести на екран

12.. Задати символьний рядок “qwertyuikjhgfdsaqwerty” при описі. Порахувати в ньому кількість літер “f”. Результат вивести на екран Знайти довжину рядка за допомогою функції strlen(). Результат вивести на екран

13. 3 клавіатури ввести рядок, кількість символів якого рівна 13. Поміняти місцями два перші символи. Надрукувати результатуючий рядок За допомогою функції strcpy() скопіювати заданий рядок asdfghjkk в рядок ss1. Рядок ss1 вивести на екран.

14. З клавіатури ввести 2 рядки. Вивести на екран номер першого входження літери “t” 1-го рядка.. Порівняти перші 5 символів двох заданих рядків. за допомогою функції strncmp(). Результат порівняння вивести на екран.

15. Задати символьний рядок “qwertyuikjhgfdsaqwerty” за допомогою оператора присвоєння. Поміняти в ньому всі малі літери “g” на великі “R” За допомогою функції strncpy() скопіювати 5 символів заданого рядка asdfghjkk в рядок а1. Рядок а1 вивести на екран.

 

3 Методичні вказівки

2. Перед написанням програми ще раз переглянути теоретичний матеріал і приклади програм, що ілюструють особливості обробки символьної інформації у С-програмах. Окрему увагу звернути на способи задання рядків.

3. Для роботи з бібліотечними функціями для обробки символьної інформації підключити бібліотечний файл string.h.

4. Уважно прочитати умову задачі індивідуального завдання, продумати алгоритм її розв'язку, вибрати потрібну бібліотечну функцію для роботи з символьними рядками.

5. Відкомпілювати програму і виконати її. Зафіксувати результати кожної реалізації.

6. Оформити звіт з лабораторної роботи, дотримуючись вимог щодо його змісту.

 

4 Контрольні запитання

 

1. Що називається символом?

2. Що таке рядок в мові С?

3. Чи потрібно описувати символи?

4. Як вивести на екран числові коди символів F, G, <, g,?

5. Що називається символьною константою?

6. Як задаються символьні змінні?

7. Чи можна задавати символьні змінні при описі?

8. За допомогою якої функції вводяться рядки з клавіатури?

9. Який синтаксис функції puts()?

10. За допомогою якої функції виводяться рядки на екран?

11. За допомогою якої функції вводяться символи з клавіатури?

12. За допомогою якої функції виводяться символи на екран?

13. Що повертає функція gets()?


Дата добавления: 2015-07-17; просмотров: 179 | Нарушение авторских прав


Читайте в этой же книге: Лабораторна робота № 4 | Лабораторна робота № 5 | Постановка завдання | Лабораторна робота № 6-7 | Лабораторна робота № 8 | Постановка завдання | Лабораторна робота № 9 | Лабораторна робота № 10 | Лабораторна робота № 11-12 | Лабораторна робота № 13-14 |
<== предыдущая страница | следующая страница ==>
Лабораторна робота № 15| Лабораторна робота № 16

mybiblioteka.su - 2015-2024 год. (0.014 сек.)