Podstawy programowania w C materiały dla ucznia:



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

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

Pytania z języka C/C++ main dyrektywy preprocesora #include 15. #define 16. #define słowa zastrzeżone \n, \t, \f 26.

Podstawy programowania C. dr. Krystyna Łapin

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

2 Przygotował: mgr inż. Maciej Lasota

Programowanie strukturalne i obiektowe

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce.

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

KURS C/C++ WYKŁAD 1. Pierwszy program

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

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

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

Co nie powinno być umieszczane w plikach nagłówkowych:

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

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

I - Microsoft Visual Studio C++

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

Wstęp do programowania. Wykład 1

Część 4 życie programu

( wykł. dr Marek Piasecki )

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

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

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

Podstawy Programowania.

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;

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

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

Podstawy programowania (1)

Programowanie w języku Python. Grażyna Koba

Podstawy programowania - 1

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

tablica: dane_liczbowe

Wstęp do Programowania, laboratorium 02

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

Zmienne, stałe i operatory

#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 ); }

Język ludzki kod maszynowy

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

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

1. Wprowadzenie do C/C++

INSTRUKCJE REPETYCYJNE PĘTLE

C++ wprowadzanie zmiennych

Podstawy Programowania

Programowanie komputerowe. Zajęcia 1

Proces tworzenia programu:

1. Wprowadzenie do C/C++

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

WPROWADZENIE DO INFORMATYKI

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

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

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

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

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

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

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

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!

P R OGRA M OW A N I E KOMPUTERÓW Ćwiczenia laboratoryjne

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

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

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko 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 ); }

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

Informatyka I : Tworzenie projektu

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

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

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

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

zastępować zarezerwowane słowa lub symbole innymi,

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 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. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Microsoft IT Academy kurs programowania

Wykład 1. Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Wstęp do Programowania 2

Funkcja (podprogram) void

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

Programowanie w języku C++

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

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

Argumenty wywołania programu, operacje na plikach

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

IX. Wskaźniki.(3 godz.)

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

Pytania sprawdzające wiedzę z programowania C++

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

Elementarne wiadomości o języku C

Tablice, funkcje - wprowadzenie

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

Programowanie strukturalne język C - wprowadzenie

Język C, tablice i funkcje (laboratorium)

Utworzenie pliku. Dowiesz się:

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

Transkrypt:

