==== 1. Példa ====
Egy kis C program a program felepitesenek bemutatasara: gömb felszinenek es terfogatanak kiszamitasa:
#include // ebben a headerfajlban van adva a scanf es printf
// fuggvenyek prototipusa, deklaracioja, a leforditott
// alakot pedig a Cx.LIB konyvtarak tartalmazzak mar
// kozvetlenul beszerkesztheto alakban (x helyen a
// memoriamodeltol fuggo betu all).
#define PI 3.141593 // konstans definialasa
main()
{
float sugar, felulet, terfogat; // valos valtozok definialasa
printf(" Gombfelulet es terfogat szamitasa\n\n"); // tajekoztatoszoveg
printf("A sug r= "); // sugar bekerese
scanf("%f", &sugar); // & a cime operator, erre a cimre kerjuk be a sugarat
felulet = 4 * sugar * sugar * PI;
terfogat = 4.0 / 3 * sugar * sugar * sugar * PI;
// kiiratas 10 karakter szeles mezore, 3 tizedes pontossaggal, lebegopontos (f) alakkal
printf("\nFelulet= %10.3f, terfogat= %10.3f\n", felulet, terfogat);
}
==== 2. Példa ====
/* Kis program kulonfele tipusu valtozok deklaralasara,
ertekuk bekeresere billentyuzetrol es az ertek kiiratasara
FIGYELEM, char tipusu valtozoban tarolhato szamerteket nem
lehet kozvetlenul beadni. A peldaban 2 byte-os int pufferbe
kerjuk be, majd tipuskinverzioval levagva 1 byte-osra,
helyezzuk el a signed, vagy unsigned char valtozokba */
/*
#include
#include
main()
{
char betu;
int puffer; // ebbe irodik a negy byte, melybol csak egy hasznos
signed char kisszam;
unsigned char db;
int egesz;
unsigned int evszam;
long int nagyszam;
unsigned long int nagypozitiv;
float valos;
double nagyvalos;
long double nagyonnagyszam;
printf("Ertekadas kulonfele tipusu valtozoknak, majd kiiratas\n\n");
printf("Adj meg egy betut:");
betu = getch();
printf("\nAdj meg egy szamot -128 es +127 kozott :");
scanf("%d",&puffer); kisszam = (signed char) puffer;
printf("Adj meg egy szamot 0-255 kozott:");
scanf("%u",&puffer); db = (unsigned char) puffer;
printf("Adj meg egy egesz szamot -32768 es 32767 kozott:");
scanf("%d",&egesz);
printf("Adj meg egy evszamot:");
scanf("%u",&evszam);
printf("Adj meg egy 8 jegyu negativ szamot:");
scanf("%ld",&nagyszam);
printf("Adj meg egy 9 jegyu pozitiv szamot:");
scanf("%lu",&nagypozitiv);
printf("Adj meg egy valos szamot:");
scanf("%f",&valos);
printf("Adj meg egy 16 jegyu valos szamot:");
scanf("%lf",&nagyvalos);
printf("Adj meg egy 24 jegyu negativ szamot:");
scanf("%Lf",&nagyonnagyszam);
printf("\n\nKiiratasok kovetkeznek:\n");
printf("\nA betu: %c, kodja: %d",betu,betu);
printf("\nA szam -128 es 127 kozott= %d",kisszam);
printf("\nA szam 0-255 kozott= %u",db);
printf("\nAz egesz -32768 es 32767 kozott= %d",egesz);
printf("\nAz evszam csak pozitiv lehetett, = %u",evszam);
printf("\nA 8 jegyu negativ szam= %ld",nagyszam);
printf("\nA 9 jegyu pozitiv szam= %lu",nagypozitiv);
printf("\nA valos lebegopontosan= %f, kitevos alakban= %e",valos,valos);
printf("\nA duplapontos valos= %lf, kitevosen= %le",nagyvalos,nagyvalos);
printf("\nA 24 jegyu negativ= %Lf, kitevosen= %Le",nagyonnagyszam,
nagyonnagyszam);
// valos szamoknal elofordulhat elteres a szamabrazolas nem kello pontossaga miatt
}
==== 3. példa ====
Példa a mutató használatára: a sima valtozoba beirt erteket mutato segitsegevel elerve modositjuk, majd sima valtozokent es mutatoval elert valtozokent is kiiratjuk.
#include
main()
{
int valt;
int *valtramutato;
printf("Adj erteket a valtozonak:");
scanf("%d", &valt);
valtramutato = &valt;
*valtramutato = *valtramutato + 10; // valt tartalmat noveltuk 10-zel
printf("\nA 10-zel novelt ertek valtozokent elerve: valt= %d", valt);
printf("\nUgyanaz mutatoval elerve: *valtramutato= %d", *valtramutato);
}
==== 4. Példa ====
Az alabbi kis program C kifejezesekre, operatorokra ad peldat
#include
#include
main()
{
short int a, b, c, d, e;
float p, r;
a = 32000; b = 30000; c = a + b;
printf("a=32000, b=30000, a + b= %d miert nem 62000?? ", c); // nem jelez hibat!
a = 7; b = 2; c = a/b;
printf("\nA / egeszek eseten egeszosztas! Pl. a=7, b=2, c= a/b = %d",c);
a = b = 9;
printf("\nTobbszoros ertekadas lehetseges: a=b=9; a= %d lesz",a);
printf("\nGyorsabb programot eredmenyeznek az ertekado operatorok:");
printf("\n +=, -=, *=, /=, %=");
a = 10; a = a + 3; printf("\n a = 10, a = a + 3; a = %d",a);
a = 10; a += 3; printf("\n a = 10, a += 3; a = %d",a);
a = 7; a = a * 2; printf("\n a = 7; a = a * 2; a = %d",a);
a = 7; a *= 2; printf("\n a = 7; a *= 2; a = %d",a);
printf("\n\nLepteto operatorok mellekhatassal birnak:");
a = 5; b = 2;
c = ++a * --b;
printf("a =5; b = 2; c = ++a * --b");
printf("\nEredmeny: a= %d, b= %d, c=%d",a, b, c);
a = 5; b = 2;
++a; --b; c = a * b;
printf("\nMegfelel ++a; --b; c = a * b utasitasoknak,");
printf("\naz eredmeny: a=%d, b=%d, c=%d lesz",a,b,c);
a =3; b= 6; c = 10; c += ++a + b--;
printf("\n\n a=3; b=6; c=10; c += ++a + b--");
printf("\nEredmeny: a=%d; b=%d, c=%d",a,b,c);
a =3; b =6; c = 10; ++a; c += (a+b); b--;
printf("\nMegfelel a ++a; c += (a+b); b-- utasitasoknak:");
printf("\naz eredmeny: a=%d, b=%d, c=%d lesz", a, b, c);
printf("Logikai kifejezesekben a relaciooperatorok magasabb\n");
printf("precedenciajuak, mint az &&, || logikai muveletek!\n");
printf("Ezert sok zarojelezes elmaradhat, lasd alabbi peldat:\n");
c = (25+3 < 45 && 12 > 7);
b = ( ( (25+3)<45 ) && ( 12>7 ) );
printf("\n c = (25+3 < 45 && 12 > 7) es b = ( ( (25+3)<45 ) && ( 12>7 ) )");
printf("\n egyenertekuek, c=%d, b=%d, igazak",c,b);
}
==== 5. példa ====
#include
#include
void main(void)
{
int n,i;
float xalso, xfelso,x,y;
float deltax, nevezo;
printf(" Függvénytáblázat készítése");
printf("\naz y= Gyök(x)*Sin(2*x)/((x-5)*(x-2)) függvényhez");
printf("\nTesztadatok: xalso= -2; xfelso= 6; lépésközök száma= 16");
printf("\nA számköz alsó határa= ");
scanf("%f", &xalso);
printf("\nA számköz felső határa= ");
scanf("%f", &xfelso);
printf("\nLépésközök száma= ");
scanf("%d", &n);
deltax = (xfelso-xalso) / n;
printf("\n\n x y(x)");
for (i=0; i<=n; i++)
{
x=xalso+i*deltax;
printf("\n%10.3lf",x);
if (x < 0)
{
printf(" Gyök alatt negativ szám!");
}
else
{
nevezo = (x-5) * (x-2);
if (nevezo == 0)
{
printf(" A nevező értéke nulla!");
}
else
{
y=sqrt(x)*sin(2*x)/nevezo;
printf("%10.3lf", y);
}
}
}
}