Advertisement
malinaX

lekcja 2

Sep 9th, 2020
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.78 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6.     /// zasieg zmiennych
  7.     // zmienne maja zasieg tylko do bloku kodu w ktorym zostaly zadeklarowane
  8.     // jezeli w 2 blokach zmienne maja takie same nazwy to widoczna jest tylko wewnetrzna
  9.  
  10.  
  11.     /// operatory
  12.     // = przypisanie
  13.     // + - * / % arytmetyczne
  14.     // && || ! logiczne
  15.     // > < >= <= == != porownanie
  16.     // += -= *= /= %= zlozone przypisanie
  17.     // ++ -- inkrementacja, dekrementacja
  18.  
  19.  
  20.     /// znaki
  21.     // char - typ zmiennej oznaczajacej znak tekstu; char zajmuje w pamieci jeden bajt
  22.     // %c - ciag formatujacy dla charow
  23.     printf("podaj znak: ");
  24.     char c;
  25.     scanf("%c", &c);
  26.     printf("podales %c\n", c);
  27.  
  28.  
  29.     /// tablice
  30.     // tablice sa metoda organizacji danych tego samego typu
  31.     int tab[10]; // dzialaja podobnie jak zwykle zmienne tj. podczas deklaracji musimy okreslic typ i nadac nazwe; w nawiasie [] podajemy rozmiar
  32.     int tab2[] = {1, 3, 6, 10, 15}; // w momencie deklaracji mozemy od razu przypisac pewne wartosci za pomoca nawiasow {} i nie podawac wtedy rozmiaru
  33.                                     // tablica bedzie miala rozmiar taki jak liczba podanych elemetow (w tym przypadku 5)
  34.     printf("\ntablica tab2 zawiera: ");
  35.     for (int i = 0; i < 5; i++)
  36.     {
  37.         printf("%d ", tab2[i]);
  38.     }
  39.  
  40.  
  41.     /// napisy
  42.     // napis jest ciagiem (lancuchem) znakow
  43.     printf("\n\npodaj napis: ");
  44.     char napis[20];
  45.     scanf("%s", napis); // wczytuje napis bez spacji do tablicy znakow
  46.                         // %s - ciag formatujacy dla napisow
  47.                         // w przypadku napisow przy wczytywaniu scanfem nie stoi znak &
  48.                         // podanie dluzszego napisu niz rozmiar tablicy spowoduje blad (pod Windowsem nie zawsze ale pod Linuxem tak)
  49.                         // napis konczy sie znakiem specjalnym \0 i on tez jest zapisywany w tablicy
  50.     printf("twoj napis : %s\n", napis);
  51.     char napis2[20];
  52.     strcpy(napis2, napis); // kopiuje tekst ze zmiennej napis do zmiennej napis2
  53.     printf("skopiowany napis: %s\n", napis2);
  54.     printf("podaj napis ze spacjami:");
  55.     char napis3[20];
  56.     getchar(); // ze wzgledu na to ze przed fgets uzywany jest scanf w buforze zostaje znak enter ktory fgets potem wczytuje i konczy na tym wczytywanie a getchar() pozbywa sie tego problemu
  57.     fgets(napis3, 20, stdin); // wczytuje napis ze spacjami do tablicy napis3, drugi argument oznacza limit wczytywanych znakow, trzeci to stdin i tak ma byc
  58.     printf("fgest moze wczytac spacje: %s", napis3);
  59.  
  60.  
  61.     ///funkcje
  62.     // funkcje deklaruje sie przed mainem
  63.     // deklarujac funkcje nalezy podac typ, nazwe i opcjonalnie argumenty
  64.     // void oznacza typ ktory nic nie zwraca
  65.     // funkcja ktora wywoluje sama siebie to rekurencja
  66.  
  67.  
  68.     return 0;
  69. }
  70.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement