Typ danych C++ Char z przykładami

Co to jest Char?

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

W tym samouczku C++ dowiesz się:

Co to jest ASCII?

Wartość char jest interpretowana jako znak ASCII. Jest to podobne do tego, jak wartości logiczne są interpretowane jako prawdziwe lub fałszywe. ASCII to akronim od American Standard Code for Information Interchange. Definiuje specyficzny sposób przedstawiania znaków angielskich 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. Po nim powinna następować nazwa zmiennej. Zmienną można zainicjować w momencie deklaracji. Wartość zmiennej należy ująć w pojedyncze cudzysłowy.

Składnia:

Oto składnia deklaracji znaków w C++: |_+_|

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

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

  • Nazwa-zmiennej to nazwa zmiennej char.
  • Wartość to wartość, która ma zostać przypisana do zmiennej char.

Przykład 1:

 char variable-name; 

Wyjście:

Oto zrzut ekranu kodu:

Wyjaśnienie kodu:

  1. Dołączenie pliku nagłówkowego iostream do naszego kodu, aby korzystać z jego funkcji.
  2. Włączenie przestrzeni nazw std do naszego kodu w celu korzystania z jej klas bez wywoływania jej.
  3. Wywołanie funkcji main(). Logika programu powinna zostać dodana w treści tej funkcji.
  4. Zadeklaruj zmienną znakową o nazwie grade. Zmiennej również przypisano wartość B. Zauważ, że wartość zmiennej jest ujęta w pojedyncze cudzysłowy.
  5. Wydrukuj wartość zmiennej oceny wraz z innym tekstem w konsoli.
  6. Program musi zwrócić wartość po pomyślnym zakończeniu.
  7. Koniec treści funkcji main().

Drukowanie wartości ASCII

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

Przykład 2:

 char variable-name = 'value'; 

Wyjście:

Oto zrzut ekranu kodu:

Wyjaśnienie kodu:

  1. Włączenie pliku nagłówkowego iostream do naszego kodu w celu wykorzystania jego funkcji.
  2. Włączenie przestrzeni nazw std do naszego kodu w celu korzystania z jej klas bez wywoływania jej.
  3. Wywołanie funkcji main(). Logika programu powinna zostać dodana 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 wprowadzony 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

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

Przykład 3:

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

Wyjście:

Oto zrzut ekranu kodu:

Wyjaśnienie kodu:

  1. Dołączanie pliku nagłówkowego iostream do kodu. Będziemy wtedy korzystać z jego funkcji bez błędów.
  2. Dołącz do kodu przestrzeń nazw std. Użyjemy jego klas bez wywoływania go.
  3. Wywołanie funkcji main(). Logika programu powinna przejść do treści tej funkcji.
  4. Zadeklaruj trzy zmienne char x, y i z. Te trzy mają przypisane 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ł zadeklarowany jako znak, zostanie zwrócony znak o wartości ASCII 65, czyli A.
  6. Wydrukuj wartość zmiennej y na konsoli. Ponieważ y został zadeklarowany jako znak, zostanie zwrócony znak o wartości ASCII 66, czyli B.
  7. Wydrukuj wartość zmiennej z na konsoli. Ponieważ z zostało zadeklarowane jako znak, zostanie zwrócony znak o wartości ASCII 67, czyli C.
  8. Program musi zwrócić wartość po pomyślnym zakończeniu.
  9. Koniec ciała funkcji main().

Wprowadzanie znaków

Możemy użyć funkcji std::cin, aby odczytać znak wprowadzony przez użytkownika za pomocą klawiatury. Std::cin pozwoli na wprowadzenie wielu znaków. Jednak zmienna znak 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 do std::cin.

Przykład 4:

 #include using namespace std; int main() { char ch; cout <> ch; cout << 'The ASCII Value of ' << ch << ' is ' << int(ch); return 0; } 

Wyjście:

Oto zrzut ekranu kodu:

Wyjaśnienie kodu:

  1. Dołączenie pliku nagłówkowego iostream do naszego kodu, aby korzystać z 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(). Logika programu powinna zostać dodana w treści tej funkcji.
  4. Wydrukuj tekst na konsoli.
  5. Zadeklaruj zmienną znakową o nazwie ch.
  6. Odczytywanie danych wprowadzonych przez 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, będzie przechowywany 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 wprowadzony przez użytkownika. Użytkownik nie będzie musiał wprowadzać nowego znaku. Zamiast tego odczyta drugi wprowadzony znak, czyli 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.

Omówmy je:

#1: Użycie konstruktora podanego przez klasę String

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

Parametr n oznacza rozmiar ciągu, który ma zostać wygenerowany.

Parametr x to znak, który ma zostać przekonwertowany na ciąg.

Funkcja zwraca ciąg.

Przykład 5:

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

Wyjście:

Oto zrzut ekranu kodu:

Wyjaśnienie kodu:

  1. Dołączenie pliku nagłówkowego iostream do naszego kodu, aby korzystać z jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby 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(). Logika programu powinna zostać dodana w treści tej funkcji.
  5. Przekształć znak „C” w ciąg o długości 1 i przypisz wynikowy ciąg do zmiennej st.
  6. Wydrukuj wartość ciągu st w konsoli obok innego tekstu.
  7. Program musi zwrócić wartość po pomyślnym zakończeniu.
  8. Koniec treści funkcji main().

#2) Używając operatorów std::string = i +=

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

Przykład 6:

 #include using namespace std; int main() { cout <> ch; cout <<'The ASCII code of '<< ch << ' is '<< int(ch) <> ch; cout <<'The ASCII code of ' << ch << ' is '<< int(ch) << '
'; return 0; } 

Wyjście:

Oto zrzut ekranu kodu:

Wyjaśnienie kodu:

  1. Dołącz plik nagłówkowy iostream do naszego kodu, aby korzystać z jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby 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(). Logika programu powinna zostać dodana w treści tej funkcji.
  5. Utwórz zmienną łańcuchową o nazwie st.
  6. Utwórz postać o nazwie b o 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 w konsoli obok innego tekstu.
  10. Program musi zwrócić wartość po pomyślnym zakończeniu.
  11. Koniec treści funkcji main().

#3: Korzystanie z 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 ciągu. Jest przeciążony dla znaków.

    Przyjmuje następującą składnię: |_+_|

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

  • dodać

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

    Funkcja przyjmuje następującą składnię: |_+_|

    Parametr n oznacza, ile razy znak będzie dodawany.

    Parametr ch jest znakiem dołączanym do łańcucha.

  • przydzielać

    Ta funkcja zastępuje bieżącą zawartość ciągu n kopiami określonego znaku.

    Przyjmuje następującą składnię: |_+_|

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

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

  • wstawić

    Funkcja insert wstawia n kopii znaku na pozycji początkowej ciągu, jak określono w argumentach.

    Przyjmuje następującą składnię: |_+_|

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

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

    Parametr ch to znak, który należy wstawić do łańcucha.

Przykład 7:

 string st(int n,char x); 

Wyjście:

Oto zrzut ekranu kodu:

  1. Dołącz plik nagłówkowy iostream do naszego kodu, aby korzystać z jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby 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(). Logika programu powinna zostać dodana 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 w konsoli obok innego tekstu. Endl (linia końcowa) przesuwa kursor do następnej linii.
  8. Ustaw wartość ciągu st na pustą.
  9. Przypisz pojedynczy znak C do ciągu o nazwie st.
  10. Wydrukuj wartość ciągu st w konsoli obok innego tekstu. Endl (linia końcowa) przesuwa kursor do następnej linii.
  11. Ustaw wartość ciągu st na pustą.
  12. Zastąp zawartość ciągu st pojedynczym znakiem D.
  13. Wydrukuj wartość ciągu st w konsoli obok innego tekstu. Endl (linia końcowa) przesuwa kursor do następnej linii.
  14. Wstaw pojedynczy znak E do ciągu o nazwie st z pierwszego indeksu.
  15. Wydrukuj wartość ciągu st w konsoli obok innego tekstu. Endl (linia końcowa) przesuwa kursor do następnej linii.
  16. Program musi zwrócić wartość po pomyślnym zakończeniu.
  17. Koniec treści funkcji main().

#4: Korzystanie z std::stringstream

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

Zostaną zapisane do ciągu.

Przykład 8:

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

Wyjście:

Oto zrzut ekranu kodu:

Wyjaśnienie kodu:

  1. Dołącz plik nagłówkowy iostream do naszego kodu, aby korzystać z jego funkcji.
  2. Dołącz plik nagłówkowy ciągu do naszego kodu, aby korzystać z jego funkcji.
  3. Dołącz plik nagłówkowy sstream do naszego kodu, aby 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(). Logika programu powinna zostać dodana 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 strumienia na ciąg.
  10. Wydrukuj wartość ciągu st w konsoli obok innego tekstu. Endl (linia końcowa) przesuwa kursor do następnej linii.
  11. Program musi zwrócić wartość po pomyślnym zakończeniu.
  12. Koniec treści funkcji main().

Streszczenie:

  • Char 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 znaków są interpretowane jako znaki ASCII.
  • ASCII to akronim od American Standard Code for Information Interchange.
  • Określa specyficzny sposób przedstawiania znaków angielskich w postaci liczb.
  • Aby zobaczyć wartość ASCII znaku, przekazujemy ją do funkcji int().
  • Aby zobaczyć odpowiednią wartość znaku wartości ASCII, definiujemy ASCII jako znak.