Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik
Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest osiągnięcie łącznie 41 punktów, w tym co najmniej 30% punktów z każdej grupy zadań sprawdzających założone dla tego przedmiotu efekty kształcenia. Lista efektów kształcenia w karcie przedmiotu dostępnej na stronie: http://157.158.16.139/js/wyklady/is1/is1.html Ocena ogólna zajęć - 10 punktów Dwa kolokwia praktyczne 2x30 punktów Projekt - 30 punktów, w tym: Pomysł - 5 punktów Implemetacja - 20 punktów Dokumentacja - 5 punktów W tym semestrze projekt jest realizowany indywidualnie!
Literatura B. W. Kernighan, D. M. Ritchie, Język ANSI C, WNT, Warszawa 2000 B. W. Kernighan, R. Pike, Lekcja programowania, WNT, Warszawa 2002. S. Prata, Język C. Szkoła programowania, Helion, Gliwice 2006 K. N. King, Język C. Nowoczesne programowanie, Helion, Gliwice 2011
Literatura uzupełniająca C. L. Tondo, S. E. Gimpel, Język ANSI C.. Ćwiczenia Helion, Gliwice 2010 J. Viega, M. Messier, C i C++ Bezpieczne programowanie. Receptury, Helion, Gliwice 2005 P. Wróblewski, Algorytmy, struktury danych i techniki programowania, Helion, Gliwice 2009 W. H. Press, W. T. Vetterling, S. A. Teukolsky, Numerical recipes in C: the art of scientific computing, Cambridge University Press 1992
Czym jest programowanie? - Umiejętność przekładania problemów rzeczywistych na kod źródłowy, - Znajomość algorytmów i konstrukcji programistycznych, - Umiejętność tworzenia i dobierania odpowiednich reprezentacji danych.
Tworzenie oprogramowania 1. Dokładne określenie celu, oczekiwanych cech i funkcjonalności programu. 2. Przemyślenie i zaprojektowanie struktury programu, sposobu reprezentacji danych, oraz algorytmów. 3. Pisanie kodu. 4. Testowanie i korekty.
Zalecane kompilatory Microsoft Visual C++ (Microsoft Visual Studio 2010/2012/2013) gcc - Licencja GNU Bloodshed Dev C++ (wersja 4.9.9.2 z Mingw) - Licencja GNU
Historia - język C 1970 1972 - język C, Dennis Ritchie - Bell Laboratories 1978 - pierwsze wydanie książki The C Programming Language autorstwa B. W. Kernighan oraz D. M. Ritchie 1988 (koniec roku) - opracowanie standardu ANSI C, potocznie zwany C89 1999 - standard (ISO 9899:1999) zwany C99
Pierwsze kroki #include <stdio.h> main() { printf(" Witam " ); return 0; }
Komentarze /* Komentarz wieloliniowy Brak zagnieżdżeń...... koniec bloku komentarza */ // Komentarz do końca linii // Nie występuje w ANSI C // Wprowadzony w standardzie C99
Typy danych char - typ znakowy int - typ całkowitoliczbowy, float - typ zmiennoprzecinkowy, double - typ zmiennoprzecinkowy podwójnej precyzji,
Typy danych char int float double - typ znakowy - typ całkowitoliczbowy, - typ zmiennoprzecinkowy, - typ zmiennoprzecinkowy podwójnej precyzji, bool - typ boolowski, przyjmuje wartości: true, false. Nie występuje w ANSI C, wprowadzony w C99 po dołączeniu nagłówka <stdbool.h> Słowa kluczowe: short, long, unsigned
Sposoby deklarowania zmiennych Deklaracje: - na początku bloku kodu (ANSI C) - w dowolnym miejscu kodu (C99) Nazwa zmiennej - dowolny ciąg liter języka angielskiego, liczb i znaków podkreślenia, przy czym nie może zaczynać się od cyfry. Rozróżniane są wielkie i małe litery. Nie można używać słów kluczowych. int liczba = -5; char z = B ; printf( "%d\n", liczba ); printf( "%c\n", z ); //wypisze B printf( "%d\n", z ); //wypisze 66
Drukowanie wartości zmiennych na ekran int a = -1234; unsigned int b = 33; printf(" a=%d b=%u\n", a, b ); float x = 1.3; double y = 2.1234567; printf(" x=%f y=%f \n", x, y ); printf(" x=%.3f y=%.8f \n", x, y ); printf(" x=%g y=%g ", x, y ); // Wynik działania programu: x=1.300000 y=2.123457 x=1.300 y=2.12345670 x=1.3 y=2.12346
Wczytywanie wartości zmiennych int a = 0; unsigned int b = 0; float c = 0; double d = 0.0; char e = 0; printf( "Podaj a:" ); scanf( "%d", &a ); printf( "Podaj b:" ); scanf( "%u", &b ); printf( "Podaj c:" ); scanf( "%f", &c ); printf( "Podaj d:" ); scanf( "%lf", &d ); printf( "Podaj e:" ); scanf( "%c", &e ); e = getchar();
Programuj w dobrym stylu Nazwy zmiennych powinny odzwierciedlać sens istnienia zmiennej w programie. Zmienne zawsze powinny być zainicjowane. Dbaj o czytelność kodu (wcięcia, komentarze). Programuj tak, aby w przyszłości można było w łatwy sposób rozwinąć aplikację.
Operatory Operatory arytmetyczne + dodawanie a + b - odejmowanie a - b * mnożenie a * b / dzielenie a / b % reszta z dzielenia a % b
Operatory Operatory arytmetyczne + dodawanie a + b - odejmowanie a - b * mnożenie a * b / dzielenie a / b % reszta z dzielenia a % b Operator przypisania a = 3 + 5; Złożony operator przypisania: +=, -=, *=, /=, %= Np. a += 3; jest równoważne a = a + 3;
Przykład #include <stdio.h> #include <stdlib.h> main() { double skarbonka = 0.0; double kurs = 1.0; } printf(" Ile masz gotowki (PLN): "); scanf("%lf", &skarbonka ); printf(" Jaki jest dzis kurs Euro: "); scanf("%lf", &kurs ); printf(" Mozesz miec %g Euro. \n", skarbonka / kurs ); system("pause"); return 0;
Koniec