Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat

Podobne dokumenty
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

Wstęp do programowania. Wykład 1

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

Wstęp do Programowania, laboratorium 02

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

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

Utworzenie pliku. Dowiesz się:

Programowanie w C. dr inż. Stanisław Wszelak

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Podstawy Programowania.

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

Wprowadzenie do środowiska Qt Creator

Tworzenie oprogramowania

Programowanie w języku C++ Grażyna Koba

1 Podstawy c++ w pigułce.

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

Podstawy Programowania

Programowanie w języku Python. Grażyna Koba

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

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

Programowanie proceduralne w języku C++ Podstawy

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!

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

1 Podstawy c++ w pigułce.

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Praca w środowisku Visual Studio 2008, Visual C

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

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

Wprowadzenie do biblioteki klas C++

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

Programowanie w językach wysokiego poziomu

Zastanawiałeś się może, dlaczego Twój współpracownik,

Programowanie strukturalne i obiektowe

2 Przygotował: mgr inż. Maciej Lasota

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

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

Programowanie strukturalne język C - wprowadzenie

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wskaźniki w C. Anna Gogolińska

Informatyka I. dr inż. Andrzej Czerepicki.

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

Warsztaty dla nauczycieli

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Tablice, funkcje - wprowadzenie

Podstawy programowania C. dr. Krystyna Łapin

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Podstawy programowania w C++

Podział programu na moduły

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

Argumenty wywołania programu, operacje na plikach

Fragment wykładu z języka C ( )

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

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

Microsoft Visual Studio: zintegrowane środowisko programistyczne (IDE), umożliwia tworzenie samodzielnych aplikacji, aplikacji sieciowych, usług

Informatyka I : Tworzenie projektu

Delphi podstawy programowania. Środowisko Delphi

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

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

Programowanie C++ Wykład 1 - Aplikacje konsowlowe w środowisku QT. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Programowanie obiektowe

Programowanie obiektowe i C++ dla matematyków

Pytania sprawdzające wiedzę z programowania C++

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

lekcja 8a Gry komputerowe MasterMind

Podstawy programowania - 1

WPROWADZENIE DO INFORMATYKI

PROGRAMOWANIE w C prolog

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

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

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Dodatki. Dodatek A Octave. Język maszyn

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

1 Zapoznanie się ze środowiskiem Xenomai.

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Język C zajęcia nr 11. Funkcje

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

WPROWADZENIE DO JĘZYKA JAVA

Programowanie Systemów Czasu Rzeczywistego

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Podstawy Kompilatorów

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Wstęp do programowania

Wstęp do programowania

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

Transkrypt:

02 Podstawy Informatyki Wprowadzenie do języka C dr inż. Jarosław Bułat 2012.10.07 Program w języku C Program w języku C jest pisany w pliku tekstowym, następnie przetwarzany przez kompilator do pliku wynikowego. Proces przetwarzania składa się z preprocesingu, kompilacji i konsolidacji (linkowania). Podczas zajęć z Podstaw Informatyki zalecamy wykorzystanie jednego z trzech systemów kompilacji: Eclipse (dodatek A) QtCreator (dodatek B) bezpośrednio z konsoli (dodatek C) Wybierz środowisko programistyczne, skompiluj najprostszy program zaproponowany przez to środowisko a następnie uruchom go i sprawdź czy rezultat działania zgodny z oczekiwaniem. Pierwszy program Przepisz, skompiluj i uruchom następujący program: #include <stdio.h> #include <stdlib.h> int main(void) { char znak = 'x'; int a,b; unsigned int c = 128; a=c; b=20; printf("znak=%c, a=%d\n b=, c=\n\n", znak, a ); return EXIT_SUCCESS; } uzupełnij kod o wyświetlanie wartości zmiennych b i c, czym różni się typ zmiennej int od unsigned int? przygotuj przykład w którym przepisanie wartości ze zmiennej a do c spowoduje przekroczenie zakresu zmiennej, czy w takiej sytuacji kompilator poinformuje programistę o problemie? Rozmiar zmiennych W języku C, wszystkie typy zmiennych oprócz int zajmują znaną ilość bajtów, natomiast długość zmiennej int jest zależna od implementacji (zazwyczaj 32 bity). Uzupełnij powyższy program o kod wypisujący długości (w bitach) wszystkich użytych zmiennych. Funkcja zwracająca długości zmiennych (w bajtach) to sizeof(): int rozmiar; rozmiar = sizeof( int ); Zasięg zmiennych Każda zmienna ma swój zasięg, inaczej mówiąc czas życia określający w którym miejscu można jej użyć. Poniższy kod ilustruje tą zasadę. Zauważ, że: kompilator nie zwrócił błędu redeklaracji zmiennej a w wewnętrznym bloku programu, wartość zmiennej w wewnętrznym bloku nie zmodyfikowała zmiennej zewnętrznej. Zakomentuj deklarację zmiennej a wewnątrz bloku programu, skompiluj i wyjaśnij rezultat.

#include <stdio.h> #include <stdlib.h> int main(void) { int a=0; printf("a=%d\n", a ); { int a; a = 1; printf("a=%d\n", a ); } printf("a=%d\n", a ); } return EXIT_SUCCESS; Tablice W języku C/C++ można deklarować tablice zmiennych dowolnego typu. Wielkość tablicy musi być określona podczas kompilacji i nie może się zmienić w trakcie działania programu. Poniżej zadeklarowano 10-elementową tablicę typu int. Zainicjalizowano dwa pierwsze elementy ale wyświetlono trzy pierwsze. Jaka będzie wartość trzeciego (niezainicjalizowanego) elementu? #include <stdio.h> #include <stdlib.h> int main(void) { int tab[10]; int x = 0; tab[0] = x; tab[1] = 10; printf( "%d %d %d\n", tab[0], tab[1], tab[2] ); } return EXIT_SUCCESS; Łańcuchy znakowe Łańcuchy znakowe to nic innego jak tablica znaków. Zauważ, że podczas deklaracji nie podano długości tablicy. Jeżeli deklaracja tablicy (jakiejkolwiek) występuje razem z inicjalizacją to kompilator jest na tyle,,inteligentny'' że policzy sobie jaka powinna być długość tablicy i sam niejawnie wstawi odpowiednią wartość. #include <stdlib.h> #include <stdlib.h> int main(void) { char text[] = "Napis na ekranie"; printf( "%s\n", text ); return EXIT_SUCCESS; } Formatowanie (style programowania) Formatowanie kodu źródłowego jest ważniejsze niż większość początkujących programistów sądzi. Daje ono wytyczne gdzie należy wstawiać spacje, tabulacje (indentacja), ile linii powinna mieć funkcja, jak długie powinny być linie, jakie są konwencje nazywania zmiennych i funkcji, etc... W obrębie jeżyka C/C++ można wyróżnić dwie podstawowe konwencje: K&R style i GNU. Nie ważne którego stylu używasz, ważna jest konsekwencja. Źródło programu napisane według wytycznych jest czytelniejsze przez co szybciej się je analizuje, poprawia i utrzymuje. Odpowiednie formatowanie zmniejsza również ilość błędów. Jest ono niezbędne w pracy grupowej nikt nie będzie chciał czytać cudzego, niechlujnego kodu. Praktycznie wszystkie edytory dla programistów pomagają pisać programy w jednym z wymienionych stylów. Na zadanie domowe przeczytaj http://en.wikipedia.org/wiki/indent_style i od następnych zajęć formatuj kod według jednego ze stylów będzie to obowiązkowe.

Dodatek A - Eclipse Eclilpse to zintegrowane środowisko developerskie (IDE) zaprojektowane dla języka Java a następnie rozwinięte do wykorzystania innych językach programowania. Język C/C++ jest obsługiwany przez dodatkowy moduł CDT. Za pomocą tego środowiska można pisać kod źródłowy programów, kompilować, debugować i uruchamiać. Jak każde tego typu środowisko umożliwia również wiele zaawansowanych funkcji takich jak: współpraca z repozytoriami kodu źródłowego, rozbudowana pomoc, autouzupełnianie kodu, automatyczne formatowanie, refraktoring kodu, analiza kodu, projektowanie aplikacji (w tym UML), wdrażanie, etc... System Eclipse został stworzony przez firmę IBM, jest rozpowszechniany na zasadach licencji OpenSource (http://eclipse.org), występuje pod różne platformy (w tym Windows, Linux, MacOS), jest aktywnie rozwijany, posiada repozytorium wielu użytecznych dodatków. Jest to drugie najpopularniejsze środowisko developerskie (pierwsze to Visual Studio). Między innymi firma Google wybrała Eclipse jako podstawową platformę do pisania programów na system operacyjny Android. Projekt Nawet najprostszy program wymaga utworzenia projektu. Projekt będzie zawierać wszystkie niezbędne pliki oraz całą konfigurację niezbędną do kompilacji i uruchamiania programu. Poniżej przedstawiono etapy tworzenia, kompilowania i uruchamiania projektu w środowisku Eclipse. Tworzenie nowego projektu:

Wybierze typ projektu i wciśnij,,next'': Następnie: 1) wpisz nazwę projektu (unikaj polskich liter), 2) wybierz predefiniowany szablon programu, 3) zakończ wybierając,,finish''. Jeżeli wybierzesz,,next'' będziesz mógł zmienić ustawienia projektu (można to zrobić później, po utworzeniu projektu):

