🗊Презентация Массивы символов в С++. Прикладное программирование

Нажмите для полного просмотра!
Массивы символов в С++. Прикладное программирование, слайд №1Массивы символов в С++. Прикладное программирование, слайд №2Массивы символов в С++. Прикладное программирование, слайд №3Массивы символов в С++. Прикладное программирование, слайд №4Массивы символов в С++. Прикладное программирование, слайд №5Массивы символов в С++. Прикладное программирование, слайд №6Массивы символов в С++. Прикладное программирование, слайд №7Массивы символов в С++. Прикладное программирование, слайд №8Массивы символов в С++. Прикладное программирование, слайд №9Массивы символов в С++. Прикладное программирование, слайд №10Массивы символов в С++. Прикладное программирование, слайд №11Массивы символов в С++. Прикладное программирование, слайд №12Массивы символов в С++. Прикладное программирование, слайд №13Массивы символов в С++. Прикладное программирование, слайд №14Массивы символов в С++. Прикладное программирование, слайд №15Массивы символов в С++. Прикладное программирование, слайд №16Массивы символов в С++. Прикладное программирование, слайд №17Массивы символов в С++. Прикладное программирование, слайд №18Массивы символов в С++. Прикладное программирование, слайд №19Массивы символов в С++. Прикладное программирование, слайд №20Массивы символов в С++. Прикладное программирование, слайд №21Массивы символов в С++. Прикладное программирование, слайд №22Массивы символов в С++. Прикладное программирование, слайд №23Массивы символов в С++. Прикладное программирование, слайд №24Массивы символов в С++. Прикладное программирование, слайд №25Массивы символов в С++. Прикладное программирование, слайд №26Массивы символов в С++. Прикладное программирование, слайд №27Массивы символов в С++. Прикладное программирование, слайд №28Массивы символов в С++. Прикладное программирование, слайд №29Массивы символов в С++. Прикладное программирование, слайд №30Массивы символов в С++. Прикладное программирование, слайд №31Массивы символов в С++. Прикладное программирование, слайд №32Массивы символов в С++. Прикладное программирование, слайд №33Массивы символов в С++. Прикладное программирование, слайд №34Массивы символов в С++. Прикладное программирование, слайд №35Массивы символов в С++. Прикладное программирование, слайд №36Массивы символов в С++. Прикладное программирование, слайд №37Массивы символов в С++. Прикладное программирование, слайд №38Массивы символов в С++. Прикладное программирование, слайд №39Массивы символов в С++. Прикладное программирование, слайд №40Массивы символов в С++. Прикладное программирование, слайд №41Массивы символов в С++. Прикладное программирование, слайд №42Массивы символов в С++. Прикладное программирование, слайд №43Массивы символов в С++. Прикладное программирование, слайд №44Массивы символов в С++. Прикладное программирование, слайд №45Массивы символов в С++. Прикладное программирование, слайд №46Массивы символов в С++. Прикладное программирование, слайд №47Массивы символов в С++. Прикладное программирование, слайд №48Массивы символов в С++. Прикладное программирование, слайд №49Массивы символов в С++. Прикладное программирование, слайд №50Массивы символов в С++. Прикладное программирование, слайд №51Массивы символов в С++. Прикладное программирование, слайд №52Массивы символов в С++. Прикладное программирование, слайд №53Массивы символов в С++. Прикладное программирование, слайд №54Массивы символов в С++. Прикладное программирование, слайд №55Массивы символов в С++. Прикладное программирование, слайд №56Массивы символов в С++. Прикладное программирование, слайд №57Массивы символов в С++. Прикладное программирование, слайд №58Массивы символов в С++. Прикладное программирование, слайд №59Массивы символов в С++. Прикладное программирование, слайд №60Массивы символов в С++. Прикладное программирование, слайд №61Массивы символов в С++. Прикладное программирование, слайд №62Массивы символов в С++. Прикладное программирование, слайд №63Массивы символов в С++. Прикладное программирование, слайд №64Массивы символов в С++. Прикладное программирование, слайд №65Массивы символов в С++. Прикладное программирование, слайд №66Массивы символов в С++. Прикладное программирование, слайд №67

Содержание

Вы можете ознакомиться и скачать презентацию на тему Массивы символов в С++. Прикладное программирование. Доклад-сообщение содержит 67 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Массивы символов в С++
Прикладное программирование
Описание слайда:
Массивы символов в С++ Прикладное программирование

Слайд 2





Основные понятия
В стандарт C++ включена поддержка нескольких наборов символов. Традиционный 8-битовый набор символов называется "узкими" символами. 
Кроме того, включена поддержка 16-битовых символов, которые называются "широкими".
Описание слайда:
Основные понятия В стандарт C++ включена поддержка нескольких наборов символов. Традиционный 8-битовый набор символов называется "узкими" символами. Кроме того, включена поддержка 16-битовых символов, которые называются "широкими".

Слайд 3





Основные понятия
Для представления символьных строк в C++ не существует специального строкового типа.
 Вместо этого строки в C++ представляются как массивы элементов типа char, заканчивающиеся терминатором строки – символом с нулевым значением ’\0’.
Описание слайда:
Основные понятия Для представления символьных строк в C++ не существует специального строкового типа. Вместо этого строки в C++ представляются как массивы элементов типа char, заканчивающиеся терминатором строки – символом с нулевым значением ’\0’.

Слайд 4





Основные понятия
Символьные строки состоят из набора символьных констант, заключенного в двойные кавычки:
”Это строка символов...”
Описание слайда:
Основные понятия Символьные строки состоят из набора символьных констант, заключенного в двойные кавычки: ”Это строка символов...”

Слайд 5





