Funkcja: printf() biblioteka: <stdio.h>
wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
int printf ( tekst_sterujący , argument_1 , argument_2 , . . . ) ;
tekst sterujący
jest to stała łańcuchowa (w podwójnych cudzysłowach) zawierająca:
- zwykłe znaki (które są po prostu kopiowane na ekran)
- kody formatujące kolejnych argumentów:
%c - pojedynczy znak
%s - łańcuch znaków
%d - liczba dziesiętna ze znakiem
%f - liczba zmiennoprzecinkowa (notacja dziesiętna)
%e - liczba zmiennoprzecinkowa (notacja wykładnicza)
%g - liczba zmiennoprzecinkowa (krótszy z formatów %f %e)
%u - liczba dziesiętna bez znaku
%x - liczba w kodzie szesnastkowym (bez znaku)
%o - liczba w kodzie ósemkowym (bez znaku)
l - przedrostek (long) stosowany przed: d u x o
np. #include <stdio.h>
void main(void)
{
int x = 10;
long y = 20;
double s;
s = x + y;
printf ( ”%s obliczen %d + %ld = %f” , ”Wynik” , x , y , s );
}
efekt na ekranie ® Wynik obliczen 10 + 20 = 30.000000
Aby określić ilość drukowanych cyfr do kodu formatującego można dodać kody długości: %Xd %X.Xf
np. %4d - liczba dziesiętna na czterech pozycjach
%10f - liczba rzeczywista na 10 pozycjach
%10.2f - liczba rzeczywista na 10 pozycjach, 2 cyfry po przecinku
%.3f - liczba rzeczywista z dokladnoscią do 3 cyfr po przecinku
M.Piasecki: INFORMATYKA 1 - 3 - (W2) Operacje wejścia/wyjścia
Funkcja: scanf() <stdio.h>
odczytuje dane ze standardowego strumienia wejściowego (stdin)w/g zadanego formatu i zapamiętuje je pod zadanymi adresami pamięci
int scanf ( tekst_sterujący , adres_1 , adres_2 , . . . ) ;
tekst sterujący ® jest to stała łańcuchowa (w podwójnych cudzysłowach) zawierająca instrukcję jak traktować kolejne dane wczytywane ze strumienia (jakie typy zmiennych są pod adresami adres_1, adres_2, ... )
Kody formatujące (podobne jak dla printf() ):
%f lub %e - liczba zmiennoprzecinkowa
l - przedrostek stosowany przed: d u x o (long int)
l - przedrostek stosowany przed: f e (double)
L - przedrostek stosowany przed: f e (long double)
& - operator adresowania (zwraca adres zmiennej podanej po operatorze)
int x;
double y;
char znak;
printf( ”Podaj jedna liczbe calkowita: ” );
scanf ( ”%d” , &x );
printf( ”Podaj jedna liczbe rzeczywista i jeden znak: ”);
scanf ( ”%lf %c” , &y , &znak );
Wydruk ® Podaj jedna liczbe calkowita:
Odczyt ¬ 123 ¿
Wydruk ® Podaj jedna liczbe rzeczywista i jeden znak:
Odczyt ¬ 456.789 a ¿
Wynik wczytywania: x == 123, y == 456.789, znak == ’a’
PODSTAWOWE INSTRUKCJE JĘZYKA C++
· Nawiasy klamrowe { } są używane do grupowania wielu deklaracji i instrukcji w jedną instrukcję złożoną (jeden blok).
przykład:
#include <stdio.h>
void main( void )
int a = 10, b = 20 ;
int a = 30 ; // ’przesłonięcie’ poprzedniej definicji a
printf( ”A = %d, B = %d \n” , a , b ); // wydruk: A=30, B=20
printf( ”A = %d, B = %d \n” , a , b ); // wydruk: A=10, B=20
. . .
if( a > 0 )
printf( ”Podaj nową wartość A =” );
scanf( ”%d” , &a );
· Instrukcja warunkowa:
if ( wyrażenie ) instrukcja_1 ; else instrukcja_2 ;
- część od słowa else można pominąć,- instrukcja sprawdza czy wyrażenie jest różne od zera tzn. if ( wyrażenie ) jest równoważne if ( wyrażenie != 0 )
{ int a;
printf( ”Podaj wartość dodatnią A = ” ); scanf( ”%d” , &a );
if( a < 0 ) a = -a ;
if( a==0 ) { printf( ”A jest zerowe, podaj nową wartość A = ” ); scanf( ”%d...
melasa4