C-ohjelmointi koodilohkoissa. Code Blocks IDE - asennus ja käyttö. Ohjelman suorittaminen kehitysympäristön ulkopuolella Windowsin tapauksessa

Hyvää iltapäivää rakkaat ystävät. Tällä artikkelilla aloitan sarjan oppitunteja, jotka on omistettu yhdelle suosituimmista ohjelmointikielistä - C++. Oppitunnit on suunnattu ensisijaisesti käyttäjille, jotka eivät tunne ohjelmointia, joten ammattilaiset eivät ole tiukkoja, vaikka kannatankin kritiikkiä, erityisesti itseäni kohtaan. Tunteillani käytän Code::Blocks -kehitysympäristöä, jonka voi ladata ja käyttää ilmaiseksi. Aloitetaan tietysti klassisesta Hello, world =)

Toivon, että olet jo ladannut ja asentanut Code::Blocksin, jos on, aloitetaan. Kehitysympäristön käynnistäminen

Luo ensin uusi tyhjä projekti Tiedosto->Uusi->Projekti ja valitse Tyhjä projekti

napsauta Siirry ja sitten Seuraava


ja kirjoita näkyviin tulevan ikkunan Project title -kenttään projektin nimi, Project filename -kenttään projektin nimi ja uudelleen Seuraava.


Poista seuraavassa ikkunassa Objects dir Luo "Debug"-määritykset ja Luo "Release" -kokoonpano-osioista yllä olevan kuvakaappauksen mukaisesti ja napsauta Valmis-painiketta. Projektin "Hello world" pitäisi ilmestyä oikealle.

Seuraava askel on lisätä projektiin tiedosto Tiedosto->Uusi->Tiedosto... ja valita näkyviin tulevasta ikkunasta c/c++-lähde.

Siirry, Seuraava uudelleen, valitse C++, Seuraava ja katso seuraava ikkuna

,

tässä meidän on ilmoitettava tiedoston nimi (kutsuin mainoksi) ja sen polku, mieluiten kansio, jossa projekti on. Valitse Debug- ja Release-ruudut ja napsauta Valmis.

Ja saimme tyhjän C++-tiedoston, johon kirjoitamme itse ohjelmakoodin.

Nyt alamme kirjoittaa itse ohjelmakoodia. Tietojen näyttämiseksi näytöllä tarvitsemme iostream I/O -kirjaston.

#sisältää

käyttäen nimiavaruutta std ;

Sitten kirjoitetaan päätoiminto, joka suoritetaan ohjelman käynnistyessä

int main()

sitä on kutsuttava "pääksi" ja ilmoitamme sen tyypin int (puhumme tästä seuraavilla oppitunneilla). Aaltosulkeiden ja välissä on ohjelmakoodi. Kirjoitamme yksinkertaisen ohjelman, joka näyttää konsolissa tervehdyksen "Hei, maailma!"

cout<<"Hei maailma!" ;

Jokaisen komennon jälkeen on laitettava ";", joka kertoo kääntäjälle, että komento on valmis ja seuraava voidaan käsitellä. cout - Tulostaa muuttujan arvot tai merkkijonot komentoriville.

Koko ohjelmalistaus.

#sisältää

käyttäen nimiavaruutta std;

int main ()

cout<< "Hello, world!" ;

palata 0 ;

Aloitamme projektin ja näemme tuloksen.


Alla liitän tähän artikkeliin videooppitunnin.

Jos sinulla on kysyttävää, kirjoita kommentit osoitteeseen Tämä sähköpostiosoite on suojattu roskapostiohjelmia vastaan. Sinulla on oltava JavaScript käytössä nähdäksesi sen. ,">Tämä sähköpostiosoite on suojattu roskapostiohjelmia vastaan. Sinulla on oltava JavaScript käytössä nähdäksesi sen., hioan oppitunteja tai yksinkertaisesti autan materiaalien tutkimisessa.

  • < Назад