Основные понятия
Набор констант, применяющихся в C++ в качестве символов.
прописная буква от ’А’ до ’Z’ , от ’А’ до ’Я’;
строчная буква от ’а’ до ’z’ , от ’а’ до ’я’;
цифра от ’0’ до ’9’;
Описание слайда:
Основные понятия Набор констант, применяющихся в C++ в качестве символов. прописная буква от ’А’ до ’Z’ , от ’А’ до ’Я’; строчная буква от ’а’ до ’z’ , от ’а’ до ’я’; цифра от ’0’ до ’9’;

Слайд 6





Основные понятия
Набор констант, применяющихся в C++ в качестве символов:
пустое место ’\t’ – горизонтальная табуляция код ASCII – 9;
’\n’ – перевод строки код ASCII – 10;
’\v’ – вертикальная табуляция код ASCII – 11;
Описание слайда:
Основные понятия Набор констант, применяющихся в C++ в качестве символов: пустое место ’\t’ – горизонтальная табуляция код ASCII – 9; ’\n’ – перевод строки код ASCII – 10; ’\v’ – вертикальная табуляция код ASCII – 11;

Слайд 7





Основные понятия
Набор констант, применяющихся в C++ в качестве символов:
символы пунктуации ! ” # $ % & ’ () * + , – . / : ;< = > ? @ [ \ ] ^ _ { | } ~ ;
управляющий символ все символы с кодами от 0 до 1F и символ с кодом 7F
Описание слайда:
Основные понятия Набор констант, применяющихся в C++ в качестве символов: символы пунктуации ! ” # $ % & ’ () * + , – . / : ;< = > ? @ [ \ ] ^ _ { | } ~ ; управляющий символ все символы с кодами от 0 до 1F и символ с кодом 7F

Слайд 8





Основные понятия
Набор констант, применяющихся в C++ в качестве символов:
пробел символ пробела код ASCII 32
шестнадцатеричная цифра от ’0’ до ’9’ , от ’А’ до ’F’ , от ’a ’ до ’f’
Описание слайда:
Основные понятия Набор констант, применяющихся в C++ в качестве символов: пробел символ пробела код ASCII 32 шестнадцатеричная цифра от ’0’ до ’9’ , от ’А’ до ’F’ , от ’a ’ до ’f’

Слайд 9





Основные понятия
При объявлении строкового массива необходимо принимать во внимание наличие терминатора в конце строки, отводя тем самым под строку на один байт больше:
char buffer [10] ; // объявление строки размером 10 символов, включая терминатор.
Описание слайда:
Основные понятия При объявлении строкового массива необходимо принимать во внимание наличие терминатора в конце строки, отводя тем самым под строку на один байт больше: char buffer [10] ; // объявление строки размером 10 символов, включая терминатор.

Слайд 10





Основные понятия
Строковый массив может при объявлении инициализироваться начальным значением. 
char Wednesday [ ] = ”Среда”; // объявление и инициализация строки
char Wednesday [ ] = {’С’, ’р’, ’е’, ’д’, ’а’, ’\0’} ; // что равносильно
Описание слайда:
Основные понятия Строковый массив может при объявлении инициализироваться начальным значением. char Wednesday [ ] = ”Среда”; // объявление и инициализация строки char Wednesday [ ] = {’С’, ’р’, ’е’, ’д’, ’а’, ’\0’} ; // что равносильно

Слайд 11





Ввод строки
В качестве оператора ввода при работе со строками вместо оператора записи в поток >> лучше использовать функцию getline ( ), так как потоковый оператор ввода игнорирует вводимые пробелы.
Описание слайда:
Ввод строки В качестве оператора ввода при работе со строками вместо оператора записи в поток >> лучше использовать функцию getline ( ), так как потоковый оператор ввода игнорирует вводимые пробелы.

Слайд 12





Ввод строки
Синтаксис функции getline ( ) имеет вид:
cin.getline(char *s, int n); 
Функция getline ( ) принимает два обязательных параметра: первый аргумент s  указывает на строку, в которую осуществляется ввод, а второй параметр n – число символов, подлежащих вводу.
Описание слайда:
Ввод строки Синтаксис функции getline ( ) имеет вид: cin.getline(char *s, int n); Функция getline ( ) принимает два обязательных параметра: первый аргумент s указывает на строку, в которую осуществляется ввод, а второй параметр n – число символов, подлежащих вводу.

Слайд 13





Ввод строки
char S [ 6 ] ; // объявляет и инициализирует строку длиной в 5 символов
cout << ”Input string:” ; // выводит на экран приглашение
cin.getline ( S , 6 , ’.’ ) ; // ввод строки длиной не более 5 символов, завершается точкой
cout <<”You string: ”<< S <<’\n’ ; // выводит строку на экран
Описание слайда:
Ввод строки char S [ 6 ] ; // объявляет и инициализирует строку длиной в 5 символов cout << ”Input string:” ; // выводит на экран приглашение cin.getline ( S , 6 , ’.’ ) ; // ввод строки длиной не более 5 символов, завершается точкой cout <<”You string: ”<< S <<’\n’ ; // выводит строку на экран

Слайд 14






ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК

Для выяснения информации о длине строки в байтах в заголовочном файле string.h описана функция strlen ( ). 
Синтаксис этой функции имеет вид:
size_t strlen ( const char *s) ;
Описание слайда:
ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК Для выяснения информации о длине строки в байтах в заголовочном файле string.h описана функция strlen ( ). Синтаксис этой функции имеет вид: size_t strlen ( const char *s) ;

Слайд 15






ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК

Данная функция в качестве единственного параметра принимает указатель на начало строки string, вычисляет количество символов строки и возвращает полученное беззнаковое целое число типа size_t.
Функция strlen ( ) возвращает значение на единицу меньше, чем отводится под массив по причине резервирования места для символа ’\0’.
Описание слайда:
ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК Данная функция в качестве единственного параметра принимает указатель на начало строки string, вычисляет количество символов строки и возвращает полученное беззнаковое целое число типа size_t. Функция strlen ( ) возвращает значение на единицу меньше, чем отводится под массив по причине резервирования места для символа ’\0’.

