C/Program: Różnice pomiędzy wersjami

Z Wikibooks, biblioteki wolnych podręczników.
< C
Usunięta treść Dodana treść
Linia 48: Linia 48:
** CRLF = \r\n ( Windows)
** CRLF = \r\n ( Windows)
** LF = \n (Linux)
** LF = \n (Linux)
* kopiowanie i wklejanie
* [[Programowanie_w_systemie_UNIX/Kodowanie#Podobne_znaki|kopiowanie i wklejanie]]


== Słowa kluczowe ==
== Słowa kluczowe ==

Wersja z 15:53, 5 cze 2016

Typy programów

Typy programów wg liczby składników :

  • proste ( tylko 1 plik źródłowy )
  • złożone

Program prosty

Pierwszy program

Program złożony

Składniki programu złożonego :

  • główny plik programu ( żródłowy )  : main.c
  • dodatkowe pliki źródłowe ( moduły = jednostki translacji)
    • tylko c
    • c i h
  • biblioteki = pliki nagłówkowe ( .h) oraz pliki binarne (skompilowane)


Składniki programu

  • znaki
  • słowa
    • kluczowe C
    • pozostałe ( niekluczowe)
      • nazwy zmiennych i stałych
      • komentarze
    • dyrektywy preprocesora[1]
  • procedury ( podprogramy)
  • pliki
    • źródłowe ( c lub h )
    • binarne

Zestaw znaków i kodowanie

Zestaw znaków dopuszczalnych w programie [2]

  • A - Z
  • a -z
  • 0 - 9
  • space . , : ; ' $ "
  • # % & ! _ {} [] () $ & |
  • + - / * = ? < >

jest fragmentem znaków ASCII i UTF-8 ( ASCII jest podzbiorem UTF-8).

Z punktu widzenia kodowania plik  źródłowy w c jest to tekst zakodowany w ASCII[3] ( UTF-8 [4]) z rozszerzeniem c lub h. Oczywiście w c można przetwarzać tekst zakodowany w innych systemach, jak UTF[5]

Problemem mogą być :

Słowa kluczowe

Lista słów kluczowych języka C na podstawie normy ISO/IEC 9899:2011 (C11).

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

Żródła

  1. Można napisać program bez dyrektyw preprocesora. Np. : "void main(){}". Zwykle nawet mały porgram zawiera przynajmniej 1 dyrektywę
  2. C's Character Set by Richard Mobbs
  3. stackoverflow question  : ascii-english-text-ascii-c-program-text-question
  4. 21st-century-c-2nd-edition : the_encoding_for_c_code
  5. Unicode in C and C++: What You Can Do About It Today by Jeff Bezanson
  6. wikipedia:en:Newline#In_programming_languages