jezc w02 podstawy c windows id Nieznany

background image

Programowanie

w języku C

Programowanie

w języku C

© 2012

Grzegorz Łukawski & Maciej Lasota & Barbara Łukawska

Politechnika Świętokrzyska w Kielcach

Wykład nr 2:

Podstawowe cechy języka C

Kompilator gcc

Podstawy języka C

Zmienne

Podstawowe operatory

background image

Cechy języka C

Język C jest językiem względnie „niskiego poziomu”, tzn. operuje na danych
na których pracuje bezpośrednio procesor (znakach, liczbach i adresach),

podobnie jak język asemblera.

W języku C istnieje bardzo mało abstrakcyjnych typów danych,

w przeciwieństwie np. do języka Pascal.

Dzięki tym cechom język C zapewnia maksymalną wydajność.

W języku C nie istnieją operacje na złożonych elementach, jak np. ciągi

znaków, listy lub zbiory. Nie ma wbudowanych operacji wejścia/wyjścia (zapis

i odczyt plików)...

Wszystkie te mechanizmy dostępne są poprzez wywoływania odpowiednich
funkcji z bibliotek standardowych.

background image

Biblioteki

standardowe

Elementy składowe kompilatora ANSI C

Język C

preprocesor

kompilator

linker

ANSI C

CURSES

Biblioteki

zewnętrzne

background image

Cechy języka C

Język C jest językiem o szerokim spektrum zastosowań: od programowania

systemów wbudowanych (sterowników), przez programowanie systemowe
(jądro systemu Unix), po różnego rodzaju aplikacje.

Kod źródłowy programu w języku C ma strukturę swobodną – formatowanie

kodu nie jest wymagane, ale zalecane!

Rdzeń języka zawiera bardzo mało słów kluczowych – jest łatwy do
przyswojenia, lecz sprawne korzystanie z niego wymaga praktyki...

background image

background image

Kompilacja

Uruchomienie

Kompilacja

i uruchomienie

background image

Podstawowe elementy języka C

Każdy program w języku C składa się z funkcji i zmiennych.

Funkcja główna main() to główny element programu, obowiązkowy

w każdym programie. Od tego miejsca zaczyna się jego wykonanie.

Identyfikatory (nazwy zmiennych i funkcji) muszą zaczynać się od litery lub

znaku podkreślenia (_), nie mogą być takie same jak słowa kluczowe języka.

Małe i wielkie litery są rozróżniane:

licznik, Licznik

to dwie różne zmienne!

background image

/* Komentarz nr 1 */

// Komentarz nr 2

#include

<stdio.h>

// Biblioteka

int

main() {

puts(”Hello PSk!”);

// Wywołanie funkcji

return

(

0

);

// Koniec programu

}

Drugi program w języku C

Po większości instrukcji języka C należy umieścić średnik;

Instrukcje rozpoczynające się od znaku # to dyrektywy dla

preprocesora.

background image

Wartości stałe w języku C

Stałe liczbowe (liczby):

Liczby bez żadnych dodatkowych znaków traktowane są jako zapisane w kodzie

dziesiętnym.

Liczby szesnastkowe poprzedzone są sekwencją 0x, np:

0x12AB, 0x12aa55ff, 0x0000

Stałe znakowe:

Pojedynczy znak umieszczony w apostrofach zamieniany jest na jego kod
ASCII, np.:

'A', 'b', ' ', '1'

Stałe znakowe traktowane są na równi ze stałymi liczbowymi!

UWAGA!
W języku C nie istnieją specjalne instrukcje operujące na znakach. Znaki
(ich kody ASCII) traktowane są jak liczby całkowite!

background image

Stałe napisowe w języku C

3

'A' 'b' 'c'

Pascal:

0

'A' 'b' 'c'

C:

Stałe napisowe (napisy, ciągi znaków):

Umieszczane są między znakami cudzysłowów ” ”

Każdy ciąg znaków uzupełniany jest niejawnie kodem 0 (zero).

Znaki specjalne:

\n

Nowy wiersz (LF)

\t

Tabulacja

\”

Znak cudzysłowu

\\

Backslash

Przykład:

puts(”Pierwszy wiersz\ndrugi\ntrzeci”);

background image

Typy całkowite w języku C

Nazwa

Opis

int

Liczba 16, 32 lub 64-bitowa ze znakiem*

short int

short

„Krótka” liczba całkowita ze znakiem – 16 bitów

long int

long

„Długa” liczba całkowita ze znakiem – 32 bity

long long

„Bardzo długa” Liczba całkowita ze znakiem – 64 bity

char

ZNAK lub liczba całkowita 8-bitowa (ze znakiem lub

bez)*

signed ...

Wymuszenie typu całkowitego ze znakiem

unsigned ...

Wymuszenie typu całkowitego bez znaku – tylko liczby

dodatnie lub 0

Porównanie zakresów typów ze znakiem i bez znaku:

signed char → od -128 do 127

unsigned char → od 0 do 255

short → od -32768 do 32767

unsigned short → od 0 do 65535

background image

Przybliżony zakres wartości typów float dla komputera PC z procesorem 32
bitowym:

Typy zmiennoprzecinkowe w języku C

Nazwa

Opis

float

Liczba zmiennoprzecinkowa ze znakiem pojedynczej

precyzji

