Kirjoitettu ohjelmointikieli. Scanf C -toiminto: kuvaus Yleiset ominaisuudet c

1. Esittely

Ohjelmointi vaatii uusia universaaleja algoritmimalleja, ja laitteisto toteuttaa algoritmeja paitsi eri muodossa, myös toisen algoritmimallin - automaatin - perusteella. Teknologian lainaaminen laitteistokehityksestä on automaatioohjelmoinnin keskeinen idea. Kuitenkin synteesi digitaaliset laitteet eroaa ohjelmoinnista. Mutta mallia lainattaessa toisaalta sitä ei kannata muuttaa merkittävästi, toisaalta ei voi sivuuttaa jo olemassa olevaa ohjelmoinnin teoriaa ja käytäntöä.

Seuraavaksi tarkastellaan SWITCH-tekniikkaa automaattiohjelmien suunnittelussa, jossa kohtaat jatkuvasti samanlaisia ​​prosesseja. Toisaalta hän muutti mallia niin paljon äärellisen tilan kone, joka itse asiassa vei sen automaatioteorian ulkopuolelle. Ja toisaalta se tuo ohjelmointiin käsitteitä, joita ohjelmoijien on vaikea havaita ja jotka ovat toisinaan yksinkertaisesti tarpeettomia, koska ohjelmateoriasta ja ohjelmointikäytännöstä löytyy tutumpia analogeja.

Pohjaksi automaattisen ohjelmoinnin ongelmista keskustelemme äskettäin Shalyto A.A.:n luennosta. ja hänen "ohjelmointi"-artikkelinsa kohti automaattisen ohjelmoinnin paradigman määritelmää.

C++ ohjelmointikieli

Viimeisin päivitys: 28.08.2017

C++-ohjelmointikieli on korkeatasoinen käännetty yleiskäyttöinen ohjelmointikieli staattinen kirjoitus, joka sopii luomiseen eniten erilaisia ​​sovelluksia. Nykyään C++ on yksi suosituimmista ja yleisimmistä kielistä.

Sen juuret ovat C-kielessä, jonka ohjelmoija Dennis Ritchie kehitti vuosina 1969-1973 Bell Labsissa. 1980-luvun alussa tanskalainen ohjelmoija Bjarne Stroustrup, joka työskenteli silloin Bell Labsissa, kehitti C++:n C-kielen laajennuksena. Itse asiassa alussa C++ yksinkertaisesti täydensi C-kieltä joillakin olio-ohjelmointiominaisuuksilla. Ja siksi Stroustrup itse kutsui sitä alun perin "C-luokilla".

Myöhemmin uusi kieli alkoi saada suosiota. Siihen lisättiin uusia ominaisuuksia, jotka tekivät siitä paitsi C:n lisäyksen, myös täysin uuden ohjelmointikielen. Tämän seurauksena "C with classes" nimettiin uudelleen C++:ksi. Ja siitä lähtien molemmat kielet alkoivat kehittyä toisistaan ​​riippumatta.

C++ on tehokas kieli, joka on perinyt rikkaat muistiominaisuudet C:ltä. Siksi C++ löytää usein sovelluksensa järjestelmäohjelmoinnissa, erityisesti luotaessa käyttöjärjestelmät, ajurit, erilaiset apuohjelmat, virustorjuntaohjelmat jne. Muuten, Windows-käyttöjärjestelmä on enimmäkseen kirjoitettu C++:lla. Mutta vain järjestelmän ohjelmointi tämän kielen käyttöä ei ole rajoitettu. C++:aa voidaan käyttää minkä tahansa tason ohjelmissa, joissa nopeus ja suorituskyky ovat tärkeitä. Sitä käytetään usein luomiseen graafiset sovellukset, erilaisia ​​sovellusohjelmia. Sitä käytetään myös erityisen usein sellaisten pelien luomiseen, joissa on rikas, rikas visualisointi. Lisäksi viime aikoina mobiilisuunta on noussut vauhtiin, jossa myös C++ on löytänyt sovelluksensa. Ja jopa verkkokehityksessä voit myös käyttää C++:aa verkkosovellusten tai tukipalvelujen luomiseen, jotka palvelevat verkkosovelluksia. Yleensä C++ on laajalti käytetty kieli, jolla voit luoda melkein minkä tahansa tyyppisiä ohjelmia.

C++ on käännetty kieli, mikä tarkoittaa, että kääntäjä kääntää lähde C++:ssa suoritettava tiedosto, joka sisältää joukon koneen ohjeita. Mutta eri alustoilla on omat ominaisuutensa, joten käännettyjä ohjelmia ei voi yksinkertaisesti siirtää alustalta toiselle ja ajaa siellä. Lähdekooditasolla C++-ohjelmat ovat kuitenkin suurelta osin siirrettäviä, ellei joitain käyttöjärjestelmäkohtaisia ​​toimintoja käytetä. Ja kääntäjien, kirjastojen ja kehitystyökalujen saatavuus lähes kaikille yleisille alustoille mahdollistaa saman C++-lähdekoodin kääntämisen näiden alustojen sovelluksiin.

