metody i języki programowania programowanie strukturalne

Transkrypt

metody i języki programowania programowanie strukturalne
METODY I JĘZYKI PROGRAMOWANIA
PROGRAMOWANIE STRUKTURALNE
Wykład 02
NAJPROSTSZY PROGRAM
/* (Prawie) najprostszy przykład programu w C */
/*==================*/
/* Między tymi znaczkami można pisać, co się chce - to komentarz*/
#include <stdio.h> /* znaczek # - polecenie(dyrektywa) translatora*/
void main (void)
{
/* poczatek definicji funkcji głównej programu */
char x[100];
/* deklaracja zmiennej tekstowej - na Twoja
odpowiedz na pozdrowienie komputera */
printf("Witaj !\r\n"); /*komputer wypisuje pozdrawienie */
scanf("%s",x);
/* i czeka na Twoja odpowiedz z klawiatury */
}
/* koniec instrukcji zlozonej */
Repertuar zdań tekstu programu w języku C:
KOMENTARZE, DYREKTYWY TRANSLATORA,
DEKLARACJE (DEFINICJE) OBIEKTÓW, INSTRUKCJE
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
2
Rodzaje zdań tekstu programu w C
• Program źródłowy w języku C można traktować jako
tekst składający się z następujących rodzajów zdań:
• Polecenia translatora
• Zdania (instrukcje) języka C
– komentarze
– deklaracje (definicje) obiektów
– instrukcje (zapis czynności)
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
3
Polecenia translatora
• Są to linie zaczynające się od znaku #
– translator polecenia w tych linii wykonuje PRZED
tłumaczeniem programu
– UWAGA! - te linie nie mogą kończyć się średnikiem
– INACZEJ SĄ TO TZW DYREKTYWY TRANSLATORA
(PREPROCESORA)
• PRZYKŁADY
#include <stdio.h>
#include „mojefun.c”
#define MAX 10
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
4
Komentarze
• Translator tekstu komentarzy NIE TŁUMACZY.
– Ideą komentarzy jest przechowywanie objaśnień programu
przeznaczonych DLA CZŁOWIEKA (PROGRAMISTY)
• Dwa rodzaje komentarzy:
– wielowierszowe „od - do”
/* to jest przykład
komentarza wielowierszowego */
– jednowierszowe „od - do końca linii”
// To jest komentarz wprowadzony w języku C++
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
5
Deklaracje/Definicje
• Dwa rodzaje
– obiektów
• stałych
– dosłownych: 10 10L 15.0 „ALA MA KOTA”
– nazwanych: #define PI 3.14
• zmiennych
int x, zmienna;
char nazwisko[10];
struct osoba { char nazwisko[10]; imie[10]};
osoba KOWALSKI;
– funkcji
• deklaracja:
• definicja:
int tosamo(int x);
int tosamo(int x){return x;}
UWAGA NA ŚREDNIKI !!!!
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
6
Instrukcje
• INSTRUKCJE zawierają opis czynności jakie
wykonawca programu ma wykonać. Podstawowe
rodzaje
– instrukcja we/wy (komunikacji wykonawcy z otoczeniem:
pamięć operacyjna - urządzenia zewnętrzne)
– instrukcje przetwarzania - zapis wyrażeń określonego typu
– instrukcja podstawienia (przesłania wewnętrznego: pamięć
operacyjna - pamięć operacyjna)
– instrukcja inicjalizacji (wartości początkowej zmiennej)
– instrukcje sterujące: skoku, wywołania
podprogramu(funkcji
– instrukcje strukturalne
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
7
Podstawowa struktura programu
/* Komentarze początkowe objaśniające zawartość pliku z programem
*/
#include <plik nagłówkowy biblioteki systemowej>
#include "plik nagłówkowy biblioteki użytkownika"
//tutaj ewentualne deklaracje funkcji użytkownika
//tutaj definicje obiektów globalnych
void main()
{ // <-nawias otwierający początek programu (funkcji)
// tutaj deklaracje lokalne i instrukcje programu
}
//<- nawias kończący zakres definicji programu (funkcji)
//tutaj definicje funkcji zadeklarowanych przed funkcja main()
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
8
Identyfikatory /nazwy
Służą one do nazywania obiektów programu (typów,
stałych, zmiennych, funkcji, itp.).
Są one ciągiem liter, cyfr i znaków podkreślenia,
zaczynającym się od litery lub znaku podkreślenia.
Nie należy używać dwu znaków podkreślenia na początku,
ze względu na możliwość kolizji z nazwami użytymi przez
twórców kompilatora (w bibliotekach, makrodefinicjach,
itp.).
Duże i małe litery są rozróżniane
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
9
Słowa zastrzeżone języka C
Wybrane identyfikatory zostały zastrzeżone przez twórców
języka. Służą one do zapisu konstrukcji jakie są dopuszczalne w
języku C. Dlatego nazywa się je słowami kluczowymi. Słowa
kluczowe nie mogą być użyte jako nazwy zmiennych, typów lub
funkcji i nie są poprawnymi identyfikatorami w sensie składni
języka C.
W języku ANSI C występują następujące zastrzeżone słowa
kluczowe:
break case char const continue default do double else enum
extern float for goto if int long register return short signed
sizeof static struct switch typedef union unsigned void volatile
while
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
10
Zmienne
Stałe to obiekty programu, których wartość w trakcjie realizacji
programu NIE MOŻE ulec zmianie
Zmienne - wartość może ulec zmianie
Zmienna reprezentuje daną określonego typu, jest
przechowywana w pamięci operacyjnej i identyfikowana poprzez
nazwę. Zmienna posiada następujące podstawowe cechy:
• nazwę (identyfikator)
• typ, który wiąże się ze zbiorem dopuszczalnych wartości
danej i zbiorem dopuszczalnych operacji wykonywanych na
niej, a także z rozmiarem pamięci potrzebnym do
przechowania zmiennej
Wszystkie zmienne przed użyciem muszą być zadeklarowane. Deklaracja polega na
• wartość
podaniu
nazwy, typu i ewentualnie dodatkowych atrybutów, w tym wartości początkowej.
W momencie deklaracji wartość zmiennej lokalnej, czyli zadeklarowanej wewnątrz funkcji,
jest nieokreślona (przypadkowa), natomiast zmienne globalne (deklarowane poza
funkcjami) są inicjowane na zero.
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
11
Typy danych
Typ danych to zbiór stałych o identycznej charakterystyce i
dopuszczalnych operatorach:
• typy proste (wbudowane, fundamentalne):
• typy pochodne tworzone z typów prostych za
pośrednictwem operatorów:
* - wskaźnik
[] - tablica
() - funkcja
• typy definiowane przez użytkownika
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
12
Typy proste
• znakowe
char
napisy (tylko stałe - tzw. stałe tekstowe „ala ma kota”)
• liczbowe
int - liczby całkowite
float - liczby rzeczywiste
Typy liczbowe mogą występować w wariantach:
– liczby ze znakiem lub bez ( unsigned)
– liczby ze zwiększoną dokładnością (long, double)
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
13
Deklaracja typu wartości
• Zmienne - deklaracja typu
– int x;
– float zarobki;
– double odleglosc_od_ksiezyca;
• Stałe - sposób zapisu (stałe dosłowne)
‘A’ ‘c’ ‘\t’ ‘\\’
1 100 200L 0755 0xa2
1.5 2e17 3.5e-2
„to jest stała tekstowa”
• Stałe nazwane - w C tylko przez dyrektywę #define
– #define PI 3.14
"Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004
14