Работа со строками
Символьные переменные
Синтаксис описания:
char список_имен;
Например:c
char s, a, st;
Для ввода-вывода в операторах
printf() и scanf()
используется спецификация %c
Например: scanf(“%c”,&s)
Пример:
Удалить в предложении все повторяющиеся пробелы
#include<stdio.h>
void main() { char s,s1;
for(s=s1=‘ ‘;s!=‘.‘;s=s1) { scanf(“%c”,&s1); if(s=‘ ‘&&s1=‘ ‘) continue; printf(“%c”,s1);
}//end for }// end main
Операторы ввода-вывода
getchar() – позволяет читать по одному символу из входного потока.
putchar(s) – выводит символьное
значение в стандартный выходной поток
Пример: необходимо подсчитать количество слов в предложении
#include<stdio.h> void main()
{char s,c; ink k;
printf(“введи предложение :“); for(k=0;(c=getchar())!=‘.’; )
if(c== ‘ ‘) k++; printf(“k=%d”,k);
}// end main
Строки
Строки- последовательность символов, заключенная в кавычки
“Это строка”
В конце любой строки транслятор автоматически добавляет ‘\0’- нулевой байт
Строки
Строка представляется массивом символов
char s[4]=“Зима”; char x[]=“Vasia”;
char *s1;
Доступ к элементам строки осуществляется с помощью индексов x[1],x[5], …
Строки
Операторы ввода-вывода для строк:
gets()- читает символы с клавиатуры, пока не встретится символ новой строки
puts(x) – выводит строку x, добавляя в конце символ новой строки
Функции работы со строками
Заголовочный файл <string.h>
Копирование (конкатенация строк):
strсpy(char *s1,char *s2) – копирует байты строки s2 в строку s1.
Сравнение строк:
strcmp(char *s1,char *s2) –
возвращает
Отрицательное значение, если s1<s2
0 – если s1=s2
Положительное значение, если s1>s2
Функции работы со строками
Заголовочный файл <string.h>
Сложение (конкатенация строк):
strсat(char *s1,char *s2) –
добавляет строку s2 к строке s1.
Поиск символа в строке:
strchr(char *s1,char c) – ищет в строке s1 первое вхождение символа c