wykład 2
Transkrypt
wykład 2
Elementarz języka ANSI C • • • • • • • • • Nazwy Słowa kluczowe Komentarze Typy danych Deklaracje zmiennych i stałych Instrukcje zapowiedź Operatory Priorytety operatorów Wyrażenia 23 Nazwy (identyfikatory) Poprawna nazwa w języku C to dowolny ciąg znaków składający się z liter, cyfr lub znaku podkreślenia _ (underline), rozpoczynający się od litery. pole X_1 obwod_kola 2litry obwód_koła a11 _wynik UWAGA: w języku C rozróżniane są duże i małe litery. Dlatego: liczba LICZBA LiczbA to w języku C trzy różne nazwy. 24 Słowa kluczowe języka C auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while asm near far huge 25 Komentarze Komentarz to tekst opisujący kod źródłowy programu ignorowany przez kompilator podczas tłumaczenia kodu. W języku ANSI C komentarz rozpoczyna się sekwencją znaków /* i kończy sekwencją znaków */. Pomiędzy tymi znakami może znajdować się dowolna liczba znaków lub wierszy komentarza. Przykłady: /* Program rozwiazuje rownanie kwadratowe */ /* To jest komentarz umieszczony w kilku wierszach */ d = b*b – 4*a*c; obwod = 2 * pi /* obliczamy wyroznik */ /* stala PI */ * r; 26 Typy danych Stałoprzecinkowe char 1 bajt -128...127 short 2 bajty -32768...32767 int long 2 bajty -32768...32767 4 bajty -2147483646...2147483647 4 bajty -2147483646...2147483647 signed – ze znakiem (domyślnie) unsigned – bez znaku np. unsigned char 0...255 27 Typy danych Zmiennoprzecinkowe float 4 bajty 3.4*10-38 ... 3.4*1038 double 8 bajtów 1.7*10-308 ... 1.7*10308 long double 10 bajtów 3.4*10-4932... 1.1*104932 Inne: void – wartość nieistniejąca const – wartość stała volatile – wartość ulotna 28 Deklaracje Deklaracja to polecenie nadające zmiennej lub stałej nazwę, określające typ przechowywanej wartości oraz rezerwujące odpowiedni obszar pamięci. Dla stałej należy koniecznie podać wartość. Deklaracja zmiennej: char znak; int i, j, k; float x, y; Inicjalizacja zmiennej: float pi = 3.14 ; Deklaracja stałej: const char znak = ‘a’ ; const int a = 10 ; const float pi = 3.14 ; 29 Instrukcje prosta złożona { } pusta ; warunkowa prosta if i warunkowa złożona if-else wyboru switch iteracyjne (pętle): for, while, do-while przerwania break kontynuacji continue skoku goto powrotu return 30 Operatory Operator to symbol lub nazwa operacji określonej w języku programowania. Argument operatora to tak zwany operand. • jednoargumentowe • dwuargumentowe • trójargumentowy ?: • wieloargumentowy () 31 Operatory Jednoargumentowy: operator - a Dwuargumentowy: a operand operand + b operator 32 Operatory • arytmetyczne + - * / % • zwiększania i zmniejszania ++ -• relacji < • logiczne && • bitowe & • przypisania = += -= *= /= %= &= |= ^= <<= >>= ~= • inne () [] <= || > * == != ! | ^ << & >= >> ~ -> . , ?: sizeof 33 Priorytety operatorów 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. () [] -> . ! ~ ++ -+ - * & sizeof * / % + przedrostkowe jednoargumentowe << >> < <= > >= == != & ^ | && || ?: = += -= *= /= %= ^= |= <<= >>= , 34 Kolejność wykonywania działań ab cd a + b / c - d ŹLE! (a + b) / (c – d) 1. 2. 3. 4. 5. () ++ -- + * / % + = += -= - *= DOBRZE (jednoargumentowe) /= %= 35 Kolejność wykonywania działań - b / 2 * a b 2a ŹLE! - b / (2 * a) - b / 2 / a 1. 2. 3. 4. 5. () ++ -- + * / % + = += -= DOBRZE - (jednoargumentowe) *= /= %= 36 Wyrażenia arytmetyczne ab c 2 c = (a + b)/2.0; Dzielenie całkowite „obcina” część ułamkową. b delta x 2a UWAGA: 9 / 2 = 9/2.0 = 9.0/2 = 9.0/2.0 4 4.5 4.5 = 4.5 x = (-b-sqrt(delta))/(2*a); 37 Wyrażenia logiczne czy a jest równe b ? czy x jest większe od y i jednocześnie a jest różne od b ? a == b x > y && a != b 38