printf C-keeles: Täielik juhend algajatele koos näidete ja selgitustega

1. Sissejuhatus|printf tähendab?

Kui hakkate õppima C-keelt, on esimene funktsioon, millega sageli kokku puutute, printf. Seda kasutatakse teksti ja muutujate väärtuste kuvamiseks konsoolis. See on väga oluline programmi töö kontrollimiseks ja on asendamatu ka silumisel.

#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}

„Hello, World!” on sümboolne programm, mis tähistab esimest sammu programmeerimise maailma. See on sageli esimene programm, mida algajad kirjutavad. Siin õpime printf funktsiooni põhitõdesid.

2. printf põhistruktuur

printf on võimas funktsioon, mis võimaldab lihtsalt teksti ja andmete kuvamist. Allpool on selle põhiline kasutusviis.

printf("Tere, maailm!\n");

Ülaltoodud kood kuvab konsoolis teksti „Tere, maailm!” ning \n tagab reavahetuse. C-keeles ei toimu reavahetus automaatselt, seega on oluline vajadusel lisada see käsitsi.

3. Vormingutähiste mõistmine

printf toetab erinevat tüüpi andmete kuvamist vormingutähiste abil. Siin on peamised näited:

  • %d: Kuvab täisarvu.
  • %f: Kuvab komaga arvu (vaikimisi kuvatakse kuni kuus kohta pärast koma).
  • %s: Kuvab sõne (string).
  • %c: Kuvab ühe märgi.

Näide: Mitme andmetüübi kuvamine korraga

int age = 25;
float height = 175.5;
char initial = 'A';
char name[] = "Taro";

printf("Nimi: %s\nVanus: %d\nPikkus: %.1f\nInitsiaal: %c\n", name, age, height, initial);

Väljund on järgmine:

Nimi: Taro
Vanus: 25
Pikkus: 175.5
Initsiaal: A

Vormingutähiseid saab kombineerida, et kuvada korraga mitut tüüpi andmeid.

4. Väljundi juhtimine|Välja laius ja täpsuse määramine

printf võimaldab määrata välja laiust ja täpsust, et väljundi vormingut täpsemalt kontrollida.

Välja laius

Välja laiuse määramine võimaldab määrata väljundi minimaalse laiuse. Järgmine kood kuvab arvu 5 märgikohaga välja sees.

printf("%5d", 123);

Väljund on järgmine:

  123

Täpsuse määramine

Täpsust kasutatakse komaga arvude puhul selleks, et määrata mitut kohta pärast koma kuvatakse.

printf("%.2f", 3.14159);

Tulemus kuvatakse järgmiselt:

3.14

5. Täpsemad võimalused|Lipud ja vormingu valikud

printf funktsioonis saab kasutada lippusid, et väljundit veelgi paindlikumalt kontrollida.

Joondamine vasakule ja nullidega täitmine

Vasakule joondamiseks kasutatakse lippu - ning nullidega täitmiseks enne arvu kasutatakse lippu 0.

printf("%-5d", 123);  // Joondus vasakule
printf("%05d", 123);  // Täidetakse nullidega

Väljund:

123  
00123

Heksadetsimaalne ja oktalne väljund

printf abil saab kuvada arve ka 16-süsteemis (heksadetsimaalselt) ja 8-süsteemis (oktaalselt).

printf("%x", 255);  // Heksadetsimaal
printf("%o", 255);  // Oktal

Tulemused on järgmised:

ff
377

Need funktsioonid on eriti kasulikud süsteemiprogrammeerimisel ja silumisel.

6. Levinumad vead ja kuidas neid vältida

Üks sagedasemaid vigu printf kasutamisel on vormingutähise ja andmetüübi mitteklappimine. Näiteks kui kasutada ujukoma (komaga arvu) vormingutäitjat täisarvu jaoks, tekib viga.

int age = 25;
printf("%f", age);  // VALE: age on täisarv

Veenduge, et kasutate sobivaid vormingutähiseid ning et need vastaksid andmetüübile.

7. Praktiline näide|Kõigi elementide kombineerimine

Siin on näide, kus kombineeritakse kõik seni õpitud printf funktsiooni võimalused.

#include <stdio.h>
int main() {
    printf("Nimi: %-10s Vanus: %3d\n", "Alice", 30);
    printf("Hind: %7.2f\n", 123.456);
    return 0;
}

Programmi väljund on järgmine:

Nimi: Alice      Vanus:  30
Hind:  123.46

Nagu näha, annab printf vormingutähiste, välja laiuse, täpsuse ja lippude kasutamine selge ja loetava väljundi.

8. Kokkuvõte

printf on C-keeles väga võimas funktsioon, mis võimaldab paindlikult kohandada väljundit. Vormingutähiste, välja laiuse ja täpsuse oskuslik kasutamine aitab luua hästi struktureeritud väljundi. Silumisel ja tulemuste kontrollimisel on need tehnikad väga kasulikud – kasutage julgelt seda, mida selles artiklis õppisite!

9. Anna meile tagasisidet

Kui sul tekkis selle juhendi lugemisel küsimusi või soovid lisateavet, siis palun jaga oma mõtteid kommentaarides. Teie tagasiside aitab meil pakkuda veelgi paremat ja kasulikumat sisu!

侍エンジニア塾