Introducció a C - 2a part

De binefa.com
Salta a la navegació Salta a la cerca

Al resum teòric del mòdul 2 del d97 destaquem:

Tipus de variables[modifica]

Tipus enters (sense decimals):

Tipus Bytes Ventall de valors
char 1 -128 a 127
unsigned char 1 0 a 255
short int 2 -32768 a 32767
unsigned short int 2 0 a 65535
int 4 -2.147.483.648 a 2.147.483.647
unsigned int 4 0 a 4.294.967.295
long int 4 -2.147.483.648 a 2.147.483.647
unsigned long int 4 0 a 4.294.967.295

Amb decimals:

Tipus Bytes Ventall de valors Precisió
float 4 3.4 E-38 a 3.4 E+38 (i els negatius) 6 decimals
double 8 1.7 E-308 a 1.7 E+308 (i els negatius) 15 decimals
long double 10 (o 12) 3.4E-4932 to 1.1E+4932 (i els negatius) 19 decimals

C - Data Types

Constants[modifica]

12312 constant tipus int
54154551145 constant no vàlida
54154551145. constant tipus double
1.25f constant tipus float
1.25l constant tipus long double

Operadors[modifica]

Operadors aritmètics:[modifica]

- Canvia el signe  (és un operador unari, és a dir, actua només sobre un operant)
+ Suma 
- Resta
* Producte
/ Divisió
% Residu (residu de la divisió entera)
& i a nivell de byte
| o a nivell de byte
~ Negador a nivell de bit

Difeència entre el negat de byte (!) i el negat de bit (~)[modifica]

#include <stdio.h>

int main(){
   unsigned short int nN = 23,nP,nB;
   
   nP = !nN; // ! negat a nivell de byte
   nB = ~nN; // negat a nivell de bit
   
   printf("nN = %d, nP = %d, nB = %d\n",nN,nP,nB);

   return 0;
}

Operadors d'assignació[modifica]

nom_variable = expressió;
a = a+1;
a += b significa a = a + b
a -= b significa a = a – b
a *= b significa a = a * b
a /= b significa a = a / b
a %= b significa a = a % b

Operadors incrementals[modifica]

a = 2;
b = a++;              /* a = 3 i b = 2 */
b = ++a;              /* a = 3 i b = 3 */

Operadors relacionals[modifica]

== Igual que (no confondre amb l'operador d'assignació =)
<  Menor que
>  Major que
<= Menor o igual que
>= Major o igual que
!= Diferent que

Operadors lògics[modifica]

! Negador a nivell de valor lògic (0 es fals. Qualsevol altra número és cert)
&& i lògica
|| o lògica

Altres operadors[modifica]

unari: + no fa res, però serveix com a complement de l'operador unari -.
sizeof(): torna la mida del tipus, variable o expressió introduït com argument.
, (coma): serveix per avaluar expressions múltiples. El seu ús més freqüent és en expressions de la sentència for.

Expressions[modifica]

(a-b*2.0)||(c!=a)

Jerarquia de les operacions[modifica]

Conversions de tipus implícites i explícites (casting)[modifica]

Sentències[modifica]

Una sentència en C és una unitat executable com pot ser una assignació o una crida a una funció. Una sentència pot ser simple o composta.

Sentències simples[modifica]

Les sentències simples acaben amb el caràcter ; (punt i coma).

Sentències compostes[modifica]

Les sentències compostes són un conjunt de sentències simples agrupades dintre de claus {}. Una sentència composta també es coneix amb el nom de bloc.