Toisin kuin C, C++-kielen avulla voit kirjoittaa sovelluksia olio-tyyliin, joka edustaa ohjelmaa kokoelmana luokkia ja objekteja, jotka ovat vuorovaikutuksessa keskenään. Mikä yksinkertaistaa suurten sovellusten luomista.

Kehityksen päävaiheet

Vuosina 1979-80 Bjarne Stroustrup kehitti C-kieleen laajennuksen - "C with Classes". Vuonna 1983 kieli nimettiin uudelleen C++:ksi.

Ensimmäinen julkaistiin vuonna 1985 kaupallinen versio kieli C++, sekä ensimmäinen painos kirjasta "The C++ Programming Language", joka oli ensimmäinen kuvaus tästä kielestä virallisen standardin puuttuessa.

Julkaistu vuonna 1989 uusi versio C++ 2.0 -kieli, joka sisälsi useita uusia ominaisuuksia. Tämän jälkeen kieli kehittyi suhteellisen hitaasti vuoteen 2011 asti. Mutta samaan aikaan, vuonna 1998, ISO-organisaatio (International Organisation for Standardization) teki ensimmäisen yrityksen standardoida kieltä. Ensimmäisen standardin nimi oli ISO/IEC 14882:1998 tai lyhennettynä C++98. Myöhemmin, vuonna 2003, julkaistiin uusi versio C++03-standardista.

Vuonna 2011 se julkaistiin uusi standardi C++11, joka sisälsi monia lisäyksiä ja rikastutti C++-kieltä suurella määrällä uusia toimintoja. Tämän jälkeen standardiin, joka tunnetaan myös nimellä C++14, julkaistiin vuonna 2014 pieni lisäys. Ja toinen tärkeä kielen julkaisu on suunniteltu vuodelle 2017.

Kääntäjät ja kehitysympäristöt

Ohjelmien kehittämiseen C++-kielellä tarvitset kääntäjän - se kääntää C++:n lähdekoodin suoritettavaksi tiedostoksi, jonka voit sitten suorittaa. Mutta tällä hetkellä on olemassa monia erilaisia ​​kääntäjiä. Ne voivat erota eri näkökohdista, erityisesti standardien täytäntöönpanosta. Perusluettelo C++:n kääntäjistä löytyy Wikipediasta. Kehitykseen on suositeltavaa valita ne kääntäjät, jotka kehittävät ja ottavat käyttöön kaikki uusimmat standardit. Siten koko tämän opetusohjelman ajan käytämme ensisijaisesti GNU Projectin kehittämää vapaasti saatavilla olevaa g++-kääntäjää.

Voit myös käyttää integroituja kehitysympäristöjä (IDE) ohjelmien luomiseen, kuten Visual Studio, Netbeans, Eclipse, Qt jne.

Opitaan C++-ohjelmointikielen perusteet ja hienoudet. Oppikirja, jossa on käytännön tehtäviä ja testejä. Haluatko oppia ohjelmoimaan? Silloin olet oikeassa paikassa – tässä ilmainen ohjelmointikoulutus. Olitpa kokenut tai ei, nämä ohjelmointitunnit auttavat sinua pääsemään alkuun C++-ohjelmien luomisessa, kääntämisessä ja virheenkorjauksessa useissa kehitysympäristöissä: Visual Studio, Code::Blocks, Xcode tai Eclipse.

Paljon esimerkkejä ja yksityiskohtaisia ​​selityksiä. Täydellinen sekä aloittelijoille (nukkeille) että edistyneemmille. Kaikki on selitetty tyhjästä yksityiskohtiin. Nämä oppitunnit (200+) antavat sinulle hyvän pohjan/perustan ohjelmoinnin ymmärtämiseen paitsi C++:ssa myös muilla ohjelmointikielillä. Ja se on täysin ilmainen!

Mukana on myös vaiheittainen pelin luominen C++:ssa, SFML-grafiikkakirjasto ja yli 50 tehtävää, joilla voit testata taitojasi ja tietosi C++:ssa. Lisäbonus on.

Uudelleenlähetyksestä +20 karmalle ja kiitollisuuteni!

Luku nro 0. Johdanto. Työn alku

Luku nro 1. C++ perusteet

Luku nro 2. Muuttujat ja perustietotyypit C++:ssa

Luku nro 3. Operaattorit C++:ssa

Luku nro 4. Laajuus ja muun tyyppiset muuttujat C++:ssa

Luku nro 5. Järjestys, jossa koodi suoritetaan ohjelmassa. Silmukat ja haarat C++:ssa