Podstawy programowania w C materiały dla ucznia: Tematy lekcji: 1 Język C: edycja i kompilacja programów. Ogólna struktura i budowa programu. 2 Podstawowe elementy języka C słowa kluczowe, instrukcje podstawowe. Przykłady prostych programów. 1) Przypomnienie wiadomości z kompilacji przy pomocy BCC32: Edycja programu przy pomocy edytorów typu Notepad, Edit, Notepad ++, edytora Dev C++. Pliki źródłowe języka C mają rozszerzenie C a języka C++ - rozszerzenie CPP. Kompilacja przy pomocy BCC32 musi być ustawiona ścieżka dostępu do programu C:\BCC55\BIN\BCC32.exe :W DOS: PATH sprawdzamy jeśli nie ma to wpisuje się polecenie: PATH=%PATH%;C:\BCC55\BIN lub lepiej na stałe: zmienne środowiskowe, PATH, edytuj dopisać w zmienne PATH na końcu C:\BCC55\BIN i OK. Kompilacja programu z Borland C++ Compiler: BCC32 program.c (w C) lub BCC32 program.cpp (wersja w C++). Program wykonywalny po skompilowaniu w środowisku DOS, Windows ma rozszerzenie EXE. 2) Środowisko Turbo C: Wersje: Turbo C++ version 1.01 w katalogu C:\Turbo program C:\Turbo\Bin\TC.exe) Options: Environment (otoczenie) Directories Output Directory: C:\Uczen\Nazwisko lub C:\UCZEN\NI (pierwsze litery nazwiska, imienia, bez polskich liter), np. C:\Uczen\BL Balzam Łukasz). Turbo C++ version 3.00 dodatkowo opcja Source Directory Katalog źródłowy. Właściwości skrótu programu: Ekran Pełny ekran lub Okno. Uruchomienie: Naciśnięcie 2x myszką na skrót programu lub przejście do katalogu programu i uruchomienie TC.EXE. Menu programu: File Plik: Edit edycja, Search szukaj, Run uruchom, Compile: kompiluj, Debug - debugowanie Project projekt, Options opcje, Window okno, Help pomoc Help, Index, wpisujemy szukane słowo, np. void i naciskamy Enter Operacje najważniejsze w TC: Kompilujemy program ALT C, Build lub Alt F9, Uruchamiamy program ALT R lub CTRL F9, By zobaczyć wyniki, Alt F5. 3) Ogólna struktura programu w języku C: /* Nagłówek programu - komentarz: (nazwa, autor, data, kompilator, uwagi itp. ) */ #include (preprocesor - włączenia tekstowe), np. #include <stdio.h> #define (preprocesor - stałe makroinstrukcje), np. #define PI 3.14 Stałe, zmienne globalne (przed main), np. const float PI=3,14; float liczba1; int Prototypy funkcji - deklaracje, np. int dodawanie(float a, float b); Funkcja main() treść_funkcji Funkcje (definicje funkcji), np. int dodawanie(float a, float b) return a+b; Preprocesor przetwarza wiersze programu rozpoczynające się znakiem #. Taki wiersz nazywamy dyrektywą preprocesora. Podstawową dyrektywą jest #include, umożliwiająca dołączenie do programu pliku o podanej nazwie. Ma 2 postacie: #include <nazwa> i #include nazwa 4) Przykładowe programy na powitanie w 2 wersjach: C i C++ : Program w języku C /* Komentarz: plik hello.c */ #include <stdio.h> /* komentarz - dołącz. pliku nagłówkowego stdio.h potrzebnego do użycia funkcji printf */ int main (void) /* funkcja główna*/ /* początek */ printf ("Hello World!"); /* funkcja printf() wyświetla napis */ /* funkcja main() zwraca 0 */ /* koniec funkcji głównej */ Po skompilowaniu uruchomić obejrzeć wyniki Alt F5. Następnie uruchomić w linii DOS: hello.exe > hello.txt skierowanie wyników do pliku hello.txt. Obejrzeć wyniki w pliku przy pomocy polecenia TYPE hello.txt lub otworzyć w Notepad (notatnik). Program w języku C++ //Program hello.cpp - komentarz jednowierszowy w C++ #include <iostream.h> // preprocessor - dołączenie biblioteki systemowej do funkcji cout input // dołączenie pliku nagłówkowego <conio.h> do funkcji getch() // funkcja główna cout << "Hello World!"; // wyświetlenie napisu getch(); //program czeka na dowolny klawisz // funkcja główna zwraca 0 str. 1

