Funkcija toupper C programavimo kalboje

Skaitymo trukmė: 2 minutės

C programavimo kalboje yra sukurta daug funkcijų, kurios lengvina (dažnu atveju) programuotojų gyvenimus ir padeda sutaupyti laiko. Viena tokių funkcijų, kuri yra aprašyta standartinėje C kalbos bibliotekoje, yra toupper. Šią funkciją ir aptarsime šiame straipsnyje, kuris yra padalintas į tris dalis:

Funkcijos toupper struktūra:

Funkcijos prototipas: int toupper(int c);

Grąžinama reikšmė:
nepakitusi gauto c kintamojo reikšmė arba gautos reikšmės ir 32 skirtumas (c - 32).

Parametrų sąrašas:
(int c) - sveikasis skaičius, kuris yra tikrinamas. Nuo šio skaičiaus priklauso galutinis rezultatas

Antraščių failas: <ctype.h>.

1. Funkcija toupper. Kas tai?

Funkcija toupper C progamavimo kalboje yra naudinga, kai mes norime mažąją raidę pakeisti didžiąja raide. Taigi jeigu iškviečiame šią funkciją ir perduodame jai mažąją raidę, tada ši funkcija mums gražina šios raidės didžiąją versiją (jeigu perduodame 'a', tada yra gražinama 'A').

Šioje vietoje gali kilti klausimas. Kodėl mes perduodame raides toupper funkcijai, jeigu šios funkcijos prototipe yra priimama sveikojo skaičiaus (int) reikšmė? Atsakymas gana paprastas - kiekviena raidė C programavimos kalboje turi savo sveikojo skaičiaus atitikmenį. Raidė 'a' atitinka reikšmę 97, raidė 'b' - 98 ir taip toliau.

Didžiųjų raidžių sveikųjų skaičių reikšmės yra 32 vienetais mažesnės nei jų mažųjų raidžių atitikmenų. Raidė 'A' atitinka reikšmę 65, o C kalboje tai yra raidės 'a' ir 32 skirtumas.

Žemiau galite matyti toupper funkcijos naudojimo pavyzdį.

1 pavyzdys: kaip atspausdinamas angliška didžiųjų raidžių abecelė naudojant ir toupper funkciją.

# include <stdio.h>
# include <ctype.h>
int main ()
{
    
printf ( "Abecelė: " );
    
for ( int i = 'a' ; i <= 'z' ; i++)
    
{
        
printf ( "%c" , toupper(i));
    
}
    
return 0;
}
					

Galimas rezultatas:

Abecelė: ABCDEFGHIJKLMNOPQRSTUVWXYZ

2. Perrašyta toupper funkcija

Pirmoje dalyje išmokome, jog toupper funkcija gražina didžiąją raidę, jeigu jai perduodame mažąją. O tai yra pasiekiama atimant 32 iš gautos reikšmės. Todėl norėdami tiksliai perrašyti šią funkciją turime patikrinti, ar gauta sveikojo skaičiaus reikšmė yra mažosios raidės atitikmuo ir, tokiu atveju, atimti 32 bei grąžinti skirtumą. Tam, jog šitai suprastumėte geriau, pažvelkite į antrą pavyzdį.

2 pavyzdys: C kalba perrašyta toupper funkcija.

int nauja_toupper ( int c)
{
    
if (c >= 'a' && c <= 'z' )
        
return (c - 32);
    
return (c);
}
					

2-ame pavyzdyje, trečioje eilutėje galime matyti sąlyginį sakinį. Šio sakinio sąlyga žmonių kalba galėtų skambėti taip, "ar gauta c reikšmė yra nuo 97 iki 122" (nuo a iki z). Jeigu taip, iš šios reikšmės atimame 32 ir grąžiname skirtumą (4 eilutė). Kitu atveju gražiname nepakeistą reikšmę (5 eilutė). Galbūt gauta reikšmė jau buvo didžioji raidė, o galbūt tai buvo taškas.

3. Žinių patikrinimas

Funkcija toupper C programavimo kalboje

1Ko niekada neatlieka toupper funkcija?

2Kuris iš pateiktų intervalų atitinką anglišką mažųjų raidžių abėcėlę?

3Kokia yra funkcijos toupper(102) grįžtamoji reikšmė?

Žinių patikrinimas baigtas!

Sveikiname!

Pasidalinkite savo geru rezultatu!