Typ danych C ++ Char z przykładami

Spisie treści:

Anonim

Co to jest Char?

Char to typ danych C ++ przeznaczony do przechowywania listów. Char to akronim znaku. Jest to integralny typ danych, co oznacza, że ​​wartość jest przechowywana jako liczba całkowita. Znak zajmuje rozmiar pamięci 1 bajta. Przechowuje również pojedynczy znak.

W tym samouczku C ++ nauczysz się:

  • Co to jest Char?
  • Co to jest ASCII?
  • Deklaracja Char
  • Składnia:
  • Drukowanie wartości ASCII
  • Drukowanie wartości znaku
  • Wprowadzanie znaków
  • Konwersja znaku na ciąg

Co to jest ASCII?

Wartość char jest interpretowana jako znak ASCII. Jest to podobne do sposobu, w jaki wartości logiczne są interpretowane jako prawdziwe lub fałszywe. ASCII to skrót od American Standard Code for Information Interchange. Definiuje specyficzny sposób przedstawiania angielskich znaków jako liczb.

Liczby mieszczą się w zakresie od 0 do 127. Na przykład znak „a” jest odpowiednikiem kodu ASCII 97.

Deklaracja Char

Aby zadeklarować zmienną char w C ++, używamy słowa kluczowego char. Powinna po niej następować nazwa zmiennej. Zmienna może zostać zainicjowana w momencie deklaracji. Wartość zmiennej należy ująć w pojedyncze cudzysłowy.

Składnia:

Oto składnia deklaracji znaku w C ++:

char variable-name;

Nazwa-zmiennej to nazwa, która ma zostać przypisana do zmiennej.

Jeśli wartość ma być przypisana w momencie deklaracji, możesz użyć następującej składni:

char variable-name = 'value';
  • Nazwa zmiennej to nazwa zmiennej typu char.
  • Wartość to wartość, która ma zostać przypisana do zmiennej char.

Przykład 1:

#include using namespace std;int main() {char grade = 'B';cout << "I scored a: "<

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu, aby używać jego funkcji.
  2. Dołączanie przestrzeni nazw std do naszego kodu, aby używać jej klas bez wywoływania jej.
  3. Wywołanie funkcji main (). Logikę programu należy dodać w treści tej funkcji.
  4. Zadeklaruj zmienną znakową o nazwie grade. Zmiennej przypisano również wartość B. Zwróć uwagę, że wartość zmiennej jest ujęta w pojedyncze cudzysłowy.
  5. Wydrukuj wartość zmiennej oceny obok innego tekstu na konsoli.
  6. Program musi zwrócić wartość po pomyślnym zakończeniu.
  7. Koniec treści funkcji main ().

Drukowanie wartości ASCII

Jak stwierdzono powyżej, każdy znak jest interpretowany jako znak ASCII. Możliwe jest pobranie wartości ASCII dowolnego znaku. Po prostu przekazujesz znak do funkcji int (). Ten proces nazywa się rzutowaniem typów. Pokażmy to:

Przykład 2:

#include using namespace std;int main() {char ch;cout << "Enter any character: ";cin >> ch;cout << "The ASCII Value of " << ch << " is " << int(ch);return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu w celu wykorzystania jego funkcji.
  2. Włączanie przestrzeni nazw std do naszego kodu, aby używać jej klas bez wywoływania jej.
  3. Wywołanie funkcji main (). Logikę programu należy dodać w treści tej funkcji.
  4. Zadeklaruj zmienną char o nazwie ch.
  5. Wydrukuj tekst na konsoli. Tekst prosi użytkownika o podanie wartości zmiennej ch.
  6. Odczytaj dane wprowadzone przez użytkownika z klawiatury i zapisz je w zmiennej ch.
  7. Wydrukuj tekst na konsoli. Tekst będzie zawierał znak, który wprowadziłeś dla zmiennej ch, wartość ASCII tego znaku i inny tekst.
  8. Program musi zwrócić wartość po pomyślnym zakończeniu.
  9. Koniec treści funkcji main ().