Podstawowe elementy języka C zestaw znaków; nazwy i słowa zastrzeżone (np. auto break case char const goto if int long register unsigned void volatile while) typy danych (np. int, char, float, double); stałe (np. 121, 23L, 021, 0x12, 25L, a, const int a=10; ) zmienne i tablice (np. float zm1, zm2; double tab[10];) ; deklaracje (np. int i, j; double k; char znak; ) operatory: m.in. matematyczne: +, -, *, /, %; przypisania =, inkrementacji ++ i dekrementacji --, wyrażenia - to co zwraca element, np. 3.2, a=a+b; k==m; y=x=a+b; b=a[j+1]; instrukcje - fragmenty tekstu programu powodujące jakąś czynność komputera podczas wykonywania programu, Instrukcje podstawowe: #include dołączenie pliku nagłówkowego, podstawowy #include <studio.h> w C i #include <iostream.h> w C++ - do wydruku i wprowadzenia danych; main() funkcja główna musi być, return zwracanie wartości wyniku, getch() oczekiwanie na naciśniecie klawisza, const deklaracja stałych, np. const int PI=3.14; int deklaracja zmiennych całkowitych, float rzeczywistych, np. int a; Wyjście programu (wydruk na ekranie): printf() wydruk formatowany, puts() wydruk tekstu, puchar() wyprowadzenie znaku, cout << wydruk w C++. Wprowadzanie danych: scanf() wczytanie danych formatowane, gets() wczytanie łańcucha znaków, getchar() wprowadzenie znaku, cin >> wprowadzenie danych w C++; clrscr() kasowanie ekranu (w, Przykłady programów 1 Obliczenie pola prostokąta 1a. Wersja prosta dane w programie /* program pprost1.c */ #include <stdio.h> /* dołączenie plików nagłówkowych */ /* plik do funkcji getch() */ float a, b; /* deklarujemy zmienne przechowujące boki prostokąta */ float pole; /* deklarujemy zmienną zawierającą wynik obliczeń */ a = 5; b =10; /* przypisujemy zmiennym wartości */ pole = a * b; /* wyrażenie - obliczamy pole prostokąta - tu równe 50 */ printf("pole = %f\n",pole); /* wydruk pola i przejście do nowej linii \n */ getch(); /* program czeka na naciśniecie klawisza*/ 1b. Obliczenie pola prostokąta w wersji z wprowadzaniem danych i funkcją /* ppros4.c Obliczenie pola prostokąta - z funkcją i wprowadzaniem danych*/ #include <stdio.h> /* dołączenie pliku nagłówkowego stdio.h potrzebnego do użycia funkcji printf */ /* dołączenie pliku nagłówkowego conio.h do użycia funcki getch() */ float PoleProstokata(float bok1, float bok2); /* zapowiedz funkcji 2 argumenty, zwraca pole typu float */ /* funkcja glowna */ float a, b, p; puts("obliczenie pola prostokata o bokach a i b "); printf("wprowadz a "); scanf("%f", &a); /* wprowadzenie a */ printf("wprowadz b "); scanf("%f", &b); /* wprowadzenie b */ p= PoleProstokata(a, b); /* wywołanie funkcji z parametrami a i b */ printf("pole prostokat o bokach %f i %f = %10.2f \n", a, b, p); printf("\nnacisnij cos "); getch(); /* czeka na znak */ float PoleProstokata(float bok1, float bok2) /* Funkcja - definicja */ /* w tym miejscu bok1 jest równy a, natomiast bok2 jest równy b */ float wynik; wynik = bok1 * bok2; return wynik; 2 Dane osobowe / * Program daneos1.c */ #include <stdio.h> /* plik nagłówkowy */ int main(void) /* funkcja glowna, brak argumentow, zwraca typ calkowity int */ char imie[20]; /* deklaracja tablicy znakow łańcuch tekst na 19 znaków */ int i; /* deklaracja zmiennej całkowitej i */ printf("\npodaj swoje imie "); /* wydruk napisu na ekran,\n nowa linia */ str. 2

