C/Program: Różnice pomiędzy wersjami
< C
Usunięta treść Dodana treść
literówki, formatowanie |
m →Składniki programu: link |
||
Linia 17: | Linia 17: | ||
* znaki |
* znaki |
||
* słowa |
* słowa |
||
** kluczowe C |
** [[C/Program#S.C5.82owa_kluczowe|kluczowe C]] |
||
** pozostałe (niekluczowe) |
** pozostałe (niekluczowe) |
||
*** nazwy zmiennych i stałych |
*** nazwy zmiennych i stałych |
Wersja z 18:19, 19 lip 2017
Typy programów
Typy programów wg liczby składników:
- proste (tylko 1 plik źródłowy)
- złożone
Program prosty
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ć:
- znaki końca linii (ang. line-endings) [6]
- CRLF =
\r\n
(Windows) - LF =
\n
(Linux)
- CRLF =
- kopiowanie i wklejanie
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
- ↑ Można napisać program bez dyrektyw preprocesora. Np.:
void main(){}
. Zwykle nawet mały program zawiera przynajmniej 1 dyrektywę. - ↑ C's Character Set by Richard Mobbs
- ↑ stackoverflow question: ascii-english-text-ascii-c-program-text-question
- ↑ 21st-century-c-2nd-edition: the_encoding_for_c_code
- ↑ Unicode in C and C++: What You Can Do About It Today by Jeff Bezanson
- ↑ wikipedia:en:Newline#In_programming_languages