Головна » Інформатика |
Рядкові величини в С++ Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист Конотопської гімназії Конотопської міської ради Сумської області 2008 р. Зміст Оголошення символьних рядків Ініціалізація символьного рядка Уведення та виведення рядків Передавання рядка у функції Приклади Завдання Вказівники і символьні рядки Функції для роботи з рядками Приклади Завдання Література Оголошення символьних рядків Символьний рядок у С++ являє собою масив елементів типу char, який закінчується символом ‘\0’ (NULL). Масиви символів оголошуються так: char назва_рядка[довжина_рядка]; Наприклад: char a[32]; const int len=80; char str[len]; Оскільки рядки є масивами символів, то назва рядка є вказівником на його перший елемент. Увага! Символ NULL є одним з символів рядка. Тобто a – масив з елементами, пронумерованими a[0]…a[31] У програмах на С++ зустрічаються окремі символи, взяті в одинарні лапки (‘F’), і символи у подвійних лапках (“F”). ‘F’ – символьна константа, 1 байт пам'яті; “F” – рядкова константа, 2 байти пам'яті. Ініціалізація символьного рядка С++ дозволяє ініціалізувати масиви при оголошенні: const char text[]=“Ми вивчаємо програмування”; char slovo[11]=“University”; char sl[]={‘U’,’n’, ‘i’,’v’,’e’,’r’,’s’,’i’,’t’,’y’,’\0’}; char tit[32]=“Hello, C++”; Якщо кількість символів, що присвоюється рядку, менша від розміру масиву, більшість компіляторів С++ присвоюють символи NULL елементам рядкового масиву, що залишаються. Пізніше, в програмі, у цей масив можна буде вмістити довший рядок, обов'язково помістивши в кінці символ ‘\0’. Уведення та виведення рядків Увести весь масив символів можна за допомогою команди: cin>>text; Увага! Якщо рядок даних містить символ пропуску, то ця команда зчитає дані лише до першого пропуску. Щоб зчитати весь рядок до символу вводу, необхідно застосувати команду: cin.get(str,80); Увага! Якщо використати цю команду двічі, то другій рядок не зчитається. Щоб уникнути таку помилку потрібно використати наступну серію команд: cin.get(str,80); cin.get(); cin.get(a,32); або команду cin.getline(str, 80,’\n’) Дія команди cin.getline(str, 80,’\n’) припиняється у випадках: Якщо зустрічається символ-обмежувач ’\n’; Якщо уводиться вказівник кінця файлу; Якщо кількість уведених символів 79 (80-1). Аргумент функції ’\n’ можна не вказувати (значення за замовчуванням): cin.getline(str, 80) Виведення значення рядка на екран: cout<<text; Передавання рядка у функції Передавання символьного рядка у функцію подібне до передавання будь-якого масиву як параметру. Наприклад: void show-ryad(char ryad[]) Не треба указувати розмір рядка. Замість цього функція може визначити останній елемент, просто знайшовши в масиві символ NULL Приклади Ініціалізація рядків при оголошенні: #include<iostream.h> #include<conio.h> int main() { char tit[32]=“Hello, C++”; char les[]=“Simvolni ryadki”; cout<<“Book:”<<tit<<endl; cout<<“Lesson:”<<les<<endl; getch(); return 0;} Приклади (продовження) Визначить кількість символів у рядку: #include<iostream.h> #include<conio.h> int str_len(char ryad[]) {for (int i=0; ryad[i]!=‘\0’; i++); return (i);} int main() {char tit[32]=“Hello, C++”; cout<<“dlina tit=“<<str_len(tit)<<endl; char les[]=“Simvolni ryadki”; cout<<“dlina les=“<<str_len(les)<<endl; getch(); return 0;} Завдання Виведіть маленькі літери латинського алфавіту. Увести рядок символів та визначити його довжину Увести фразу і вивести її в зворотному порядку Нехай задано рядок “Skoro budut kanikuli”. Визначить її довжину. Вивести на екран друге слово. Вказівники і символьні рядки Оголошення char *b; задає змінну b, що може містити адресу деякого об'єкта. Однак у цьому випадку компілятор не резервує місце для зберігання символів і не ініціалізує змінну b конкретним значенням. Зробить це можна, наприклад, присвоївши b вказівник на вже існуючий символьний масив або динамічно виділивши пам’ять під новий масив: char r[]=“Hello, world!”; char *b; b=&r[7]; *b=‘W’; //b=“World!” Функції для роботи з рядками Приклади Завдання Увести рядок символів за допомогою вказівника і виділення динамічної пам'яті та визначити його довжину Увести рядок символів та визначити його довжину з використанням функції strlen Уведіть фразу х кількох слів і виведіть її в зворотному порядку Нехай задано рядок “Skoro budut kanikuli”. Визначить її довжину. Вивести на екран друге слово. Увести фразу, вилучіть з неї пропуски та коми, інші символи продублювати Увести введені з клавіатури два слова і порівняти їх Написати програму для підрахування кількості входжень у заданий текст символу ‘x’ Написати програму, яка перевірятиме, чи задане слово читається однаково з початку в кінець, і з кінця до початку Література Лєхан С.Ф. Інформатика С++. Спецкурс. 10-12 класи. – Шепетівка; Аспект, 2007. Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. Навчальний посібник. – Львів: СПД Глинський, 2006. Глушаков С.В., Смирнов С.В., Коваль А.В. Практикум по С++. – Харьков: Фолио, 2006. Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2003 Лисенко Т.І. Поглиблене вивчення програмування в школі. – К.:ТОВ Редакція “Комп'ютер”, 2007.
Схожі навчальні матеріали: |
Всього коментарів: 0 | |