Enrere Mòdul 2
Fonaments de Programació. Llenguatge C/C++---
Pràctica  Resum teòric Exercicis
Pràctica d'ampliació

 

Les variables tipus char

Una variable tipus char serveix per representar indistintament un caràcter i un enter petit, la relació es fa a través del codi ASCII. En aquesta pràctica començarem a familiaritzar-nos amb aquests tipus de variables.

 

Desenvolupament de la pràctica

Abans de tot, creeu una nova carpeta anomenada Mòdul_2 i anireu afegint dins aquesta carpeta els exercicis del mòdul amb els noms que cada vegada es proposi.

Creeu un nou arxiu C anomenat m2p01.cc i escriviu a la finestra d'edició el següent codi:

// m2p01.cc - Les variables tipus char -

#include <stdio.h>
#include <stdlib.h> //system()

int main(){

    char a,b;

    system("clear");
    a=66;
    printf("La variable a conté la lletra %c\n",a);
    printf("El valor numéric de la variable a és %d\n",a);

    a='A';
    printf("\nLa variable a conté la lletra %c\n",a);
    printf("El valor numéric de la variable a és %d\n",a);

    a=a+10;
    b=a;
    printf("\nLa variable a conté la lletra %c\n",a);
    printf("El valor numéric de la variable a és %d\n",a);
    printf("\nLa variable b conté la lletra %c\n",b);
    printf("El valor numéric de la variable b és %d\n",b);

    b='A'+2;
    printf("\nLa variable b conté la lletra %c\n",b);
    printf("El valor numéric de la variable b és %d\n",b);

    return 0;
}

 

Captura de l'execució del programa:

.

 

Explicació del programa

En aquest programa declarem dues variables anomenades a i b:

char a,b; 

Ambdues són del tipus char. Ambdues seran emmagatzemades en un byte o octet de la memòria. L'única diferència entre una i altra és com s'interpretarà un dels bits de l'octet. Les variables a i b podràn emmagatzemar valors enters entre -128 i 127..

Anem a veure amb deteniment cada part del programa:

a=66;
printf("La variable a conté la lletra %c\n",a);
printf("El valor numèric de la variable a és %d\n",a);

La primera és una sentència d'assignació que assigna el valor 66 a la variable a. Per veure el contingut d'aquesta variable per pantalla es fa servir la funció printf(). Si fem servir el codi de tipus %c es veurà en pantalla el caràcter ASCII associat al número 66, que és una 'B'. Si fem servir el codi de tipus %d es veurà en pantalla el número 66.  

a='A';
printf("La variable a conté la lletra %c\n",a);
printf("El valor numèric de la variable a és %d\n",a);

En aquestes tres línies l'assignació es fa mitjançant el caràcter ASCII directament. Aquest s'ha de posar entre cometes senzilles. La resta és exactament igual, la variable a contindrà el caràcter 'A' o el número 65. Per imprimir per la pantalla 'A' s'ha de fer servir el codi de tipus %c i per imprimir per pantalla 65 s'ha de fer servir el codi de tipus %d.

a=a+10;
b=a; 
printf("La variable a conté la lletra %c\n",a);
printf("El valor numèric de la variable a és %d\n",a);

printf("La variable b conté la lletra %c\n",b);
printf("El valor numèric de la variable b és %d\n",b);

En aquest tros de programa podem veure dos aspectes importants d'aquest tipus de variables: el primer és que les variables tipus char poden ser part d'expressions, de la mateixa forma que altres variables numèriques. Com el contingut de la variable a és  65 i al sumar  65 + 10 dóna 75.

b='A'+2;
printf("La variable b conté la lletra %c\n",b);
printf("El valor numèric de la variable b és %d\n",b);

Per últim, es pot comprovar en aquest tros de programa que es pot barrejar en una expressió les constants del tipus caràcter ASCII amb els números enters.