En aquest tema, explorarem els diferents tipus de dades disponibles en el llenguatge de programació C. Els tipus de dades són fonamentals per a la programació, ja que defineixen el tipus de valors que una variable pot emmagatzemar i les operacions que es poden realitzar sobre aquests valors.
Tipus de Dades Bàsics
Els tipus de dades bàsics en C es poden classificar en quatre categories principals:
- Tipus de Dades Enteres
- Tipus de Dades de Punt Flotant
- Tipus de Dades Caràcter
- Tipus de Dades Booleans
- Tipus de Dades Enteres
Els tipus de dades enteres s'utilitzen per emmagatzemar nombres enters (sense part decimal). Els tipus de dades enteres més comuns són:
Tipus de Dada | Mida (en bytes) | Rang de Valors |
---|---|---|
int |
4 | -2,147,483,648 a 2,147,483,647 |
short |
2 | -32,768 a 32,767 |
long |
4 o 8 | Depèn de la implementació |
long long |
8 | -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807 |
unsigned int |
4 | 0 a 4,294,967,295 |
unsigned short |
2 | 0 a 65,535 |
unsigned long |
4 o 8 | Depèn de la implementació |
unsigned long long |
8 | 0 a 18,446,744,073,709,551,615 |
- Tipus de Dades de Punt Flotant
Els tipus de dades de punt flotant s'utilitzen per emmagatzemar nombres amb part decimal. Els tipus de dades de punt flotant més comuns són:
Tipus de Dada | Mida (en bytes) | Precisió | Rang de Valors |
---|---|---|---|
float |
4 | 6-7 dígits decimals | Aproximadament ±3.4E-38 a ±3.4E+38 |
double |
8 | 15-16 dígits decimals | Aproximadament ±1.7E-308 a ±1.7E+308 |
long double |
10, 12 o 16 | Depèn de la implementació | Depèn de la implementació |
- Tipus de Dades Caràcter
Els tipus de dades caràcter s'utilitzen per emmagatzemar caràcters individuals. El tipus de dada caràcter més comú és:
Tipus de Dada | Mida (en bytes) | Rang de Valors |
---|---|---|
char |
1 | -128 a 127 (signed) o 0 a 255 (unsigned) |
- Tipus de Dades Booleans
El tipus de dada booleà s'utilitza per emmagatzemar valors de veritat (true) o falsedat (false). En C, el tipus de dada booleà es defineix a través de la llibreria stdbool.h
:
Declaració de Variables
Per declarar una variable en C, s'ha d'especificar el tipus de dada seguit del nom de la variable. Aquí teniu alguns exemples:
Conversió de Tipus
La conversió de tipus es refereix a la transformació d'un valor d'un tipus de dada a un altre. Hi ha dos tipus de conversions de tipus:
- Conversió Implícita (Automàtica): El compilador converteix automàticament un tipus de dada a un altre quan sigui necessari.
- Conversió Explícita (Casting): El programador especifica explícitament la conversió de tipus.
Conversió Implícita
Conversió Explícita
Exercicis Pràctics
-
Declaració i Inicialització de Variables:
- Declara una variable de cada tipus de dada bàsic i inicialitza-la amb un valor adequat.
-
Conversió de Tipus:
- Escriu un programa que demostri la conversió implícita i explícita entre diferents tipus de dades.
Solucions
- Declaració i Inicialització de Variables:
#include <stdio.h> #include <stdbool.h> int main() { int age = 25; float height = 5.9; char initial = 'A'; bool isStudent = true; printf("Age: %d\n", age); printf("Height: %.1f\n", height); printf("Initial: %c\n", initial); printf("Is Student: %d\n", isStudent); return 0; }
- Conversió de Tipus:
#include <stdio.h> int main() { int i = 10; float f = i; // Conversió implícita de int a float printf("Valor de f (implícit): %.1f\n", f); float g = 9.8; int j = (int)g; // Conversió explícita de float a int printf("Valor de j (explícit): %d\n", j); return 0; }
Resum
En aquest tema, hem après sobre els diferents tipus de dades disponibles en C, incloent-hi els tipus de dades enteres, de punt flotant, caràcter i booleans. També hem vist com declarar variables i com realitzar conversions de tipus, tant implícites com explícites. Aquests conceptes són fonamentals per a la programació en C i seran la base per a temes més avançats en els següents mòduls.
Curs de Programació en C
Mòdul 1: Introducció al C
- Introducció a la Programació
- Configuració de l'Entorn de Desenvolupament
- Programa Hello World
- Sintaxi i Estructura Bàsiques
Mòdul 2: Tipus de Dades i Variables
Mòdul 3: Flux de Control
Mòdul 4: Funcions
- Introducció a les Funcions
- Arguments de Funció i Valors de Retorn
- Àmbit i Durada de les Variables
- Funcions Recursives
Mòdul 5: Arrays i Strings
Mòdul 6: Punteres
Mòdul 7: Estructures i Unions
Mòdul 8: Assignació Dinàmica de Memòria
Mòdul 9: Gestió d'Arxius
- Introducció a la Gestió d'Arxius
- Lectura i Escriptura d'Arxius
- Posicionament d'Arxius
- Gestió d'Errors en Operacions d'Arxius
Mòdul 10: Temes Avançats
- Directives del Preprocessador
- Arguments de Línia de Comandes
- Llistes d'Arguments Variables
- Multifil en C
Mòdul 11: Millors Pràctiques i Optimització
- Llegibilitat del Codi i Documentació
- Tècniques de Depuració
- Optimització del Rendiment
- Consideracions de Seguretat