Drukowanie wartości znaku

Mając wartość ASCII, kompilator C ++ może zwrócić odpowiedni znak. Deklarujesz zmienną typu char i przypisujesz jej wartość całkowitą. Zostanie przekonwertowany na odpowiednią wartość znaku.

Przykład 3:

#include using namespace std;int main() {char x = 64, y = 66, z = 71;cout << x;cout << y;cout << z;return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do kodu. Będziemy wtedy używać jego funkcji bez błędów.
  2. Dołącz przestrzeń nazw std do kodu. Będziemy używać jego klas bez nazywania go.
  3. Wywołanie funkcji main (). Logika programu powinna znaleźć się w treści tej funkcji.
  4. Zadeklaruj trzy zmienne typu char x, y i z. Tym trzem przypisano wartości całkowite 65, 66 i 67. Będą one traktowane jako wartości ASCII dla znaków.
  5. Wydrukuj wartość zmiennej x na konsoli. Ponieważ x zostało zadeklarowane jako znak, zostanie zwrócony znak o wartości ASCII równej 65, czyli A.
  6. Wydrukuj wartość zmiennej y na konsoli. Ponieważ y zostało zadeklarowane jako znak, zostanie zwrócony znak z wartością ASCII równą 66, czyli B.
  7. Wydrukuj wartość zmiennej z na konsoli. Ponieważ z zostało zadeklarowane jako znak char, zostanie zwrócony znak o wartości ASCII równej 67, czyli C.
  8. Program musi zwrócić wartość po pomyślnym zakończeniu.
  9. Koniec treści funkcji main ().

Wprowadzanie znaków

Możemy użyć funkcji std :: cin do odczytania znaku wprowadzonego przez użytkownika za pomocą klawiatury. Std :: cin pozwoli ci wprowadzić wiele znaków. Jednak zmienna znakowa może zawierać tylko jeden znak. Oznacza to, że tylko pierwszy wprowadzony znak zostanie wyodrębniony i zapisany w zmiennej znakowej. Reszta pozostanie w buforze używanym przez std :: cin. Aby go wyodrębnić, wykonaj kolejne wywołania std :: cin.

Przykład 4:

#include using namespace std;int main() {cout << "Type a sequence of characters: ";char ch;cin >> ch;cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';cin >> ch;cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu, aby używać jego funkcji.
  2. Uwzględnij przestrzeń nazw std w naszym kodzie, aby używać jej klas bez wywoływania jej.
  3. Wywołanie funkcji main (). Logikę programu należy dodać w treści tej funkcji.
  4. Wydrukuj tekst na konsoli.
  5. Zadeklaruj zmienną znakową o nazwie ch.
  6. Odczytaj dane wejściowe użytkownika z klawiatury. Wejście zostanie zapisane w zmiennej ch. Ponieważ użytkownik wpisze sekwencję znaków, taką jak abc, tylko pierwszy znak, a, zostanie zapisany w zmiennej ch.
  7. Drukowanie pierwszego wprowadzonego znaku, jego kodu ASCII i innego tekstu na konsoli. Kod ASCII jest określany przez przekazanie zmiennej znakowej do funkcji int ().
  8. Przeczytaj następny znak, który został wprowadzony przez użytkownika. Użytkownik nie będzie musiał wprowadzać nowego znaku. Zamiast tego odczyta drugi wprowadzony znak, to znaczy b.
  9. Drukowanie drugiego wprowadzonego znaku, jego kodu ASCII i innego tekstu na konsoli. Kod ASCII jest określany przez przekazanie zmiennej znakowej do funkcji int ().
  10. Program musi zwrócić wartość po pomyślnym zakończeniu.
  11. Koniec treści funkcji main ().

Konwersja znaku na ciąg

Istnieje wiele sposobów konwersji znaków na łańcuchy.

Porozmawiajmy o nich:

