110 likes | 220 Views
Pierwsze programy. Aplikacje konsolowe. Strumień wejściowy. Strumień wyjściowy. Aplikacja. Przekierowanie strumienia na drukarkę. Pierwszy program. Składniki programu. Słowa kluczowe: main, for, while, if, else.. Zmienne (własności) Liczby całkowite, rzeczywiste, litery (znaki)…
E N D
Aplikacje konsolowe Strumień wejściowy Strumień wyjściowy Aplikacja Przekierowanie strumienia na drukarkę
Składniki programu • Słowa kluczowe: main, for, while, if, else.. • Zmienne (własności) Liczby całkowite, rzeczywiste, litery (znaki)… • Operatory +, -, *, /, <, &, |, ~, !… • Funkcje (Metody) ANSI C, funkcje użytkownika
Wielkość liter, instrukcje, średniki • C, C++, Java rozróżniają wielkości liter • terminEgzaminu TerminEgzaminu – to różne identyfikatory w • Uwaga: w Pascalu i np. Basic-u to takie same identyfikatory. Języki te nie rozróżniają wielkości liter • Każda instrukcja kończy się średnikiem printf(”ALA” ); X = Y + 123; if (x == y) z = x + y;
Instrukcje złożone, komentarze • Instrukcja złożona, to jedna lub kilka instrukcji prostych zgrupowanych poprzez nawiasy klamrowe. { instrukcja1; instrukcja2; instrukcja3; } • Komentarz w jednej linii: printf(”To jest instrukcja”); // a to komentarz • Komentarz w kilku liniach /* … */ : /* to jest komentarz w kilku liniach */ • Komentarze są pomijane przez kompilator.
Włączanie plików #include • Dyrektywa #include włącza tekst z pliku do strumienia kompilacji. • Jest używana zwykle w celu włączania informacji o deklaracjach zmiennych oraz definicjach stałych. • Pliki nagłówkowe standardowych bibliotek są włączane z wykorzystaniem nawiasów <> #include <stdio.h> • Można włączać tekst z dowolnego pliku tekstowego: #include ” mojplik.h”
int x; Odwzorowanie danych w pamięci Typy danych – wstęp Dane, którymi będziemy posługiwać się w programie muszą być zadeklarowane. C (C++) i Pascal są językami z tzw. ścisłą typizacją. Oznacza to między innymi, że każda zadeklarowana zmienna lub stała musi mieć podany typ. Typ określa ogólny kształt, wielkość i własności danych. • Dzięki określeniu typu kompilator • Może: • określić i ewentualnie zarezerwować • miejsce w pamięci • sprawdzać poprawność przypisań • dokonywać niezbędnych konwersji • danych
Kilka typów podstawowych • Liczby całkowite: • char • short • int • Liczby rzeczywiste (zmiennoprzecinkowe): • float • double
printf() Funkcja: printf() <stdio.h> wysyła sformatowane dane do standardowego strumienia wyjściowego int printf ( tekst_sterujący , argument_1 , argument_2 , . . . ) ; tekst sterujący stała łańcuchowa zawierająca: - zwykłe znaki (które są 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
Funkcja: scanf() <stdio.h> odczytuje dane ze standardowego strumienia wejściowegow/g zadanego formatu i zapamiętuje je pod zadanymi adresami pamięci int scanf ( tekst_sterujący , adres_1 , adres_2 , . . . ) ; tekst sterującyjest 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() ): %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: du 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)