Poniżej wygenerowany szablon programu w języku C. Zmień napis wypisywany na ekran, zamień instrukcję puts() na printf(). Upewnij się że plik jest zapisany nie ma gwiazdki przed nazwą pliku (2). Kompilacja Po prostu wciśnij klawisz ctrl-b lub zaznaczoną ikonkę (3 na powyższym obrazku). Jeżeli system jest prawidłowo zainstalowany i skonfigurowany moduł CDT wykorzysta środowisko GCC do wszystkich czynności związanych z przetwarzaniem kodu źródłowego do kodu wykonywalnego. Kompilacja wygląda jak na poniższym obrazku, zwróć uwagę na wywołanie instrukcji gcc.

Uruchamianie Plik wykonywalny jest uruchamiany (bez debugera) po wciśnięciu klawisza ctrl-f11 lub za pomocą ikonki (1 na poniższym obrazku). Standardowe wyjście jest wypisywane w zintegrowanej zakładce,,console'' (2 na poniższym obrazku). Skompilowany programu znajduje się w systemie plików w lokalizacji: ~/workspace/program/debug/program i można go również uruchomić z poziomu konsoli. Środowisko eclipse poinformuje programistę jeżeli kompilacja się nie udała. Błędy i ostrzeżenia wypunktowane będą w zakładce,,problems'' oraz podkreślone w kodzie źródłowym. Jaki błąd został popełniony w tym kodzie?

Dodatek B - QtCreator QtCreator to zintegrowane środowisko developerskie (IDE) zaprojektowane do pisania programów przy użyciu bibliotek Qt. Qt to wieloplatformowe środowisko składające się z bibliotek i narzędzi dedykowanych dla języków C++ i Java. Jest to bardzo bogate środowisko do budowy graficznych interfejsów użytkownika. Za pomocą QtCreatora można również pisać programy w języku C bez wykorzystania bibliotek Qt. Jego zaletą w stosunku do Eclipse jest większa szybkość działania i mniejsze zapotrzebowanie na zasoby. QtCreator jest rozpowszechniany na licencji GPL (OpenSource). Obecnym właścicielem całego środowiska Qt jest firma digia (http://qt.digia.com), która zakupiła Qt od Nokii w 2011 roku. Poniżej kroki potrzebne do utworzenia projektu i skompilowania projektu:

W przypadku programów bez interfejsu graficznego, uruchomienie programu w środowisku QtCreator polega na otwarciu nowej konsoli tekstowej i uruchomienie w nim programu. Jeżeli program się nie uruchomi spróbuj zrobić to bezpośrednio z konsoli otwórz terminal, przejdź do katalogu z projektem i uruchom program.

Dodatek C - gcc GCC (ang. GNU Compiler Collection) to zestaw kompilatorów z których będziemy używać GCC i G++. Kompilator może być uruchamiany na wielu platformach, jest podstawowym kompilatorem w wielu projektach. Praktycznie wszystkie programy pod systemem Linux są kompilowane za pomocą GCC (od jądra systemu po środowisko graficzne oparte o GTK lub Qt). GCC nie ma interfejsu graficznego. Jest przystosowane do wywołania z konsoli tekstowej lub służy jako back-end środowisk programistycznych takich jak Eclipse czy QtCreator. Jeżeli chcesz kompilować programy za pomocą GCC: otwórz dowolny edytor tekstowy (graficzny jak w przykładzie poniżej), napisz program i zapisz go do pliku z rozszerzeniem.c (w zaprezentowanym przypadku ~/Documents/program/program.c), uruchom konsolę, przejdź do katalogu w którym znajduje się program (w zaprezentowanym przypadku ~/Documents/program), skompiluj za pomocą instrukcji: gcc program.c -o program uruchom program wpisując w konsoli:./program