C/C++ Standard Library sisältää useita toimintoja konsoliin lukemiseen ja kirjoittamiseen (näppäimistö ja näyttö). Nämä toiminnot lukevat ja kirjoittavat dataa yksinkertaisena merkkijonona.

Ohjelmoinnissa käytetty virran käsite liittyy läheisesti tämän sanan tavalliseen, jokapäiväiseen ymmärtämiseen. Tulovirtaa voidaan verrata putkeen, jonka kautta vesi (tieto) tulee altaaseen (tietokoneen muistiin), ja lähtövirtaa voidaan verrata putkeen, jonka kautta vesi poistuu altaalta. Tämän putken tärkeä ominaisuus on, että data voi liikkua vain yhteen suuntaan kerrallaan. Vaikka samaa putkea käytettäisiin tuloon ja ulostuloon, tämä ei voi tapahtua samanaikaisesti: virtaussuunnan vaihtamiseksi se on pysäytettävä, suoritettava jokin toimenpide ja vasta sitten virtaus voidaan suunnata vastakkaiseen suuntaan. Toinen virran ominaisuus on, että se ei melkein koskaan valu kuivaksi. Joskus se kuivuu, mutta tämä ajanjakso ei voi olla pitkä, jos järjestelmä toimii normaalisti.

Vakiotulostusfunktio printf()

Printf()-funktio on vakiotulostusfunktio. Tämän toiminnon avulla voit näyttää näyttöruudulla merkkijonon, numeron, muuttujan arvon...

Printf()-funktiolla on prototyyppi tiedostossa stdio.h
int printf(char *ohjausmerkkijono, ...);

Jos onnistuu, printf() palauttaa tulostettujen merkkien määrän.

Ohjausrivi sisältää kahden tyyppisiä tietoja: merkkejä, jotka tulostetaan suoraan näytölle, ja muotomäärityksiä, jotka määrittävät, kuinka argumentit tulostetaan.

Printf()-funktio on alustettu tulostefunktio. Tämä tarkoittaa, että funktioparametreissa on määritettävä tulostettavan tiedon muoto. Tietomuodon määrittävät muodon määrittäjät. Muotomääritys alkaa %-merkillä, jota seuraa muotokoodi.

Muotomäärittelyt:

%Kanssa symboli
%d kokonaisluku desimaaliluku
%i kokonaisluku desimaaliluku
%e desimaaliluku muodossa x.xx e+xx
%E desimaaliluku muodossa x.xx E+xx
%f
%F desimaaliliukuluku xx.xxxx
%g %f tai %e sen mukaan, kumpi on lyhyempi
%G %F tai %E sen mukaan, kumpi on lyhyempi
%o oktaaliluku
%s merkkijono
%u etumerkitön desimaaliluku
%x heksadesimaaliluku
%X heksadesimaaliluku
%% symboli %
%p osoitin
%n osoitin

Lisäksi l- ja h-muuttujia voidaan käyttää muotoilukomentoihin.

%ld tulosta pitkä in
%hu leima lyhyt allekirjoittamaton
%Lf pitkä kaksoisleima

Muotomäärityksessä %-symbolin jälkeen voidaan määrittää tarkkuus (desimaalipilkun jälkeen olevien numeroiden määrä). Tarkkuus asetetaan seuraavasti: %.n<код формата>. Missä n on desimaalipilkun jälkeisten numeroiden lukumäärä ja<код формата>- jokin yllä olevista koodeista.

Jos meillä on esimerkiksi float-tyyppinen muuttuja x=10,3563 ja haluamme näyttää sen arvon kolmen desimaalin tarkkuudella, meidän tulee kirjoittaa:

printf("Muuttuja x = %.3f",x);

Tulos:
Muuttuja x = 10,356

Voit myös määrittää tulostukseen varatun kentän vähimmäisleveyden. Jos rivi tai numero on suurempi kuin määritetty kentän leveys, rivi tai numero tulostetaan kokonaan.

Jos esimerkiksi kirjoitat:

printf("%5d",20);

niin tulos on seuraava:
20

Huomaa, että numeroa 20 ei painettu rivin alusta alkaen. Jos haluat, että kentän käyttämättömät tilat täytetään nollilla, sinun on laitettava 0-symboli kentän leveyden eteen.

Esimerkiksi:

printf("%05d",20);

Tulos:
00020

Tietomuotomääritteiden lisäksi ohjausrivi voi sisältää ohjausmerkkejä:

\b BS, pohja
\f Uusi sivu, sivun muutos
\n Uusi rivi, rivinvaihto
\r Vaunun palautus
\t Vaakataulukko
\v Pysty välilehti
\" Tuplalainaus
\" Heittomerkki
\\ Kenoviiva
\0 Nollamerkki, nollatavu
\a Signaali
\N Oktaalivakio
\xN Heksadesimaalivakio
\? Kysymysmerkki

