Лекция 7 Символьные данные. Объявление символьных данных Char
Лекция 7 Символьные данные
Объявление символьных данных Char a; - объявление символа Char a[n]; - объявление символьной строки в виде массива
Как объявить символьный массив void program(void) { char a1[9];//--- Объявление символьного массива из 9 элементов printf("a1 = %sn", a1); char a2[9]={'P','r','o','t','v','i','n','o',' '};//--- Инициализация символьного массива // ' ‘ – нуль-символ, ставится в конце символьной строки printf("a2 = %sn", a2); char a3[9]={"Protvino"};//--- Можно и так инициализировать printf("a3 = %sn", a3); char a4[9]="Protvino"; //--- И так можно инициализировать printf("a4 = %sn", a4); char *a5="Protvino"; //--- Так можно задать и инициализировать, используя указатели printf("a5 = %sn", a5); }
Функции символьных данных Прототипы находятся в файл-заголовке “string.h”
strcpy(s1,s2); Копировать строку s2 в s1 void P_strcpy(void) { char s1[10]; char *s2="abcdefghi"; strcpy(s1,s2); //--- Копировать строку s2 в s1 printf("%sn", s1); }
strncpy(s1, s2, n); Копировать n символов строки s2 в s1 void P_strncpy(void) { char s1[10]; char *s2="abcdefghi"; strncpy(s1, s2, 3); //--- Копировать n символов строки s2 в s1 s1[3]=' '; printf("%sn", s1); }
strcat(s1,s2); Сцепить две строки void P_strcat(void) { char s[25]; char *a = "Borland"; char *b = " "; char *c = "C++"; strcpy(s,a); //--- Копировать строку a в s strcat(s,b); //--- Добавить b в s strcat(s,c); //--- Добавить c в s printf("%sn", s); }
strncat(s1,s2); Сцепить две строки, причем из второй копировать n строк void P_strncat(void) { char s[25]; char *a = "University"; char *b = " "; char *c = "Dubna - City"; strcpy(s,a); //--- Копировать строку a в s strcat(s,b); //--- Добавить b в s strncat(s,c,5); //--- Добавить c в s printf("%sn", s); }
strchr(s1, s2) ; Возвращает указатель на первое вхождение заданного символа s2 в строку s1. Если указанный символ не найден, возвращается нулевой указатель.
Пример программы void P_strchr(void) { char s1[20]="This is a string"; char s2='s'; char *ptr; ptr = strchr(s1,s2);//возвращает указатель на первое вхождение заданного символа if(ptr != NULL) { printf("The first character %c is at the position: %pn", s2,ptr); printf("This character = %cn", *ptr); } else printf("The character %c is not found!n", s2); }
Внимание! Находится не номер заданного символа в строке, а его адрес в оперативной памяти.
strrchr(s1,s2); Возвращает указатель на последнее вхождение заданного символа. Если указанный символ не найден, возвращается нулевой указатель.
Пример программы void P_strrchr(void) { char s1[20]="This is a string"; char s2='s'; char *ptr; ptr = strrchr(s1,s2);//возвращает указатель на последнее вхождение заданного символа if(ptr != NULL) { printf("The last character %c is at the position: %pn", s2, ptr); printf("This character = %cn", *ptr); } else printf("The character %c is not found!n", s2); }
strcmp(s1,s2); Сравнивает две строки в лексиграфическом порядке и возвращает целое значение, зависящее следующим образом от результата сравнения: <0 - s1
Пример программы void P_strcmp(void) { char *s1 = "aaa"; char *s2 = "bbb"; int res; res = strcmp(s1,s2); printf("%dn", res); if (res>0) printf("s1 > s2n"); if (res<0) printf("s1 < s2n"); if (res==0) printf("s1 = s2n"); }
strncmp(s1,s2,n); Сравнивает n символов двух строк в лексиграфическом порядке и возвращает целое значение, зависящее следующим образом от результата сравнения: <0 - s1
strncmp(s1,s2,n); Если в какой-нибудь из заданных строк меньше n символов, сравнение заканчивается при обнаружении первого нулевого символа.
Пример программы void P_strncmp(void) { char *s1 = "aaaxxx"; char *s2 = "bbbyyy"; int res; res = strncmp(s1,s2, 2); printf("%dn", res); if (res>0) printf("s1 > s2n"); if (res<0) printf("s1 < s2n"); if (res==0) printf("s1 = s2n"); }
strlen(s); Возвращает длину символьной строки void P_strlen(void) { char *s = "aaaxxx"; int l; l = strlen(s); printf("%dn", l); }
Функции ввода и вывода символьных данных Функция scanf() читает из буфера клавиатуры символы до пробела Функция printf() выводит символ или символьную строку на экран Функция getch() Функция putch(ch) Функция getchar() Функция putchar(ch) Функция getc() Функция putc(ch)
lekciya_7_simvolynye.ppt
- Количество слайдов: 20