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

Compare with Current View Page History

« Previous Version 2 Next »

printf-funktio

printf

printf-funktio on C:n perustulostuskäsky. Se on  esitelty stdio.h tiedostossa, joten käsky #include<stdio.h> pitää olla ohjelman alussa. 

       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

printf ja tulostuksen muotoilu

printf argumenttissa olevine koodien merkitys:
 
\b siirto vasemmalle (back space)
\f arkin poisto (form feed)
\n uusi rivi (line feed)
\r telan palautus (carriage return)
\t vaakatabulaattori (horisontal tab)
\" lainausmerkki (double quote)
\' heittomerkki (single quote)
\0 null (null)
vasemmalle vino viiva (Backslash)
\v pystysuora tapulointi (vertical tab)
\a hälytys (alert)
\N oktaalivakio (octal constant)
\xN heksades.vakio (hexadesimal constant)

Muuttujien määrittely

%d     kokonaisluku, int
%f     reaaliluku, float
%lf     kaksoistarkkuuden reaaaliluku, double
%c    yksittäinen merkki, char
%s    merkkiono, char[]

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

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.