W02 wej-wyj if else switch, PWR - Informatyka W4, podstawy programowania
[ Pobierz całość w formacie PDF ]
OPERACJE WEJŚCIA / WYJŚCIA 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 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 przykład: #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: % X d % X.X f np. % 4 d - liczba dziesiętna na czterech pozycjach % 10 f - liczba rzeczywista na 10 pozycjach % 10.2 f - liczba rzeczywista na 10 pozycjach, 2 cyfry po przecinku % .3 f - liczba rzeczywista z dokladnoscią do 3 cyfr po przecinku M.Piasecki: PODSTAWY PROGRAMOWANIA - 1 - (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 , . . . ) ; 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 - pojedynczy znak % s - łańcuch znaków % d - liczba dziesiętna ze znakiem % f lub % e - liczba zmiennoprzecinkowa % u - liczba dziesiętna bez znaku % x - liczba w kodzie szesnastkowym (bez znaku) % o - liczba w kodzie ósemkowym (bez znaku) 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) przykład: #include <stdio.h> 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 ® 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’ M.Piasecki: PODSTAWY PROGRAMOWANIA - 2 - (W2) Operacje wejścia/wyjścia tekst steruj ą cy 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 blok). przykład: #include <stdio.h> void main( void ) { int a = 10, b = 20 ; { int a = 30 ; // ’przesłonięcie’ poprzedniej definicji zmiennej ’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 (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 Z = ” ); scanf ( ” %c ” , &z ); if ( z >= ’A’ && z<=’Z’ ) printf( ” \n\n Dobrze! To jest duza litera ” ); else printf( ” \n\n Zle! To NIE jest duza litera ” ); printf( ” \n\n Nacisnij ENTER, aby zakonczyc program ” ); fflush(stdin); // wyczyszczenie bufora strumienia <stdin> tzn. klawiatury getchar( ); } Dalsze przykłady dla instrukcji warunkowej: #include <stdio.h> void main( void ) // Wartość maksymalna z trzech wczytanych liczb { int A, B, C; printf( ” Podaj pierwsza liczbe: ” ); scanf( ” %d ” , &A ); printf( ” Podaj druga liczbe: ” ); scanf( ” %d ” , &B ); printf( ” Podaj trzecia liczbe: ” ); scanf( ” %d ” , &C ); if ( A > B && A > C ) printf( ” Maksimum = %d ”, A ); if ( B > A && B > C ) printf( ” Maksimum = %d ”, B ); if ( C > A && C > B ) printf( ” Maksimum = %d ”, C ); printf ( ” \n\n Nacisnij ENTER, aby zakonczyc program ” ); fflush(stdin); getchar(); } // Co się stanie w przypadku, gdy dwie lub trzy liczby będą równe ? M.Piasecki: PODSTAWY PROGRAMOWANIA - 4 - (W2) Podstawowe instrukcje Inne wersje tego samego programu include <stdio.h> void main( void ) // Wartość maksymalna z trzech wczytanych liczb { int A, B, C; printf( ” Podaj pierwsza liczbe: ” ); scanf( ” %d ” , &A ); printf( ” Podaj druga liczbe: ” ); scanf( ” %d ” , &B ); printf( ” Podaj trzecia liczbe: ” ); scanf( ” %d ” , &C ); if ( A > B ) if ( A > C ) printf( ” Maksimum = %d ”, A ); else printf( ” Maksimum = %d ”, C ); else if ( B > C ) printf( ” Maksimum = %d ”, B ); else printf( ” Maksimum = %d ”, C ); fflush(stdin); getchar(); } #include <stdio.h> // Wartość maksymalna z trzech wczytanych liczb void main( void ) { int A, B, C, max; printf( ” Podaj pierwsza liczbe: ” ); scanf( ” %d ” , &A ); printf( ” Podaj druga liczbe: ” ); scanf( ” %d ” , &B ); printf( ” Podaj trzecia liczbe: ” ); scanf( ” %d ” , &C ); max = A; if ( max < B ) max = B; if ( max < C ) max = C; printf( ” \n Maksymalna wartosc = %d ” , max ); fflush(stdin); getchar(); } M.Piasecki: PODSTAWY PROGRAMOWANIA - 5 - (W2) Podstawowe instrukcje [ Pobierz całość w formacie PDF ] |