# 1: Korzystanie z konstruktora podanego przez klasę String

Można to zrobić za pomocą następującej składni:

string st(int n,char x);

Parametr n określa rozmiar ciągu, który ma zostać wygenerowany.

Parametr x to znak, który ma zostać przekształcony w łańcuch.

Funkcja zwraca ciąg.

Przykład 5:

#include#include using namespace std;int main() {string st(1, 'C');cout << "The resulting string is : " << st;return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do naszego kodu, aby używać jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby móc korzystać z jego funkcji.
  3. Uwzględnij przestrzeń nazw std w naszym kodzie, aby używać jej klas bez wywoływania jej.
  4. Wywołanie funkcji main (). Logikę programu należy dodać w treści tej funkcji.
  5. Zamień znak „C” na ciąg o 1 długości i przypisz wynikowy ciąg do zmiennej st.
  6. Wydrukuj wartość ciągu st na konsoli obok innego tekstu.
  7. Program musi zwrócić wartość po pomyślnym zakończeniu.
  8. Koniec treści funkcji main ().

# 2) Użycie operatorów std :: string = i + =

Operatory = i + = są już przeciążone znakami. Oba mogą służyć do konwersji określonego znaku na ciąg.

Przykład 6:

#include#include using namespace std;int main() {string st;char b = 'B';st = 'A';st += b;cout << "The resulting string is : " << st;return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołącz plik nagłówkowy iostream do naszego kodu, aby móc korzystać z jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby móc korzystać z jego funkcji.
  3. Uwzględnij przestrzeń nazw std w naszym kodzie, aby używać jej klas bez wywoływania jej.
  4. Wywołanie funkcji main (). Logikę programu należy dodać w treści tej funkcji.
  5. Utwórz zmienną łańcuchową o nazwie st.
  6. Utwórz znak o nazwie b z wartością B.
  7. Przypisz wartość A do ciągu o nazwie st.
  8. Użyj operatora + =, aby przekonwertować znaki na ciąg.
  9. Wydrukuj wartość ciągu st na konsoli obok innego tekstu.
  10. Program musi zwrócić wartość po pomyślnym zakończeniu.
  11. Koniec treści funkcji main ().

# 3: Używanie metod std :: string

Klasa std :: string zawiera wiele przeciążonych funkcji, które mogą pomóc w konwersji znaków na ciągi.

Zawierają:

  • push_back

    Ta funkcja przypisuje określony znak do końca łańcucha. Jest przeciążony dla znaków.

    Przyjmuje następującą składnię:

    void push_back(char ch)

    Parametr ch to znak, który ma zostać zmieniony na łańcuch.

  • dodać

    Przypisuje wiele kopii określonego znaku do ciągu.

    Funkcja ma następującą składnię:

    string& append(size_t n,char ch)

    Parametr n oznacza czasy, w których znak zostanie dołączony.

    Parametr ch jest znakiem, który ma zostać dołączony do łańcucha.

  • przydzielać

    Ta funkcja zastępuje bieżącą zawartość łańcucha n kopiami podanego znaku.

    Przyjmuje następującą składnię:

    string& assign(size_t n,char ch);

    Parametr n oznacza całkowitą liczbę kopii dla znaku.

    Parametr ch to znak do skopiowania do łańcucha.

  • wstawić

    Funkcja wstawiania wstawia n kopii znaku w pozycji początkowej ciągu, zgodnie z argumentami.

    Przyjmuje następującą składnię:

    string& insert(size_t p,size_t n,char ch); 

    Parametr p oznacza pozycję od początku, w której zostaną wstawione znaki.

    Parametr n oznacza całkowitą liczbę kopii dla znaku.

    Parametr ch to znak, który ma zostać wstawiony do ciągu.

Przykład 7:

#include#include using namespace std;int main() {string st;st.push_back('A');cout << "push_back A returns : " << st << endl;st = "";st.append(1, 'C');cout << "append C returns : " << st << endl;st = "";st.assign(1, 'D');cout << "assign D returns : " << st << endl;st.insert(0, 1, 'E');cout << "insert single character returns : " << st << endl;return 0;}

