Слайд 1Работа со строками
Строка-массив символов, заканчивающийся символом с кодом \0. в
С строка м.б. любой длины.
char s[3];
s[0]=‘a’; s[1]=‘b’; s[2]=‘c’;
s[3]={‘a’, ’b’, ’c’};
s[3]=“abc”;
Замечание:
в одинарных кавычках записывают символы, в двойных кавычках строки символов потому что последний символ строки символов- признак конца строки ‘\0’:когда пишем строку в двойных кавычках, компилятор по этому признаку сам формирует признак конца строки – символ ‘\0’. Поэтому ’b’ – это один символ, “b” – два символа;
Слайд 2char str[10]=“строка”;
char s[]=“текст”; копил сам определит, сколько нужно памяти
string.h
Функции для
работы со строками
C=getchar() – ожидает ввод символа с клавиатуры, как
только символ введен, его значение присваивается переменной с.
putchar(c) – выводит символ на экран.
strlen(str)
x=strlen(“текст”); вернет значение 5, т.е. количество реально использованных символов без учета последнего терминального символа.
strcpy(str1,str2) копирует строку str2 в str1
Слайд 3char str[5]=“текст”;
char s[4]=“это”;
strcpy(s,str); необходимо следить за тем, что бы число
элементов строки str было достаточно для хранения
strcat(str1, str2) добавляет
содержимое строки str2 к строке str1.
char s[100];
strcpy(s,”Это ”);
strcat(s,”строка”);
Слайд 4strcmp(s1,s2)-Осуществляет лексографическое сравнение двух строк (в алфавитном порядке). Возвращает значение
меньше 0, если s1s2, равное 0,
если s1==s2
Составить программу, которая сравнивает две строки
Слайд 6Имя массива без следующих за ним квадратных скобок само по
себе является адресом начала массива, таким образом, & можно не
писать или писать &s1[0].
У функции scanf конец ввода это пробел или enter, поэтому в строку нельзя ввести текст «Это строка»
scanf(“%[^\n]s,s1)-в прямоугольных скобках можно перечислять те символы, которые допустимы для данной строки, ^ означает кроме. Допустимыми являются все символы, кроме перехода на новую строку. scanf(“%[A-Z]s,s1)-
gets(s1)-читает с клавиатуры строку до первого enter