Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa
Struktura programu w C instrukcje preprocesora deklaracje stałych deklaracje typów danych deklaracje zmiennych globalnych nagłówki funkcji funkcje jedna musi byd main() komentarze caly wiersz częśd wiersza // pierwszy program #include <stdio.h> #define PI 3.14 int main () { /*Ten fragment powoduje wypisanie tesktu na ekranie*/ } printf( Witamy w C! \n") return 0;
Typy danych Typy danych = zakres wartości + operacje Typy proste lub podstawowe Jedna nazwa - jeden element, typy porządkowe typ rzeczywisty Typy złożone Jedna nazwa - dużo elementów
Typy proste Typ Długość (B) Wartości od Wartości od char 1 - - unsigned char 1 0 255 short int 2-32768 32767 unsigned short int 2 0 65536 (long) int 4-2 31 +2 31-1 float 4-3,2*10 ±38 +3,2*10 ±38 Double 8-1,7*10 ±308 +1,7*10 ±308
Typy proste: porządkowe liczby całkowite zakres operacje short int -2 15.. 2 15-1 Int -2 31.. 2 31-1 arytmetyczne +, -, *, / (iloraz), % (reszta) Operacja Wynik Operacja Wynik Operacja Wynik 7 / 2 3 0 / 5 0 6 % 2 0 Float(7) / 2 3.5 0 % 5 0 7 % 2 1
Typy proste: porządkowe liczby całkowite zakres Operacje short int -2 15.. 2 15-1 Int -2 31.. 2 31-1 porównania < <= >= > ==!= funkcje standardowe y = pow(x, 2) y = x 2 Drukowanie Specyfikator formatowania %d Printf ( %d, zmienna);
Typy proste: bez znaku liczby całkowite bez znaku zakres Operacje Arytmetyczne porównania funkcje standardowe Drukowanie Specyfikator formatowania %u unsigned short 0.. 2*2 15 od 0 do 65532 unsigned int 0.. 2*2 31 od 0 do 4294967295. Printf ( %u, zmienna);
Typy proste: porządkowe Znaki char zakres znaki tabeli kodów a c =
Typ podstawowy (nieporządkowy) Liczby rzeczywiste operacje arytmetyczne +, -, *, / Porównania!=, <=, >=, >, < funkcje standardowe, np. abs(x) moduł, pow(x,2) x 2, sqrt(x) pierwiastek float double inne - sin, cos, exp, ln,... operacji == z liczbami rzeczywistymi nie używamy zamiast a == b używamy a - b < 0.0001
Zmienne Zmienne deklarujemy wpisując nazwę typu i nazwy zmiennych short int i int float j,k; char c; x,y,z;
Przykład programu (1) #include <stdio.h> #include <conio.h> int main(void) { float x; x = 7 / 4; printf(" 7 / 4 wynosi %.2f \n", x); x = (float)7 / 4; printf("(float) 7 / 4 wynosi %.2f \n",x ); getch(); return 0; } Deklaracja zmiennej Program wydrukuje:
#include <stdio.h> #include <conio.h> #define PI 3.14 main() { int r; float pole; Przykład programu (2) } puts("podaj dlugosc promienia:"); scanf("%d",&r); pole = PI * r * r; printf("pole kola o promieniu %d wynosi %.2f\n", r, pole); getch(); return 0;
Operacje Operacja to działanie, formujące wartośd operand OPERACJA operand wartośd
Operacje logiczne Negacja! (czytamy: nie) koniunkcja && (czytamy: i) Alternatywa (czytamy: lub) ( (a > 0) (a < 0) (a = 1) ) X Y X && Y X Y X xor Y Not X 1 1 1 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1 0 0 0 0 0 1
Operacje i wyrażenia Wyrażenie formuje nową wartośd wykonując operacje Priorytety operacji w wyrażeniach! ++ -- * / % + - < <= >= > ==!= &&?: (operator warunkowy) = += -=
Instrukcja grupująca { } instrukcja; instrukcja; instrukcja; używa się tam, gdzie mozna używad tylko jednej instrukcji, a trzeba wykonad więcej działao; np. w instrukcji warunkowej nie zapominad o wyrównaniu
Instrukcja przypisania zmienna = wyrażenie; przypisuje zmiennej wartość wyrażenia x = 5; y = 5 + x; y = 2: y = y + x; X Y 5? 1027?
Skrócona instrukcja przypisania int c = 3, d = 5, e = 4, f = 6, g = 12; += c += 3; c = c + 3; c wynosi 6 -= d -= 7; d = d 7; d wynosi -2 *= e *= 5; e = e * 5; e wynosi 20 /= f /= 3; f = f / 3; f wynosi 2 %= g %= 9; g = g % 9; g wynosi 3
Instrukcja warunkowa
Instrukcja warunkowa If( warunek ) instrukcja ; Wykonuje się, kiedy warunek prawdziwy else instrukcja ; Wykonuje się, kiedy warunek fałszywy Zawsze wykonuje się któraś jedna z dwóch możliwości, nigdy obie
Przykład -6, jeżeli a < 0 y= 0, w innym wypadku if ( a < 0 ) y = -6: else y = 0;
Drukowanie na ekranie puts ("Pierwsze zdanie na ekranie"); printf ("Pierwsze zdanie na ekranie\n"); Pierwsze zdanie na ekranie znak nowego wiersza
Instrukcja warunkowa (skrócona) If ( warunek instrukcja ) ; instrukcja wykonuje się, kiedy warunek jest prawdziwy #include <stdio.h> main() { int suma = 11; } if ( suma > 10 ) printf("suma jest większa od 10"); return 0;
Przykład programu warunkowego Podad trzy liczby całkowite a, b i c. Wydrukowad na ekranie, ile wynosi y: -b, jeśli a+b+c < 0 y= 0, jei a+b +c = 0 b, jei a+b +c > 0 #include <stdio.h> #include <conio.h> int main(void) { int a, b, c; puts( "Prosze podac trzy liczby: "); scanf( "%d %d %d", &a, &b, &c); if ( a + b + c < 0 ) printf("y = %d \n", -b); else if (a + b + c == 0) printf("y = 0\n"); else printf("y = %d \n", b); getch(); return 0; }
Kompilacja Zamiana kodu jezyka C na kod maszynowy, zrozumiały dla komputera. Kompilator program, zamieniający kod na kod binarny. Linker program połączenia różnych plików i stworzenia jednej aplikacji
Pomocne strony internetowe: http://pl.wikibooks.org/wiki/c http://www.toya.net.pl/~magic1/strona.html http://www.kwant.info/programowanie/index.cgi?pomoc=podstawy 1 wykład: program, typy, wyrażenia, instrukcje Na następnym wykładzie: pętle PODSTAWY PROGRAMOWANIA C