Слайд 16





ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК
Следующий фрагмент демонстрирует использование функции:
strlen ( ):
char S [ ] = ”0123456789” ; // объявляет и инициализирует строку длиной 10 символов
cout << ”Lenght=” << strlen ( S ) << ’\n’ ; // выводит на экран Length = 10
cout << ”Size =” << sizeof ( S ) << ’\n’ ; // выводит на экран Size = 11
Описание слайда:
ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК Следующий фрагмент демонстрирует использование функции: strlen ( ): char S [ ] = ”0123456789” ; // объявляет и инициализирует строку длиной 10 символов cout << ”Lenght=” << strlen ( S ) << ’\n’ ; // выводит на экран Length = 10 cout << ”Size =” << sizeof ( S ) << ’\n’ ; // выводит на экран Size = 11

Слайд 17





ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК
Функция sizeof используется при вводе строк в качестве второго параметра конструкции cin.getline ( ), что делает код более универсальным, так как не требуется явного указания числа вводимых символов.
Описание слайда:
ОПРЕДЕЛЕНИЕ ДЛИНЫ СТРОК Функция sizeof используется при вводе строк в качестве второго параметра конструкции cin.getline ( ), что делает код более универсальным, так как не требуется явного указания числа вводимых символов.

Слайд 18






КОПИРОВАНИЕ СТРОК

Функция strcpy ( ) имеет прототип:
Char * strcpy ( char* str1 , const char* str2 ) ;
и выполняет побайтное копирование символов из строки, на которую указывает str2, в строку по указателю str1. Копирование прекращается только в случае достижения нуль-терминатора строки str2, поэтому перед копированием необходимо удостовериться, что длина str2 меньше или равна длине str1.
Описание слайда:
КОПИРОВАНИЕ СТРОК Функция strcpy ( ) имеет прототип: Char * strcpy ( char* str1 , const char* str2 ) ; и выполняет побайтное копирование символов из строки, на которую указывает str2, в строку по указателю str1. Копирование прекращается только в случае достижения нуль-терминатора строки str2, поэтому перед копированием необходимо удостовериться, что длина str2 меньше или равна длине str1.

Слайд 19





КОПИРОВАНИЕ СТРОК

Например, следующий фрагмент копирует в строку S значение строки "String copy":
char S [21] ; // объявляет строку длиной 20 символов
strcpy ( S , ”String copy” ) ; // копирование строки "String copy" в строку S
cout<<S<<’\n’ ; // вывод на экран строки S
Описание слайда:
КОПИРОВАНИЕ СТРОК Например, следующий фрагмент копирует в строку S значение строки "String copy": char S [21] ; // объявляет строку длиной 20 символов strcpy ( S , ”String copy” ) ; // копирование строки "String copy" в строку S cout<<S<<’\n’ ; // вывод на экран строки S

Слайд 20





КОПИРОВАНИЕ СТРОК

следующий фрагмент скопирует в str2 окончание строки str1:
char S1 [21] = ”String copy” ; // объявляет и инициализирует строку длиной 20 символов
char S2 [21] ; // объявляет строку длиной 20 символов
char* pS = S1 ; // объявляет указатель на строку и
// инициализирует его адресом начала строки S1
cout << pS << ’\n’ ; // выводит на экран строку "String copy"
pS += 7 ; // увеличивает адрес pS на 7 байт
cout << pS << ’\n’ ; // выводит на экран строку "copy"
strcpy ( S2 , pS ) ; // копирует строку "copy" в строку S2
cout << S2 << ’\n’; // выводит на экран строку "copy"
Описание слайда:
КОПИРОВАНИЕ СТРОК следующий фрагмент скопирует в str2 окончание строки str1: char S1 [21] = ”String copy” ; // объявляет и инициализирует строку длиной 20 символов char S2 [21] ; // объявляет строку длиной 20 символов char* pS = S1 ; // объявляет указатель на строку и // инициализирует его адресом начала строки S1 cout << pS << ’\n’ ; // выводит на экран строку "String copy" pS += 7 ; // увеличивает адрес pS на 7 байт cout << pS << ’\n’ ; // выводит на экран строку "copy" strcpy ( S2 , pS ) ; // копирует строку "copy" в строку S2 cout << S2 << ’\n’; // выводит на экран строку "copy"

Слайд 21





КОПИРОВАНИЕ СТРОК

Копирование части строки. Функция strncpy
Функция strncpy ( ) отличается от strcpy ( ) тем, что в ее параметрах добавляется еще один аргумент, указывающий количество символов, не больше которого будет скопировано. Ее синтаксис имеет вид:
char* strncpy ( char* strl , const char* str2 , size_t num ) ;
Описание слайда:
КОПИРОВАНИЕ СТРОК Копирование части строки. Функция strncpy Функция strncpy ( ) отличается от strcpy ( ) тем, что в ее параметрах добавляется еще один аргумент, указывающий количество символов, не больше которого будет скопировано. Ее синтаксис имеет вид: char* strncpy ( char* strl , const char* str2 , size_t num ) ;

Слайд 22





КОПИРОВАНИЕ СТРОК

В приведённом фрагменте из строки sLong в строку sShort скопировано четыре первых символа с затиранием исходного значения начала короткой строки.
char sLong [ ] = ”0123456789” ; // объявляет и инициализирует строку длиной 10 символов
char sShort [ ] = ”abcdef” ; // объявляет и инициализирует строку длиной 6 символов
Описание слайда:
КОПИРОВАНИЕ СТРОК В приведённом фрагменте из строки sLong в строку sShort скопировано четыре первых символа с затиранием исходного значения начала короткой строки. char sLong [ ] = ”0123456789” ; // объявляет и инициализирует строку длиной 10 символов char sShort [ ] = ”abcdef” ; // объявляет и инициализирует строку длиной 6 символов