double

Liczba zmiennoprzecinkowa ze znakiem podwójnej

precyzji

Wynik operacji na liczbach tego typu może być przybliżony!

Liczba podwójnej precyzji przechowuje dokładniejszą wartość (więcej

miejsc po przecinku).

10

-38

0

-10

-38

10

38

-10

38

background image

INT_MIN = -2147483648

INT_MAX = 2147483647

SHRT_MIN = -32768

SHRT_MAX = 32767

USHRT_MAX = 65535

Operator sizeof() zwraca liczbę bajtów które zajmuje typ lub zmienna, np.:

sizeof(long int) → 4
sizeof(char) → 1

Zakres i wielkość zmiennych

#include <limits.h>

Epsilon

– najmniejsza liczba x taka, że

1.0 + x != 1.0

FLT_MIN = 1.175494e-038

FLT_MAX = 3.402823e+038

FLT_EPSILON = 1.192093e-007

DBL_MIN = 2.225074e-308

DBL_MAX = 1.797693e+308

DBL_EPSILON = 2.220446e-016

#include <float.h>

background image

Przykłady:

int x; int y;
int x, y;
int x=0, y=10;
float zmienna;
double suma = 0.01;

x = sizeof(y);

Deklaracja zmiennych

typ nazwa_zmiennej;

background image

Miejsce deklaracji zmiennych

#include <stdio.h>

int zmienna1;

// Zmienne globalne

float suma;

int main() {

int x, y, z;

// Zmienne lokalne

double iloczyn = 0;

… <instrukcje> …
return(0);

}

UWAGA!
Wartością początkową zmiennych globalnych jest zawsze zero. Wartość
początkowa zmiennych lokalnych jest nieokreślona!

background image

scanf(format, zmienne...);

scanf(”%d”,

&

liczba);

Wczytywanie i wyświetlanie wartości zmiennych

Ciąg formatujący

Typ zmiennej

Formatowanie

%d

%hd
%ld

int

short, char

long

Liczba całkowita dziesiętna ze
znakiem

(signed)

%u

%hu
%lu

int

short, char

long

Liczba całkowita dziesiętna bez znaku

(unsigned)

%x, %X

%hx, %hX
%lx, %lX

int

short, char

long

Liczba całkowita w zapisie

szesnastkowym

%f, %e, %E

%lf, %le, %lE

float

double

Liczba zmiennoprzecinkowa

%c

char

Znak ASCII

printf(format, zmienne...);

printf(”%d”, liczba);

#include <stdio.h>

background image

printf(”Liczba = %d\n”, n);

Liczba = 123

printf(”x = %f, y = %f”, zm_x, zm_y);

x = 10.01, y = 33.0

printf(”ZMIENNE:\n%d, %f, %lf\n”, a, suma, iloczyn);

ZMIENNE:
1, 33.4, 10023.001

Wczytywanie i wyświetlanie wartości zmiennych

Przykłady:

background image

Podstawowe operatory języka C

Operatory arytmetyczne:

+ – * / %

Operator przypisania:

=

Operatory jednoargumentowe:

+ –

Nawiasy okrągłe pozwalają zmienić kolejność obliczeń.

x = 2*y+5*3;
y = y-100;
y = x%2;

y = y*2/x*3;
y = y*2/(x*3);

y = -y;
y = +y;

x = y = 0;

Wartość początkowa zmiennej może być wynikiem obliczeń:

int suma = (x*y + 100) / 10;

background image

Na

początku

każdego

bloku

można

zadeklarować nowe zmienne lokalne.*

Zachowanie porządku w programie zapewnia

stosowanie wcięć (tabulacji).

Każda klamerka musi mieć swoją parę!

Bloki instrukcji

*Standard C99 dopuszcza deklarację zmiennych
w dowolnym miejscu w kodzie programu!

int main() {

int x;
{

blok1;
{

blok2;

}

}
{

blok3;

}
return(0);

}

{ instrukcje }

background image

#include <math.h>
Argument i wyniki funkcji typu double. Kąty w radianach!

Wybrane funkcje i stałe:

Biblioteka funkcji matematycznych

sin(x), cos(x), tan(x)

funkcje trygonometryczne

sinh(x), cosh(x), tanh(x)

jw. hiperboliczne

fabs(x)

wartość bezwzględna liczby x

pow(x,y)

x do potęgi y

sqrt(x)

pierwiastek kwadratowy z x

M_PI

wartość stała liczby π


Document Outline


Wyszukiwarka

Podobne podstrony:
FANUC podstawy programowania id Nieznany
Laboratorium Podstaw Fizyki id Nieznany
Cwiczenia 1 podstawy edycji id Nieznany
CHEMIA I Podstawowe pojecia id Nieznany
Emocje podstawowe i pochodne id Nieznany
FANUC podstawy programowania id Nieznany
Laboratorium Podstaw Fizyki id Nieznany
Podstawy Zarzdzania id 368860 Nieznany
Podstawowe zagadnienia id 36653 Nieznany
Cwiczenia Access Podstawy 3 id Nieznany
Podstawy programowania 1 W2 id Nieznany
zestaw podstawowych drgan id 58 Nieznany
IMW W02 analiza stanow id 21233 Nieznany
P1 podstawowe pojecia id 344421 Nieznany

więcej podobnych podstron