To tylko jedna z 8 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
OPERACJE WEJŚCIA / WYJŚCIA
Funkcja: printf()
biblioteka:
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 cudzysłowach) zawierająca:
− zwykłe znaki (które są po prostu kopiowane na ekran)
− kody formatujące kolejnych argumentów:
%c
%s
%d
%f
%e
%g
%u
%x
%o
l
−
−
−
−
−
−
−
−
−
−
pojedynczy znak
łańcuch znaków
liczba dziesiętna ze znakiem
liczba zmiennoprzecinkowa (notacja dziesiętna)
liczba zmiennoprzecinkowa (notacja wykładnicza)
liczba zmiennoprzecinkowa (krótszy z formatów %f %e)
liczba dziesiętna bez znaku
liczba w kodzie szesnastkowym (bez znaku)
liczba w kodzie ósemkowym (bez znaku)
przedrostek (long) stosowany przed: d u x o
przykład:
#include
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
%4d
− liczba dziesiętna na czterech pozycjach
%10f
np.
− liczba rzeczywista na 10 pozycjach
%10.2f
%.3f
− liczba rzeczywista na 10 pozycjach, 2 cyfry po przecinku
− liczba rzeczywista z dokladnoscią do 3 cyfr po przecinku
M.Piasecki: PODSTAWY PROGRAMOWANIA
−1−
(W2) Operacje wejścia/wyjścia
Funkcja: scanf()
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 polecenia jak traktować kolejne dane wczytywane ze strumienia
(jakie typy zmiennych są pod adresami adres_1, adres_2, ... )
Kody formatujące (podobne jak dla printf() ):
%c
%s
%d
%f lub %e
%u
%x
%o
l
l
L
−
−
−
−
−
−
−
−
−
−
pojedynczy znak
łańcuch znaków
liczba dziesiętna ze znakiem
liczba zmiennoprzecinkowa
liczba dziesiętna bez znaku
liczba w kodzie szesnastkowym (bez znaku)
liczba w kodzie ósemkowym (bez znaku)
przedrostek stosowany przed: d u x o (long int)
przedrostek stosowany przed: f e (double)
przedrostek stosowany przed: f e (long double)
& − operator adresowania (zwraca adres zmiennej podanej po operatorze)
przykład:
#include
void main(void)
{
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 →
Odczyt ←
Wydruk →
Odczyt ←
Podaj jedna liczbe calkowita:
123 ↵
Podaj jedna liczbe rzeczywista i jeden znak:
456.789 a ↵
Wynik wczytywania: x == 123, y == 456.789, znak == ’a’
M.Piasecki: PODSTAWY PROGRAMOWANIA
−2−
(W2) Operacje wejścia/wyjścia
PODSTAWOWE INSTRUKCJE JĘZYKA C++
• „instrukcja” grupująca - nawiasy klamrowe { } są używane do grupowania
wielu deklaracji i instrukcji w jedną instrukcję złożoną (jeden
(…)
…( a > 0 )
{
printf( ”Podaj nową wartość A =” );
scanf( ”%d” , &a );
}
}
• Instrukcja warunkowa (może mieć jedną z dwu postaci) prosta:
if ( wyrażenie )
instrukcja_wewnętrzna ;
instrukcja ta sprawdza czy wyrażenie jest prawdziwe (ma wartość różną od zera)
tzn. if ( wyrażenie )
jest równoważne
if ( wyrażenie != 0 )
przykład:
#include <stdio.h>
void main( void )
{
int liczba;
printf( ”Podaj dowolna liczbe calkowita A = ” ); scanf( ”%d” , &liczba );
if( liczba % 2 == 0)
// jeżeli reszta z dzielenia przez 2 jest 0
printf( ”Podana liczba jest parzysta” );
}
M.Piasecki: PODSTAWY PROGRAMOWANIA
−3−
(W2) Podstawowe instrukcje
lub instrukcja warunkowa złożona:
if ( wyrażenie )
instrukcja_1 ;
else
instrukcja_2 ;
przykład:
#include <stdio.h>
void main( void )
{
char z;
printf( ”Podaj dowolna duza litere…
… dziewięć” ); break;
default: printf( "Podałeś inną liczbę niż: 0, -5, 7, 9 " );
break;
}
}
M.Piasecki: PODSTAWY PROGRAMOWANIA
−7−
(W2) Podstawowe instrukcje
Przykład dla instrukcji wyboru:
#include <stdio.h>
// Program „kalkulator” zawierający proste „menu”
void main( void )
{
char znak;
double a, b, wynik;
printf( "Podaj pierwsza liczbe A =" ); // wczytanie dwóch liczb z klawiatury
scanf( "%lf…
... zobacz całą notatkę
Komentarze użytkowników (0)