Слайд 23





КОПИРОВАНИЕ СТРОК

strncpy ( sShort , sLong, 4) ; // копирует строку "0123" в начало строки sShort
cout << sShort << ’\n’ ; // выводит на экран строку "0123ef"
Описание слайда:
КОПИРОВАНИЕ СТРОК strncpy ( sShort , sLong, 4) ; // копирует строку "0123" в начало строки sShort cout << sShort << ’\n’ ; // выводит на экран строку "0123ef"

Слайд 24





КОПИРОВАНИЕ СТРОК

Копирование строки с выделением памяти. Функция strdup
Функция strdup ( ) в качестве параметра получает указатель на строку-источник, осуществляет распределение памяти, копирует в отведенную область строку и возвращает указатель на начало полученной строки-копии. Синтаксис функции следующий: 
char* strdup ( const char* source ) ;
Описание слайда:
КОПИРОВАНИЕ СТРОК Копирование строки с выделением памяти. Функция strdup Функция strdup ( ) в качестве параметра получает указатель на строку-источник, осуществляет распределение памяти, копирует в отведенную область строку и возвращает указатель на начало полученной строки-копии. Синтаксис функции следующий: char* strdup ( const char* source ) ;

Слайд 25





КОПИРОВАНИЕ СТРОК

В следующем примере производится копирование строки, на которую указывает указатель pS1, в строку, на которую указывает указатель pS2:
char* pS ; // объявляет указатель на строку
pS = strdup (”File not found” ) ; // выделяет память для строки длиной 14 символов и
// инициализирует указатель pS адресом этой строки
Описание слайда:
КОПИРОВАНИЕ СТРОК В следующем примере производится копирование строки, на которую указывает указатель pS1, в строку, на которую указывает указатель pS2: char* pS ; // объявляет указатель на строку pS = strdup (”File not found” ) ; // выделяет память для строки длиной 14 символов и // инициализирует указатель pS адресом этой строки

Слайд 26





КОПИРОВАНИЕ СТРОК

cout << pS << ’\n’ ; // выводит на экран строку pS: "File not found"
cout << strlen ( pS ) << ’\n’ ; // выводит на экран длину строки pS: "14"
Описание слайда:
КОПИРОВАНИЕ СТРОК cout << pS << ’\n’ ; // выводит на экран строку pS: "File not found" cout << strlen ( pS ) << ’\n’ ; // выводит на экран длину строки pS: "14"

Слайд 27





Конкатенация строк
Конкатенация (или присоединение) строк используется для образования новой строки
символов. Для этой операции стандартная библиотека предлагает функции strcat ( ) и strncat ( ).
Присоединение строки. Функция strсat
Функция strсat ( ) имеет синтаксис:
char* strcat ( char* str1 , const char* str2 ) ;
Описание слайда:
Конкатенация строк Конкатенация (или присоединение) строк используется для образования новой строки символов. Для этой операции стандартная библиотека предлагает функции strcat ( ) и strncat ( ). Присоединение строки. Функция strсat Функция strсat ( ) имеет синтаксис: char* strcat ( char* str1 , const char* str2 ) ;

Слайд 28





Конкатенация строк
В результате работы функции содержимое строки, на которую указывает str2, присоединяется к содержимому строки, на которую ссылается str1. Возвращаемый функцией указатель str1 указывает на результирующую строку. При этом размер строкового массива str1 должен быть достаточным для хранения объединенной строки.
Описание слайда:
Конкатенация строк В результате работы функции содержимое строки, на которую указывает str2, присоединяется к содержимому строки, на которую ссылается str1. Возвращаемый функцией указатель str1 указывает на результирующую строку. При этом размер строкового массива str1 должен быть достаточным для хранения объединенной строки.

Слайд 29





Конкатенация строк
В следующем примере строка S инициализируется с помощью функции копирования strcpy ( ) и дополняется подстрокой, используя функцию strcat ( ):
char S [26] ; // объявляет строку длиной 25 символов
strcpy ( S , ”Press any key ”) ; // инициализирует строку
Описание слайда:
Конкатенация строк В следующем примере строка S инициализируется с помощью функции копирования strcpy ( ) и дополняется подстрокой, используя функцию strcat ( ): char S [26] ; // объявляет строку длиной 25 символов strcpy ( S , ”Press any key ”) ; // инициализирует строку

Слайд 30





Конкатенация строк
strcat ( S , ”to continue”) ; // добавляет в конец строки “to continue”
cout << S << ’\n’ ; // выводит на экран строку “Press any key to continue
Описание слайда:
Конкатенация строк strcat ( S , ”to continue”) ; // добавляет в конец строки “to continue” cout << S << ’\n’ ; // выводит на экран строку “Press any key to continue

Слайд 31





Конкатенация строк
Присоединение части строки. Функция strncat.
Функция strncat ( ) также осуществляет конкатенацию строк, однако, присоединяет лишь указанное в
третьем параметре количество символов (беззнаковое целое): Функция strnсat ( ) имеет синтаксис:
char* strncat ( char* str1 , const char* str2 , size_t num) ;
Описание слайда:
Конкатенация строк Присоединение части строки. Функция strncat. Функция strncat ( ) также осуществляет конкатенацию строк, однако, присоединяет лишь указанное в третьем параметре количество символов (беззнаковое целое): Функция strnсat ( ) имеет синтаксис: char* strncat ( char* str1 , const char* str2 , size_t num) ;

Слайд 32





