Ściąga z języka C


Rozmiary danych poszczególnych typów i zakresy dozwolonych wartości (dla gcc wersja 10.2.1)

TypRozmiar w bitachRozmiar w bajtachZakres dozwolonych wartości
unsigned char810 do 255
char81-128 do +127
unsigned short int1620 do 65535
short int162-32768 do + 32767
unsigned int3240 do 4294967295
int324- 2147483648 do +2147483647
unsigned long6480 do +18446744073709551615
long int648-9223372036854775808 do +9223372036854775807
unsigned long long int6480 do +18446744073709551615
long long int648-9223372036854775808 do +9223372036854775807
float32 (ok. 7 cyfr znacz.)41.17549435 × 10-38 do 3.40282347× 10+38
double64 (ok. 15 cyfr znacz.)82.2250738585072014 × 10-308 do 1.7976931348623157 × 10+308
long double96 (ok. 18 cyfr znacz.) (128?)12 (16?)10-4931 do 10+4932

Znaczenie, wiązanie i priorytet operatorów

PriorytetWiązanieSymbolDziałanie
15lewe( )wywołanie funkcji
15lewe[ ]indeksowanie
15lewe. ->element struktury
14prawe!negacja logiczna
14prawe~negacja bitowa
14prawe++inkrementacja
14prawe--dekrementacja
14prawe-zmiana znaku
14prawe(typ)konwersja typu (rzutowanie)
14prawe*wskazanie pośrednie
14prawe&adres obiektu
14prawesizeofrozmiar obiektu
13lewe* /mnożenie i dzielenie
13lewe%dzielenie modulo
12lewe+ -dodawanie i odejmowanie
11lewe<< >>przesunięcie bitowe (w lewo i w prawo)
10lewe< <=mniejsze i mniejsze równe
10lewe> >=większe i większe równe
9lewe== !=równe i różne
8lewe&bitowy iloczyn
7lewe^bitowa różnica symetryczna
6lewe|bitowa suma
5lewe&&iloczyn logiczny
4lewe||suma logiczna
3prawe? :wyrażenie warunkowe
2prawe= += -= *= /= %= itdpodstawienia
1lewe,oblicz i odrzuć

Podstawowe konstrukcje języka C

#1.Instrukcja warunkowa:

                 if(warunek){
                              zestaw instrukcji;
                            }
                 else       {
                              zestaw instrukcji;
                            }

#2.Instrukcje pętli:

                 while(warunek){
                                 zestaw instrukcji;
                               }



                 do{
                     zestaw instrukcji;
                   }while(warunek);



                 for(instrukcja1;warunek;instrukcja2)
                    {
                      zestaw instrukcji;
                    }

#3.Instrukcja decyzyjna:

                  switch(wyrażenie całkowite)
                        {
                           case wyrażenie całkowite: zestaw instrukcji; break;
                           case wyrażenie całkowite:  zestaw instrukcji; break;
                           default:                   zestaw instrukcji;
                        }

#4. Instrukcja przerwania pętli lub instrukcji switch:

                                        break;

#5. Instrukcja kontynuacji:

                                        continue;

#6. Instrukcja powrotu w miejsce wywołania:

                                        return wyrażenie;

#7. Instrukcja skoku (nie używać na moich zajęciach):

                                        goto etykieta;

#8. Instrukcja pusta:

                                        ;

#9. Instrukcja grupująca (blok):

                                        {
                                          zestaw deklaracji;
                                          zestaw instrukcji;
                                        }

#10. Instrukcja prosta:

                                         wyrażenie;
 

Deklaracje typów zmiennych w języku C

Typy podstawowe

char, unsigned char, int, long int, unsigned int, unsigned long int, short int,
unsigned short int, long long int, unsigned long long int, float, double, long double.

Typy pochodne. Jeśli T to typ podstawowy a D to indentyfikator to:

Postać deklaracjiObiekt deklarowany
T Dzmienna typu T o nazwie D
T D[5]pięcio-elementowa tablica D o elementach typu T
T D[4][8]cztero-elementowa tablica D, której elementami
są ośmio-elementowe tablice o elementach typu T
T *DD jest wskazaniem (adresem) obiektu typu T
T *D[3]trój-elementowa tablica wskazań na obiekty typu T
T (*D)[5]D jest wskazaniem na pięcio-elementową tablicę o elemntach typu T
T D( )funkcja o nazwie D zwracająca wartość typu T
T *D( )funkcja zwracająca wskazanie na obiekt typu T
T (*D) ( )wskazanie na funkcję zwracającą wartość typu T
T *(*(*D)[3])( )wskazanie na tablicę wskazań na funkcje
zwracające wartości typu :
wskazanie na obiekt typu T

Deklaracje struktur i unii


      struct nazwa{
                     lista deklaracji komponentów;
                  } lista nazw zmiennych strukturalnych;
 

Inicjowanie zmiennych i tablic


        int a=12,b;
        double tab[2][3]={ {1.0,2,3.1},{4,5.5,6.01} };

Prototypy funkcji

        double rot(int axis, double x[], double angle);