Министерство развития информационных технологий и коммуникаций республики узбекистан


} 6  Практическая работа № 1. Работа со строковыми символами



Download 2,47 Mb.
Pdf ko'rish
bet4/63
Sana25.02.2022
Hajmi2,47 Mb.
#299632
TuriМетодические указания
1   2   3   4   5   6   7   8   9   ...   63
Bog'liq
ЎТ амал рус

}

Практическая работа № 1. Работа со строковыми символами. 
1.
 
Цель работы
: Формирование навыков работы со строковыми 
символами, функциями и указателями при обработке массивов. 
2.
 
Теоретическая часть.
Строкой называется последовательность символов, ограниченная 
символом с кодом 0, то есть '\0'. Из определения видно, что она является 
объектом переменной размерности. Местом хранения строки является массив 
символов. Суть взаимоотношений между строкой и массивом символов 
состоит в том, что строка является структурой данных, а массив – 
переменной: 
Строка хранится в массиве символов, массив символов может быть 
инициализирован строкой или может быть заполнен программным путём: 
char A[20] = { 'С','т','р','о','к','а','\0' }; 
char B[80]; 
for (int i=0; i<20; i++) B[i] = 'A'; 
B[20] = '\0'; 
Строка представляет собой последовательность, ограниченную 
символом '\0', поэтому работать с ней нужно в цикле, ограниченном не 
размерностью массива, а условием обнаружения символа конца строки: 
for (i=0; B[i] !='\0'; i++)... 
Соответствие размерности массива и длины строки транслятором не 
контролируется, за это несёт ответственность программа (программист): 
char C[20],B[]=”Строка слишком длинная для C”; 
// следить за переполнением массива 
// и ограничить строку его размерностью
for (i=0; i<19 && B[i]!='\0'; i++) C[i] = B[i]; 
C[i]='\0'; 


}

В языке С нет специального типа данных для строковых переменных. 
Для этих целей используются массивы символов (тип char). Следующий 
пример демонстрирует использование строк в программе: 
char str_1[100] = {‘П’,’р’,’и’,’в’,’е’,’т’,’\0’}; 
char str_2[100] = “Привет”; 
char str_3[] = “Привет”; 
printf(“%s\n%s\n%s\n”,str_1,str_2,str_3); 
В приведённом примере показаны три способа инициализации строковых 
переменных. Первый способ является классическим объявлением массива, 
второй и третий используются специально для строк. Причём в последнем 
случае, компилятор сам определяет нужную длину массива для записи 
строки. 
Символ ‘\0’ означает в языке С конец строки и все символы после него 
игнорируются как символы строки. 
Функции ввода строк 
scantf(“%s”, имя строковой переменной); 
gets(имя строковой переменной); 
Функции вывода символа 
printf(“%s”, имя строковой переменной); 
puts(имя строковой переменной); 
Для работы со строками можно использовать библиотеку стандартных 
функций , в которой имеются следующие функции работы со 
строками: 
1. Объединение строк или конкатенация-strcat(имя строки1, имя строки2); 
2. Замена содержимого одной строки содержимым другой 
strcpy(имя строки1, имя строки2); 
3. Нахождение числа символов в строке-strlen(имя строки); 
4. Сравнение Строки 1 и Строки 2-strcmp(имя строки1, имя строки2); 
Возвращает 0, если строки равны, число меньше нуля, если Строка 1<Строка 
2 и число больше нуля, если Строка 1>Строка2. 


}

5. Преобразование строчных символов строки в прописные (обрабатывает 
только буквы латинского алфавита)-strlwr(имя строки); 
6. Преобразование прописных символов строки в строчные (обрабатывает 
только буквы латинского алфавита)-strupr(имя строки); 
7. Заполнение строки указанным при вызове функции символом 
strset(имя строки, имя символа); 
8. Поиск символа в строке. (Возвращает указатель на первый найденный 
символ или, если символ не найден – NULL.) 
strchr(имя строки, имя символа); 
Функции в языке СИ оформляются следующим образом:
/* прототип функции */
long func(int, int, int*);
/ * описание функции * /
long func (a, b, с) // заголовок
int a,b,*с; // описание формальных параметров
{ long х; // описание локальных переменных
. . . // тело функции
*с=3; // возврат результата по ссылке
return x; // возврат результата через имя функции
}
/* вызов функции */
main()
{
long r; int i, j, k; // описание локальных переменных
. . .
r = func (i, j, &k); // вызов
}
Указатель в СИ – переменная, содержащая адрес другой переменной. 
Указатели должны быть описаны в виде
int *ip; // указатель на int


}

float *fp; // указатель на float
При работе с указателями используются унарные операции:

– обращение по адресу,

& – получение адреса.
Таким образом, можно записать
int x, *ip; // описания переменных
ip=&x; // присвоение адреса
*ip=3; // обращение по адресу
Если указателю присвоен адрес элемента массива, его можно использовать 
так же, как и имя массива. Следующие обращения к третьему элементу 
массива s полностью эквивалентны:
int s[10], *p;
p=s; s[3]=0; // вариант 1
p[3]=0; // вариант 2
*(p+3)=0; // вариант 3
Операции инкремента (++) и декремента (––) изменяют указатель так, что он 
будет указывать на соседний элемент данных такого же типа. Например, если 
fp – указатель на float, операция fp++ увеличит fp на 4, т. е. на количество 
байт, занимаемых элементом типа float. 

Download 2,47 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   63




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish