Literatura - Język C
Brian W. Kernighan, Dennis M. Ritchie
Język ANSI C
WNT, Warszawa 1998
Andrzej Zalewski
Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++
Nakom, Poznań 1998
Stephan Prata
Język C szkoła programownaia
Wydawnictwo Romatic, Wrocław 1999
/*Program p1.c */
/*Obliczanie objetosci walca */
/*Kompilator: Turbo C 2.0 */
#include <stdio.h>
void main()
{
float promien, wysokosc, objetosc;
promien = 3.3;
wysokosc =44.4;
objetosc = 3.1415926* promien * promien * wysokosc;
printf(”Objetosc walca = %f”,objetosc);
}
Objetosc walca = 1519.010254
/*p2.c*/#include<stdio.h>
void main(){float r,h,v;r=3.3;h=44.4;v=3.1415926*r*r*h;printf(”V=%f”,v);}
V=1519.010254
Zestaw znaków języka C
znaki dodatkowe jak @ ,$ uwzględniane w łańcuchach znaków lub w komentarzach
kombinacje znaków, jak np. \b, \n, \t tzw. Escape-sekwencje reprezentuje jeden znak
Słowa zastrzeżone (słowa kluczowe, zarezerwowane) - wybrane słowa o szczególnym dla danego języka znaczeniu, nie wolno ich używać jako np. nazw zmiennych.
auto extern sizeof
break float static
case for struct
char goto switch
const if typedef
continue int union
default long unsigned
do register void
double return volatile
else short while
enum signed
Niektóre kompilatory rozpoznają część, albo i wszystkie, z następujących ”niestandardowych” słów zastrzeżonych:
ada far near
asm fortran pascal
entry huge
Podstawowe typy danych:
Typy podstawowe:
int reprezentuje liczbę całkowitą
char reprezentuje pojedynczy znak (np. literę alfabetu)
float reprezentuje liczbę rzeczywistą (pojedynczej precyzji)
double reprezentuje liczbę rzeczywistą (podwójnej precyzji)
Modyfikatory:
short oznacza liczbę krótką
long oznacza liczbę długą
signed oznacza liczbę ze znakiem
unsigned oznacza liczbę bez znaku
Możliwy do zadeklarowania zestaw typów danych:
char, unsigned char
int, unsigned , signed , short, unsigned short, long, unsigned long
float, double, long double
Typy danych elementarnych, zakresy wartości oraz reprezentacja maszynowa (kompilator Turbo 2.0)
Typ Zakres wartości Reprezentacja
znak(bajt)
char -128 .. 127 1 bajt
unsigned char 0 .. 255 1 bajt
liczba całkowita
short -32768 .. 32767 2 bajty
unsigned short 0 .. 65535 2 bajty
int -32768 .. 32767 2 bajty
unsigned int 0 .. 65535 2 bajty
long -2147483648 .. 2147483648 4 bajty
unsigned long 0 .. 4294967295 4 bajty
liczba rzeczywista
float -3.4E38 .. -3.4E-38,0,3.4E-38 ..3.4E38 4 bajty
double -1.7E308 .. -1.7E-308,0,1.7E-308 ..1.7E308 8 bajtów
long double -1.1E4932 .. -3.4E-932,0,3.4E-4932 ..1.1E4932 10 bajtów
NAJWAŻNIEJSZE ESCAPE-SEKWENCJE
Sekwencja znaków |
Wartość ASCII |
Znaczenie
|
\a |
7 |
Sygnał dźwiękowy (BEL) |
\b |
8 |
Cofnięcie o 1 znak (BS) |
\t |
9 |
Tabulacja pozioma(HT) |
\v |
11 |
Tabulacja pionowa (VT) |
\n |
10 |
Nowa Linia (LF) |
\f |
12 |
Nowa strona (FF) |
\r |
13 |
Powrót karetki(CR) |
\” |
34 |
Cudzysłów |
\' |
39 |
Apostrof |
\? |
63 |
Znak zapytania |
\\ |
92 |
Kreska ukośna (backslash) |
\0 |
0 |
Znak pusty (null) |
|
|
|
/*Program p3.c */
/*Obliczanie objetosci walca */
/*Kompilator: Turbo C 2.0 */
/*Stałe symboliczne */
#include <stdio.h>
#define PI 3.1415926
#define PROMIEN 3.3
#define WYSOKOSC 44.4
#define WYNIK printf(”Objetosc walca = %f”,objetosc)
void main()
{
float promien, wysokosc, objetosc;
promien =PROMIEN;
wysokosc =WYSOKOSC;
objetosc =PI * promien * promien * wysokosc;
WYNIK;
}
Objetosc walca = 1519.010254