Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ====== Podstawy programowania ====== ===== Zmienne i ich typy ===== Zmienne przechowują wartości: * **typ zmiennej:** określa rodzaj danych, zakres wartości, dozwolone operacje na wartości * **nazwa zmiennej:** dozwolone znaki ''a-zA-z0-9_'' (cyfra nie może byc pierwszym znakiem) Deklaracje zmiennych: <code C> int i; float x; char znak; float zmienna1, zmienna2; int a, _a, a1, A; </code> Podstawowe typy: {{zajecia:pp1_2021_1:typy.png?400|}} [[https://pl.wikibooks.org/wiki/C/Zmienne#Typy_zmiennych|Typy zmiennych]] ===== Operator przypisania ===== <code C> float x, y; int k = 42; char znak; znak = 'C'; x = 3.14; y = x; </code> ===== Operatory arytmetyczne ===== {{zajecia:pp1_2021_1:operatory_arytmetyczne.png?400|}} <code C> float x 3.14; int k = 42; char znak = 'C'; k = k + 1; x = k - 100; x = x * x; k = x / 2; k++; --k; </code> [[https://pl.wikibooks.org/wiki/C/Operatory#Operatory_arytmetyczne|Operatory arytmetyczne]] ===== Funkcja printf() ===== Funkcja służy do wypisywania komunikatów i formatowania wypisywanych wartości zmiennych. Deklaracja funkcji znajduje sie w pliku nagłówkowym [[http://cpp0x.pl/dokumentacja/standard-C/cstdio-stdio-h/492|stdio.h]] {{zajecia:pp1_2021_1:printf3.png?450|}} **Specyfikatory formatu** {{zajecia:pp1_2021_1:printf.png?400|}} ==== Przykład: printf() ==== <code C> #include<stdio.h> int main() { int k = 42; float liczba = 2.0/3.0; char znak = 'J'; printf("k = %d\n"); printf("znak = %c\n", znak); /* znak jest liczba calkowita */ printf("znak = %d\n", znak); printf("liczba = %f\n", liczba); /* precyzja 2 miejsca po przecinku */ printf("liczba = %.2f\n", liczba); /* w polu o szerokosci 10 znakow */ printf("liczba = %10.2f\n", liczba); /* notacja naukowa (wykladnicza) */ printf("liczba = %e\n", liczba); /* niepoprawne formatowanie znieksztalca wynik */ printf("liczba = %d\n", liczba); return 0; } </code> ==== Ćwiczenie: pole koła ==== Napisz program ''kolo.c'', który wypisze pole oraz obwód koła o promieniu $r=2$.\\ Przyjmij przybliżenie wartości $\pi\approx 3,141592$ {{zajecia:pp1_2021_1:kolo.png?200|}} ===== Funkcja scanf() ===== Funkcja ''scanf()'' służy do wczytywania wartości zmiennych z terminala zgodnie z zadanym formatowaniem (specyfikatory identycznie jak w ''printf''). ==== Przykład: scanf() ==== <code C> #include <stdio.h> /* program wczytuje i wyswietla wartosc podanej liczby calkowitej */ int main() { int liczba; printf("Podaj liczbe: "); scanf("%d", &liczba); printf("Podales liczbe %d \n", liczba); return 0; } </code> ==== Ćwiczenie: pole i obwód koła c.d. ==== Zmodyfikuj program ''kolo.c'' w taki sposób aby użytkownik mógł podać wartość promienia $r$ dla którego wyznaczany jest obwód i pole. ==== Ćwiczenie: hex ==== Napisz program ''hex.c'', który dla podanej liczby całkowitej dziesiętnej wypisze jej postać w systemie szesnastkowym. ===== Zadanie: kalkulator ===== Napisz program o nazwie ''kalkulator.c'', który poprosi użytkownika o podanie 2 liczb rzeczywistych a następnie wypisze ich sumę, różnicę, iloczyn oraz iloraz.\\ Przykładowy wynik działania programu: <code> Podaj dwie liczby: 1 3 Oto wynik: 1.0 + 3.00 = 4.000 1.0 - 3.00 = -2.000 1.0 * 3.00 = 3.000 1.0 / 3.00 = 0.333 </code> Zadbaj o formatowanie wypisywanych wartości tak aby jak najbardziej odzwierciedlić formatowanie wyniku podane w tym przykładzie (precyzję wypisywanych wartości oraz wyrównanie wartości w kolumnach).