gets(imie); /* wprowadzenie imienia */ puts("ile masz lat? "); /* wydruk napisu funkcja puts() */ scanf("%d",&i); /* wprowadzenie lat */ printf("\n%s ma %d lat.",imie, i); /* wyświetlenie imienia i lat */ getch(); /* czeka na klawisz */ /* funkcja główna zwraca 0 pomyślny koniec */ 3 Kalkulator /* Program kalk1.c - kalkulator */ #include <stdio.h> /* funkcja główna */ int a,b; /* deklaracja zmiennych całkowitych a i b */ int suma,roznica,iloczyn; float iloraz; /* deklaracja zmiennej rzeczywistej */ clrscr(); /* kasowanie ekranu */ printf("prosty kalkulator\n"); printf("\npodaj liczbe a: "); scanf("%d",&a); /* wczytanie liczby a */ printf("podaj liczbe b: "); scanf("%d",&b); /* wczytanie liczby b */ suma=a+b; roznica=a-b; iloczyn=a*b; iloraz=(float)a/(float)b; /* operator rzutowania w dzieleniu */ printf("\nwyniki dzialan:\n"); /* Wydruk wynikow */ printf("\nsuma: %d ",suma); printf("\nroznica: %d ",roznica); printf("\niloczyn: %d ",iloczyn); printf("\niloraz: %f ",iloraz); getch(); /* czeka na naciśniecie klawisza */ return 0 ; 4 Obliczenie pola koła: Algorytm: P=Pi*r*r Programy źródłowe w C rozszerzenie C 1) Wersja najprostsza, program źródłowy polkola1c, w jednej linii, mało czytelny, bez komentarzy. include <stdio.h> main() float PI=3.141593; printf("%f",pi*5*5); 2) Wersja zmieniona stała, zmienna, czyszczenie ekranu /* program polkola2.c */ /* dyrektywy załączające tzw. nazwane pliki */ #include <stdio.h> /* funkcja główna */ main() const float PI=3.141593; /* stala */ float r=5.0; /* zmienna */ clrscr(); /* kasowanie ekranu - określone w conio.h */ printf("pole kola o promieniu %.0f = %7.3f\n",r, PI*r*r); /* wydruk, \n nowa linia */ getch(); /* czeka na nacisniecie klawisza - w stdio.h */ 3) Wersja z wprowadzeniem promienia i formatowaniem wydruku /* program polkola3.c */ /* dyrektywy załączajace tzw. nazwane pliki */ #include <stdio.h> /* funkcja glowna */ main() const float PI=3.141593; /* stala */ float r, p; /* zmienne deklaracja */ clrscr(); /* kasowanie ekranu - określone w conio.h */ puts("obliczenie pola kola o promieniu r "); /* Napis na ekranie */ printf("podaj r => "); scanf("%f",&r); /* wczytanie r */ p=pi*r*r; /* obliczenie pola - wyrazenie */ printf("pole kola o promieniu %.0f = %7.3f\n",r, p); /* wydruk */ getch(); /* czeka na naciśniecie klawisza - w stdio.h */ str. 3

