Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Podobne dokumenty
Języki i metodyka programowania. Wprowadzenie do języka C

2 Przygotował: mgr inż. Maciej Lasota

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Podstawy programowania C. dr. Krystyna Łapin

Programowanie strukturalne i obiektowe

1 Podstawy c++ w pigułce.

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Zmienne, stałe i operatory

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

1 Podstawy c++ w pigułce.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Wstęp do Programowania, laboratorium 02

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Część 4 życie programu

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Tablice (jedno i wielowymiarowe), łańcuchy znaków

C++ wprowadzanie zmiennych

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Język C zajęcia nr 11. Funkcje

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Wstęp do programowania

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Elementarne wiadomości o języku C

Wyrażenia arytmetyczne

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Podstawy programowania skrót z wykładów:

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Funkcja (podprogram) void

Podstawy programowania w języku C

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

1. Wprowadzanie danych z klawiatury funkcja scanf

Podstawy Programowania Podstawowa składnia języka C++

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Proces tworzenia programu:

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Struktury Struktura polami struct struct struct struct

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Struktura pliku projektu Console Application

Programowanie komputerowe. Zajęcia 1

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

I - Microsoft Visual Studio C++

Wykład 1

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

Powtórka algorytmów. Wprowadzenie do języka Java.

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

( wykł. dr Marek Piasecki )

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

Proste programy w C++ zadania

Podstawy Programowania.

Programowanie strukturalne język C - wprowadzenie

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

IX. Wskaźniki.(3 godz.)

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

Język ludzki kod maszynowy

Podstawy i języki programowania

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

JAVAScript w dokumentach HTML (1)

1. Wprowadzenie do C/C++

1. Wprowadzenie do C/C++

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

Wstęp do programowania. Wykład 1

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Podstawy programowania - 1

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Każdy z nich posiada swoje parametry. W przypadku silnika może to być moc lub pojemność, w przypadku skrzyni biegów można mówić o skrzyni

Transkrypt:

Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla początkujących C++, Wydawnictwo W&W, Warszawa 2006 Zanim zaczniesz pisać Język C Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa Język C został napisany przez D. Ritchie go. Pierwszy okres rozwoju języka to lata 1969-1973. Początkowo język ten był przeznaczony do tworzenia oprogramowania systemowego (przy jego pomocy został napisany system operacyjny UNIX). W miarę upływu czasu stał się językiem ogólnego przeznaczenia. Język C jest uważany za język umożliwiający szybkie pisanie efektywnych programów. Łączy on w sobie zalety języków programowania strukturalnego wysokiego poziomu z zaletami niskiego poziomu języków asemblerowych. Struktura programu w C Nagłówek funkcji zawiera: typ zwracanego wyniku, nazwę funkcji i listę argumentów umieszczoną nawiasach okrągłych (argumenty oddziela się przecinkiem). Instrukcje składające się na kod funkcji umieszcza się w nawiasach klamrowych i. Para nawiasów klamrowych może służyd do grupowania instrukcji. Ciąg instrukcji umieszczony wewnątrz nawiasów klamrowych określany jest mianem instrukcji złożonej. Każda instrukcja musi byd zakooczona średnikiem ;. Średnika nie umieszcza się po zamykającym nawiasie klamrowym (są wyjątki). To średnik, a nie koniec linii, decyduje o tym gdzie kooczy się instrukcja. Sam średnik traktowany jest, jako instrukcja pusta. Nie można dzielid (przenosid do nowej linii) nazw zmiennych, funkcji i słów kluczowych. Komentarz w C++, to dowolnej długości tekst ograniczony znakami /* i */ Język C, Daniel Pociecha, danpoc@agh.edu.pl 1

Przykład 1 #include <stdio.h> printf("hello World!\n"); Preprocesor Przed uruchomieniem kompilatora zawsze jest wywoływany preprocesor, który przetwarza wiersze program rozpoczynające się znakiem #. Jest to dyrektywa preprocesora. #include jest to podstawowa dyrektywa preprocesora. Ma ona dwie postacie: #include <nazwa> plik nagłówkowy dostępny w systemie C #include nazwa plik zdefiniowany przez użytkownika Inne dyrektywy preprocesora wykorzystywane w plikach nagłówkowych to: #ifndef dowolna_nazwa #define dowolna_nazwa /* Zawartość pliku nagłówkowego dowolna_nazwa.h */ #endif Biblioteki standardowe <stdio.h> Standard Input/Output standardowe operacje wejścia/wyjścia <math.h> operacje matematyczne <stdlib.h> przydatne, najczęściej używane funkcje <string.h> operacje na łaocuchach znaków <time.h> funkcje obsługi czasu Funkcja main() Program w języku C składa się z funkcji, w ten sposób złożony problem, możemy podzielid na mniejsze, łatwiejsze do zakodowania i czytelniejsze fragmenty. Główną funkcją, od której rozpoczyna się wykonywanie programu jest funkcja main(). /* kod program */ Język C, Daniel Pociecha, danpoc@agh.edu.pl 2

Aby po zakooczeniu działania programu uzyskad informację o tym czy program wykonał się poprawnie, nadajemy funkcji main() typ int (integer liczba całkowita), a funkcję kooczymy poleceniem. Jeżeli program wykonał się poprawnie, funkcja main() zwraca wartośd 0. UWAGA! Program powinien byd zapisywany z wykorzystaniem wcięd tak, aby widad było strukturę poszczególnych instrukcji UWAGA! System zwraca uwagę na wielkośd liter. Return to nie to samo co: return Podstawowe typy danych void typ pusty - brak wartości char typ znakowy - jeden z podstawowych typów danych, mający na celu przechowywanie pojedynczego znaku tekstu. int liczba całkowita zakres: -32768 32767 unsigned int liczba całkowita zakres: 0 65535 long liczba całkowita zakres: - 2 miliardy 2 miliardy unsigned long liczba całkowita zakres: 0 4 miliardy float liczba rzeczywista zakres: 3.4 * E-38 3.4 * E38 double liczba rzeczywista zakres: bardzo duży long double liczba rzeczywista zakres: olbrzymi Typ rzeczywisty L = mantysa * 10 wykładnik Przykład zapisu: L = 15.67 L = 83.5E+3 Język C, Daniel Pociecha, danpoc@agh.edu.pl 3

Zmienne Zmienną w języku programowania nazywamy wielkośd, która może przechowywad wartośd należącą do pewnego zbioru nazywanego typem zmiennej. Zmienna jest jednoznacznie identyfikowana przez swoją nazwę. Każda zmienna w programie musi zostad wcześniej zadeklarowana, tzn. należy określid jej nazwę i typ wartości. Identyfikatorem (nazwą) nazywamy ciąg liter, cyfr i znaków podkreślenia, rozpoczynający się od litery lub znaku podkreślenia. Nazwami nie mogą byd słowa kluczowe, tj. słowa zastrzeżone używane w konstrukcjach języka. W dobrym zwyczaju jest nadawanie nazw zmiennym, odzwierciedlających ich znaczenie. Wartośd sumy pewnych elementów powinna nazywad się suma a nie np. 2_wdx. Wartośd zmiennej jest tym, co przechowujemy w obszarze pamięci określanym przez nazwę. W momencie deklaracji wartośd zmiennej lokalnej jest nieokreślona, zmienne globalne są inicjalizowane na zero. Do nadawania wartości zmiennej służy instrukcja przypisania. Przykłady deklaracji zmiennych i instrukcji przypisania Przykład 2 int a; int b = 2; float x, y; float z = 3.2; float suma; a = 10; x = y = 3.14; #include <stdio.h> float a, b, pole; printf("podaj długości boków prostokąta:\n"); printf("a = "); scanf("%f", &a); printf("b = "); scanf("%f", &b); pole = a * b; printf("pole = %5.2f\n", pole); Język C, Daniel Pociecha, danpoc@agh.edu.pl 4

Operacje wejścia wyjścia Komunikację użytkownika z programem zapewniają funkcje wejścia wyjścia. Umożliwiają one wyświetlanie komunikatów na ekranie komputera oraz wprowadzanie danych z klawiatury. printf("jakiś tekst\n"); Funkcja printf() znajduje się w bibliotece stdio.h. W cudzysłowach "" umieszczamy tekst, który chcemy wyświetlid na ekranie komputera. Znak znajdujący się po znaku \ jest traktowany w sposób specjalny, przykładowo: \n nowy wiersz \t tabulacja \b cofanie \f nowa strona \0 znak NUL scanf("%f", &a); Funkcja scanf() znajduje się w bibliotece stdio.h. Wyrażenie "%f" oznacza, że spodziewamy się liczby zmiennoprzecinkowej, a to nazwa zmiennej, natomiast & to wskaźnik (adres) do zmiennej a %f jest to tekst sterujący, narzucający formatowanie wprowadzanego bądź wyświetlanego tekstu, przykładowo: %d liczba dziesiętna %s tekst znakowy %e liczba zmiennoprzecinkowa notacja wykładnicza %f liczba zmiennoprzecinkowa notacja dziesiętna %6.2f co najmniej 6 znaków, z dwoma miejscami po kropce %3.0f co najmniej 3 znaki, bez części ułamkowej %.2f z dwoma miejscami po kropce %3d liczba dziesiętna zajmująca, co najmniej 3 znaki ZADANIE 1. Przekształd przykład 2 tak, by program liczył pole dowolnego trójkąta ZADANIE 2. Napisz program liczący pole i obwód koła (założyd π = 3.14). ZADANIE 3. Napisz program liczący pole i obwód trójkąta równobocznego, oraz promieo okręgu opisanego na tym trójkącie (R) i promieo okręgu wpisanego w ten trójkąt (r). Język C, Daniel Pociecha, danpoc@agh.edu.pl 5

Wyrażenia i operatory Operatory arytmetyczne * mnożenie / dzielenie + dodawanie - odejmowanie % reszta z dzielenia Operatory relacyjne < mniejszy <= mniejszy lub równy > większy >= większy lub równy == równy!= nierówny Operator przypisania = Operatory logiczne! negacja && koniunkcja alternatywa Operatory zwiększania i zmniejszania ++ zwiększ wartośd zmiennej o 1 -- zmniejsz wartośd zmiennej o 1 Przykładowo: x = ++a zwiększa wartośd a o 1 a następnie przypisuje do x x = a++ przypisz wartośd a do x a następnie zwiększ o 1 Wieloznakowe operatory przypisania += a += b; a = a + b; -= a -= b; a = a - b; *= a *= b; a = a * b; /= a /= b; a = a / b; %= a %= b; a = a % b; Język C, Daniel Pociecha, danpoc@agh.edu.pl 6

Przykład 3 #include <stdio.h> int a, b, wynik; printf("operatory relacyjne:\n"); a = 10; b = 2; wynik = a > b; printf("wynik a > b = %d\n\n", wynik); printf("operatory logiczne:\n"); a = 1; b = 0; wynik = a && b; printf("wynik a && b = %d\n", wynik); wynik = a b; printf("wynik a b = %d\n\n", wynik); printf("operatory zwiększania i zmniejszania:\n"); a = 100; wynik = a++; printf("wynik a++ = %d\n", wynik); wynik = ++a; printf("wynik ++a = %d\n\n", wynik); printf("wieloznakowe operatory przypisania:\n"); a = 10; a += 5; printf("wynik a += %d\n", a); a *= 2; printf("wynik a *= %d\n", a); Język C, Daniel Pociecha, danpoc@agh.edu.pl 7