You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

printf

printf()-funktio on C-kielen tulostuskäsky. Se on esitelty stdio.h -tiedostossa, joten käsky #include<stdio.h> pitää olla ohjelman alussa.

printf ja tulostuksen muotoilu

printf argumenttissa olevine koodien merkitys:

merkki

selitys

englanniksi

\b

siirto vasemmalle

backspace

\f

arkin poisto

form feed

\n

uusi rivi

line feed

\r

telan palautus

carriage return

\t

vaakasuora tabulointi

horizontal tab

\"

lainausmerkki

double quote

\'

heittomerkki

single quote

\0

null

null


vasemmalle vino viiva

backslash

\v

pystysuora tabulointi

vertical tab

\a

hälytys

alert

\N

oktaalivakio

octal constant

\xN

heksadesimaalivakio

hexadesimal constant

Muotoilumerkkijono

muotoilu

tyyppi

selitys

%c

char

yksi merkki

%s

char[]

merkkijono (päättyy NULL-merkkiin)

%d

int

kokonaisluku

%i

int

kokonaisluku

%u

unsigned int

etumerkitön kokonaisluku

%l

long

pitkä kokonaisluku

%f

float

reaaliluku

%lf

double

kaksoistarkkuuden reaaliluku

Kaikki tulostusmuotoilut laitetaan lainausmerkien sisälle -merkistä printf-käsky tietää, että kyseessä on muotoilu.

Esimerkkijä

kokonaislukumuuttujan (int) tulostuksesta:

int auton_nopeus=120; // km/h
printf("Auton nopeus on %d", auton_nopeus);

Tai useamman muuttujan tulostus:

char Juttu[]="tulostan lukuja";
int Luku=5;
float Reaaliluku=45.7;
printf("\nJuttuja: %s, numeroita %d, Reaalilukuja %f", Juttu, Luku, Reaaliluku);

Tuloste on:

Juttuja: tulostan lukuja, numeroita 5, Reaalilukuja 45.7

Seuraavassa on esimerkki, jossa on käytetty printf-käskyn eri muotoja sekä tyypinmuunnoksia jne.

         /*Ohjelma, joka tulostaa antamasi reaaliluvun
           kokonaislukuna, heksalukuna sekä oktaalilukuna. */
         #include<stdio.h>
         #include<conio.h>
         #include<stdlib.h>

         void main(void)
         {
               double Reaaliluku;
              int Kokonaisluku,Laskuri=0;

              char Merkkeja[100];

              char Merkki;

              //silmukka, jossa ollaan niin kauan kuin käyttäjä syöttää luvun 555

              while(Kokonaisluku != 555)

              {

                     system("cls");//putsataan ruutu

                     printf("Anna reaaliluku: ");

                     do

                     { //tieto näppikseltä
                         Merkki=getche(); //laitetaan Merkki, Merkkeja vektoriin
                         Merkkeja[Laskuri]=Merkki;
                         Laskuri=Laskuri+1;//lisätään paikkaa vektorissa
                     } while(Laskuri<8 && Merkki!=13);

                     //päätetään merkkijono

                     Merkkeja[Laskuri]=0;

                     Laskuri=0;

                     //muutetaan merkkijono reaaliluvuksi

                     Reaaliluku = atof(Merkkeja);

                     printf("\nReaaliluku on %.3f ",Reaaliluku);

                     //Muutetaan reaaliluku kokonaisluvuksi

                     Kokonaisluku=(int) Reaaliluku;

                     printf("\nKokonaisluku on %d ",Kokonaisluku);

                     //Tulostus 16-kantaisena lukuna

                     printf("\nHeksaluku on %x ",Kokonaisluku);

                     //Tulostus 8-kantaisena lukuna

                     printf("\nOktaaliluku on %o ",Kokonaisluku);

                     printf("\nPaina Enter");

                     getch();

               }

         }

  • No labels
You must log in to comment.