Конкатенация строк
Функция возвращает указатель на начало сформированной строки str1. При этом размер строкового массива str1 должна быть достаточным для хранения объединенной строки. Следующий пример производит конкатенацию строки str1 с двумя первыми символами подстроки str2:
Описание слайда:
Конкатенация строк Функция возвращает указатель на начало сформированной строки str1. При этом размер строкового массива str1 должна быть достаточным для хранения объединенной строки. Следующий пример производит конкатенацию строки str1 с двумя первыми символами подстроки str2:

Слайд 33





Конкатенация строк
char S1 [31]= ”Press any key ” ; // объявляет и инициализирует
char S2 [31]= ”to continue” ; // две строки длиной 30 символов
strncat ( S1 , S2 , 2 ) ; // добавляет два первых символа строки S2 в конец строки S1
cout << S1 << ’\n’ ; // выводит на экран строку “Press any key to”
Описание слайда:
Конкатенация строк char S1 [31]= ”Press any key ” ; // объявляет и инициализирует char S2 [31]= ”to continue” ; // две строки длиной 30 символов strncat ( S1 , S2 , 2 ) ; // добавляет два первых символа строки S2 в конец строки S1 cout << S1 << ’\n’ ; // выводит на экран строку “Press any key to”

Слайд 34





Сравнение строк
Из двух строк меньше та, у которой меньше код первого несовпадающего символа. Ниже приводятся функции, выполняющие посимвольное сравнение двух строк.
Функция strcmp ( ) производит сравнение строк, различая прописные и строчные буквы и имеет синтаксис:
int strcmp ( const char* S1 , const char* S2 ) ;
Описание слайда:
Сравнение строк Из двух строк меньше та, у которой меньше код первого несовпадающего символа. Ниже приводятся функции, выполняющие посимвольное сравнение двух строк. Функция strcmp ( ) производит сравнение строк, различая прописные и строчные буквы и имеет синтаксис: int strcmp ( const char* S1 , const char* S2 ) ;

Слайд 35





Сравнение строк
В качестве параметров функция получает указатели на строки, которые сравниваются. После сравнения строк S1 и S2 данная функция возвращает в результате одно из следующих значений:
< 0 – если строка S1 меньше, чем S2;
= 0 – если строки эквивалентны;
> 0 – если строка S1 больше, чем S2.
Описание слайда:
Сравнение строк В качестве параметров функция получает указатели на строки, которые сравниваются. После сравнения строк S1 и S2 данная функция возвращает в результате одно из следующих значений: < 0 – если строка S1 меньше, чем S2; = 0 – если строки эквивалентны; > 0 – если строка S1 больше, чем S2.

Слайд 36





Сравнение строк
Следующий пример иллюстрирует работу функции strcmp ( ):
char S1 [ ] = ”Иванов” ; // объявляет и инициализирует
char S2 [ ] = ”Иванцов” ;
int i = strcmp ( S1 , S2 ) ; // объявляет переменную типа int и инициализирует её
cout << ”i = ” << i << ’\n’ ; // выводит на экран значение переменной
Описание слайда:
Сравнение строк Следующий пример иллюстрирует работу функции strcmp ( ): char S1 [ ] = ”Иванов” ; // объявляет и инициализирует char S2 [ ] = ”Иванцов” ; int i = strcmp ( S1 , S2 ) ; // объявляет переменную типа int и инициализирует её cout << ”i = ” << i << ’\n’ ; // выводит на экран значение переменной

Слайд 37





Сравнение строк
cout << S1 << ’\t’ ; // выводит на экран Иванов
cout<<( i>0 ? ’>’ :( i<0 ? ’<’ : ’=’)) ; // выводит на экран символ ‘<’ , ’>’ или ‘=’
cout << ’\t’ << S2 << ’\n’ ; // выводит на экран Иванцов
В результате переменной i будет присвоено отрицательное значение, так как строка S1 меньше, чем строка S2.
Описание слайда:
Сравнение строк cout << S1 << ’\t’ ; // выводит на экран Иванов cout<<( i>0 ? ’>’ :( i<0 ? ’<’ : ’=’)) ; // выводит на экран символ ‘<’ , ’>’ или ‘=’ cout << ’\t’ << S2 << ’\n’ ; // выводит на экран Иванцов В результате переменной i будет присвоено отрицательное значение, так как строка S1 меньше, чем строка S2.

Слайд 38





Сравнение строк
Библиотека string.h также содержит функции, которые сравнивают две строки, не различая регистра
символов. Прототипы этих функций имеют вид:
int stricmp ( const char *S1 , const char *S2 ) ;
int strcmpi ( const char *S1 , const char *S2 ) ;
int strncmp ( const char *S1 , const char* S2 , size_t n ) ;
Описание слайда:
Сравнение строк Библиотека string.h также содержит функции, которые сравнивают две строки, не различая регистра символов. Прототипы этих функций имеют вид: int stricmp ( const char *S1 , const char *S2 ) ; int strcmpi ( const char *S1 , const char *S2 ) ; int strncmp ( const char *S1 , const char* S2 , size_t n ) ;

Слайд 39





Преобразование строк
Элементы символьных строк могут быть преобразованы из одного регистра в другой. Для этого используются стандартные функции  _strlwr и _strupr.
Функция strlwr принимает в качестве параметра указатель на строку символов, преобразует эту строку к нижнему регистру (строчные символы) и возвращает указатель на полученную строку. Данная функция
имеет следующий прототип: char* strlwr(char* str) ;
Описание слайда:
Преобразование строк Элементы символьных строк могут быть преобразованы из одного регистра в другой. Для этого используются стандартные функции _strlwr и _strupr. Функция strlwr принимает в качестве параметра указатель на строку символов, преобразует эту строку к нижнему регистру (строчные символы) и возвращает указатель на полученную строку. Данная функция имеет следующий прототип: char* strlwr(char* str) ;

