Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


Programiranje 2, Rezime od Programiranje

za sistemsko programiranje. • B (uprošćenje BCPL-a),. Ken Thompson, Bell Labs, na njemu pisan UNIX za PDP-7. • B i BCPL - efikasan interfejs prema HW.

Tipologija: Rezime

2022/2023

Učitan datuma 13.01.2023.

Njegoje_Zdravko
Njegoje_Zdravko 🇸🇷

5

(2)

47 dokumenti

1 / 48

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Programiranje 2
Odsek za Softversko inženjerstvo
Elektrotehnički fakultet
Beograd
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30

Delimični pregled teksta

Preuzmite Programiranje 2 i više Rezime u PDF od Programiranje samo na Docsity!

Programiranje 2

Odsek za Softversko inženjerstvo Elektrotehnički fakultet Beograd

UVOD

Literatura:  Laslo Kraus, Programski jezik C sa rešenim zadacima, Akademska misao, 9. izdanje, Beograd,

 Laslo Kraus, Rešeni zadaci iz programskog jezika C, Akademska misao, 4. izdanje, Beograd, 2014.  ...

Prethodnici jezika C

  • Algol (apstraktan i opšti)
  • CPL (Combined PL), Cambridge, nepregledan, težak za implementaciju
  • BCPL (Basic CPL), MIT, za sistemsko programiranje
  • B (uprošćenje BCPL-a), Ken Thompson, Bell Labs, na njemu pisan UNIX za PDP-
  • B i BCPL - efikasan interfejs prema HW (bez tipova podataka)

Cilj

Osobine jezika:  jezik nezavisan od računara  komfor višeg programskog jezika  zamena za zavisne simboličke mašinske jezike  konciznost i efikasnost  nezavisnost ostvarena uvođenjem tipova podataka

Osobine jezika C

  • relativno “nizak jezik” sa komforom višeg jezika  radi sa istom vrstom objekata kao i HW, npr. adrese, brojevi, karakteri
  • pogodan za sistemsko programiranje, ali opšte namene  UNIX je skoro čitav napisan u C-u  prevodioci za druge jezike

Osobine jezika C

  • omogućava kompaktno strukturirane programe, manje čitljive od Pascal-a
  • velika fleksibilnost
  • relativno mali jezik, prenosiv
  • nije za početnika u programiranju
  • standardi: ANSI C X3.159-1989 (C89), ISO C99, ISO C

Struktura C programa

  • program se sastoji od funkcija, samo main obavezna, bibliotečke funkcije
  • sa main počinje izvršavanje
  • {...} - programski blok = deklaracije + naredbe (oboje opciono)
  • definicija promenjivih obavezna

Notacija

C koristi skup znakova koji sadrži:

  • velika slova
  • mala slova
  • cifre
  • specijalne znakove
  • neke znakovne sekvence koje počinju sa \

Identifikatori

  • velika i mala slova se razlikuju (a ≠ A)
  • dužina proizvoljna  interna imena (oblast važenja unutar datoteke) 63 značajna znaka po Standardu  spoljašnja imena (preko granica datoteka, rukuje i OS) prvih 31 znakova su značajni

Separatori

  • razdvajaju leksičke elemente
  • razmak, tabulacija, kraj linije, komentar
  • terminator naredbe ;
  • komentar počinje sa /* završava se sa */
  • komentar koji se završava u istom redu počinje sa //

Rezervisane reči

auto break case char const continue default do double else enum extern float for goto if inline (od C99) int long register restrict (od C99) return short signed sizeof static struct switch typedef union unsigned void volatile while _Alignas (od C11) _Alignof (od C11) _Atomic (od C11) _Bool (od C99) _Complex (od C99) _Generic (od C11) _Imaginary (od C99) _Noreturn (od C11) _Static_assert (od C11) _Thread_local (od C11)

  • Prva specifikacija jezika: K&R C (po knjizi iz 1978. godine)
  • Prvi Standard: X3.159-1989 (ANSI C, C89) prihvaćen od International Standards Organization kao ISO:IEC 9899:1990 (C90)
  • Drugo izdanje ISO Standarda ISO/IEC 9899:1999 (C99)
  • Treće, važeće izdanje ISO Standarda ISO/IEC 9899:2011 (C11)

Tipovi podataka

  • apstrakcija i zanemarivanje mašinskog predstavljanja podataka
  • tip definiše:  skup vrednosti  operacije nad njima
  • podaci:  konstante  promenljive

Numerički tipovi

  • Znakovni
  • Celobrojni
  • Realni

Znakovni tip

  • char  1 bajt  kod znaka iz lokalnog skupa znakova  može da se koristi kao ceo broj u aritmetičkim operacijama  standard ne definiše da li je označen ili ne (neodređenost se izbegava prefiksom)
  • signed char (-128 ÷ 127)
  • unsigned char (0 ÷ 255)
  • postoje u C11 char16_t i char32_t (iz uchar.h) kao i wchar_t (iz wchar.h) čija širina je implementaciono zavisna (kodiranja UTF-16, UTF-32, UNICODE)