Documente Academic
Documente Profesional
Documente Cultură
Operatori aritmetici
r1
o
at
or
b
La
LP
PC
Exemplu:
Pentru a citi un numr ntreg de la tastatur pe care s-l
memorm n variabila numr, se folosete secvena de program:
int numar;
scanf("%d,&numar);
Exemplu:
Pentru a citi de la tastatur, folosind o singur instruciune
scanf(), 4 valori numerice, i anume: dou numere ntregi, un caracter
i un numr real, se folosete secvena de program:
int i1,i2;
char c; double r;
scanf(%d%d%c%lf,&i1,&i2,&c,&r);
b
La
o
at
or
r1
LP
PC
\\ - afieaz caracterul \
\ - afieaz caracterul
o
at
or
b
La
Exemplu:
printf("Numele directorului curent este: C:\\TURBO");
Pentru a afia, pe lng texte, i coninutul unor variabile,
sintaxa, n cazul general, este urmtoarea:
printf("Sirul de texte si formate",lista de variabile);
Cele mai utilizate formate de afiare, sunt urmtoarele:
%d pentru variabile de tipul int
%c
pentru variabile de tipul char
%lf pentru variabile de tipul double. (Atenie: este lf i nu
1f)
%f
pentru variabile de tipul float
Exemplu:
printf("x=%d,y=%d",x,y);
r1
PC
LP
10
o
at
or
b
La
Exemplu:
int x,y;
x=7;
y=x++;
Operatorul ++, n acest exemplu, este plasat la dreapta unui operand:
nti se va face operaia de atribuire (y=x) i apoi se va face
incrementarea variabilei x (x=x+1). Astfel, n final se va obine y=7 i
x=8.
Exemplu:
int x,y;
x=7;
y=++x;
Operatorul ++, n acest exemplu, este plasat la stnga unui operand:
nti se va face incrementarea variabilei x (x=x+1) i apoi se va face
operaia de atribuire (y=x). Astfel, n final se va obine y=8 i x=8.
Pentru decrementarea unei variabile (scderea valorii
variabilei cu o unitate ), exist n limbajul C un operator special:
operatorul -- . Acest operator se folosete la fel ca operatorul de
incrementare.
r1
LP
PC
11
o
at
or
b
La
Programul nr. 1
Sa se afieze urmtorul text, citat din Biblie:
"Cautati mai intai Imparatia lui Dumnezeu !"
Se vor afia inclusiv ghilimelele.
Sursa programului:
#include<stdio.h>
#include<conio.h>
void main(void)
{
clrscr();
printf("\"Cautati mai intai Imparatia lui Dumnezeu !\"");
getch();
}
r1
Programul nr. 2
S se comute coninutul a dou variabile a i b, ntre ele.
Algoritm:
-se salveaz n variabila auxiliar aux, variabila a
-se copiaz n a variabila b
-se copiaz n b variabila aux
Greeli frecvente:
-Nu se folosete o variabila auxiliar, ci se face comutarea direct:
a=b i apoi b=a.
Sursa programului:
#include <stdio.h>
#include <conio.h>
void main()
{
int a, b, aux;
clrscr();
printf("a="); scanf("%d",&a);
printf("b="); scanf("%d",&b);
aux=a;
a=b;
LP
PC
12
b=aux;
printf("Dupa comutare: a=%d, b=%d",a,b);
getch();
}
r1
o
at
or
b
La
Programul nr. 3
Calculul mediei aritmetice a 3 numere ntregi, citite de la tastatur.
Algoritm:
- se calculeaz suma numerelor, i rezultatul se mparte la 3.
Greeli frecvente:
- se declar variabila medie, de tip ntreg
- se calculeaz medie=(a+b+c)/3 , ceea ce este greit cci rezultatul
se trunchiaz la ntreg.
Sursa programului:
#include <stdio.h>
#include <conio.h>
void main()
{
int a,b,c;
double medie;
clrscr();
printf("a="); scanf("%d",&a);
printf("b="); scanf("%d",&b);
printf("c="); scanf("%d",&c);
medie=(a+b+c)/3.0;
printf("medie=%lf",medie);
getch();
}
LP
PC
Programul nr. 4
Se citesc trei numere ntregi a, b i c de la tastatur, coeficieni ai
polinomului de gradul doi P(x)=ax2+bx+c. S se calculeze i afieze
valoarea polinomului pentru o valoare particular ntreag x, citit de
la tastatur.
Sursa programului:
# include <conio.h>
# include <stdio.h>
void main (void)
{
int a,b,c,x;
13
r1
o
at
or
b
La
Programul nr. 5
Se citete un numr ntreg de la tastatur. Acest numr are
semnificaia unui interval de secunde. S se afieze intervalul n ore,
minute i secunde.
Exemplu:
Dac numrul citit este 61, trebuie s se afieze:
Nr. Ore = 0; Nr. Minute = 1; Nr. Secunde = 1
Sursa programului:
#include <stdio.h>
void main(void)
{
int N; // intervalul in secunde citit
int nrOre; int nrMin; int nrSec;
printf(Tastati durata in secunde a intervalului: );
scanf(%d,&N);
nrOre = N/3600;
nrMin = (N % 3600)/60;
nrSec = N - nrOre * 3600 - nrMin * 60;
printf(\nNr. Ore=%d,nrOre);
printf(\nNr. Minute=%d,nrMin);
printf(\nNr. Secunde=%d,nrSec);
}
LP
PC
Programul nr. 6
Se citete un numr ntreg, pozitiv, de la tastatur. S se calculeze
cifra unitilor, cifra zecilor i cifra sutelor.
Algoritm:
- cifra unitilor este restul mpririi numrului la 10
- pentru calcul cifrei zecilor, se mparte numrul iniial la 10. n noul
numr obinut, vechea cifr a zecilor a devenit cifra unitilor. Aceasta
se afl ca restul mpririi noului numr la 10.
14
r1
o
at
or
b
La
PC
LP
Programul nr. 7
Se citete un numr natural de la tastatur, care const din cel puin
dou cifre. S se calculeze noul numr obinut prin comutarea cifrei
unitilor cu cifra zecilor. Exemplu:
Pentru numrul iniial 4532, dup comutare se obine 4523.
Sursa programului:
# include <stdio.h>
void main (void)
{
int nr;
printf("Dati un numar natural >= 10: ");
scanf("%d",&nr);
int u;//cifra unitatilor
15
u=nr%10;
int z;//cifra zecilor
z=(nr/10)%10;
int ramas;//numarul ramas prin eliminarea cifrei zecilor si a cifrei
//unitatilor
ramas=nr/100;
//Dupa comutare, numarul devine:
nr=ramas*100+10*u+z;
printf("Dupa comutare, nr=%d",nr);
}
r1
o
at
or
b
La
Programul nr. 8
Se citesc doua numere naturale a si b, capetele unui interval inchis. Sa
se genereze un numar aleatoriu in intervalul [a, b]. Sa se afiseze acest
numar.
Sursa programului:
#include<stdio.h>
#include<stdlib.h>
void main(void)
{
int a,b,nr;
printf("a=");
scanf("%d",&a);
printf("b=");
scanf("%d",&b);
randomize();
nr=a+random(b-a+1);
printf("Numar=%d",nr);
}
LP
PC
4. PROBLEME PROPUSE
1.Sa se afieze un dreptunghi ale crui linii sunt formate din
stelue (caracterul *)
2. Se citete un numr natural care are cel puin trei cifre. S se
calculeze noul numr obinut prin comutarea cifrei unitilor cu cifra
sutelor.
3. Sa se genereze i afieze trei numere ntregi, aleatoare n
intervalul nchis [10,100].