Wynik:

Oto zrzut ekranu kodu:

  1. Dołącz plik nagłówkowy iostream do naszego kodu, aby móc korzystać z jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby móc korzystać z jego funkcji.
  3. Uwzględnij przestrzeń nazw std w naszym kodzie, aby używać jej klas bez wywoływania jej.
  4. Wywołanie funkcji main (). Logikę programu należy dodać w treści tej funkcji.
  5. Utwórz zmienną łańcuchową o nazwie st.
  6. Przypisz znak A do końca ciągu.
  7. Wydrukuj wartość ciągu st na konsoli obok innego tekstu. Endl (end line) przenosi kursor do następnego wiersza.
  8. Ustaw wartość ciągu st na pusty.
  9. Przypisz pojedynczy znak C do ciągu o nazwie st.
  10. Wydrukuj wartość ciągu st na konsoli obok innego tekstu. Endl (end line) przenosi kursor do następnego wiersza.
  11. Ustaw wartość ciągu st na pusty.
  12. Zastąp zawartość łańcucha st pojedynczym znakiem D.
  13. Wydrukuj wartość ciągu st na konsoli obok innego tekstu. Endl (end line) przenosi kursor do następnego wiersza.
  14. Wstaw pojedynczy znak E do łańcucha nazwanego st z jego pierwszego indeksu.
  15. Wydrukuj wartość ciągu st na konsoli obok innego tekstu. Endl (end line) przenosi kursor do następnego wiersza.
  16. Program musi zwrócić wartość po pomyślnym zakończeniu.
  17. Koniec treści funkcji main ().

# 4: Używanie std :: stringstream

Aby użyć tej klasy do konwersji znaku na ciąg, wstaw znak do strumienia.

Zostaną zapisane w łańcuchu.

Przykład 8:

#include#include #include using namespace std;int main() {string st;stringstream myst;myst << 'A';myst >> st;cout << "The conversion of the single character returns the string: " << st;return 0;}

Wynik:

Oto zrzut ekranu kodu:

Objaśnienie kodu:

  1. Dołącz plik nagłówkowy iostream do naszego kodu, aby móc korzystać z jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby móc korzystać z jego funkcji.
  3. Dołącz plik nagłówkowy sstream do naszego kodu, aby móc korzystać z jego funkcji.
  4. Uwzględnij przestrzeń nazw std w naszym kodzie, aby używać jej klas bez wywoływania jej.
  5. Wywołanie funkcji main (). Logikę programu należy dodać w treści tej funkcji.
  6. Utwórz zmienną łańcuchową o nazwie st.
  7. Utwórz zmienną strumienia o nazwie myst.
  8. Wstaw znak A do obiektu strumienia o nazwie myst.
  9. Przekonwertuj obiekt stream na ciąg.
  10. Wydrukuj wartość ciągu st na konsoli obok innego tekstu. Endl (end line) przenosi kursor do następnego wiersza.
  11. Program musi zwrócić wartość po pomyślnym zakończeniu.
  12. Koniec treści funkcji main ().

Podsumowanie:

  • Znak to typ danych C ++ używany do przechowywania liter.
  • C ++ Char jest integralnym typem danych, co oznacza, że ​​wartość jest przechowywana jako liczba całkowita.
  • Zajmuje rozmiar pamięci 1 bajt.
  • C ++ Char przechowuje tylko jeden znak.
  • Wartości Char są interpretowane jako znaki ASCII.
  • ASCII to skrót od American Standard Code for Information Interchange.
  • Określa specyficzny sposób przedstawiania angielskich znaków w postaci liczb.
  • Aby zobaczyć wartość znaku ASCII, przekazujemy ją do funkcji int ().
  • Aby zobaczyć odpowiednią wartość znaku wartości ASCII, definiujemy ASCII jako znak.