Слайд 40





Преобразование строк
Следующий фрагмент показывает применение функции strlwr:
char S [ ] = "Error" ; // объявление и инициализация строки
strlwr ( S ) ; // преобразование строки в нижний регистр
cout << S << '\n' ; // вывод на экран "error"
Описание слайда:
Преобразование строк Следующий фрагмент показывает применение функции strlwr: char S [ ] = "Error" ; // объявление и инициализация строки strlwr ( S ) ; // преобразование строки в нижний регистр cout << S << '\n' ; // вывод на экран "error"

Слайд 41





Преобразование строк
Функция strupr объявлена следующим образом:
char* strupr ( char* str ) ;
Данная функция преобразует строку символов, на которую указывает str, в прописные буквы (к верхнему регистру). В результате работы функции возвращается указатель на полученную строку.
Описание слайда:
Преобразование строк Функция strupr объявлена следующим образом: char* strupr ( char* str ) ; Данная функция преобразует строку символов, на которую указывает str, в прописные буквы (к верхнему регистру). В результате работы функции возвращается указатель на полученную строку.

Слайд 42





Обращение строк
Функция обращения строки strrev меняет порядок следования символов на обратный (реверс строки).
Данная функция имеет прототип:
char* strrev ( char* str )
Описание слайда:
Обращение строк Функция обращения строки strrev меняет порядок следования символов на обратный (реверс строки). Данная функция имеет прототип: char* strrev ( char* str )

Слайд 43





Обращение строк
Следующий пример демонстрирует работу функции strrev.
char S [ ] = "Hello" ; // объявление и инициализация строки
cout << S << '\n' ; // вывод на экран "Hello"
strrev ( S ) ; // реверс строки
cout << S << '\n' ; // вывод на экран "olleH"
Описание слайда:
Обращение строк Следующий пример демонстрирует работу функции strrev. char S [ ] = "Hello" ; // объявление и инициализация строки cout << S << '\n' ; // вывод на экран "Hello" strrev ( S ) ; // реверс строки cout << S << '\n' ; // вывод на экран "olleH"

Слайд 44





Поиск символов
Функция нахождения символа в строке strchr имеет следующий прототип:
char* strchr ( const char* string , int c )
Данная функция производит поиск символа с в строке string и в случае успешного поиска возвращает указатель на место первого вхождения символа в строку. Если указанный символ не найден, функция возвращает NULL. Поиск символа осуществляется с начала строки.
Описание слайда:
Поиск символов Функция нахождения символа в строке strchr имеет следующий прототип: char* strchr ( const char* string , int c ) Данная функция производит поиск символа с в строке string и в случае успешного поиска возвращает указатель на место первого вхождения символа в строку. Если указанный символ не найден, функция возвращает NULL. Поиск символа осуществляется с начала строки.

Слайд 45





Поиск символов
char S [81] ; // объявление строки из восьмидесяти символов
char* pS ; // объявление указателя на строку
CharToOem ( "Назвался U груздем, U пеняй U на U себя" , S ) ; // инициализация строки
cout << S << '\n' ; // вывод на экран исходной строки
Описание слайда:
Поиск символов char S [81] ; // объявление строки из восьмидесяти символов char* pS ; // объявление указателя на строку CharToOem ( "Назвался U груздем, U пеняй U на U себя" , S ) ; // инициализация строки cout << S << '\n' ; // вывод на экран исходной строки

Слайд 46





Поиск символов
pS = strchr ( S , 'U' ) ; // возвращает указатель на первый пробел
while ( pS ) // до тех пор, пока указатель pS не равен NULL
{
pS++ ; // увеличение указателя на единицу
cout << pS << '\n' ; // вывод на экран символов от найденного пробела до конца строки
pS = strchr ( pS , ' ' ) ; // поиск следующего пробела
}
Описание слайда:
Поиск символов pS = strchr ( S , 'U' ) ; // возвращает указатель на первый пробел while ( pS ) // до тех пор, пока указатель pS не равен NULL { pS++ ; // увеличение указателя на единицу cout << pS << '\n' ; // вывод на экран символов от найденного пробела до конца строки pS = strchr ( pS , ' ' ) ; // поиск следующего пробела }

Слайд 47





Поиск подстрок
При необходимости поиска в одной строке последовательности символов, заданной в другом символьном массиве (подстроке), стандартная библиотека string.h предлагает воспользоваться одной из следующих функций:  strstr, strtok,
Функция strstr описана следующим образом:
char* strstr ( const char* str , const char* substr)
Описание слайда:
Поиск подстрок При необходимости поиска в одной строке последовательности символов, заданной в другом символьном массиве (подстроке), стандартная библиотека string.h предлагает воспользоваться одной из следующих функций: strstr, strtok, Функция strstr описана следующим образом: char* strstr ( const char* str , const char* substr)

Слайд 48





Поиск подстрок
Данная функция осуществляет сканирование строки str и находит место первого вхождения подстроки substr в строку str. В случае успешного поиска функция strstr возвращает указатель на первый символ строки str, начиная с которого следует точное совпадение части str обязательно со всей лексемой substr.
Если подстрока substr не найдена в str, возвращается NULL.
Описание слайда:
Поиск подстрок Данная функция осуществляет сканирование строки str и находит место первого вхождения подстроки substr в строку str. В случае успешного поиска функция strstr возвращает указатель на первый символ строки str, начиная с которого следует точное совпадение части str обязательно со всей лексемой substr. Если подстрока substr не найдена в str, возвращается NULL.

Слайд 49





