\ n"); míg a ((c = getchar ()) = EOF!) putchar (c); Adjon meg egy karaktert van a fejléc rész közben. mivel a = getchar ()) -" />

szimbólum fájl másoló program

printf ( "Make input> \ n"); míg a ((c = getchar ()) = EOF!) putchar (c);

Adjon meg egy karaktert van a fejléc rész közben. mivel a = getchar ()) - egy kifejezés ugyanolyan típusú, mint, és a c. while általában a következőképpen működik: Először azt kiértékeli a kifejezést, ami a fejléc rész kerül végrehajtásra, míg a szimbólum billentyűzet, amire szükségünk van. Aztán, amíg az üzemeltető ellenőrzi, nem írtunk be semmilyen karaktert a fájl végén. Mivel szemben az előző kiviteli alakban, míg az üzemeltető test áll csak egy üzemeltető putchar (c). A zárójelek elhagyhatók. Miután végrehajtott putchar (c). vezérlés átkerül a fejlécben része a while. ami ismét értékelni fogja a kifejezés, ami viszont szükségessé karakterek bevitele a billentyűzetről, és így tovább. d.

Számlálás karakterek a fájlban. 1. lehetőség

Írjunk egy programot, amelyben a fájl be a billentyűzetről. Program típusa listán látható 2.3.

printf ( "Make input> \ n"); while (getchar () = EOF!) nc ++;

printf ( "karakterek-száma:% ld \ n", NC); _getch ();

Itt találkozunk egy új típusú adatok: hosszú - hosszú egész. Ez a típus (lehet long int) leírására használják a nagy egész egy jel. Eszerint a típusú memória változók nagyobb vagy egyenlő, mint int. Változók hosszú típus lehet nyilvánítani egy aláírt hosszú, vagy előjel nélküli hosszú. Az első esetben a változó jelen lesz jel a második - a jele le lesz tiltva. Ez azt jelenti, hogy mindkét esetben, hogy a megjelölés kicsit selejtező aláíratlan fogják kezelni a fordító, mint egy normális kibocsátási adatok, azaz a. E. vesz részt a műveletekben, valamint más bit adat.

alá hosszú - a szinonimája hosszú. Van is egy adattípust hosszú hosszú. A változó az ilyen típusú memória tart, mint előjel nélküli hosszú. Típusú változók hosszú, hosszú is alá lehet írni, vagy előjel nélküli. Ennek megfelelően be kell jelenteni

egyaránt aláírt, hosszú, hosszú, hosszú, hosszú és aláírás. aláírt hosszú, hosszú - egyet jelent a hosszú, hosszú.

Mivel vesszük karakterek száma a fájlban (általában) nem lehet „billentyűzet”, akkor fel kell készülnie arra, hogy ez lesz a sok karakter, és a számuk meghaladja a megengedett értéket, helyezünk egy egész típusú változó. A több bemeneti karakterek számlálása változó NC típusú hosszú szabály szerint léptek egy karakter - az érték nc növekszik léptek egy - nc újra növekszik, stb elején az egyes programok végrehajtása érték nc nullázni ...

További igény van az input karakterek (szöveg jelenik meg a képernyőn). Aztán újra egy while rendezett be karaktereket, amíg a billentyűkombináció lenyomásakor +. Megjegyzendő, hogy bár a test a szolgáltató (mint az előző példában) csak egyetlen kifejezés, így a fogszabályozó, amelyek korlátozzák az üzemeltető teste felesleges. Mivel az üzemeltető szervezet funkciója getchar (). Amikor a while kezdi értékelni egy kifejezést, szükség karakterek bevitele a billentyűzetről. Miután bemutatjuk a szimbólum, getchar () értéke egyenlő lesz a kód beírt karaktert: a funkció mindig karakteres kódot, hogy nyomja meg a billentyűzeten. Ezért nincs szükség érték getchar () még mindig változóba, különösen azért, mert vveden-

szimbólum fájl másoló program

44 I. rész A tanulmány a C / C ++

th karakterét algoritmus nem szükséges - az értéke getchar () egyszer, mint a fájl vége. Ha ez a funkció még nem lépett be (nem nyomja meg a billentyűkombináció +) A végrehajtási feltétel míg az üzemeltető nem zavarja, és közben a kezelő szerv. amely csak egy nc ++ operátor. Ez ismét működni kezd.

Új üzemeltető nc ++ egyenértékű kifejezési nc = nc + 1 (m. E. Az egység hozzáadjuk a érték nc). By the way, ez ebben az esetben nem kell írni, és ++ nc. ++, miközben a művelet nem vesz részt az expressziós int típusú x = nc ++ vagy int x = ++ nc. Nem számít. Az utóbbi esetben azonban a helyzet a jelek ++ jelentősen, ha azok nc. a művelet első, majd hozzá az eredményt az x változó. Ha után nc. Az első tartalmi nc van rendelve az x változó. majd nc változik egységnyi. Ezt a műveletet az üzemeltetéshez kapcsolódó -. amely úgy viselkedik, mint ++. de ez nem tesz hozzá, de kivonja.

A printf () függvény ismét megjelenik egy új formátum:% ld. Eszerint a formátum száma típusú hosszú.

A kimenet ábrán látható. 2.2. Figyeljük meg, hogy kiszámítjuk a karakterek részt és szimbólum billentyűparancsok +, és a szimbólum, amely bemeneti jeleként a bemenet végét. Ezért az eredményeket - a karakterek száma - az egyik nagyobb, mint az ábrán látható. Ahhoz, hogy ez ne történhessen meg a programban befejezése előtt a nc volna, hogy egy, de akkor nem lenne egyértelmű, hogy a diák.

Ábra. 2.2. A program eredményeként a hirdetést 2.3

Számlálás karakterek a fájlban. 2. lehetőség

Számának módosítása az előző program, az új üzemeltető és új művelet (lásd. A szövegben). A program úgy néz ki, listán látható 2.4.