Changes between Version 2 and Version 3 of c-intro


Ignore:
Timestamp:
Feb 19, 2009, 10:46:46 AM (15 years ago)
Author:
msitar
Comment:

Formatiran izpis

Legend:

Unmodified
Added
Removed
Modified
  • c-intro

    v2 v3  
    102102
    103103 * ''float'' - za realne vrednosti
    104  * ''int'' - za celoštevilčne vrednosti
     104 * ''int'' - za celoštevilčne vrednosti (integer)
    105105
    106106Uporabljajo pa se še ''double'', ''char'', ''long'',...
     
    140140V ''if'' stavke lahko dodamo še dodatne pogoje. To storimo z ukazom ''else if(pogoj)''.
    141141
     142{{{
     143#!c
     144if(a>b)
     145{
     146  max=a;
     147}
     148else if(c>a)
     149{
     150  max=c;
     151}
     152else
     153{
     154  max=b;
     155}
     156}}}
     157
    142158[[BR]]
    143159
     
    148164for(i=0; i<10; i++)
    149165{
    150   printf("text\n");
    151 }
    152 }}}
     166  printf("text\n");
     167}
     168}}}
     169
     170Pri tem ''\n'' pomeni prehod v novo vrsto (New Line)
    153171
    154172[[BR]]
     
    172190}}}
    173191
     192Lahko uporabimo še dodatni ukaz ''default'', pri katerem se izvršijo stavki, kadar ni bil izbran določen ''case''.
     193
     194{{{
     195#!c
     196switch(i)
     197{
     198  case 1:
     199   printf("text 1")
     200   break;
     201  case 2:
     202   printf("text 2")
     203   break;
     204  default:
     205   printf("text")
     206}
     207}}}
     208
    174209[[BR]]
    175210
     
    181216while(i<10)
    182217{
    183   printf("text");
     218  printf("text\n");
    184219  i=i+1;
    185220}
     
    195230do
    196231{
    197   printf("text");
     232  printf("text\n");
    198233  i=i+1;
    199234}
     
    205240[[BR]]
    206241
     242V praksi pa se pogosto uporablja kombinacija teh stavkov.
     243
     244{{{
     245#!c
     246//Generiranje elementov matrike H
     247
     248for(i=0; i<n; i++) 
     249{
     250  for(j=0; j<n; j++)
     251  {
     252    if(i==j)
     253    {
     254      H[i*n+j]=0.5;
     255    }
     256    else
     257    {
     258      H[i*n+j]=2.0;
     259    }
     260  }
     261}
     262}}}
     263 
     264[[BR]]
     265
    207266== Formatiran izpis ==
    208267
     268Vrednosti spremenljivk in konstant lahko izpisujemo z različnimi formati. Najbolj pogosto uporabljeni formatni stavki so:
     269
     270 * ''%f'' - realna števila
     271 * ''%d'' - cela števila
     272 * ''%g'' - realna števila, format odvisen od velikosti
     273
     274[[BR]]
     275
     276Format izpisa neke vrednosti lahko poljubno določimo. To storimo tako, da formatni stavek dopolnimo z ukazom, ki nam pove koliko mest naj izpis zavzame pred decimalko in koliko za njo. Za primer vzemimo, da želimo imeti pet mest pred decimalko in dva za njo. Formatni stavek se glasi ''%5.2f''.
     277
     278[[BR]]
     279
     280Primeri formatiranega izpisa
     281
     282{{{
     283#!c
     284#include <stdio.h>
     285
     286int main()
     287{
     288  float a=5.12; //Realno število
     289  int b=-5;     //Celo število
     290
     291  printf("Vrednost a je enaka %f\n", a);   
     292  printf("Vrednost a je enaka %4.2f\n", a); //Nastavimo željen format izpisa
     293  printf("Vrednost a je enaka %g\n", a);    //Format bo odvisen od velikosti
     294 
     295  printf("Vrednost b je enaka %d\n", b);
     296  return 0;
     297}
     298}}}
     299
     300Program izpiše naslednje:
     301
     302{{{
     303Vrednost a je enaka 5.120000
     304Vrednost a je enaka 5.12
     305Vrednost a je enaka 5.12
     306Vrednost b je enaka -5
     307}}}
     308
    209309
    210310== Polja, vektorji, matrike ==