====== Zajęcia 2 - Proste programy w języku C (printf, scanf, pętle, warunki)====== ===== Wczytywanie i wyświetlanie liczb ===== #include /* program wczytuje i wyswietla wartosc podanej liczby calkowitej */ int main() { int liczba; //deklarowanie zmiennej printf("Podaj liczbe: "); scanf("%d",&liczba); printf("Podales liczbe %d \n",liczba); return 0; } ** Ćwiczenia ** * Zmodyfikuj program tak aby po wczytaniu dwóch liczb całkowitych wyświetlił ich sumę (+), różnicę (-), iloczyn (*), iloraz (/), wartość dzielenia modulo (%). * Zmień program tak aby działał dla liczb rzeczywistych (bez operacji modulo (%), która może być wykonana tylko dla liczb całkowitych) * spróbuj zmienić formatowanie wyświetlanych liczb aby dla podanych liczb 1 i 3 program wyświetlił komunikat zbliżony do 1.0 + 3.0 = 4.00 1.0 - 3.0 = -2.00 1.0 * 3.0 = 3.00 1.0 / 3.0 = 0.33 ===== Warunek if ===== #include /* program sprawdza czy podana liczba jest dodatnia czy ujemna */ int main() { int liczba; printf("Podaj liczbe: "); scanf("%d",&liczba); if( liczba > 0 ) printf("Liczba %d jest wieksza od zera\n",liczba); else printf("Liczba %d jest mniejsza od zera\n",liczba); return 0; } ** Ćwiczenia ** * Dopisz do programu z pierwszego ćwiczenia zabezpieczenie przed wykonaniem operacji dzielenia przez zero. ===== Pętla while ===== #include /* program wyswietla sekwencje liczb calkowitych od 1 do podanej przez uzytkownika wartosci */ int main() { int liczba; int i = 0; printf("Podaj liczbe: "); scanf("%d",&liczba); while(i <= liczba) { printf("%d\n",i); i = i + 1; } return 0; } ** Ćwiczenia ** * Zmodyfikuj powyższy program tak aby wczytywał 3 liczby rzeczywiste określając początek, koniec i krok wyświetlanej sekwencji liczb. ===== Zmienne, typy i ich rozmiary - operator sizeof()===== #include int main() { char znak; znak = 'A'; printf("rozmiat typu char %d\n",sizeof(znak)); printf("rozmiat typu float %d\n",sizeof(float)); return 0; } ** Ćwiczenia ** * Sprawdź za pomocą operatora ''sizeof'' ile bajtów zajmują w pamięci następujące typy: unsigned char, int, short, double, long double, wskaźnik *int, wskaźnik *void, tablica 10 elementów typu int, macierz typu float o wymiarach 2x5, tablica typu char zainicjowana wartościami ''{'j','p','r'}'', tablica char zainicjowana napisem ''"jpr"''. ===== Zakres zmiennych ===== #include int main() { short liczba = 32767; printf("liczba = %d\n",liczba); liczba = liczba + 1; printf("liczba + 1 = %d\n",liczba); return 0; } ** Ćwiczenia ** * Napisz program wyznaczający największą możliwą liczbę poprawnie reprezentowaną przez typ int i float. Dla typu float znajdź także najmniejszą możliwą liczbę większą od zera. Wygrywa program, który najbardziej zbliży się do poprawnej odpowiedzi w jak najkrótszym czasie. ===== Formatowanie wyjścia - printf() ===== #include int main() { char znak='J'; float liczba = 1/3.0f; printf("znak = %c\nznak (dziesietnie) = %d\nznak (szestnastkowo) = %x\nznak (osemkowo) = %o\n",znak,znak,znak,znak); printf("liczba = %f\n",liczba); printf("liczba = %.1f\n",liczba); printf("liczba = %10.2f\n",liczba); printf("liczba = %e\n",liczba); printf("liczba = %d\n",liczba); return 0; } ** Ćwiczenia ** * wyświetl tablicę znaków ASCII poczynając od znaku SPACE (32) do znaku DEL (127) wraz z odpowiednimi wartościami liczbowymi w systemie dziesiętnym, szesnastkowym i ósemkowym. ===== Zadania domowe ===== - Program wczytuje kolejne liczby rzeczywiste aż do momentu gdy użytkownik poda wartość 0, po czym wyświetla sumę , średnią oraz wartość minimalną i maksymalną dla wprowadzonych liczb. - Program który dla podanej podstawy i wykładnika oblicza potęgę. Dla uproszczenia przyjmujemy, że wykładnik jest liczbą całkowitą. - Program wyświetlający wartość silni z podanej przez użytkownika liczby całkowitej. - Program wyświetlający tabliczkę mnożenia, której rozmiar ustalany jest przez użytkownika.