Documente Academic
Documente Profesional
Documente Cultură
Operatori
Scopul acestui laborator este prezentarea operatorilor disponibili în limbajul C, ce pot fi utilizați în
vederea procesării datelor. Sursa de lucru pentru acest laborator poate fi descărcată de aici:
laborator3.cpp
1. Aritmetici
2. Relaționali
3. Logici
4. Operatori pe biți
5. Operatori de asignare
6. Alți operatori
1.Operatori aritmetici
Pentru a explica modul în care sunt utilizați operatorii, vom utiliza doi operanzi, a=5 si b=3.
2.Operatori relaționali
3.Operatori logici
Pentru această secțiune vom presupune că a=0 și b=1. Convenția legată de valorile de adevăr este
că 0 înseamnă fals, iar orice este diferit de 0 ( în general se folosește valoarea 1 ) înseamnă
adevărat.
4.Operatori pe biți
Pentru a aplica un operator pe biți asupra unui operand, vom aplica un o regulă asupra fiecărui bit a
acelui operand. Funcțiile aplicate pe 2 biți, numiți p și q, sunt prezentate în următorul tabel.
A = 0 0 1 1 1 1 0 0
B = 0 0 0 0 1 1 0 1
A&B = 0 0 0 0 1 1 0 0
A|B = 0 0 1 1 1 1 0 1
A^B = 0 0 1 1 0 0 0 1
~A = 1 1 0 0 0 0 1 1
5.Operatori de asignare
6.Alți operatori
Random
Problema generării unor numere aleatoare poate fi considerată iniţial una complicată, dar limbajul C
ne pune la dispoziţie biblioteca stdlib, cu ajutorul căreia lucrurile vor deveni foarte simple. Funcţiile şi
constantele acestei biblioteci sunt declarate în header-ul stdlib.h pe care va trebui să-l includeţi la
începutul programului pe care îl scrieţi.
Utilizând funcţia rand() veţi genera numere aleatoare cu valori cuprinse între 0 si RAND_MAX, unde
RAND_MAX este o constanta definită în stdlib.h, având în general valoarea maximă a tipului int.
Valorile returnate de această funcţie sunt de fapt termenii unui şir de numere generat după o anumită
formula ce foloseşte ca punct de plecare o valoare dată. Din cauza acestui aspect, pentru aceeasi
valoare iniţială fixată, programul va genera la fiecare rulare aceleaţi numere aleatoare. Pentru a evita
acest lucru, biblioteca pune la dispozitie funcţia srand() care primeşte ca parametru un număr întreg
reprezentând valoarea iniţiala utilizată în calcularea şirului de numere aleatoare.
1. fixarea valorii utilizate în generarea numerelor: srand( seed ); - unde seed este o valoare de tip
intreg
2. obţinerea unui număr pseudoaleator: n = rand(); - unde n este numarul intreg generat aleator
Notă: pentru a garanta că la fiecare rulare a programului valoarea seed este unică, recomandăm
apelarea funcţiei srand cu ora locală a calculatorului în secunde.
Exerciții
3. Afişati pe ecran 5 rânduri, fiecare conţinând 3 numere întregi, separate prin spaţiu, generate în
mod aleator.
4. Găsiți o metodă prin care să generați numere diferite la fiecare rulare a programului.
6. Care este diferenta dintre urmatoarele 2 secvente de cod si din ce cauza obtinem rezultate diferite:
// Secventa 1
#include <stdlib.h>
#include <stdio.h>
void main()
{
int x = 0;
printf("x=%d\n", x);
printf("rez_x=%d\n", rez_x);
printf("y=%d",y);
}
// Secventa 2
#include <stdlib.h>
#include <stdio.h>
void main()
{
int x = 0;
printf("x=%d\n", x);
printf("rez_x=%d\n", rez_x);
printf("y=%d", y);
}
From:
https://wiki.mta.ro/ - Cursuri Academia Tehnică Militară "Ferdinand I"
Permanent link:
https://wiki.mta.ro/c/1/prog/lab/lab3