Funkcje łańcuchowe w C
Opublikowany: 2022-11-14Programowanie w C wykorzystuje zbiór znaków i różne obecne funkcje, aby uprościć długie procesy kodowania w krótkie i precyzyjne funkcje ułatwiające implementację. Te funkcje ułatwiają programistom obsługę wielu operacji w ramach ograniczonej liczby znaków i manipulowanie ciągami znaków. Różnorodne języki programowania zawierają wbudowane funkcje, gotowe do użycia w przypadku chęci uzyskania precyzji.
Dzisiaj omówimy łańcuch języka programowania C i jego funkcje, aby uzyskać dogłębny wgląd w różne funkcje łańcuchów, ich zastosowania, zalety i inne funkcje, które sprawiają, że praca programistów jest dynamiczna.
Co to jest ciąg
Ciąg jest obecny w różnych językach programowania, chociaż c przetwarza łańcuch inaczej niż zwykłe języki programowania. W języku C ciąg jest jednowymiarową tablicą znaków, w której każdy znak ciągu zajmuje jedno miejsce w tablicy. Łańcuch kończy się znakiem null zdefiniowanym przez „\0”, który odnosi się do końca dowolnego ciągu.
Rzućmy okiem na reprezentację znakową i łańcuchową:
ciąg znaków[10] = {'w','e','l','c','o','m','e','\0'};
ciąg znaków[10] = „witaj”;
ciąg znaków [] = „witaj”;
Zakończenie łańcucha znakiem null jest ważne, aby sekwencja znaków była rozpoznawana jako ciąg. W przeciwnym razie jest to po prostu ciąg znaków bez terminatora zerowego. Należy zauważyć, że ciągi są ujęte w podwójne cudzysłowy, podczas gdy pojedyncze cudzysłowy obejmują znaki w sekwencji. Zadeklarowanie łańcucha jako string[10] przydziela 10 bajtów łańcucha, podczas gdy string[] przydziela pamięć podczas wykonywania programu.
Ucz się kursów programistycznych online z najlepszych światowych uniwersytetów. Zdobądź programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Deklaracja ciągu
Jak wspomniano powyżej, łańcuchy są deklarowane przy użyciu dwóch różnych metod. C jest językiem statystycznym, który jest jednowymiarowy. Dlatego zmienne łańcuchowe wymagają deklaracji, aby nadać określone znaczenie dowolnemu łańcuchowi.
Na przykład char temp[]=”temp string”;
t | mi | m | p | s | t | r | i | n | g | \0 |
Łańcuchy typu char, jeśli są zadeklarowane w podwójnych cudzysłowach, to „\0” jest bezpośrednio stosowane na końcu łańcucha, aby go zakończyć. Można to również wyrazić jako char temp[]=”temp string”;
- Znak zadeklarowany jako 'string[6]' będzie zawierał 6 bajtów pamięci do przydzielenia wartości łańcuchowych. Z drugiej strony deklaracja jako „ string[] ” przydzieli miejsce zgodnie z wymaganiami poprzez wykonanie programu.
Inicjalizacja ciągu
Proces deklaracji i inicjalizacji idą w parze, gdzie deklaracja deklaruje istnienie zmiennej, a inicjalizacja przypisuje jej wartość. Inicjalizacja ciągów znaków w c ma wiele sposobów implementacji. Oto kilka z nich:
- char t[]=”łańcuch tymczasowy”;
- char t[10]=”łańcuch tymczasowy”;
- char t[]={'t','e','m', 'd','\0'};
- char t[5]={'t','e','m', 'd','\0'};
Funkcje łańcuchowe w C
funkcje łańcuchowe w języku programowania C są dołączone, aby uprościć obsługę łańcuchów. Funkcje łańcuchowe odnoszą się do sekwencji zdań, które wykonują określone zadania. Funkcje te można ponownie wykorzystać w różnych ciągach znaków, aby uprościć obsługę ciągów znaków, umożliwiając użycie tego samego zestawu instrukcji w różnych wzorcach kodowania. Wielu programistów czerpie korzyści z funkcji łańcuchowych, aby zaoszczędzić czas na kilkukrotnym przepisywaniu kodu. Oto zalety korzystania z funkcji łańcuchowych:
- Zmniejszony rozmiar kodu
- Zwiększona czytelność
- Łatwiejszy proces debugowania
- Ulepszona możliwość ponownego użycia kodu, umożliwiająca programistom korzystanie z podobnych funkcji bez konieczności pisania kodu od zera.
Typy funkcji łańcuchowych
Zamiast używać złożonych sekwencji kodu do manipulowania kodami, można użyć różnych wbudowanych funkcji ciągów znaków do obsługi ciągów przechowywanych w standardowej bibliotece funkcji obsługi ciągów języka C, zwanej „string.h”.
Oto kilka typowych funkcji obsługi ciągów znaków:
1. Funkcja printf() i scanf()
funkcja scanf() służy do pobierania danych od użytkowników, dopóki nie napotka białych znaków lub końca.
Na przykład:
#include <stdio.h>
int main()
{
int test liczba całkowita;
printf("Podaj liczbę całkowitą: ");
scanf("%d", &testInteger);
printf("Liczba = %d", testInteger);
zwróć 0;
}
Wyjście:
Wpisz liczbę całkowitą: 4
Liczba = 4
Funkcja printf() kieruje sformatowane dane wyjściowe na ekran, wyświetlając zarówno łańcuch, jak i zmienne.
Na przykład:
#include <stdio.h>
int main()
{
// Wyświetla łańcuch w cudzysłowach
printf("Programowanie w C");
zwróć 0;
}
Wyjście:
Programowanie C
Popularne kursy i artykuły na temat inżynierii oprogramowania
Popularne programy | |||
Program wykonawczy PG w rozwoju oprogramowania - IIIT B | Program certyfikatów Blockchain - PURDUE | Program Certyfikatów Cyberbezpieczeństwa - PURDUE | Magister informatyki - IIIT B |
Inne popularne artykuły | |||
Wynagrodzenie inżyniera chmury w USA 2021-22 | Wynagrodzenie architekta rozwiązań AWS w USA | Wynagrodzenie programisty backendu w USA | Wynagrodzenie programisty front-end w USA |
Wynagrodzenie programisty internetowego w USA | Pytania do wywiadu ze Scrum Masterem w 2022 roku | Jak rozpocząć karierę w cyberbezpieczeństwie w 2022 roku? | Opcje kariery w USA dla studentów inżynierii |
2. Funkcja stawia() i pobiera()
gets() pobiera dane wejściowe użytkownika podczas czytania białych znaków jako ciągu znaków. Z drugiej strony funkcja puts() pozwala na wyświetlenie ciągu znaków na ekranie użytkownika.
Na przykład:
#include main()
Int main()
{
temperatura zwęglenia [20];
printf("Podaj swoje Imię");
dostaje(temp);
printf("Nazywam się: ");
wstawia (temp);
zwróć 0;
}
3. Funkcja strcpy()
Funkcja strcpy() kopiuje zawartość jednego łańcucha do drugiego.
Na przykład:
#include <stdio.h>
#include <łańcuch.h>
int main()
{
znak s1[30] = „łańcuch 1”;
char s2[30] = „string 2 : Skopiuję do s1”;
/* ta funkcja skopiowała s2 do s1*/
strcpy(s1,s2);
printf("Ciąg znaków s1 to: %s", s1);
zwróć 0;
}
Wyjście:
Ciąg s1 to: ciąg 2: Zamierzam skopiować do s1
4. Funkcja strlen()
Zamiast pisać program ręczny, aby uzyskać długość dowolnego łańcucha, użyj funkcji strlen() , aby znaleźć długość dowolnego łańcucha.
Na przykład:
#include <stdio.h>
#include <łańcuch.h>
int main()
{
char str1[20] = „Książka dla początkujących”;
printf("Długość łańcucha str1 gdy maxlen wynosi 30: %d", strnlen(str1, 30));
printf("Długość łańcucha str1, gdy maxlen wynosi 10: %d", strnlen(str1, 10));
zwróć 0;
}
Wyjście:
Długość łańcucha str1, gdy maxlen wynosi 30: 13
Długość łańcucha str1, gdy maxlen wynosi 10:10
5. Funkcja strw()
Funkcja strrev() może być użyta do odwrócenia zawartości dowolnego łańcucha.
Na przykład:
#include<stdio.h>
#include<string.h>
int main()
{
char temp[20]=”Odwróć”;
printf("Ciąg przed odwróceniem to: %s\n", temp);
printf("Ciąg po strrev() :%s", strrev(temp));
zwróć 0;
}
6. Funkcja strcmp()
Funkcja strcmp() służy do porównywania dwóch łańcuchów. Funkcja strcmp w C porównuje wzajemne cechy między dwoma łańcuchami, aby dostarczyć wynik. Jeśli łańcuchy są podobne, strcmp w C przechwytuje je.
Na przykład:
#include <stdio.h>
#include <łańcuch.h>
int main()
{
char s1[20] = „Książka dla początkujących”;
char s2[20] = „Książka dla początkujących.COM”;
jeśli (strcmp(s1, s2) ==0)
{
printf("łańcuch 1 i ciąg 2 są równe");
}w przeciwnym razie
{
printf("łańcuch 1 i 2 są różne");
}
zwróć 0;
}
Wyjście:
łańcuch 1 i 2 są różne
7. Funkcja strcat()
Funkcja strcat() służy do dołączania ciągu źródłowego na końcu ciągu docelowego. (Kot odnosi się do konkatenacji)
Na przykład:
#include <stdio.h>
#include <łańcuch.h>
int main()
{
znak s1[10] = „Cześć”;
znak s2[10] = „Świat”;
strcat(s1,s2);
printf("Ciąg wyjściowy po konkatenacji: %s", s1);
zwróć 0;
}
Wyjście:
Ciąg wyjściowy po konkatenacji: HelloWorld
8. Funkcja strlwr()/strupr()
Funkcje strlwr() i strupr() pomagają konwertować litery z małych na wielkie i odwrotnie.
Na przykład:
#include<stdio.h>
#include<string.h>
int main()
{
char str[]=”ZMIEŃ mnie na małe litery”;
printf("%s\n", strlwr(str));
zwróć 0;
}
Wyjście:
zamień mnie na małą literę
Podobnie wynikowe dane wyjściowe zostaną zamienione na wielkie litery, jeśli użyjemy funkcji strupr() zamiast strlwr() .
Zwiększ możliwości kariery jako programista
Gruntowna znajomość języka C lub dowolnego innego języka programowania może zapewnić Ci świetny start w udanej karierze w branży IT; wszystko, czego potrzebujesz, to profesjonalna certyfikacja i dedykowana przestrzeń umysłu, aby poprawić swoje umiejętności. Program wykonawczy upGrad w zakresie rozwoju oprogramowania. , rozszerzony przez Purdue University, może być Twoją szansą na rozpoczęcie kariery Full Stack.
Program kursu jest przygotowany zgodnie z najnowszymi umiejętnościami, w tym MERN, programowaniem, podstawami programowania, API, programowaniem Front-end i Back-end, DevOps i nie tylko. Co zaskakujące, uczniowie nie muszą mieć wcześniejszego języka kodowania, dzięki czemu program jest otwarty dla wszystkich aspirantów technicznych!
Wraz z doświadczonymi członkami wydziału, dynamiczna platforma edukacyjna upGrad umożliwia studentom naukę w kwitnącym środowisku przez liderów branży, którzy szkolą ich w zakresie dogłębnych koncepcji odpowiednich dla obecnego rynku technologicznego.
Odwiedź upGrad , aby dowiedzieć się więcej!
Wniosek
Te wbudowane funkcje są niezwykle niezawodne w użyciu dla programistów dzięki złożonym sekwencjom kodowania, aby zaoszczędzić czas i wysiłek związany z tworzeniem funkcji dla określonych operacji. Oprócz tych wyjaśnionych funkcji, plik nagłówka łańcucha zawiera różne inne operacje powiązane z funkcjami, aby uprościć programowanie.
Ćwicz dalej, aby poznać je wszystkie!
Co to są łańcuchy i ich rodzaje?
Łańcuch jest zbiorem znaków zakończonym znakiem null, szeroko stosowanym w programowaniu obliczeniowym. Ma różnorodne funkcje upraszczające złożone sekwencje kodowania i ma kilka typów danych w różnych językach programowania, chociaż w języku C łańcuchy obsługują tylko typy danych znakowych.
Co to jest znak null w C?
Znak null w C odnosi się do dowolnego znaku, który nie ma wartości. Znak zerowy ma zero jako wartość liczbową i jest również nazywany terminatorem zerowym. Chociaż są uważane za znak o wartości zerowej, znaki zerowe są znaczące w kilku językach programowania ze względu na ich implementację jako znaki kontrolne do wypełniania pustych miejsc i wypełniania.
Czym są funkcje w C?
Funkcje w języku C to ciąg kodów zawierających określoną funkcję. Wiadomo, że po zaimplementowaniu w składni funkcje uruchamiają określone operacje i mogą być ponownie użyte do wykonywania podobnych funkcji w innej składni. Funkcje mogą być wbudowane lub muszą być zdefiniowane w celu wykonania określonych zadań.