Documente Academic
Documente Profesional
Documente Cultură
Agenda
Numele variabilelor in C
Tipuri de baza in C
Declararea variabilelor
Constante
Declararea constantelor
Operatori aritmetici
Operatorul de atribuire
Apeluri de funcii
/* OK */
Hello#there
/* ilegal */
double
/* ilegal */
2fartogo
/* ilegal */
long int:
long double
Exemple
DATE
Octeti necesari
Litera x (char)
Interval
character
integer
short integer
long integer
long long integer
char
int
short
long
long long
1
4
2
4
8
unsigned character
unsigned integer
unsigned short integer
unsigned long integer
single-precision
double-precision
unsigned char
unsigned int
unsigned short
unsigned long
float
double
1
2
2
4
4
8
-128...127
-2 147 483 648...2 147 438 647
-32768...32367
-2 147 483 648...2 147 438 647
-9223372036854775808
9223372036854775807
0...255
0...4 294 967 295
0...65535
0...4 294 967 295
1.2E-38...3.4E38
2.2E-308...1.8E308
Forma generala:
numetip
Exemple:
int count;
float a;
double percent, total;
unsigned char x,y,z;
long int aLongInt;
long AnotherLongInt;
unsigned long a_1, a_2, a_3;
unsigned long int b_1, b_2, b_3;
typedef long int32;
int32 n;
Exemple:
int count;
count = 0;
Constante (1)
Cele mai simple sunt constantele ntregi n baza 10, de ex. 0, 1, 2, 123.
Cteodat e necesar specificarea constantelor n baza 8 sau baza 16
(octal sau hexazecimal)
Pentru ca o constant s fie interpretat ca un numr n baza 8 acesta se
precede cu 0, iar pentru a fi interpretat n baza 16 se precede cu 0x sau
0X: constantele 100, 0144 i 0x64 toate reprezint acelai numr. (Dac
scriei 0123 aceast constant va fi interpretat ca i o constant n baza 8
a crei valoare n baza 10 este 1x82 + 2x81 + 3x80 = 83).
O constant poate fi forat a fi de tip long int dac folosim sufixul L (litera
mare sau mic, dei e recomandat a se folosi litera L mare pentru c litera l
mic se confund cu cifra 1).
O constant ce conine un punct sau litera e (sau ambele) este o constant
real: 3.14, 10., .01, 123e4, 123.456e7.
O constant caracter este doar un caracter cuprins ntre apostrofuri: A, .,
%. Valoarea numeric a unei constante caracter este valoarea caracterului
n setul de caractere al mainii. (n ASCII caracterul A are codul 65).
Un ir de caractere este reprezentat n C printr-o succesiune de caractere.
Un ir de caractere constant este o succesiune de zero sau mai multe
caractere delimitate de ghilimele: hello, world, John. n cadrul
constantelor caracter i ir de caractere, caracterul \ (backslash) are un
sens special; el este folosit pentru a reprezenta caractere ce nu se pot
introduce de la tastatur sau care din anumite motive nu se pot reprezenta
altfel n cadrul constantelor.
Constante (2)
Ce reprezinta
Bell (alertare)
Backspace
Newline (linie noua)
Tab orizontal
Backslash
Apostrof
Ghilimele
Caracterul ASCII specificat de hh
Caracterul ASCII specificat de ooo
Constante (3)
#include <stdio.h>
int strlen(char s[]);
int main()
{
char s[100];
printf("Introduceti sirul: \n");
gets(s);
printf("Lungimea sirului este:
%d\n", strlen(s));
return 0;
}
Forma Generica:
#define CONSTNAME identificator
In general constantele pre-processor se scriu cu litere
mari (prin conventie).
Exemplu:
#define PI 3.14159
Ce se intimpla?:
Preprocesorul C ruleaza inaintea compilatorului.
Cind intilneste simbolul PI, il substituie cu valoarea 3.14159.
Compilatorul ruleaza apoi cu acest cod C pre-procesat.
Exemplu:
#include <stdio.h>
#define GRAMS_PER_POUND 454
const int FARFARAWAY = 3000;
int main ()
{
int weight_in_grams, weight_in_pounds;
int year_of_birth, age_in_3000;
printf ("Enter your weight in pounds: ");
scanf ("%d", &weight_in_pounds);
printf ("Enter your year of birth: ");
scanf ("%d", &year_of_birth);
weight_in_grams = weight_in_pounds * GRAMS_PER_POUND;
age_in_3000 = FARFARAWAY - year_of_birth;
printf ("Your weight in grams = %d\n", weight_in_grams);
printf ("In 3000 you will be %d years old\n", age_in_3000);
return 0;
}
Operatori aritmetici
scdere
*
nmulire
/
mprire
%
rest
Operatorul poate fi utilizat n dou moduri: pentru a face diferena
dintre dou numere (a - b), sau ca operator unar (-a sau a + - b).
Cnd operatorul de mprire este aplicat numerelor ntregi, nu se va
ine cont de restul mpririi aa c 1/2 va fi 0 iar 7/4 va fi 1. Dar,
cnd unul din operanzi este de tip real (float sau double), operatorul
de mprire va genera un rezultat care este numr real cu o parte
fracionar diferit de zero de cele mai multe ori. Aadar 1 / 2.0 va
avea valoarea 0.5 i 7.0 / 4.0 va avea valoarea 1.75.
Operatorul rest % va genera restul mpririi a doi ntregi: 1 % 2 are
valoarea 1, 7 % 4 are valoarea 3. (Operatorul poate fi aplicat doar
asupra ntregilor).
nmulirea, mprirea i restul sunt operatori cu preceden mai
mare dect adunarea i scderea.
Operatorul de atribuire
Exemplu
Apeluri de funcii
Exemplu-calculul ipotenuzei
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main() {
float cateta1, cateta2, ipotenuza;
printf(Calculul ipotenuzei\n");
printf("---------------------\n\n");
printf(Introduceti o cateta: "); scanf("%f", & cateta1);
printf(" Introduceti a doua cateta : "); scanf("%f", & cateta2);
ipotenuza = sqrt ( pow(cateta1,2) + pow(cateta2,2) );
printf("\n\n O cateta este: %10.3f\n", cateta1);
printf(" Cealalta cateta este : %10.3f\n", cateta2);
printf(Ipotenuza este: %10.3f\n", ipotenuza);
printf("\nApasa orice tasta..."); getch();
return 0;
}