Useimmiten käytät \n-merkkiä. Tällä ohjausmerkillä voit siirtyä uudelle riville. Katso esimerkkiohjelmia ja ymmärrät kaiken.

Esimerkkejä ohjelmista.

/* Esimerkki 1 */
#sisältää

void main(void)
{
int a,b,c; // Ilmoitus muuttujat a,b,c
a = 5;
b = 6;
c = 9;
printf("a=%d, b=%d, c=%d",a,b,c);
}

Ohjelman tulos:
a = 5, b = 6, c = 9

/* Esimerkki 2 */
#sisältää

void main(void)
{
float x,y,z;

X = 10,5;
y = 130,67;
z = 54;

Printf("Objektin koordinaatit: x:%.2f, y:%.2f, z:%.2f", x, y, z);
}

Ohjelman tulos:
Kohteen koordinaatit: x:10.50, y:130.67, z:54.00

/* Esimerkki 3 */
#sisältää

void main()
{
int x;

X = 5;
printf("x=%d", x*2);
}

Ohjelman tulos:
x = 10

/* Esimerkki 4 */
#sisältää

void main(void)
{
printf("\"Teksti lainausmerkeissä\"");
printf("\nHappipitoisuus: 100%%");
}

Ohjelman tulos:
"Teksti lainausmerkeissä"
Happipitoisuus: 100 %

/* Esimerkki 5 */
#sisältää

void main(void)
{
int a;

A = 11; // 11 desimaaleissa on yhtä suuri kuin b heksadesimaaliluvuissa
printf("a-dec=%d, a-hex=%X",a,a);
}

Ohjelman tulos:
a-dec=11, a-hex=b

/* Esimerkki 6 */
#sisältää

void main(void)
{
char ch1,ch2,ch3;

Ch1="A";
ch2="B";
ch3="C";

Tulostaf("%c%c%c",ch1,ch2,ch3);
}

Ohjelman tulos:
ABC

/* Esimerkki 7 */
#sisältää

void main(void)
{
char *str="Oma merkkijono.";

Printf("Tämä on %s",str);
}

Ohjelman tulos:
Tämä on Minun linjani.

/* Esimerkki 8 */
#sisältää

void main(void)
{
printf("Hei!\n"); // Tulostamisen jälkeen tapahtuu siirtyminen uudelle riville - \n
printf("Nimeni on Pavel."); // Tämä tulostetaan uudelle riville
}

Ohjelman tulos:
Hei!
Nimeni on Pavel.

Vakiosyöttöfunktio scanf()

Scanf()-funktio on alustettu syöttöfunktio. Sen avulla voit syöttää tietoja tavallisesta syöttölaitteesta (näppäimistöstä). Syöttötiedot voivat olla kokonaislukuja, liukulukuja, merkkejä, merkkijonoja ja osoittimia.

Scanf()-funktiolla on seuraava prototyyppi tiedostossa stdio.h:
int scanf(char *ohjausmerkkijono);

Funktio palauttaa niiden muuttujien määrän, joille on määritetty arvo.

Ohjausmerkkijono sisältää kolmen tyyppisiä merkkejä: muotomäärityksiä, välilyöntejä ja muita merkkejä. Muotomääritykset alkavat %-merkillä.

Muotomäärittelyt:

Kun syötät merkkijonoa käyttämällä scanf-toiminnot() (muodon määrittäjä %s), rivi syötetään ennen ensimmäistä välilyöntiä!! nuo. jos syötät merkkijonon "Hei maailma!" käyttämällä scanf()-funktiota


scanf("%s",str);

sitten syöttämisen jälkeen tuloksena oleva merkkijono, joka tallennetaan str-taulukkoon, koostuu yhdestä sanasta "Hei". TOIMINTO SYÖTTÄÄ JOON ENNEN ENSIMMÄISTÄ ​​VÄLIÄ! Jos haluat syöttää merkkijonoja, joissa on välilyöntejä, käytä toimintoa

char *gets(char *buf);

Gets()-funktiolla voit syöttää täydet merkkijonot. Gets()-funktio lukee merkkejä näppäimistöltä, kunnes rivinvaihtomerkki (\n) tulee näkyviin. Itse rivinvaihtomerkki tulee näkyviin, kun painat enteriä. Funktio palauttaa osoittimen bufiin. buf - puskuri (muisti) syötemerkkijonolle.

Vaikka gets() ei ole tämän artikkelin aihe, kirjoitetaan esimerkkiohjelma, jonka avulla voit syöttää koko rivin näppäimistöltä ja näyttää sen näytöllä.

#sisältää

void main(void)
{
char puskuri; // taulukko (puskuri) syötemerkkijonolle

Gets(puskuri); // syötä rivi ja paina enter
printf("%s",puskuri); // tulosta syötetty merkkijono näytölle
}

Vielä yksi tärkeä huomio! Tietojen syöttämiseksi scanf()-funktiolla sen on välitettävä muuttujien osoitteet parametreina, ei itse muuttujia. Saadaksesi muuttujan osoitteen, sinun on syötettävä muuttujan nimen eteen & (et-merkki). &-merkki tarkoittaa osoitteen ottamista.

Mitä osoite tarkoittaa? Yritän selittää. Ohjelmassa meillä on muuttuja. Muuttuja tallentaa arvonsa tietokoneen muistiin. Joten tämä on osoite, jonka saamme käyttämällä & on osoite tietokoneen muistissa, johon muuttujan arvo on tallennettu.

Katsotaanpa esimerkkiohjelmaa, joka näyttää meille kuinka käyttää &

#sisältää

void main(void)
{
int x;

Printf("Anna muuttuja x:");
scanf("%d",&x);
printf("Muuttuja x=%d",x);
}

Palataan nyt scanf()-funktion ohjausriville. Uudelleen:

int scanf(char *ohjausmerkkijono);

Ohjausmerkkijonon välilyönti määrää yhden tai useamman välilyönnin ohitettavaksi syöttövirrassa. Välilyönnin lisäksi voidaan havaita sarkain tai rivinvaihtomerkki. Ei-nollamerkki ilmaisee, että merkki on luettu ja hylätty.

Kahden antamasi numeron erottimet ovat välilyönti, sarkain tai rivinvaihto. *-merkki %:n jälkeen ja ennen muotokoodia (muodon määrittäjä) käskee tietotyypin luettavaksi, mutta sitä ei määritetä kyseiselle arvolle.

Esimerkiksi:

scanf("%d%*c%d",&i,&j);

50+20 syöttäminen asettaa muuttujan i arvoksi 50, muuttujan j arvoksi 20 ja +-merkki luetaan ja ohitetaan.

Format-komento voi määrittää suurimman luettavan kentän leveyden.

Esimerkiksi:

scanf("%5s",str);

ilmaisee tarvetta lukea ensimmäiset 5 merkkiä syöttövirrasta. Jos syötät 1234567890ABC, str-taulukko sisältää vain 12345, muut merkit ohitetaan. Erottimet: välilyönti, sarkain ja rivinvaihto – symbolia syötettäessä niitä käsitellään kuten kaikkia muitakin merkkejä.

Jos ohjausmerkkijonossa on muita merkkejä, ne on tarkoitettu tunnistamaan ja ohittamaan vastaava merkki. Merkkivirran 10plus20 operaattori

scanf("%dplus%d",&x,&y);

määrittää arvon 10 muuttujalle x, arvon 20 muuttujalle y ja ohittaa plusmerkit, koska niitä esiintyy ohjausmerkkijonossa.

Yksi scanf()-funktion tehokkaista ominaisuuksista on sen kyky määrittää scanset. Hakusarja määrittää merkkijoukon, johon scanf()-funktion lukemia merkkejä verrataan. Scanf()-funktio lukee merkkejä niin kauan kuin niitä esiintyy hakujoukossa. Heti kun syötettyä merkkiä ei löydy hakujoukosta, scanf()-funktio siirtyy seuraavaan muotomäärittäjään. Hakusarja määritellään hakasulkeissa olevien merkkien luettelon avulla. %-merkki sijoitetaan ennen aloitussulkua. Katsotaanpa tätä esimerkin avulla.

#sisältää

void main(void)
{
char str1, str2;
scanf("%%s", str1, str2);
printf("\n%s\n%s",str1,str2);
}
Syötetään joukko merkkejä:
12345abcdefg456

Ohjelma näyttää näytöllä:
12345
abcdefg456

Kun määrität hakujoukkoa, voit myös käyttää yhdysmerkkiä määrittääksesi välilyönnit sekä syöttökentän enimmäisleveyden.

scanf("%10", str1);

Voit myös määrittää merkkejä, jotka eivät sisälly hakusarjaan. Ensimmäistä näistä merkeistä edeltää ^. Monet merkit erottavat pienet ja isot kirjaimet.

Haluan muistuttaa, että kun käytät scanf()-funktiota, sinun on välitettävä muuttujaosoitteita sille parametreina. Yllä oleva koodi oli kirjoitettu:

char str; // 80 merkin taulukko
scanf("%s",str);

Huomaa, että str:n edessä ei ole &. Tämä tapahtuu, koska str on taulukko ja taulukon nimi - str on osoitin taulukon ensimmäiseen elementtiin. Siksi &-merkkiä ei tule käyttää. Olemme jo välittäneet osoitteen scanf()-funktiolle. Yksinkertaisesti sanottuna str on tietokoneen muistissa oleva osoite, johon taulukon ensimmäisen elementin arvo tallennetaan.

Esimerkkejä ohjelmista.

Esimerkki 1.
Tämä ohjelma näyttää pyynnön "Kuinka vanha olet?:" ja odottaa tietojen syöttämistä. Jos esimerkiksi syötät numeron 20, ohjelma näyttää rivin "Olet 20 vuotta vanha". Kun kutsumme scanf()-funktiota, laitamme &-merkin ikämuuttujan eteen, koska scanf()-funktio tarvitsee muuttujaosoitteita. Scanf()-funktio kirjoittaa syötetyn arvon määritettyyn osoitteeseen. Tässä tapauksessa syötetty arvo 20 kirjoitetaan ikämuuttujan osoitteeseen.

/* Esimerkki 1 */

#sisältää

void main(void)
{
int ikä;

Printf("\nKuinka vanha olet?:");
scanf("%d",&age);
printf("Olet %d vuotta vanha.", ikä);
}

Esimerkki 2.
Laskin ohjelma. Tämä laskin voi lisätä vain numeroita. Kun syötät 100+34, ohjelma tuottaa tuloksen: 100+34=134.

/* Esimerkki 2 */

#sisältää

void main(void)
{
int x, y;

Printf("\nLaskin:");
scanf("%d+%d", &x, &y);
printf("\n%d+%d=%d", x, y, x+y);
}

Esimerkki 3.
Tämä esimerkki näyttää, kuinka lukukentän leveys asetetaan. Esimerkissämme kentän leveys on viisi merkkiä. Jos syötät rivin kanssa iso määrä merkkiä, niin kaikki 5. jälkeen merkityt merkit hylätään. Huomaa scanf()-funktiokutsu. &-merkki ei edeltää taulukon nimeä, koska taulukon nimi on taulukon ensimmäisen elementin osoite.

/* Esimerkki 3 */

#sisältää

void main(void)
{
char nimi;

Printf("\nAnna käyttäjänimesi (enintään 5 merkkiä):");
scanf("%5s", nimi);
printf("\nSyötit %s", nimi);
}

Esimerkki 4.
Tämän artikkelin viimeinen esimerkki näyttää, kuinka hakujoukkoa voidaan käyttää. Kun olet käynnistänyt ohjelman, syötä numero väliltä 2-5.

/* Esimerkki 4 */

#sisältää

void main(void)
{
char bal;

Printf("Arviosi on 2,3,4,5:");
scanf("%", &bal);
printf("\nArviointi %c", bal);
}

Nämä opetusohjelmat ovat kaikille, olitpa uusi ohjelmoinnin parissa tai sinulla on laaja ohjelmointikokemus muilla kielillä! Tämä materiaali on tarkoitettu niille, jotka haluavat oppia C/C++-kieliä sen perusasioista monimutkaisimpiin rakenteisiin.

C++ on ohjelmointikieli, jonka osaaminen antaa sinun ohjata tietokonettasi huipputaso. Ihannetapauksessa voit saada tietokoneen tekemään mitä haluat. Sivustomme auttaa sinua hallitsemaan C++-ohjelmointikielen.

Asennus /IDE

Ensimmäinen asia, joka sinun tulee tehdä ennen C++:n oppimisen aloittamista, on varmistaa, että sinulla on IDE - integroitu kehitysympäristö (ohjelma, jossa ohjelmoit). Jos sinulla ei ole IDE:tä, niin tässä. Kun olet päättänyt IDE:n valinnasta, asenna se ja harjoittele yksinkertaisten projektien luomista.

Johdatus C++:aan

C++-kieli on joukko komentoja, jotka kertovat tietokoneelle, mitä tehdä. Tätä komentosarjaa kutsutaan yleensä lähdekoodiksi tai yksinkertaisesti koodiksi. Komennot ovat joko "funktioita" tai " avainsanoja" Avainsanat (C/C++ varatut sanat) ovat kielen perusrakennuspalikoita. Funktiot ovat monimutkaisia ​​rakennuspalikoita, koska ne on kirjoitettu yksinkertaisemmilla funktioilla - näet tämän aivan ensimmäisessä ohjelmassamme, joka on esitetty alla. Tämä funktiorakenne muistuttaa kirjan sisältöä. Sisältö voi näyttää kirjan luvut, jokaisessa kirjan luvussa voi olla oma kappaleista koostuva sisältönsä, jokaisessa kappaleessa voi olla omat alakohdat. Vaikka C++ tarjoaa monia yleisiä toimintoja ja varattuja sanoja, joita voit käyttää, on silti tarpeen kirjoittaa omia funktioita.

Mistä ohjelman osasta se alkaa? Jokaisella C++:n ohjelmalla on yksi funktio, sitä kutsutaan pää- tai pääfunktioksi, ohjelman suoritus alkaa tästä funktiosta. Pääfunktiosta voit kutsua myös mitä tahansa muita toimintoja, olivatpa ne kirjoittamiamme tai, kuten aiemmin mainittiin, kääntäjän toimittamia.

Joten miten pääset näihin perusominaisuuksiin? Pääsy vakiotoiminnot, jotka tulevat kääntäjän mukana, sinun on sisällytettävä otsikkotiedosto käyttämällä esikäsittelyohjetta - #include . Miksi tämä on tehokasta? Katsotaanpa esimerkkiä työohjelma:

#sisältää << "Моя первая программа на С++\n"; cin.get(); }

Tarkastellaanpa yksityiskohtaisesti ohjelman osia. #include on "esiprosessorin" käsky, joka käskee kääntäjää sijoittamaan koodin iostream-otsikkotiedostosta ohjelmaamme ennen suoritettavan tiedoston luomista. Yhdistämällä otsikkotiedoston ohjelmaan pääset käyttämään monia erilaisia ​​toimintoja, joita voit käyttää ohjelmassasi. Esimerkiksi cout-operaattori vaatii iostreamin. Rivi käyttäen nimiavaruutta std; käskee kääntäjää käyttämään ryhmää funktioita, jotka ovat osa std-standardikirjastoa. Tällä rivillä ohjelma voi myös käyttää operaattoreita, kuten cout. Puolipiste on osa C++-syntaksia. Se kertoo kääntäjälle, että tämä on komennon loppu. Näet hetken kuluttua, että puolipisteitä käytetään useimpien C++-komentojen päättämiseen.

Ohjelman seuraava tärkeä rivi on int main(). Tämä rivi kertoo kääntäjälle, että on olemassa funktio nimeltä main ja että funktio palauttaa kokonaisluvun. Aaltosulkeet ( ja ) osoittavat funktion alun (ja lopun). Kiharaa aaltosulkeet käytetään myös muissa koodilohkoissa, mutta ne osoittavat aina yhden asian - lohkon alun ja lopun.

C++:ssa cout-objektia käytetään tekstin näyttämiseen (lausutaan "C out"). Hän käyttää symboleja<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

Seuraava komento on cin.get() . Tämä on toinen funktiokutsu, joka lukee dataa syötetietovirrasta ja odottaa ENTER-näppäimen painamista. Tämä komento estää konsoli-ikkunaa sulkeutumasta, kunnes ENTER-näppäintä painetaan. Tämä antaa sinulle aikaa nähdä ohjelman tulos.

Pääfunktion päätyttyä (sulkeva aaltosulku) ohjelmamme palauttaa käyttöjärjestelmälle arvon 0. Tämä palautusarvo on tärkeä, koska sen analysoimalla käyttöjärjestelmä voi arvioida, päättyikö ohjelmamme onnistuneesti vai ei. Palautusarvo 0 tarkoittaa onnistumista ja palautetaan automaattisesti (mutta vain int-tietotyypille; muut funktiot vaativat arvon palauttamisen manuaalisesti), mutta jos halusimme palauttaa jotain muuta, kuten 1, meidän on tehtävä se. käsin.

#sisältää käyttäen nimiavaruutta std; int main() ( cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

Kokoa materiaali kirjoittamalla ohjelmakoodi IDE:hen ja suorittamalla se. Kun ohjelma on suoritettu ja olet nähnyt tulosteen, kokeile hieman cout-käskyä. Tämä auttaa sinua tottumaan kieleen.

Muista kommentoida ohjelmiasi!

Lisää kommentteja koodiisi selventääksesi sitä paitsi itsellesi, myös muille. Kääntäjä jättää kommentit huomioimatta suorittaessaan koodia, jolloin voit käyttää mitä tahansa kommentteja kuvaamaan todellista koodia. Voit luoda kommentin käyttämällä tai // , joka kertoo kääntäjälle, että rivin loppuosa on kommentti, tai /* ja sitten */ . Kun opettelet ohjelmointia, on hyödyllistä pystyä kommentoimaan koodin osia nähdäksesi, miten ohjelman tulos muuttuu. Voit lukea yksityiskohtaisesti kommentointitekniikasta.

Mitä tehdä kaikille tämäntyyppisille muuttujille?

Joskus voi olla hämmentävää useiden muuttujatyyppien käyttäminen, kun jotkin muuttujatyypit näyttävät olevan tarpeettomia. On erittäin tärkeää käyttää oikeaa muuttujatyyppiä, koska jotkut muuttujat vaativat enemmän muistia kuin toiset. Lisäksi, johtuen niiden tallennustavasta, liukulukuluvuista, float- ja double-tietotyypit ovat "epätarkkoja", eikä niitä tule käyttää, kun tarkka kokonaislukuarvo on tallennettava.

Muuttujien ilmoittaminen C++:ssa

Määritä muuttuja käyttämällä syntaksityyppiä<имя>; . Tässä on joitain esimerkkejä muuttujamäärityksistä:

Int num; char merkki; float num_float;

Yhdelle riville on sallittua ilmoittaa useita samantyyppisiä muuttujia; tätä varten ne on erotettava toisistaan ​​pilkulla.

Int x, y, z, d;

Jos olet katsonut tarkasti, olet ehkä huomannut, että muuttujan ilmoitusta seuraa aina puolipiste. Voit oppia lisää "muuttujien nimeämiskäytännöstä".

Yleisiä virheitä muuttujien ilmoittamisessa C++:ssa

Jos yrität käyttää muuttujaa, jota ei ole ilmoitettu, ohjelmasi ei käänny ja saat virheilmoituksen. C++:ssa kaikki kielen avainsanat, kaikki funktiot ja kaikki muuttujat ovat isoja ja pieniä kirjaimia eroteltuja.

Muuttujien käyttö

Joten nyt tiedät kuinka ilmoittaa muuttuja. Tässä on esimerkkiohjelma, joka havainnollistaa muuttujan käyttöä:

#sisältää käyttäen nimiavaruutta std; int main() ( int numero; cout<< "Введите число: "; cin >> numero; cin.ignore(); cout<< "Вы ввели: "<< number <<"\n"; cin.get(); }

Katsotaanpa tätä ohjelmaa ja tutkitaan sen koodia rivi riviltä. Avainsana int ilmaisee, että luku on kokonaisluku. Funktio cin >> lukee arvon numeroksi, käyttäjän on painettava Enter syötetyn numeron jälkeen. cin.ignore() on funktio, joka lukee merkin ja ohittaa sen. Olemme järjestäneet syötteemme ohjelmaan: numeron syöttämisen jälkeen painamme ENTER-näppäintä, symbolia, joka välittyy myös syöttövirtaan. Emme tarvitse sitä, joten hylkäämme sen. Muista, että muuttuja on ilmoitettu kokonaislukutyyppinä. Jos käyttäjä yrittää syöttää desimaaliluvun, se katkaistaan ​​(eli luvun desimaaliosa ohitetaan). Kokeile syöttää desimaaliluku tai merkkijono, kun suoritat esimerkkiohjelman, vastaus riippuu syötetystä arvosta.

Huomaa, että kun tulostetaan muuttujasta, lainausmerkkejä ei käytetä. Lainausmerkkien puuttuminen kertoo kääntäjälle, että muuttuja on olemassa, ja siksi ohjelman tulee tarkistaa muuttujan arvo korvatakseen muuttujan nimen sen arvolla suorituksen yhteydessä. Useat siirtolausekkeet samalla rivillä ovat täysin hyväksyttäviä ja tulosteet tehdään samassa järjestyksessä. Sinun tulee erottaa merkkijono literaalit (merkkijonot lainausmerkkien sisällä) ja muuttujat antamalla jokaiselle oma vaihtooperaattori<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

Arvojen muuttaminen ja vertailu

Tietenkin, riippumatta siitä, minkä tyyppistä dataa käytät, muuttujat eivät ole kovin mielenkiintoisia ilman kykyä muuttaa niiden arvoa. Seuraavassa on joitain muuttujien yhteydessä käytettyjä operaattoreita:

  • * kertolasku,
  • -vähennys,
  • + lisäys,
  • / divisioona,
  • = tehtävä,
  • == tasa-arvo,
  • > lisää
  • < меньше.
  • != eriarvoinen
  • >= suurempi tai yhtä suuri kuin
  • <= меньше или равно

Matemaattisia toimintoja suorittavia operaattoreita on käytettävä osoitusmerkin oikealla puolella, jotta tulos voidaan määrittää vasemmalla olevaan muuttujaan.

Tässä on joitain esimerkkejä:

A = 4*6; // käytä rivikommenttia ja puolipistettä, a on yhtä suuri kuin 24 a = a + 5; // yhtä kuin alkuperäisen arvon ja viiden summa a == 5 // ei määritä viittä, tarkistaa onko se yhtä kuin 5 vai ei

Käytät usein == rakenteissa, kuten ehdollisissa lauseissa ja silmukoissa.

A< 5 // Проверка, a менее пяти? a >5 // Tarkista, onko enemmän kuin viisi? a == 5 // Tarkistetaan, onko a yhtä suuri kuin viisi? a != 5 // Tarkista, eikö se ole yhtä suuri kuin viisi? a >= 5 // Tarkista, onko a suurempi tai yhtä suuri kuin viisi? a<= 5 // Проверка, a меньше или равно пяти?

Nämä esimerkit eivät näytä vertailumerkkien käyttöä kovin selkeästi, mutta kun alamme tutkia valintaoperaattoreita, ymmärrät miksi se on tarpeen.