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

Z Wikibooks, biblioteki wolnych podręczników.
< C
Usunięta treść Dodana treść
Linia 28: Linia 28:


==Zestaw znaków i kodowanie ==
==Zestaw znaków i kodowanie ==
=== w programie===
Zestaw znaków dopuszczalnych w programie <ref>[https://www.le.ac.uk/users/rjm1/cotter/page_13.htm C's Character Set by Richard Mobbs]</ref>
Zestaw znaków dopuszczalnych w programie <ref>[https://www.le.ac.uk/users/rjm1/cotter/page_13.htm C's Character Set by Richard Mobbs]</ref>
* A - Z ( duże litery, ang. capital letters)
* A - Z
* a -z ( małe litery, ang. small letters)
* a -z
* 0 - 9
* 0 - 9 ( cyfry, ang. digits)
* space . , : ; ' $ "
* space . , : ; ' $ " (
* # % & ! _ {} [] () $ & |
* # % & ! _ {} [] () $ & |
* + - / * = ? < >
* + - / * = ? < >
Linia 47: Linia 48:
** LF = <code>\n</code> (Linux)
** LF = <code>\n</code> (Linux)
* [[Programowanie_w_systemie_UNIX/Kodowanie#Podobne_znaki|kopiowanie i wklejanie]]
* [[Programowanie_w_systemie_UNIX/Kodowanie#Podobne_znaki|kopiowanie i wklejanie]]

=== w nazwach zmiennych ===
Jest to podzbiór zbioru znaków dopuszczalnych w programie:<ref>[http://www.c4learn.com/c-programming/c-variable-nameing-rules/ c4learn : c-variable-nameing-rules ]</ref>
* A - Z ( duże litery, ang. capital letters)
* a -z ( małe litery, ang. small letters)
* 0 - 9 ( cyfry, ang. digits)
* Underscore(_)

Użycie pozostałych znaków w [[C/Zmienne#Nazwa_zmiennej|nazwie zmiennej]] jest niedozwolone. Np. użycie

font-size // dopuszczalne w svg

powoduje błąd.


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

Wersja z 07:57, 29 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

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[1]
      • komentarze
    • dyrektywy preprocesora[2]
  • procedury (podprogramy)
  • pliki
    • źródłowe (c lub h)
    • binarne

Zestaw znaków i kodowanie

w programie

Zestaw znaków dopuszczalnych w programie [3]

  • A - Z ( duże litery, ang. capital letters)
  • a -z ( małe litery, ang. small letters)
  • 0 - 9 ( cyfry, ang. digits)
  • 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[4] (UTF-8[5]) z rozszerzeniem c lub h. Oczywiście w c można przetwarzać tekst zakodowany w innych systemach, jak UTF[6]

Problemem mogą być:

w nazwach zmiennych

Jest to podzbiór zbioru znaków dopuszczalnych w programie:[8]

  • A - Z ( duże litery, ang. capital letters)
  • a -z ( małe litery, ang. small letters)
  • 0 - 9 ( cyfry, ang. digits)
  • Underscore(_)

Użycie pozostałych znaków w nazwie zmiennej jest niedozwolone. Np. użycie

 font-size // dopuszczalne w svg

powoduje błąd.

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. studytonight.com: c keywords-and-identifier
  2. Można napisać program bez dyrektyw preprocesora. Np.: void main(){}. Zwykle nawet mały program zawiera przynajmniej 1 dyrektywę.
  3. C's Character Set by Richard Mobbs
  4. stackoverflow question: ascii-english-text-ascii-c-program-text-question
  5. 21st-century-c-2nd-edition: the_encoding_for_c_code
  6. Unicode in C and C++: What You Can Do About It Today by Jeff Bezanson
  7. wikipedia:en:Newline#In_programming_languages
  8. c4learn : c-variable-nameing-rules