}

Llenguatge de programació C (II). Dades bàsiques

1991/03/01 Alegria Loinaz, Iñaki | Maritxalar, Montse Iturria: Elhuyar aldizkaria

Quan escrivim programes utilitzant el llenguatge C, les dades han de definir-se. Sent constants o variables, s'haurà d'indicar el tipus corresponent perquè el compilador assigni a la memo la part i seqüència de bits adequada.

En escriure programes utilitzant el llenguatge C com en altres llenguatges, les dades han de definir-se. Sent constants o variables, s'haurà d'indicar el tipus corresponent perquè el compilador assigni a la memo la part i seqüència de bits adequada.

Tipus de dades

C coneix les següents dades bàsiques: caràcters, nombres enters, nombres reals i nombres reals de doble precisió. (En la taula 1 es poden veure les característiques de cada tipus).

Taula . Característiques de les dades bàsiques.

Es poden definir nombres enters amb diferents característiques en funció de l'ús del signe i del nombre de bits. D'aquesta forma, els números sense signes, els números curts o els llargs es poden escriure tenint en compte les característiques analitzades en la taula 2.

La diferència entre els tipus reals radica en la precisió, mentre que els float tenen 7 xifres decimals, els doubles, tenen una precisió de 15 xifres.

També es poden utilitzar altres tipus, però sempre prenent com a base els tipus esmentats. Així, les cadenes de caràcters seran taules de caràcters, enters o caràcters que només utilitzen dos valors booleans, etc.

Taula . Subtipus de nombres enters.

Constants

Les constants no han de ser fetes abans d'usar-les, ja que segons la seva escriptura inventa el tipus compilador que els correspon. En la taula 3 es poden veure alguns exemples en els quals es pot observar que el decimal és la característica dels reals, el dels caràcters ‘, el de les cadenes de caràcters “, el sufix L, el dels caràcters long. En l'expressió de les constants també s'utilitzen prefixos per a determinar l'escriptura del valor que volem memoritzar. El prefix Ø, per exemple, indica que el valor està format per dígits oculars, el prefix Øx amb dígits hexadecimals i E k amb pregadéu i exponent entre els dos números

...

Taula . Definició de constants.

Existeixen altres constants (utilitzades principalment per a escriure resultats) per a indicar caràcters especials. Per exemple ,\n és un caràcter de fi de línia,\t de tabulació,\b backspace i\Ø és l'últim de la cadena de caràcters.

Una vegada vista l'escriptura de les constants, volem recordar un criteri que aconsella la programació estructurada, l'ús de constants parametritzades. En lloc d'utilitzar les constants directament segons aquest criteri (donant un nom inicial a les constants), s'utilitzarà aquest nom en totes les utilitats. D'aquesta manera, el programa guanyarà en llegibilitat i només es modificarà en la inscripció si es canvia de valor. En els programes C d'inscripci??n a constants s'utilitza el pseudo-ordre #defineix al començament dels programes, amb el nom de les constants en majúscules (veure taula 4).

# defineix PI 3.14159
main ( ){

float r, àrea, perímetre; printf (“premi la grandària
del radi\n”);
scanf (“%f”, r); /* Æcon referencia*/ perímetre
= 2 * PI * r;
superfície = PI * r * r;
printf (“superfície: %f\n”;
superfície; printf (“perímetre: %f\n”, perímetre);

Taula . Utilització de constants parametritzades.

Desenvolupament i inicialització de variables

Com es pot observar en el programa en la taula 4, totes les variables han de ser menyspreades abans de ser utilitzades, utilitzant les paraules clau vistes en la taula 2 es determinarà prèviament el tipus corresponent. D'aquesta manera, el compilador sabrà quants bits haurà de guardar a la variable en el programa executable.

En introduir les variables es pot assignar un valor inicial, de no ser així el compilador els assignarà el valor Ø. Per a dur a terme aquesta inicialització en la sentència d'emissió anotarà després del nom de la variable = caràcter i el valor que es desitja establir. Per exemple, en inicialitzar una variable tipus caràcter, l'assignació del valor a se farà amb la següent sentència:

char = ‘a’

Compatibilitat i conversions

A diferència de llenguatges com el pascal, en els programes de C els operands no han de ser compatibles quant al tipus.

Si en les assignacions i/o en les operacions els operands són de diferent tipus, es produeix una conversió de dades implícita, sent el tipus de variables intermèdies el més llarg i complex d'entre els participants d'acord amb la següent classificació:

char \{\{\{\{\{\{\\{\\{\{\\\\\\\\\\\\\\\\\\\\double

Per això, per a convertir un caràcter en majúscula (suposant que està en minúscula) es pot fer a través del programa de la Taula 5.

main ( ){‰
kar–min,
kar–maj; printf (“premi
un caràcter en minúscules\n”) scanf
(“%c”, kar–min); kar–maj
= kar–maj – min–’a’ + ‘A’
printf (“%c”,
kar–maj);}
Taula . Convertir la minúscula en majúscula.

Com es veu en el programa, es produeix la suma i resta de caràcters, però el que realment s'executarà és convertir els caràcters en nombres enters, la suma i resta dels enters i finalment convertir el resultat en caràcters.

No obstant això, és convenient explicitar les conversions per a evitar errors i guanyar en llegibilitat, ja que si en alguns compiladors C no es fa explícitament es generen missatges d'avís.

Per a expressar la conversió explícita s'utilitza l'element denominat cast (títol) que defineix entre parèntesi la paraula clau de la mena de dada. Per exemple, per a convertir un caràcter en un nombre enter (int) es posarà davant de la referència de la variable caràcter.

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia