Start	Zajęcia 1	Zajęcia 2	Zajęcia 3	Zajęcia 4	Zajęcia 5	Zajęcia 6	Zajęcia 7	Zajęcia 8	Zajęcia 9	Zajęcia 10	Pliki z zajęć

Zajęcia 2 - Proste programy w języku C (printf, scanf, pętle, warunki)

Wczytywanie i wyświetlanie liczb

#include <stdio.h> /* 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 <stdio.h> /* 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 <stdio.h> /* 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<stdio.h> 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 2×5, tablica typu char zainicjowana wartościami {'j','p','r'}, tablica char zainicjowana napisem „jpr”.

Zakres zmiennych

#include<stdio.h> 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<stdio.h> 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.