Code::Blocks on ilmainen cross-platform kehitysympäristö. Code::Blocks on kirjoitettu C++:lla ja käyttää wxWidgets-kirjastoa. Koska arkkitehtuuri on avoin, sitä voidaan skaalata laajennuksilla. Tukee ohjelmointikieliä C, C++, D (rajoituksin).
Code::Blocks on kehitetty Windowsille, Linuxille ja Mac OS X:lle. Ympäristö voidaan koota lähdekoodista lähes mille tahansa Unix-tyyppiselle järjestelmälle. [ http://ru.wikipedia.org/wiki/Code::Blocks ]

Voit ottaa venäjän kielen käyttöön seuraavasti:

1. Arkisto on purettava ohjelman alikansioon (johon se on asennettu), esimerkiksi C:\Program Files (x86)\CodeBlocks\share\CodeBlocks
2. Kun olet käynnistänyt ohjelman, valitse Asetukset -> Ympäristö -> Näytä, laita rasti "Kansainvälistyminen" -ruutuun ja valitse luettelosta "Russian".

3. Käynnistä CodeBlocks-ohjelma uudelleen ja hanki venäläistys.


Venäjän kieli on yhdistetty onnistuneesti Code::Blocks-versioon 13.12.

Arkisto sisältää jo locale\ru_RU-kansiorakenteen (sijoitettava kansioon \CodeBlocks\share\CodeBlocks)

Käännöksen tila:
Viestit: 2173
Käännetty: 2173 (100,0 %)
Kääntämätön: 0 (0,0 %)
Jaettu Ubuntun ja ylävirran välillä: 2173 (100,0 %)
Käännetty eri tavalla Ubuntun ja ylävirran välillä: 0 (0,0 %)
Käännetty vain tältä puolelta: 0 (0,0 %)

Integroitu kehitysympäristö (IDE) Code::Blocks (jäljempänä CB) on täysimittainen tuote sovellusten kehittämiseen C/C++-kielellä. CB on monialustainen kehys, joka on kehitetty wxWidgets-työkalukirjastolla. Ympäristöstä on versioita sekä Windowsille että muille käyttöjärjestelmille (OS) - Linuxille ja Mac OS:lle. Tämä IDE on täysin ilmainen, avoimen lähdekoodin ja rakennettu kokonaan käyttämällä avoimen lähdekoodin tekniikoita. Yksi CB:n suurimmista vahvuuksista on sen tuki wxWidgets-sovellusten luomiselle – toisin sanoen ohjelmistoille, jotka käyttävät käyttöjärjestelmän APIa graafisen käyttöliittymän (GUI) luomiseen. Toisin sanoen CB:n avulla voit luoda monialustaisia ​​ohjelmistoja jokaiseen makuun.

CB voi työskennellä useiden kääntäjien kanssa. Jos niitä on asennettu järjestelmään useita, voit helposti vaihtaa niiden välillä tarpeidesi mukaan. Lisäksi asennusvaiheessa IDE itse etsii järjestelmästä saatavilla olevia kääntäjiä ja tarjoaa käyttävän yhtä pääkoneena. Näitä asetuksia on mahdollista muuttaa myöhemmin sekä globaalisti että yksittäisesti projekteille. Yleisiä ympäristöasetuksia varten CB-päävalikossa on kokonainen "Asetukset"-osio. Jos haluat tehdä tiettyjä asetuksia tiettyä projektia varten, sinun on avattava projektin ominaisuudet -ikkuna. Tätä varten sinun on kutsuttava projektin kontekstivalikko napsauttamalla sitä hiiren kakkospainikkeella ja valitsemalla "Ominaisuudet". Itse projektit (tällä hetkellä avoinna IDE:ssä) näkyvät puuna "Hallinta"-telakointipaneelin "Projektit"-välilehdellä. Nyt avautuvassa ominaisuusikkunassa voit määrittää laajan valikoiman parametreja koontikohteiden muokkaamisesta kolmannen osapuolen kirjastojen yhdistämiseen. Saman ominaisuusikkunan "Project Settings" -välilehden "Projektin koontiasetukset" -painikkeella voit määrittää erittäin joustavasti tietyn projektin koontikokoonpanon: kääntäjän avaimet, valita itse kääntäjä, yhdistää kirjastoja linkkeriä varten jne. tämä voidaan tehdä yksittäisille tiloille: "Release" "Debug".

CB GUI on rakennettu kelluvien ja joustavien telakointipaneelien ympärille, jotka voidaan telakoida IDE-pääikkunan mille puolelle tahansa vetämällä niitä hiirellä. Tämän ansiosta voit konfiguroida erittäin joustavasti erilaisia ​​käyttöliittymäasetteluja eri näyttökokoille, mikä optimoi GUI:n ergonomian. Jos näyttöjä on useita, on kätevää erottaa jotkut paneelit pääikkunasta ja sijoittaa ne vierekkäisiin monitoreihin.

CB:n korostus-, koodin täydennys- ja muokkaustyökalut tekevät koodin kanssa työskentelystä helppoa ja mukavaa. Valtava asetusarsenaali antaa sinun muokata ympäristöä erittäin hienosti "itsellesi". On erittäin hyödyllistä saada tukea ympäristömuuttujien kanssa työskentelemiseen. Tämän ominaisuuden ansiosta CB voidaan integroida erittäin tiiviisti järjestelmään ja sen ominaisuuksia voidaan laajentaa, esimerkiksi siten, että voit yhdistää wxWidgets-kirjaston.

Muuten, wxWidgetiin perustuvien GUI-sovellusten kehittämiseen CB:llä on sisäänrakennettu RAD-työkalu GUI-suunnitteluun - wxSmith. Tämä on melko tehokas apuohjelma, vaikkakaan ei aivan helppo oppia.

Code::Blocks on ilmainen avoimen lähdekoodin integroitu kehitysympäristö (IDE), joka tukee eri kääntäjien käyttöä. Oletusarvoisesti Code::Blocks käyttää MinGW-kääntäjää, joka sisältyy pakkiin (voit ladata jakelun ilman sisäänrakennettua kääntäjää). MinGW on muunnos GNU C/C++ -kääntäjästä Windowsille. MinGW on lyhenne sanoista "Minimalist GNU for Windows". MinGW-paketti sisältää avoimen lähdekoodin ohjelmointityökalut, jotka eivät ole riippuvaisia ​​kolmansien osapuolten maksullisista kirjastoista. Sitä käyttävät monet kehitysympäristöt (Visual Studio käyttää omaa kääntäjää). MinGW sisältää GNU Compiler Collection (GCC), mukaan lukien C-, C++-, ADA- ja Fortran-kääntäjät. Code::Blocksilla on avoin arkkitehtuuri, joka mahdollistaa sen skaalaamisen laajennusosien avulla (voit kirjoittaa ohjelmia Windowsille, Linuxille ja erilaisille mikroprosessoreille, kuten avr ja stm32). Code::Blocks-koodin debuggeri tukee keskeytyskohtia lähdekoodissa tai ohjelman käsittelemissä tiedoissa.

Code::Blocks on saatavilla Windowsille, Linuxille ja Mac OS X:lle. Projektin verkkosivusto on codeblocks.org.

MinGW-kääntäjän asennus

Code::Blocksin asentaminen itsessään ei ole vaikeaa. On suositeltavaa asentaa se vain kansioon, jonka polussa ei ole välilyöntejä tai kyrillisiä merkkejä. Katsotaanpa MinGW-kääntäjän asennusta. Code::Blocks-jakelu sisältää pääsääntöisesti MinGW-kääntäjän vanhan version, joten Code::Blocks kannattaa ladata ilman MinGW-kääntäjää ja asentaa kääntäjä erikseen. Lataa ensin asennusohjelma projektin verkkosivustolta mingw.org. Käynnistyksen jälkeen seuraava ikkuna tulee näkyviin.


Klikkaus Asentaa ja saamme seuraavan ikkunan.


Täällä kentällä Asennushakemisto osoittavat kääntäjätiedostojen sijainnin. Oletus on C:\MinGW, jätämme sen. Klikkaus Jatkaa ja MinGW:n asennusohjelman lataus ja asennus alkaa.


Klikkaus Jatkaa ja saamme seuraavan ikkunan.


Jos haluat ohjelmoida C++:ssa, valitse asennettavat paketit mingw32-base-bin (MinGW-perusasennus) Ja mingw32-gcc-g++-bin (GNU C++ -kääntäjä) ja napsauta sitten valikkoa Asennus -> Käytä muutoksia. Näyttöön tulee ikkuna, jossa näkyy valittujen pakettien lataus.


Kun paketit on ladattu, napsauta painiketta kiinni

Kun käytät Code::Blocksin ensimmäistä kertaa, se havaitsee automaattisesti asennetun kääntäjän. Jos ongelmia ilmenee, sinun on siirryttävä valikkoon Asetukset -> Kääntäjä... ja välilehdellä Työkaluketjun suoritettavat tiedostot Tarkista MinGW-polun oikeellisuus sekä kääntäjä- ja linkkitiedostojen nimet. Nyt voit luoda projektin.

Projektin luominen

Projektin luomiseksi sinun on siirryttävä valikkoon Tiedosto -> Uusi -> Projekti...


Valitse näkyviin tulevasta ikkunasta haluamasi projektityyppi. Tässä näemme, että Code::Blocksilla on suuri määrä projektimalleja. Meidän tapauksessamme on Konsolisovellus(konsolisovellus).


Valitse seuraavassa ikkunassa käytettävä ohjelmointikieli. Valitse C++ ja napsauta painiketta Seuraava.


Seuraavaksi kentällä projektin nimi syötä projektin nimi. Meidän tapauksessamme on Testata. Ilmoitamme heti projektin sijainnin levyllä (kenttä Kansio projektin luomiseen). Määrittämäämme kansioon Codeblcoks luo automaattisesti kansion aiemmin määritetyllä projektin nimellä. Kun olet määrittänyt kansion ja tiedostonimen, napsauta painiketta Seuraava.


Valitse seuraavassa ikkunassa kääntäjä. Oletuksena on valittuna GNU GCC Compiler, jota käytämme.


Klikkaus Suorittaa loppuun ja saamme minimaalisen ohjelman, niin sanotun Hello World!


Paina F9 kääntääksesi ja suorittaaksesi ohjelman ja saat seuraavan ikkunan.


Kyrillinen tuki konsolissa

Code::Blocks-ympäristön luoma standardiprojektikoodi ei tue kyrillisten merkkien syöttöä ja tulostamista konsoliin. Tämän ongelman ratkaisemiseksi sinun on ensin tehtävä pieniä muutoksia projektikoodiin. Alla on esimerkki lähdekoodista.

Lähde

#sisältää #sisältää käyttäen nimiavaruutta std; int main() ( SetConsoleCP(1251); // win-cp-koodisivun 1251 asettaminen tulovirraksi SetConsoleOutputCP(1251); // win-cp-koodisivun 1251 asettaminen lähtövirran koodiksi

Seuraavaksi sinun on suoritettava ohjelma, napsauta hiiren vasemmalla painikkeella ikkunan otsikkoa (jossa näkyy polku käynnissä olevaan .exe-tiedostoon) ja valitse kohde pikavalikosta Ominaisuudet. Sitten välilehdelle Fontti asenna fontti Lucida konsoli ja valitse sopiva fonttikoko. Tämän jälkeen konsolisovellusten viestit tukevat kyrillisiä merkkejä.

Alustava (keskeneräinen) versio

1 Kehitysympäristön asennus ja konfigurointi

1.1 Yleistä

Ensin sinun on asennettava kehitysympäristö, joka on integroitu ohjelmistoympäristö Code::Blocks. Code::Blocksin tärkeimmät edut ovat:

  • ilmainen lisenssi GPL v3.0, erityisesti ilmainen jakelu ja käyttö on sallittua;
  • ympäristö voi toimia Windows-, Linux- ja OS X -perheiden käyttöjärjestelmissä (eli se on monialustainen);
  • kyky työskennellä erilaisten kääntäjien kanssa.

Tämä tiedosto asentaa sekä Code::Blocks-ympäristön että MinGW-ympäristön, joka tarjoaa GCC-kääntäjäperheen. MinGW-ympäristö on myös ilmainen ohjelmisto.

1.2.1.2 Asennusprosessi

Sinun on suoritettava Codeblocks-10.05mingw-setup.exe-tiedosto. Asennusikkuna tulee näkyviin.

Sinun on napsautettava "Seuraava". Näyttöön tulee ikkuna, jossa on ilmaisen lisenssin GPL v3.0 teksti.

"Hyväksyn"-painikkeen napsauttaminen tarkoittaa, että hyväksyt lisenssiehdot ja voit jatkaa ohjelman asennusta, jonka aikana komponenttien valintaikkuna tulee näkyviin. Tässä ikkunassa sinun on valittava asennustyyppi "Täysi: Kaikki lisäosat, kaikki työkalut, vain kaikki".

Tämän jälkeen sinun on napsautettava "Seuraava" -painiketta. Näyttöön tulee ikkuna, jossa on asennushakemiston nimi. On parempi, että koko hakemiston nimi ei sisällä välilyöntejä tai muita kirjaimia kuin latina. Siksi esimerkiksi on parempi korvata nimi C:\Program Files\CodeBlocks jollain muulla, esimerkiksi C:\CodeBlocks tai C:\Programs\CodeBlocks .

Tämän jälkeen voit napsauttaa "Asenna" -painiketta, joka käynnistää itse asennusprosessin.

Prosessin lopussa näkyviin tulee ikkuna, jossa sinua pyydetään käynnistämään Code::Blocks. On parempi napsauttaa "Ei" tästä ja tarkistaa sitten, että Code::Blocks alkaa tavalliseen tapaan.

Tämän jälkeen napsauta "Seuraava" -painiketta ja sitten "Finish" suorittaaksesi asennuksen loppuun.

1.2.1.3 Ensimmäinen käynnistys

Pikakäynnistystyökaluriville tulee näkyviin pikakuvake Code::Blocks-käynnistykseen. Myös samanlaisen pikakuvakkeen pitäisi ilmestyä työpöydälle.

Code::Blocks voidaan käynnistää käyttämällä näitä pikanäppäimiä sekä käyttämällä tavallista järjestelmäohjelmavalikkoa.

klo ensimmäinen Kun käynnistät Code::Blocksin, näkyviin tulee ikkuna, josta kääntäjä löytyy automaattisesti.

Huomaa, että ensimmäisellä rivillä tulee olla sana "Havaittu". Tämä tarkoittaa, että kääntäjä on löydetty. Sinun on napsautettava "OK". Ensimmäinen ajoprosessi jatkuu ja kehitysympäristö käynnistetään. Näkyviin tulee ikkuna, jossa on päivän kärki.

Jos et halua tämän ikkunan näkyvän joka kerta, kun käynnistät Code::Blocksin, poista valinta "Näytä vihjeitä käynnistyksen yhteydessä tässä ikkunassa" -valintaruudusta. Sulje tämä ikkuna napsauttamalla "Sulje".

Tämän jälkeen seuraava ikkuna saattaa ilmestyä.

Tässä on parempi napsauttaa "OK", jotta C/C++:aan liittyvät tiedostot liitetään Code::Blocks-tiedostoon.

Voit myös sulkea "Skriptikonsoli"-ikkunan.

1.2.2 Asennus Linux-käyttöjärjestelmään

Linuxin tapauksessa voit asentaa Code::Blocks-paketin käyttämällä haluamaasi jakelua tällä sivulla luetelluista paketeista.

Voit myös yrittää etsiä koodia Code::Blocks Linux-jakelusi arkistosta. Esimerkiksi Code::Blocks-paketti (10.05-1) on saatavilla Ubuntu 11.04 -varastosta.

1.3 Asennus

Aluksi voit jakaa työkalurivit tiiviimmin ikkunan yläosaan.

Tämän jälkeen sinun on tehtävä muutamia muutoksia perusasetuksiin.

Valitse valikko "Settings=>Compiler and debugger...". Näyttöön tulee asetusikkuna.

Tässä ikkunassa tarvitset laittaa valitse "Tuo virheenkorjaussymbolit" -valintaruutu. Tämän muutoksen avulla voit suorittaa virheenkorjaustilan, josta keskustellaan myöhemmällä luennolla.

Suljematta tätä ikkunaa, sinun on napsautettava "Muut asetukset" -välilehteä.

Ja muokkauskenttään sinun on lisättävä seuraava rivi.

Finput-charset=CP1251 -fexec-charset=CP866

Tämä mahdollistaa kyrilliset aakkoset näkyvän oikein konsolissa Windows-käyttöjärjestelmässä. Kun käytät Code::Blocksia muissa käyttöjärjestelmissä (esimerkiksi Linuxissa), sinun ei tarvitse lisätä tätä riviä.

Sulkematta tätä ikkunaa, sinun on napsautettava vasemmalla olevaa kuvaa, jossa on merkintä "Debuggerin asetukset", ja sitten laittaa valitse "Arvioi lauseke kohdistimen alla" -valintaruutu.

Napsauta sen jälkeen "OK". Kaikkien tehtyjen muutosten tulee tulla voimaan.

2 Ensimmäinen projekti

2.1 Projektin luominen

Yritetään nyt luoda ohjelma C:llä.

Tätä varten sinun on luotava projekti. Yleensä projektia tarvitaan yhdistämään useita tiedostoja yhdeksi kokonaisuudeksi. Mutta tässä tapauksessa on kätevämpää luoda projekti yhdelle tiedostolle. Lisäksi jatkossa projektin parissa työskenteleminen on yleisempää.

Joten luodaksesi projektin, valitse "Tiedosto"-valikko, valitse sitten "Uusi" näkyviin tulevasta luettelosta ja valitse sitten "Projekti" näkyviin tulevasta luettelosta (lyhyyden vuoksi tämä toiminto voidaan nimetä "File=>New" =>Projekti", ja tulevaisuudessa käytetään tällaisia ​​lyhyempiä merkintöjä). Tämän seurauksena valintaikkunan pitäisi ilmestyä.

Valitse siinä "Konsolisovellus" ja napsauta "Go". Uusi projektin ohjattu toiminto tulee näkyviin.

Napsauta "Seuraava". Seuraava ikkuna tulee näkyviin.

Täällä sinun on valittava C (ei C++) ja napsauta "Seuraava". Seuraava ikkuna tulee näkyviin.

Kirjoita Projektin nimi -riville projektin nimi, esimerkiksi Project01. Huomaa, että "Project filename" -rivillä tämä nimi kopioidaan. Tätä tiedostonimeä voidaan muuttaa (erikseen projektin nimestä), mutta mukavuuden vuoksi on parempi jättää ne ennalleen. Sitten rivillä "Kansio projektin luomiseen" (kansio projektin luomista varten) sinun on määritettävä kansio, jossa projektin kansio sijaitsee. Voit joko valita kansion käytettävissä olevista "..."-painikkeella tai kirjoittaa kansion nimen manuaalisesti, esimerkiksi C:\Projects.

Sitten valittuun kansioon luodaan kansio projektin nimellä, jossa itse projekti sijaitsee. Voit tarkistaa tämän kiinnittämällä huomiota riviin "Resulting filename".


Kun määrität projektin nimeä ja kansion nimeä projektille, älä salli kansioiden nimiä, joissa on välilyöntejä tai kirjaimia, jotka eivät ole latinalaisia("Resulting filename" -rivi ei saa sisältää välilyöntejä kansioiden nimissä eikä myöskään muita kirjaimia kuin latinalaisia).

Napsauta Seuraava. Seuraava ikkuna tulee näkyviin.

Jätä nämä asetukset ennalleen. Napsauta "Valmis". Projekti luodaan.

Vasemmassa yläkulmassa ("Hallinta"-ikkunassa) näkyy projekti, jossa on "Lähteet"-kansio.

Sinun on napsautettava "+" (tai kaksoisnapsautettava kansiota) ja tämä kansio avautuu.

Se sisältää yhden main.c-tiedoston. Sinun täytyy kaksoisnapsauttaa sitä, jolloin oikealle avautuu muokkauskenttä, jossa tämän tiedoston sisältö näkyy (yläosassa on välilehti tiedoston nimellä).

Muokkausikkunassa näkyy ensimmäisen ohjelman teksti korostettuna. Huomaa, että tekstin eri osissa käytetään erilaisia ​​värejä, jotta tekstiä olisi helpompi lukea.

Tämä on ensimmäinen yksinkertainen ohjelma, joka näyttää tekstin "Hei maailma!" ("Hei maailma!"). Perinteisesti tätä ohjelmaa käytetään ensimmäisenä ohjelmointikieleen tutustumisen yhteydessä. Code::Blocks-sovelluksen tapauksessa tämä ohjelma luodaan automaattisesti, kun luot uuden projektin.

Muokkausikkunan fonttikokoa voidaan muuttaa erittäin helposti. Voit tehdä tämän pyörittämällä hiiren rullaa samalla, kun pidät Ctrl-näppäintä painettuna.

Voit myös käyttää "Settings=>Editor" -valikkoa ja napsauttamalla "Valitse" -painiketta oikeassa yläkulmassa muuttaa paitsi kirjasinkokoa, myös itse fonttia. Muista vain, että ohjelmia kirjoitettaessa on parempi käyttää fontteja, joissa kaikilla kirjaimilla on sama leveys. Tällaisia ​​fontteja ovat esimerkiksi seuraavat fontit: Courier New, Courier, Liberation Mono, Lucida Console, Monospace jne.

Jos käy ilmi, että "Hallinta"-ikkuna tai jokin muu välttämätön ikkuna puuttuu näytöltä, sinun on valittava Näytä-valikko ja avautuvasta valikosta valittava haluttua ikkunaa vastaava kohde.

Jos projekti yhtäkkiä suljettiin, esimerkiksi poistuttaessa ja syötettäessä uudelleen Code::Blocks, se voidaan avata uudelleen. Voit tehdä tämän valitsemalla valikosta "Tiedosto=>Viimeaikaiset projektit", jossa sitten näkyviin tulevasta luettelosta haluamasi projekti. Tai voit käyttää "File=>Open"-valikkoa ja valita sitten tiedoston Project01.cbp.

2.2 Ohjelman rakentaminen ja suorittaminen

Tästä ohjelmasta keskustellaan yksityiskohtaisesti hieman myöhemmin, mutta nyt yritetään ajaa se.

Tämän tekemiseksi se on tehtävä kokoelma ohjelman teksti (kääntäminen) ja käyttö layout(Linkitys) on luotava suoritettava tiedosto, jonka tunniste on .exe, joka käynnistetään. Koko tätä kokoamis- ja linkitysprosessia kutsutaan kokoonpano(Rakennus).

On huomattava, että prosessia, jota tässä tarkoittaa sana kääntäminen, kutsutaan usein myös prosessiksi lähetyksiä. Tällä alueella on erilaisia ​​terminologiaa. Esimerkiksi yllä olevaa kokoonpanoprosessia voidaan kutsua kääntämiseksi, joka puolestaan ​​koostuu käännös- ja linkitysvaiheista. Mutta nyt emme syvenny terminologiakysymyksiin, vaan käytämme yksinkertaisesti termien englanninkielistä versiota luonnollisesti käännettynä venäjäksi. Puhumme siis aiheesta kokoonpano(Rakennus), joka koostuu vaiheista kokoelma(Koontaminen) ja layout(Linkittäminen). Tämä vaihtoehto näyttää tässä tapauksessa kätevämmältä, koska vastaavat englanninkieliset nimet voidaan havaita kokoonpanoprosessin aikana.

Integroidun kehitysympäristön Code::Blocks avulla voit automatisoida ohjelman kokoamisen ja käynnistämisen (Run). Rakenna ja suorita ohjelma suorittamalla "Build and Run" -komento painamalla painiketta tai F9-näppäintä. Toinen vaihtoehto on valita valikko "Build=>Build and Run".

Alempaan ikkunaan (viestit rakennusprosessista) ilmestyvät sanat “Compiling”, “Linking” jne., jotka kuvastavat ohjelman kääntämisen ja linkittämisen edistymistä.


Tämän seurauksena näkyviin tulee konsoli-ikkuna, jossa yläreunassa näkyy ohjelmassa lainausmerkeissä määritetty lause, nimittäin lause "Hei maailma!"

Siten ohjelma näyttää annetun merkkijonon näytöllä.

Tämän rivin alapuolella on kaksi riviä. Ensimmäinen näyttää ohjelman paluukoodin ja ohjelman suorittamiseen käytetyn ajan. Toinen näyttää viestin, että sinun on painettava mitä tahansa näppäintä jatkaaksesi. Nämä kaksi riviä luodaan automaattisesti, jos ohjelma ajetaan koodista::Blocks.

Konsoli-ikkunassa käytettävää fonttia voidaan muuttaa tarvittaessa. Jos kyseessä on esimerkiksi Windows-käyttöjärjestelmä, voit kokeilla seuraavia vaiheita.

Klikkaus oikein napsauta konsoliikkunan vasemmassa yläkulmassa olevaa kuvaketta. Näkyviin tulee ponnahdusvalikko, josta sinun on valittava "Oletukset".

Näyttöön tulee asetusikkuna.

Tässä ikkunassa sinun on valittava haluamasi kirjasin (esimerkiksi Lucida Console). Sitten tälle fontille sinun on valittava haluamasi koko (esimerkiksi 14). Tämän jälkeen sinun on napsautettava "OK" tallentaaksesi asetukset.

Sitten sinun on suljettava konsoli-ikkuna painamalla mitä tahansa näppäintä.

Tämän jälkeen sinun on käynnistettävä ohjelma uudelleen painamalla painiketta tai F9-näppäintä (tai valitsemalla valikosta "Build=>Build and Run").

Konsoli-ikkunassa pitäisi nyt olla uusi fontti.

2.3 Ohjelman selitys

Nyt kun ohjelma on käynnistetty onnistuneesti ja sen toiminta on tarkastettu, voit tutustua tarkemmin projektia luotaessa automaattisesti luotuihin ohjelman osiin. Katsotaanpa tämän ohjelman tekstiä.

#sisältää #sisältää int main() { printf("Hei maailma!\n" ); paluu 0; }

Sana main annetaan, josta minkä tahansa ohjelman suoritus alkaa. Tämä tarkoittaa päätoimintoa, josta kaikki alkaa. Tässä funktiossa voi olla kutsuja muille funktioille, mutta kaikki alkaa main :n sisällön suorittamisesta. Tämän funktion nimen jälkeen on sulkeita, joiden välissä ei ole mitään. Tämä tarkoittaa, että tällä funktiolla ei ole argumentteja. Jokaisessa funktiossa on oltava sulkeita, vaikka sillä ei olisi argumentteja.

Funktion sisältö, ja tässä tapauksessa koko ohjelman sisältö, sijaitsee kiharoiden välissä. Ne vastaavat alkua ja loppua Pascal-kielessä.

Ennen nimeä main on sana int, joka määrittää funktion palauttaman arvon tyypin. Tässä tapauksessa kyseessä on kokonaislukutyyppi (tulevaisuudessa eri tietotyypeistä keskustellaan erikseen). Pääfunktio (eli oleellisesti pääohjelma) palauttaa ohjelman poistumiskoodin. Yleisesti uskotaan, että ohjelman pitäisi palauttaa arvo 0 normaalin suorituksen aikana. Tämän arvon palauttaminen tapahtuu käyttämällä 0-sulkua.

Myös aaltosulkeiden välissä on funktiokutsu nimeltä printf . Tätä toimintoa käytetään tässä tapauksessa tekstin näyttämiseen näytöllä. Tämän funktion sulkeet osoittavat sen argumentit. Tässä ainoa argumentti on lainausmerkkien sisällä oleva merkkijono. Tämä rivi tulostaa näytölle printf-toiminnolla. Mutta merkkiyhdistelmää \n ei näytetä näytöllä. Tämä yhdistelmä ilmaisee rivinvaihtomerkin, jota ei tulosteta näytölle, mutta se tarkoittaa, että rivinvaihto tulee suorittaa kyseisessä paikassa.

Ymmärtääksesi rivinvaihtomerkin merkityksen, yritä poistaa riviltä \n-yhdistelmä, ajaa ohjelma ja katso tulos. Kokeile myös käyttää yhdistelmää \n useita kertoja peräkkäin, aja ohjelma ja katso tulos. Palauta sitten ohjelman alkuperäinen versio.

Printf-funktiokutsun jälkeen on puolipiste. Tämä mahdollistaa yksittäisten operaattorien erottamisen toisistaan. Erityisesti se erottaa printf-funktiokutsun return-lauseesta.

On vielä ymmärrettävä, miksi tämän ohjelman riviä tarvitaan. Yksityiskohtiin menemättä voidaan sanoa, että riviä tarvitaan printf-funktion käytön mahdollistamiseksi, koska tällä rivillä on mahdollista saada tietoa tästä funktiosta. Tämä rivi sisältää stdio.h-tiedoston, jonka nimi on merkitty suluissa merkeinä< и >. #include-komento osoittaa tämän tiedoston sisällyttämisen. Tämän yhteyden avulla voit käyttää tässä tiedostossa ilmoitettuja toimintoja, erityisesti printf-funktiota. Tämän ohjelman riviä ei yleensä tarvita, mutta sen toimintaperiaate on samanlainen, vain toinen tiedosto (stdlib.h) sisältyy tähän.

2.4 Ohjelman muutos

Nyt voit siirtyä muokkaamaan main.c-tiedostoa.

Voit kirjoittaa mitä tahansa tekstiä muokkauskenttään, aivan kuten tavallisessa editorissa. Jatkossa ohjelmaesimerkit ja ohjelmakatkelmat voidaan yksinkertaisesti liittää muokkauskenttään tavallisella tekstilohkojen kopioinnilla. Tarkastellaan samanlaista toimintaa seuraavassa esimerkissä.

Main.c-tiedoston sisältö luotiin automaattisesti. Mutta tällainen ohjelma voidaan kirjoittaa hieman lyhyemmin ja myös muuttaa hieman lisäämällä huutomerkkejä.

#sisältää int main()( printf("Hei maailma!!!\n" ); paluu 0; )

Nyt tämä ohjelma on siirrettävä muokkausikkunaan tavallisella kopioinnilla. Tätä varten sinun on valittava ohjelman teksti ja kopioitava valittu teksti leikepöydälle, esimerkiksi napsauttamalla hiiren oikeaa painiketta ja valitsemalla valikosta "Kopioi"). Sitten sinun on vaihdettava Code::Blocks -muokkausikkunaan, korosta siellä oleva teksti, ja liitä tekstiä leikepöydältä esimerkiksi valitsemalla "Muokkaa=>Liitä"-valikko tai valitsemalla hiiren kakkospainikkeella "Muokkaa=>Liitä"-valikko. Tämän ohjelman version pitäisi näkyä muokkausikkunassa.

Tallenna ohjelman uusi versio. Voit tehdä tämän painamalla Ctrl-S (tai valitsemalla valikosta "File=>Save file"). Harjoittele itsesi tallentamaan tiedosto jokaisen, jopa pienenkin, ohjelmatekstin muutoksen jälkeen. Muuten, kun se jäätyy, voi menettää jonkin verran työtä.

Yritä suorittaa tämä uusi versio ohjelmasta.

Itsekontrollitehtävät

  1. Muuta tekstiä "Hei maailma!!!" jollekin muulle kielelle, kun käytät venäjää. Suorita ohjelma tarkistaaksesi muutokset.
  2. Muuta arvo 0 palautuksen jälkeen johonkin muuhun numeeriseen arvoon, esimerkiksi 5. Suorita ohjelma ja tarkista, että "Prosessi palasi" jälkeen uusi numeerinen arvo näkyy konsoliikkunassa.
  3. Varmista, että kun käynnistät ohjelman, ennen kuin tulostat rivin "Hei maailma!!!" näytöllä oli siirtymä yksi rivi alaspäin. Voit tehdä tämän laittamalla \n rivin alkuun, jota käytetään printf-funktion argumenttina. Suorita ohjelma varmistaaksesi, että tehtävä on suoritettu oikein.
  4. Varmista, että kun käynnistät ohjelman, ennen kuin tulostat rivin "Hello World!" näytöllä oli siirtymä useita rivejä alaspäin. Voit tehdä tämän asettamalla yhdistelmän \n useita kertoja peräkkäin aivan sen rivin alkuun, jota käytetään argumenttina printf-funktiolle (eli merkkijonoa, joka sijaitsee suluissa lainausmerkeissä). Suorita ohjelma varmistaaksesi, että tehtävä on suoritettu oikein.
  5. Tulosta rivi "Hei maailma!!!" kolme kertaa kolmella peräkkäisellä rivillä näytöllä (yksi kopio riviä kohden) asettamalla \n-yhdistelmä oikeisiin paikkoihin.
  6. Varmista, että kun käynnistät ohjelman, rivillä "Hei maailma!!!" näkyy tarkalleen näytön keskellä. Voit tehdä tämän siirtämällä riviä alas ja oikealle käyttämällä \n- ja välilyöntejä.
  7. Näytä kolme eri sanaa samanaikaisesti kolmessa paikassa näytöllä: näytön yläkulmissa ja keskellä. Käytä kahta printf-kutsua peräkkäin eri merkkijonoilla argumenteina käyttämällä \n ja välilyöntejä erityisellä tavalla kussakin tapauksessa.

2.5 Ohjelman suorittaminen kehitysympäristön ulkopuolella, kun kyseessä on Windows

Projektikansion, jonka polku määritettiin projektia luotaessa (katso), tulee sisältää bin/Debug-kansio. Ja tässä kansiossa pitäisi olla suoritettava tiedosto Project01.exe, joka on saatu ohjelman rakentamisen tuloksena.

Tämä suoritettava tiedosto (sovellus) voidaan käynnistää tavallisilla tavoilla (esimerkiksi Explorerilla), eli ulkopuolella Koodi::Estää kehitysympäristön. Voit myös esimerkiksi tehdä pikakuvakkeen tähän tiedostoon ja sijoittaa sen työpöydällesi, jotta voit käynnistää sen sieltä.

Mutta kun käynnistetään tällä tavalla, konsoli-ikkuna tulosrivin kanssa tulee näkyviin ja katoaa välittömästi, koska ohjelma päättyy välittömästi, odottamatta käyttäjän komentoa. Miksi tämä tapahtuu? Asia on siinä, että Code::Blocksista käynnistettäessä lisätään automaattisesti odotus minkä tahansa näppäimen painallukselle, mutta itse sovellus ei tarjoa tätä.

Jos haluat toteuttaa painetun näppäimen odottamisen (Windowsin tapauksessa), sinun on muutettava ohjelmaa lisäämällä useita rivejä. Sitten se ottaa seuraavan lomakkeen.

#sisältää #sisältää int main () ( printf("Hei maailma!!!\n" ); getch(); return 0; )

Kokeile suorittaa tämä ohjelma Code::Blocksista. Tee tämä asettamalla määritetty ohjelma muokkauskenttään sijasta käytettävissä, ja suorita ohjelma painamalla painiketta tai F9-näppäintä (tai valitsemalla valikon "Build=>Build and Run").

Huomaa, että "Hei maailma!!!" tulostamisen jälkeen Nyt mitään muuta ei tulosteta, koska se odottaa näppäimen painamista. Mutta näppäimen painamisen jälkeen tulostetaan jo tutut kaksi riviä ("Prosessi palautettiin..." ja "Jatka painamalla mitä tahansa näppäintä."). Näiden rivien jälkeen odotamme jälleen näppäinpainallusta (jonka tarjoaa Code::Blocks ympäristö).

Jos nyt suoritat tämän ohjelman ulkopuolella Code::Blocks, suorittamalla tiedoston Project01.exe, määritetty teksti näkyy ikkunassa ja ohjelma odottaa näppäimen painalluksen valmistumista.

Ohjelman muokkaamiseen tällä tavalla tarvitaan kaksi riviä: yksi sisältää conio.h ja toinen getch. conio.h tarvitaan, jotta getch-funktion kutsuminen on mahdollista. Tämä on samanlainen kuin stdio.h:n yhdistäminen printf-funktion kutsumiseksi. Getch-toiminto odottaa näppäinpainallusta.

Tällaisia ​​muutoksia ei täsmennetä jatkossa, mutta tarvittaessa voit aina tehdä ne varmistaaksesi, että odotat näppäimen painamista ennen ohjelman lopettamista.

2.6 Viestit ohjelman varoituksista ja virheistä

Ohjelmaa rakennettaessa (kun sitä yritetään ajaa muutosten jälkeen) saattaa ilmestyä varoituksia ja virheitä. Katsotaanpa, miten tämä tapahtuu esimerkin avulla. Kokeile suorittaa seuraava ohjelma.

#sisältää int main () ( printf("Hei maailma!!!\n" ); )

Tämä ohjelma ei sisällä palautusta, mutta se suoritetaan. Kokeile ajaa sitä.

Kokoamisen aikana annetaan kuitenkin varoitus, koska palautusilmoitusta ei ole. Kun käynnistät ohjelman, tämä varoitus katoaa, koska se ei vaikuta ohjelman käynnistymiseen. Mutta se voidaan lukea, jos vain rakennat tiedoston (ilman sovellusta). Tätä varten sinun on luotava "Build"-komento painamalla Ctrl-F9 tai napsauttamalla painiketta tai valitsemalla "Build=>Build"-valikko.

Mutta jos ohjelma ei ole muuttunut edellisen koontiversion tai käynnistämisen jälkeen, uutta koontiversiota ei suoriteta. Ja alla olevaan ikkunaan tulee viesti, jossa kerrotaan, että kokoonpano on jo uusin, eikä tälle komennolle tarvitse tehdä muuta ("Target is up date. Nothing to be done.").

Tässä tapauksessa sinun on koottava se uudelleen. Tätä varten sinun on luotava "Rebuild"-komento painamalla Ctrl-F11 tai napsauttamalla painiketta tai valitsemalla "Build=>Rebuild"-valikko. Kun tämä komento on luotu, näkyviin tulee ikkuna sen vahvistamiseksi. Vahvista tämä komento napsauttamalla "Kyllä" määritetyssä ikkunassa.

Sitten alemmassa ikkunassa näet rivin, jossa on varoitus (sininen), sekä viestin yhden varoituksen olemassaolosta (1 varoitus).

Yleensä varoitus sallii ohjelman suorittamisen, mutta varoittaa ohjelmoijaa mahdollisista virheistä tai epätarkkuuksista.

Jatkossa pääfunktion return-lausetta ei välttämättä käytetä lyhyyden vuoksi, kuten tehdään kohdassa . Mutta meidän on otettava huomioon, että tämä aiheuttaa varoituksen.

Yritä nyt suorittaa seuraava ohjelma.

#sisältää int main() ( printf( Hei maailma!!!\n); }

Huomaa, että ohjelma ei käynnisty. Sen sijaan alempaan ikkunaan ilmestyvät punaisella kirjasimella olevat rivit osoittavat virheitä.

Ohjelman rivi, jolla on virhe, on korostettu punaisella neliöllä.

On syytä ottaa huomioon, että yksi kelvollinen virhe voi johtaa useisiin virheilmoituksiin kerralla. Tässä esimerkissä luodaan 5 virhettä, joten 5 riviä näytetään punaisella fontilla.

Vertaamalla ohjelmaa ei ole vaikea ymmärtää, että virhe johtuu siitä, että lainausmerkkejä ei ole määritetty. Vastaavasti näytetään virheilmoitus "Hei" ilmoittamaton. Sana "undeclared" tarkoittaa "ei ilmoitettu", eli kääntäjä yrittää ymmärtää, mitä Hello tarkoittaa ja mitä sen pitäisi tehdä. Se ei löydä tätä sanaa tunnettujen sanojen joukosta, joten se antaa virheen. Jos tämä sana on lainausmerkeissä, se nähdään merkkijonona, jonka sisällä voi olla mitä tahansa. Merkkijono voidaan näyttää näytöllä. Siksi ohjelman korjaamisen jälkeen (lisäämällä lainausmerkit tarvittaessa), kaiken pitäisi olla kunnossa.

Korjaa ohjelma ja tarkista, että se toimii oikein.

Itsekontrollitehtävät

  1. Yritä poistaa viimeinen kihara aaltosulu ja käynnistä ohjelma. Huomaa, että virhe on merkitty riville, joka sisältää printf, joka on edellinen rivi. Palauta oikea ohjelma.
  2. Yritä poistaa kaksi sulkumerkkiä main -kohdan jälkeen. Huomaa, että virhe on merkitty riville, joka sisältää kiharan aaltosulkeen, joka on seuraava rivi. Palauta oikea ohjelma.
  3. Yritä poistaa ensimmäinen sulkumerkki main-merkin jälkeen. Huomaa, että virhe on merkitty riville, joka sisältää main , joka on sama rivi. Palauta oikea ohjelma.

Itsevalvontatehtävät huomioon ottaen on helppo havaita, että punaisella neliöllä merkityn rivin vieressä saattaa olla virhe. Siksi, kun virhe tapahtuu, myös viereiset rivit on analysoitava.

3 Perustiedot

3.1 Kokonaisluvut

Tietojen, erityisesti kokonaislukujen, käsittelyyn tarvitaan muuttujia, joita käytetään tällaisten lukujen tallentamiseen. Ensin sinun on ilmoitettava muuttuja, jotta voit alkaa työskennellä sen kanssa.

Muuttujan ilmoitus tehdään seuraavasti.

muuttujan_tyyppi muuttujan_nimi;

Esimerkiksi kokonaislukumuuttuja a ilmoitetaan seuraavasti.

int a;

Tässä tapauksessa muuttuja a on tyyppiä int, mikä tarkoittaa kokonaislukutyyppiä.

Muuttujan määritys määrittää muistilohkon tietyn tyyppisten tietojen tallentamiseen. Luonnollisesti voit valita useita samanlaisia ​​lohkoja. Nämä lohkot on nimetty niiden erottamiseksi toisistaan. Esimerkiksi int a:n ilmoitus allokoi lohkon, jonka nimi on a, int b:n ilmoitus allokoi lohkon nimellä b jne. Tässä tapauksessa voit ilmoittaa samanaikaisesti useita muuttujia, eli valita useita lohkoja samaa tyyppiä eri nimillä. Tätä varten näiden lohkojen nimet luetellaan pilkuilla erotettuina tyyppimerkinnän jälkeen.

int x, y, z;

Tämä ilmoitus tunnistaa kolme erilaista samantyyppistä lohkoa eri nimillä.

Jos haluat kirjoittaa arvon valittuun tietolohkoon, sinun on määritettävä tämä arvo vastaavalle muuttujalle, esimerkiksi lausekkeelle

antaa muuttujalle a arvon 10. Voit myös määrittää yhdelle muuttujalle toisen muuttujan arvon, esimerkiksi lausekkeen

määrittää muuttujalle a muuttujan b arvon. Voit määrittää saman arvon usealle muuttujalle kerralla. Voit tehdä tämän esimerkiksi käyttämällä seuraavaa lauseketta.

X = y = z = 100;

Muista, että muuttujalle voidaan antaa arvo vain, jos muuttuja on ilmoitettu (erityisesti sen tyyppi on määritetty).

Muuttujan arvo voidaan tulostaa näytölle printf-toiminnolla. Tarkista esimerkiksi seuraavan ohjelman suoritus.

#sisältää int main()( int a; /* muuttujan ilmoitus a*/ a = 10; printf( "Muuttujan arvo a = %d\n", a); }

Huomaa, että ohjelmassa on kommentti "muuttujan a ilmoittaminen". Kommentti on fragmentti, jota tarvitaan kuvaamaan tiettyä ohjelman osaa. Kommentti ei vaikuta lopulliseen ohjelmaan, se on vain lisäys tekstiin, jota ei käytetä myöhemmin ohjelmaa suoritettaessa. Kommentin tulee alkaa merkkiyhdistelmällä /* ja päättyä merkkiyhdistelmällä */. Tässä tapauksessa kommentti voi sijaita useilla riveillä, yhdistelmä /* sijaitsee kommentin ensimmäisen rivin alussa ja yhdistelmä */ sijaitsee viimeisen rivin lopussa; kommentti.

Aivan pääfunktion alussa muuttuja a. Tällöin tämän muuttujan arvo on 10. Käytä seuraavalla rivillä printf-funktiota näyttääksesi muuttujan arvon näytöllä. Voit tehdä tämän lisäämällä printf-funktioon lisäargumentin pilkulla erotettuna lainatun merkkijonon jälkeen. Tämä lisäargumentti on itse muuttuja a, jonka arvo tulee tulostaa näytölle. Jos haluat kertoa printf-funktiolle, mihin muuttujan arvo tulostetaan, tulostemerkkijonoon lisätään kahden merkin yhdistelmä, nimittäin %d . Itse näitä merkkejä ei näytetä näytöllä, vaan niiden sijaan näytetään rivin perässä pilkulla erotettu muuttujan arvo. Suorita ohjelma ja tarkista sen toiminta.

Kun kirjoitat ohjelmaa, huomaa, että pienet ja isot kirjaimet ovat kääntäjän näkökulmasta eri kirjaimia. Siksi esimerkiksi Mainin kirjoittaminen mainin sijaan johtaa virheeseen.

Itsekontrollitehtävät

  1. Muuta muuttujan a arvo joksikin muuksi arvoksi ja
  2. Yritä lisätä kommentteja ohjelman eri osiin. Varmista, että ne eivät vaikuta ohjelman suorittamiseen. Tarkista usealle riville ulottuvien kommenttien käyttö.
  3. Tarkista, mitä tapahtuu, kun muutat tietyn kirjaimen kirjainta, eli esimerkiksi vaihdat pienen kirjaimen suureksi ja päinvastoin.

Muuttujan a julistamiseksi ja sen alustamiseksi saadaan kaksi peräkkäistä riviä ( ja ). Mutta voit yhdistää muuttujan ilmoittamisen ja alustuksen. Ilmoitettujen kahden rivin sijasta voit kirjoittaa vain yhden seuraavan tyyppisen rivin.

int a = 10;

Tarkista, että ohjelma toimii oikein tällaisen muutoksen jälkeen.

Printf-funktio voi myös tulostaa useiden muuttujien arvot kerralla. Testaaksesi tätä mahdollisuutta, määritä muuttuja b ja anna sille arvo ennen printf-funktion kutsumista. On tärkeää huomata, että muuttujan määrittely voi esiintyä missä tahansa funktion, erityisesti pääfunktion aaltosulkeiden sisällä. Muunna sen jälkeen printf-funktiomerkkijono seuraavasti.

Printf("a = %d, b = %d \n" , a, b);

Tarkista, että ohjelma toimii oikein.

Näin ollen, jotta voit näyttää useiden muuttujien arvot kerralla, sinun on järjestettävä muotoillut tulostemerkit %d tulosrivillä vastaavasti ja lueteltava myös muuttujat pilkuilla erotettuina välittömästi tulosrivin jälkeen tulosjärjestyksessä. Tällöin jokaisen yhdistelmän %d sijasta korvataan muuttujaluettelon seuraavan muuttujan arvo pilkuilla erotettuna.

Tässä tapauksessa voit myös määrittää lausekkeen printf-funktion argumentiksi. Esimerkiksi muuttujan neliöimiseksi ja kuutioimiseksi voit käyttää *-merkkiä kertomaan. Lisää seuraava katkelma olemassa olevan printf-funktiokutsun jälkeen.

Printf( "a = %d\n(a neliö) = %d\n(a kuutio) = %d\n", a, a * a, a * a * a);

Tarkista, että ohjelma toimii oikein.

Huomaa, että jos funktiokutsu on liian pitkä rivi, se on kätevää jakaa usealle riville pilkuilla erotettuina. Esimerkiksi kuten tässä tekstissä tehtiin, mutta sama fragmentti voidaan kirjoittaa yhdelle riville ohjelmoijan pyynnöstä.

3.2 Aritmeettiset lausekkeet

Nyt kokonaisluvun neliöstämiseksi tai kuutioimiseksi riittää, että korjataan muuttujan a alkuperäinen osoitus ja suoritat ohjelman uudelleen. Kokeile tätä. Neliöinnin ja kuutioimisen lisäksi voit käyttää erilaisia ​​aritmeettisiin operaatioihin perustuvia lausekkeita: +, -, *, /.

Itsekontrollitehtävät

  1. Toteuta jonkin kaavan laskenta, joka käyttää kaikkia neljää aritmeettista operaatiota. Aseta muuttujan arvo ohjelmassa. Tarkista, että tämä kaava on laskettu oikein.
  2. Laske kaava kahdesta muuttujasta. Aseta ohjelman muuttujien arvot.

C-kielellä on myös kyky kirjoittaa joitain usein käytettyjä rakenteita tiiviimmin. Siten muuttujan suurentamiseksi annetulla arvolla käytetään +=-operaatiota. Osoittautuu, että ilmaisu

A + = 10;

vastaa lauseketta

A = a + 10;

tässä tapauksessa samalla tavalla +-merkin sijasta voi olla myös merkkejä -, *, /, sekä joitain muita operaatiomerkkejä.

Seuraava ohjelmafragmentti havainnollistaa esimerkkejä näiden ominaisuuksien käytöstä kommenteilla, jotka osoittavat arvot, jotka muuttuja saa aritmeettisen lausekkeen laskennan tuloksena.

int i = 10; i = (i * 2 + 1) / 3 - 5; /* i = 2 */ i + = 5; /* i = 7 */ int j = 3; i * = j; /* i = 21 */ i /= 7; /* i = 3 */

Itsekontrollitehtävä

  1. Toteuta jonkin kaavan laskenta, joka käyttää määritettyjä ominaisuuksia (lyhyempi muoto joidenkin aritmeettisten lausekkeiden kirjoittamiseen).

Lisäksi ilmaisu

tarkoittaa muuttujan a kasvua 1:llä, mikä vastaa lauseketta

A = a + 1;

Samoin ilmaisu

tässä tarkoittaa vähennystä 1:llä.

On tärkeää huomata, että on myös muodon ilmaisuja

A++; a--;

Ne osoittavat myös lisäystä 1 ja laskua 1.

Monimutkaisemmissa lausekkeissa on kuitenkin ero etuliitteen (++a) ja jälkiliitteen muotojen (a++) välillä.

Kun etuliite muoto (++a) kasvaa (vähenee) ensin 1:llä ja arvioi sitten loput lausekkeesta.

Kun postfix muodossa (a++), lauseke lasketaan ensin ja sitä lisätään (vähennetään) 1:llä.

Seuraava esimerkki havainnollistaa tätä eroa.

Katsotaanpa samaa fragmenttia, jossa käytetään ++y (etuliitemuotoa).

int x = 10; int y = 2; x = x* (++y); printf("x = %d y = %d\n" , x, y);

X = 30 v = 3

Tässä ensin y, joka johtuu ++y:stä, saa arvon 3, ja sen jälkeen tapahtuu 10:n kertominen kolmella.

Katsotaanpa samaa fragmenttia, jossa y++ (postfix muotoa) käytetään.

int x = 10; int y = 2; x = x* (y++); printf("x = %d y = %d\n" , x, y);

Tätä fragmenttia suoritettaessa seuraava rivi näkyy näytöllä.

X = 20 v = 3

Tässä 10 kerrotaan ensin y:n arvolla, joka on yhtä suuri kuin 2, ja sen jälkeen suoritetaan y++.

On huomattava, että näissä fragmenteissa ei ole ollenkaan tarpeen laittaa sulkeita ++y:n ja y++:n ympärille.

Itsekontrollitehtävät

  1. Tarkista määritettyjen ohjelmaosien suoritus. On pidettävä mielessä, että nämä ovat vain ohjelmien fragmentteja. Ne on lisättävä päätoiminnon kiharaisiin olkaimiin.
  2. Yritä poistaa sulut ++y:n ja y++:n ympäriltä näistä fragmenteista. Varmista, että tulos ei muutu.

3.3 Kokonaislukutyypit

Toistaiseksi olemme tarkastelleet vain kokonaislukujen int-tyyppiä. Mitkä ovat enimmäisarvot, jotka voidaan asettaa int-muuttujalle?

Taattu voit asettaa arvoja välillä -32768 - 32767, koska int-muuttuja on varattu ei vähempää 16-bittinen.

Mutta nykyään näet usein kääntäjätoteutuksia, jotka varaavat 32 bittiä int-muuttujalle, mikä tarkoittaa, että muuttuja voi ottaa arvoja välillä -2147483648 - 2147483647.

Voit kuitenkin olla täysin varma, että muuttujan x kelvollisten arvojen alue ei ole pienempi kuin -32768 - 32767.

Kun käytät Code::Blocksin ehdotettua versiota ja sen mukana tulevaa gcc-kääntäjää (tai aiemmin asennettua vastaavaa kääntäjää), joudut todennäköisesti tilanteeseen, jossa int-muuttuja voi ottaa arvoja alueelta -2147483648. numeroon 2147483647.

Tarkastetaan tämä seuraavalla esimerkillä.

#sisältää int main () ( int x1 = -2147483648; int x2 = 2147483647; printf("x1 = %d x2 = %d\n" , x1, x2); )

X1 = -2147483648 x2 = 2147483647

Jos näin on, tämä osoittaa, että int-tyyppinen muuttuja voi ottaa tällaisia ​​arvoja.

Nyt ennen printf-riviä voit asettaa x2-muuttujan arvoon 1

#sisältää int main () ( int x1 = -2147483648; int x2 = 2147483647; ++x2; printf("x1 = %d x2 = %d\n" , x1, x2); )

Kun suoritat tämän ohjelman, seuraava rivi todennäköisesti tulostuu.

X1 = -2147483648 x2 = -2147483648

Huomaa, että x2:n arvosta on tullut negatiivinen raja-arvo. Voidaan sanoa, että kun yritettiin lisätä 1 maksimipositiiviseen arvoon (arvo 2147483647), arvo meni alueen ulkopuolelle ja arvo "ympyrämäisesti" meni negatiiviseen maksimiarvoon (arvo -2147483648). Tapahtui ns ylivuoto.

Jos lisäät x2:ta et 1:llä vaan 2:lla, muuttuja x2 saa arvon -2147483647 (joka on 1 erilainen kuin negatiivinen enimmäisarvo). Tarkista se.

Jos lisäät x2:ta et 1:llä, vaan 3:lla, muuttuja x2 saa arvon -2147483646 (joka on 2 eri kuin negatiivinen enimmäisarvo). Tarkista se.

Siten voit ymmärtää kokonaislukumuuttujien käyttäytymisperiaatteen ylivuodon sattuessa.

Itsekontrollitehtävät

  1. Vastaavasti tarkista muuttujan x1 ylivuoto kohti äärimmäistä negatiivista arvoa, eli kun tästä muuttujasta vähennetään tietty luku.
  2. Ylivuoto tapahtuu myös, kun yrität yksinkertaisesti antaa arvon muuttujalle, joka on sallitun alueen ulkopuolella. Tarkista se.

Int-tyypin lisäksi on olemassa muitakin kokonaislukutyyppejä muuttujien ilmoittamiseen.

Esimerkiksi pitkän tyypin avulla voit taata -2147483648 - 2147483647 (int-tyyppi ei anna tätä takuuta kaikille kääntäjille).

Myös nykyaikaisissa C-kielen kääntäjissä on ilmestynyt pitkä pitkä (kahdella sanalla kirjoitettu) tyyppi, joka varaa muuttujalle 64 bittiä. Ja tämä vastaa numeroaluetta -9223372036854775808 - 9223372036854775807.

Tarkastetaan tämä tyyppi seuraavan ohjelman avulla esimerkkinä.

#sisältää int main() ( pitkä pitkä x1 = -9223372036854775808; pitkä pitkä x2 = 9223372036854775807; printf("x1 = %lld x2 = %lld\n" , x1, x2); }

X1 = -9223372036854775808 x2 = 9223372036854775807

Huomaa, että tässä tapauksessa printf-funktiota kutsuttaessa merkkiyhdistelmä on %lld , ei %d . Tämä on tarpeen, jotta printf-toiminto näyttää oikein suuria määriä tyyppiä long long .

Itsekontrollitehtävät

  1. Samalla tavalla tarkista tässä esimerkissä long long -tyypin muuttujien ylivuoto (kuten kävi int-tyypin muuttujien tapauksessa).
  2. Kokeile käyttää %d %lld:n sijaan printf-funktiossa tässä esimerkissä.

Lisäksi voit luoda uusia kokonaislukutyyppejä lisäämällä etumerkittömän avainsanan sen nimen eteen, mikä siirtää mahdollisten arvojen alueen positiiviselle alueelle, eli tekee tyypistä etumerkittömän. Seuraava esimerkkiohjelma selittää tämän.

#sisältää int main() (signed int x1 = 0; unsigned int x2 = 4294967295; printf("x1 = %u x2 = %u\n" , x1, x2); }

Kun tämä ohjelma suoritetaan, merkkijono tulee tulostaa.

X1 = 0 x 2 = 4294967295

Huomaa, että tässä tapauksessa printf-funktiota kutsuttaessa merkkiyhdistelmä on %u, ei %d. Tämä on tarpeen, jotta printf-funktio näyttää oikein etumerkitöntä tyyppiä vastaavat numerot.

Itsekontrollitehtävät

  1. Tarkista samoin tässä esimerkissä unsigned int -tyyppisten muuttujien ylivuoto (kuten int-tyypin muuttujien tapauksessa).
  2. Kokeile käyttää %d %u:n sijaan tämän esimerkin printf-funktiossa.
  3. Yritä tämän esimerkin perusteella näyttää enimmäisarvo, joka voidaan kirjoittaa muuttujalle, jonka tyyppi on unsigned long long (eli numero 18446744073709551615). Oikean näytön saamiseksi printf-funktio käyttää merkkiyhdistelmää %llu (%u:n sijaan).

3.4 Reaaliluvut

Reaalilukujen määrittämiseen voit käyttää float-tyyppiä tai kaksoistyyppiä. Tässä tapauksessa float-tyyppinen muuttuja vie 4 tavua ja double-tyyppinen muuttuja 8 tavua. Siksi yleensä kaksoistyyppi tarjoaa laajemman valikoiman mahdollisia lukuja ja enemmän desimaaleja desimaalipilkun jälkeen, mutta sen haittana on kaksinkertainen muistinkulutus float-tyyppiin verrattuna.

On myös pitkä kaksoistyyppi, ja tämän tyyppinen muuttuja voi viedä 8 - 16 tavua kääntäjän toteutuksesta riippuen. Siksi pitkä kaksoistyyppi tarjoaa usein vielä suuremman tarkkuuden vastineeksi suuremmasta muistinkulutuksesta.

Tarkastetaan seuraavan ohjelman suoritus.

#sisältää int main () ( double x = 10,5; printf("x = %f\n" , x); )

Näyttöön tulee:

X = 10 500 000

Huomaa, että %f on käytössä %d sijasta, koska käytetään todellista tyyppiä kokonaisluvun sijaan. Tarkista mitä tapahtuu, jos laitat %d tilalle %f.

Kuinka poistaa ylimääräiset nollat ​​numeroa näytettäessä? Voit tehdä tämän määrittämällä desimaalipilkun jälkeisten numeroiden määrän esimerkiksi seuraavasti.

Printf("x = %.1f \n" ,x);

Tässä tapauksessa pisteen jälkeen oleva numero ilmaisee desimaalipilkun jälkeisten numeroiden määrän. Kokeile tätä.

Lisäksi voit asettaa numeron näyttämiseen käytettyjen merkkien määrän, esimerkiksi, voit asettaa tämän numeron 10:ksi seuraavasti.

Printf("x = %10.1f \n" ,x);

Tarkista, mitä muutoksia.

Lisäksi f-kirjaimen sijasta, joka menee yhdessä %:n kanssa, voit käyttää kirjainta e näyttääksesi luvun eksponentiaalisessa muodossa sekä kirjaimella g valitaksesi automaattisesti tulostusmuodon luvun arvosta riippuen. Lisäksi kirjaimia E ja G voidaan käyttää.

Itsekontrollitehtävät

  1. Kokeile erilaisia ​​reaaliluvun kirjoittamisen muunnelmia ja katso mitä tapahtuu (mukaan lukien kirjainten e ja g käyttäminen f:n sijaan yhdessä %:n kanssa).
  2. Selvitä itse, mitä seurauksia kirjainten E ja G käytöstä on verrattuna kirjaimiin e ja g.
  3. Toteuta reaaliluvun neliö ja kuutio varmistaen, että saadut arvot näkyvät näytöllä. Valitse oikea reaaliluvun tulostusmuoto.