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

#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
#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.
#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.
#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”.
#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.
#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.
  1. 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.
  2. Program który dla podanej podstawy i wykładnika oblicza potęgę. Dla uproszczenia przyjmujemy, że wykładnik jest liczbą całkowitą.
  3. Program wyświetlający wartość silni z podanej przez użytkownika liczby całkowitej.
  4. Program wyświetlający tabliczkę mnożenia, której rozmiar ustalany jest przez użytkownika.