4) Wersja program w języku C++ (funkcje cout << wydruk wyników oraz cin >> - wprowadzenie danych, funkcja własna pole_kola() // Polkola4.cpp komentarz jednoliniowy #include <iostream.h> // inny plik nagłówkowy do funkcji cout i cin w C++ float pole_kola(float r) // funkcja zdefiniowana w programie przed funkcją main() float p; p = 3.1415 * r * r; return p; void main(void) // funkcja główna float a, p; cout << "Podaj promien: "; cin >> a; p = pole_kola(a); cout << "Pole kola wynosi: " << p << endl; getch(); Szablon programu do obliczeń geodezyjnych - szablgeo.c /* Program szablgeo.c */ /* preprocesor: #include - wlaczenia tekstowe bibliotek */ #include <stdio.h> /* prawie zawsze c C, np. do printf() */ /* np. do getch() */ /* #define - stale makroinstrukcje */ #define PROGRAM "program.c" #define NAZWISKO "Nowak Jan" #define ROK 2011 #define SZKOLA "Sztygarka" #define KLASA "2BG" #define TAB putchar('\t'); #define PI 3.141592653 #define ROG 63.66197724 #define ROS 57.2957795130; #define KRESKA puts("-----------------------------------------------------------------------------------------------------------") #define KRESKA2 puts("================================================================"); #define KONIEC puts("\n\nnacisnij cos ") #define KATRAD(g) ((g)/(rog)) #define KATGRAD(r) ((r)/(ros)) const double pi=3.14159265; const double rograd=63.66197724, rostop=57.2957795130823; /* Ro[grad]=200/PI, Ro[stopn]=180/PO */ const char szkola[]="sztygarka"; float suma1(float l1, float l2); /* Przykładowa funkcja - deklaracja */ /* ========== Funkcja glowna * ======== */ clrscr(); printf("program: %s \n",program); KRESKA2; puts(nazwisko); puts(klasa); puts(szkola); KRESKA; printf("63.66198[grad]=%f[rad]",katrad(rograd)); /* przykład */ /* Kod programu */ KONIEC; getch(); /* =========== Funkcje - definicje ======= */ float suma1(float l1, float l2) /* Definicja funkcji */ return(l1+l2); str. 4

Przykłady programów z różnymi instrukcjami /* Naglowek - komentarz wieloliniowy w C i C++, // jednolinowy w C++ */ /* Program strukt1.c rożne dane i obliczenia Autor: Nazwisko Imię. Data: 3.11.2011 Kompilator Turbo C 1.01 */ /* preprocesor: #include - włączenia tekstowe bibliotek i #define stałe, makroinstrukcje */ #include <stdio.h> /* prawie zawsze c C, np. do printf() */ /* np. do getch() */ #define PI 3.14159 #define R 10.0 #define KRESKA puts("----------------------------------------------") const float KURS_USD= 3.40, KURS_EURO= 4.50; float suma_float(float l1, float l2); /* zapowiedź funkcji */ float pole_kola(double r) /* definicja funkcji */ double pole, pole1; pole=pi*r*r; puts("\nfunkcja pole_kola()"); printf("\pole z PI =%f",pole); pole1=m_pi*r*r; printf("\npole z M_PI =%f ",pole1); NL; NL; return pole1; /* funkcja główna */ int a, b=3, suma, reszta; float kw_zl, kw_usd; clrscr(); puts("struktura programu w C - przyklad\n"); KRESKA; puts("naglowek"); puts("preprocesor - #include, #define"); puts("zmienne globalne i prototypy funkcji lub definicje funkcji"); puts("funkcja main()"); puts("funkcje - definicje"); NL; KRESKA; puts("przyklady wynikow"); NL; puts("funkcja glowna"); NL; a=10; kw_zl=10; kw_usd=kw_zl/kurs_usd; /* suma=a+b; // bez funkcji */ suma= suma_float(a,b); reszta=a%b; printf("suma %d + %d = %d \n",a,b,suma); printf("suma 2.50 + 3.40 = %f",(2.50+3.40)); NL; printf("reszta z dzielenia %d przez %d = %d ",a,b,reszta); NL; NL; printf("kwota %.2f PLN = %.2f USD ",kw_zl, kw_usd); NL; printf("pole kola o promieniu %f = %f ",R, pole_kola(r)); NL; getch(); /* koniec funkcji glownej */ /* ---- definicja funkcji ----*/ float suma_float(float l1, float l2) return(l1+l2); /* Program Daneucz.c - dane ucznia*/ /* preprocesor: #include - wlaczenia tekstowe bibliotek i #define - stale makroinstrukcje */ #include <stdio.h> /* prawie zawsze c C, np. do printf() */ /* np. do getch() */ #define PROGRAM "program.c" #define NAZWISKO "Nowak Jan" str. 5

#define ROK 2011 #define KLASA "2BG" #define TAB putchar('\t'); #define PI 3.14159 #define KRESKA puts("----------------------------------------------") #define KRESKA2 puts("=============================================="); #define KONIEC puts("\nnacisnij cos ") const int klasa = 2; char c1; char przedmiot[20], szkola[]="sztygarka"; int rok_urodz; float ocena; clrscr(); printf("program: %s \n",program); KRESKA2; puts(nazwisko); puts(klasa); puts(szkola); KRESKA; printf("\npodaj swoj ulubiony przedmiot (jeden wyraz): "); gets(przedmiot); /* wprowadzenie imienia */ printf("wprowadz swoj inicjal: "); c1=getchar(); // wprowadzenie znaku printf("podaj rok urodzenia: "); scanf("%d",&rok_urodz); /* wprowadzenie roku */ printf("twoja srednia ocena "); scanf("%f",&ocena); /* wprowadzenie roku */ KRESKA; printf("twoj inicjal: "); TAB; putchar(c1); NL; printf("\n %s ma %d lat.",nazwisko, (ROK-rok_urodz)); /* wyświetlenie imienia i lat */ NL; printf("srednia ocena z przedmiotu %s = %.1f ",przedmiot, ocena); NL; KRESKA; KONIEC; getch(); float suma_float(float l1, float l2) return(l1+l2); Szablon programu ucznia /* Program Szablucz.c */ /* #include - włączenia tekstowe bibliotek */ #include <stdio.h> /* prawie zawsze np. do printf() */ /* np. do getch() */ /* #define - stale makroinstrukcje */ #define PROGRAM "program.c" #define NAZWISKO "Nowak Jan" #define ROK 2011 #define SZKOLA "Sztygarka" #define KLASA "2BG" #define TAB putchar('\t'); #define PI 3.141592653 #define KRESKA puts("------------------------------") #define KRESKA2 puts("================"); #define KONIEC puts("\n\nnacisnij cos ") #define KATRAD(g) ((g)/(rog)) const double pi=3.14159265; const char szkola[]="sztygarka"; float suma1(float l1, float l2); /* Przykladowa funkcja - deklaracja */ /* ========== Funkcja główna * ======== */ clrscr(); printf("program: %s \n",program); KRESKA2; puts(nazwisko); str. 6

puts(klasa); puts(szkola); KRESKA; /* -- dalszy kod programu glownego -- */ KONIEC; getch(); float suma1(float l1, float l2) /* Definicja funkcji */ return(l1+l2); Podsumowanie: Programy w C mają rozszerzenia plików C a w C++ rozszerzenie CPP. Do pisania kodu źródłowego używamy edytora tekstowego by plik wynikowy zawierał tylko znaki ASCII (bez znaków formatowania jak np. styl tekstu w Wordzie). Polecenia kończymy średnikiem. Kod funkcji umieszcza się w nawiasach klamrowych. W jednej linii mogą 2 instrukcje ale nie jest to zalecane. Komentarze typu /* */ w C i C++ mogą być wielo-liniowe oraz typu // w jednej linii tylko w C++ (choć są zwykle tolerowane obecnie też w C). Program zawiera zawsze: Funkcję main() zwykle w wersji: return 0 - zwraca 0 gdy wykonana poprawnie. Zwykle program zawiera nagłówek, dyrektywy preprocesora, zwłaszcza #include, czasem #define stałe i makroinstrukcje. Przed funkcją główną mogą być zadeklarowane lub zdefiniowane zmienne globalne oraz funkcje. By obejrzeć wyniki w Turbo C ( jeśli nie wprowadzono zatrzymania ekranu przy pomocy np. getch()), to należy przełączyć się na ekran użytkownika Alt F5. Kompilacja programów konsolowych (wykonywanych w oknie DOS) przy pomocy BCC32: BCC32 program_zrodlowy lub Alt F9 w Turbo C. Program wynikowy ma rozszerzenie EXE. Są w C 2 rodzaje komentarzy /* wielowierszowy w C i C++ */ i jednowierszowy w C++ // - i można w nich pisać uwagi, pomijane przez kompilator. Aby zatrzymać pracę programu, używamy funkcji getch();. Do czyszczenia ekranu służy funkcja clrscr();. Na końcu funkcji main jest zwykle. W tekście możemy używać tzw. znaków specjalnych, np. przejście do następnej linii \n. Program składa się z ciągu rozdzielonych średnikami instrukcji położonych pomiędzy słowami kluczowymi i Instrukcje mogą zawierać wyrażenia oraz wywołania funkcji. Wyrażenia składają się ze stałych, operatorów i identyfikatorów. Identyfikatory są nazwami obiektów składających się na program. Mogą one zawierać litery, cyfry i znaki podkreślenia, nie mogą jednak zaczynać się od cyfr. Instrukcje podstawowe w C: #include, main(), return, wyprowadzanie wyników: printf(), putchar(, puts(), cout <<; wprowadzanie danych : scanf(), getchar(), gets(), cin >> Pytania kontrolne: Programy języka C i C++ to kompilatory czy edytory? Czym się różni język C od C++ i jakie są rozszerzenia plików źródłowych w tych językach. Program źródłowy a program skompilowany rozszerzenia plików. Środowiska programistyczne C i C++. Jakie mogą być używane edytory do pisania programów w C czy może to być np. Word? Jaka funkcja musi wystąpić zawsze w języku C? Wersje funkcji main(). Co zwraca zwykle funkcja main(). Czym kończymy instrukcje w C? Komentarze w C i C++. Z czego składa się program? Czy nazwy identyfikatorów (stałych, zmiennych) mogą zawierać spacje? Do czego służą dyrektywy preprocesora, jakie są najczęściej stosowane w #include.. Co to są słowa zastrzeżone w programie? Wprowadzanie danych do programu i wyprowadzanie wyników najważniejsze funkcje. Do czego używamy znaku specjalnego \n?. Jak zatrzymać pracę programu? Czyszczenie ekranu w C. str. 7