Поиск подстрок
Следующий пример показывает использование функции strstr.
char S1 [81] ; // объявление строки
CharToOem ( "Производится поиск элемента" , S ) ; // инициализация строки
char S2 [81] ; // объявление строки
CharToOem ( "поиск" , S ) ; // инициализация строки
Описание слайда:
Поиск подстрок Следующий пример показывает использование функции strstr. char S1 [81] ; // объявление строки CharToOem ( "Производится поиск элемента" , S ) ; // инициализация строки char S2 [81] ; // объявление строки CharToOem ( "поиск" , S ) ; // инициализация строки

Слайд 50





Поиск подстрок
char* pS ; // объявление указателя на строку
pS = strstr ( S1 , S2 ) ; // инициализация указателя на строку
cout << pS << '\n' ; // вывод на экран "поиск элемента"
На экран будет выведено "поиск элемента", так как подстрока, содержащаяся в S2, находится внутри строки S1 и функция strstr установит указатель pS на соответствующий элемент символьного массива S1.
Описание слайда:
Поиск подстрок char* pS ; // объявление указателя на строку pS = strstr ( S1 , S2 ) ; // инициализация указателя на строку cout << pS << '\n' ; // вывод на экран "поиск элемента" На экран будет выведено "поиск элемента", так как подстрока, содержащаяся в S2, находится внутри строки S1 и функция strstr установит указатель pS на соответствующий элемент символьного массива S1.

Слайд 51





Поиск подстрок
Функция strtok имеет синтаксис:
char* strtok ( char* str , const char* delim)
Эта функция выполняет поиск в строке str подстроки, обрамленной с обеих сторон любым символом-разделителем из строки delim. В случае успешного поиска данная функция обрезает строку str, помещая символ '\0' в месте, где заканчивается найденная подстрока.
Описание слайда:
Поиск подстрок Функция strtok имеет синтаксис: char* strtok ( char* str , const char* delim) Эта функция выполняет поиск в строке str подстроки, обрамленной с обеих сторон любым символом-разделителем из строки delim. В случае успешного поиска данная функция обрезает строку str, помещая символ '\0' в месте, где заканчивается найденная подстрока.

Слайд 52





Поиск подстрок
Предположим, необходимо разбить предложение, имеющееся в строковом массиве, по словам и вывести каждое из них на экран.
char S [81] ; // объявление строки
char* pS ; // объявление указателя на строку
char* Del="U.?!,"; // объявление и инициализация указателя на строку, содержащую набор разделителей
Описание слайда:
Поиск подстрок Предположим, необходимо разбить предложение, имеющееся в строковом массиве, по словам и вывести каждое из них на экран. char S [81] ; // объявление строки char* pS ; // объявление указателя на строку char* Del="U.?!,"; // объявление и инициализация указателя на строку, содержащую набор разделителей

Слайд 53





Поиск подстрок
CharToOem ("Назвался груздем, пеняй на сябя!",S) ; // преобразование строки
pS = strtok ( S , Del ) ; // инициализация указателя на строку адресом первого слова
if ( pS ) cout << pS << '\n' ; // если указатель существует, выводит на экран первое слово
while ( pS ) // до тех пор, пока указатель существует
Описание слайда:
Поиск подстрок CharToOem ("Назвался груздем, пеняй на сябя!",S) ; // преобразование строки pS = strtok ( S , Del ) ; // инициализация указателя на строку адресом первого слова if ( pS ) cout << pS << '\n' ; // если указатель существует, выводит на экран первое слово while ( pS ) // до тех пор, пока указатель существует

Слайд 54





Поиск подстрок
{
pS=strtok ( NULL , Del ) ; // указатель получает адрес очередного слова
if ( pS ) cout << pS << '\n' ; // если указатель существует, выводит на экран очередное
слово
}
Описание слайда:
Поиск подстрок { pS=strtok ( NULL , Del ) ; // указатель получает адрес очередного слова if ( pS ) cout << pS << '\n' ; // если указатель существует, выводит на экран очередное слово }

Слайд 55





Поиск подстрок
В данной программе объявляется подлежащая анализу строка S, подстрока Del, содержащая набор разделителей (Delimiters), и указатель на символьный тип данных pS. Вызов функции strtok (S , Del) сканирует строку S и как только в ней встретится любой символ, входящий в подстроку Delimiters (в данном случае это символ пробела), указатель pS станет ссылаться на начало исходной строки до найденного символа.
Описание слайда:
Поиск подстрок В данной программе объявляется подлежащая анализу строка S, подстрока Del, содержащая набор разделителей (Delimiters), и указатель на символьный тип данных pS. Вызов функции strtok (S , Del) сканирует строку S и как только в ней встретится любой символ, входящий в подстроку Delimiters (в данном случае это символ пробела), указатель pS станет ссылаться на начало исходной строки до найденного символа.

Слайд 56





Поиск подстрок
То есть pS будет содержать:
*pS = "Назвался" ;
Благодаря тому, что функция strtok помещает в найденном месте нуль-терминатор ('\0'), исходная строка модифицируется. Таким образом, массив символов S примет значение:
"груздем, пеняй на сябя!"
Описание слайда:
Поиск подстрок То есть pS будет содержать: *pS = "Назвался" ; Благодаря тому, что функция strtok помещает в найденном месте нуль-терминатор ('\0'), исходная строка модифицируется. Таким образом, массив символов S примет значение: "груздем, пеняй на сябя!"

Слайд 57





Поиск подстрок
Осуществив проверку указателя pS на существование в операторе if ( pS ), найденное слово выводится на экран. Далее в цикле с помощью функции strtok находится последний нуль-терминатор строки S:
pS = strtok ( NULL , Del ) ;
что, фактически, соответствует локализации следующего слова предложения, и найденная последовательность символов выводится на экран.
Описание слайда:
Поиск подстрок Осуществив проверку указателя pS на существование в операторе if ( pS ), найденное слово выводится на экран. Далее в цикле с помощью функции strtok находится последний нуль-терминатор строки S: pS = strtok ( NULL , Del ) ; что, фактически, соответствует локализации следующего слова предложения, и найденная последовательность символов выводится на экран.

Слайд 58





Преобразование строки в число
Функции atoi и atol
Синтаксис функций atoi и atol имеет вид:
int atoi ( const char* ptr ) ;
int atol ( const char* ptr ) ;
Эти функции преобразуют ASCIlZ-строку символов, на которую указывает ptr, в число типа int и long соответственно. Работа этих функций в 32-разрядной модели памяти не отличается.
Описание слайда:
Преобразование строки в число Функции atoi и atol Синтаксис функций atoi и atol имеет вид: int atoi ( const char* ptr ) ; int atol ( const char* ptr ) ; Эти функции преобразуют ASCIlZ-строку символов, на которую указывает ptr, в число типа int и long соответственно. Работа этих функций в 32-разрядной модели памяти не отличается.

Слайд 59





Преобразование строки в число
Если преобразуемое число превышает диапазон значений типа int, функция возвратит непредсказуемое значение. Например:
char S [41] = "400000" ; // объявление и инициализация строки
int n ; // объявление переменной типа int
n = atoi ( S ) ; // инициализация переменной значением преобразованной строки
Описание слайда:
Преобразование строки в число Если преобразуемое число превышает диапазон значений типа int, функция возвратит непредсказуемое значение. Например: char S [41] = "400000" ; // объявление и инициализация строки int n ; // объявление переменной типа int n = atoi ( S ) ; // инициализация переменной значением преобразованной строки

Слайд 60





Преобразование строки в число
cout << "n=" << n << '\n' ; // выводит на экран “400000”
strcat ( S , "0000" ) ; // добавляет в конец строки четыре нуля
long m; // объявление переменной типа long
m = atoll ( S ) ; // инициализация переменной значением преобразованной строки
cout << "m=" << m << '\n' ; // выводит на экран “-294967296”
Описание слайда:
Преобразование строки в число cout << "n=" << n << '\n' ; // выводит на экран “400000” strcat ( S , "0000" ) ; // добавляет в конец строки четыре нуля long m; // объявление переменной типа long m = atoll ( S ) ; // инициализация переменной значением преобразованной строки cout << "m=" << m << '\n' ; // выводит на экран “-294967296”

Слайд 61





Преобразование строки в число
Функция atof, определенная как
double atof(const char* ptr)
выполняет преобразование ASCIIZ-строки в число с плавающей точкой типа double. Строка символов должна быть представлена с учетом формата:
[пробелы][знак][цифры][.][цифры][е|Е[знак]цифры],
Где пробелы – последовательность пробелов или табуляторов;
Описание слайда:
Преобразование строки в число Функция atof, определенная как double atof(const char* ptr) выполняет преобразование ASCIIZ-строки в число с плавающей точкой типа double. Строка символов должна быть представлена с учетом формата: [пробелы][знак][цифры][.][цифры][е|Е[знак]цифры], Где пробелы – последовательность пробелов или табуляторов;

Слайд 62





Преобразование строки в число
знак – символ '+' или '–' ;
цифры – десятичные цифры;
е|Е – символ показателя степени.
Преобразование символов прекращается, как только найден первый неконвертируемый символ или достигнут конец строки. 
Пример использования функции atof:
Описание слайда:
Преобразование строки в число знак – символ '+' или '–' ; цифры – десятичные цифры; е|Е – символ показателя степени. Преобразование символов прекращается, как только найден первый неконвертируемый символ или достигнут конец строки. Пример использования функции atof:

Слайд 63





Преобразование строки в число
char S [41] = "12345e66" ; // объявление и инициализация строки
double d ; // объявление переменной типа double
d = atof ( S ) ; // инициализация переменной значением преобразованной строки
cout << "d=" << d << '\n' ; // выводит на экран "d=1.2345e+070"
Описание слайда:
Преобразование строки в число char S [41] = "12345e66" ; // объявление и инициализация строки double d ; // объявление переменной типа double d = atof ( S ) ; // инициализация переменной значением преобразованной строки cout << "d=" << d << '\n' ; // выводит на экран "d=1.2345e+070"

Слайд 64





Преобразование числа в строку
Функции _itoa и _ltoa
Функции обратного преобразования itoa и _ltoa производят конвертирование чисел типа int и long соответственно в строку символов. Они имеёт следующий синтаксис:
char *_ltoa ( long value , char *string , int radix );
char *_itoa ( int value , char *string , int radix ) ;
Описание слайда:
Преобразование числа в строку Функции _itoa и _ltoa Функции обратного преобразования itoa и _ltoa производят конвертирование чисел типа int и long соответственно в строку символов. Они имеёт следующий синтаксис: char *_ltoa ( long value , char *string , int radix ); char *_itoa ( int value , char *string , int radix ) ;

Слайд 65





Преобразование числа в строку
Данные функции принимают в качестве аргумента число value и преобразуют его в строку string с учетом основания системы счисления, представленной в переменной radix. Следующий фрагмент программы преобразует целое число в строку, используя десятеричную систему счисления:
Описание слайда:
Преобразование числа в строку Данные функции принимают в качестве аргумента число value и преобразуют его в строку string с учетом основания системы счисления, представленной в переменной radix. Следующий фрагмент программы преобразует целое число в строку, используя десятеричную систему счисления:

Слайд 66





Преобразование числа в строку
int numb = 98765 ;
char S [10] ;
_itoa ( numb , S , 10 ) ;
cout << numb << '\n' << S ;
Описание слайда:
Преобразование числа в строку int numb = 98765 ; char S [10] ; _itoa ( numb , S , 10 ) ; cout << numb << '\n' << S ;

Слайд 67


Массивы символов в С++. Прикладное программирование, слайд №67
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию