// 00_varCar.c
/*
gcc 00_varCar.c -o vc
Programa fet el 29 de setembre de 2021
*/
#include <stdio.h> // .h: Header --> capçalera Com un menú de funcions. Entre d'altres el printf()
int main(){
char cC; // Declaro cC com a variable de tipus char
cC = 'J'; // Assignació del valor 'J' = 74 = 0x4A
printf("c (com a caràcter) = %c\n",cC); // 'J'
printf("c (com a enter -int-) = %d\n",cC); // 74
printf("c (com a hexadecimal en majúscules -int-) = %X = 0x%X\n",cC,cC); // 4A = 0x4A
printf("c (com a hexadecimal en minúscules -int-) = %x = 0x%x\n",cC,cC); // 4a = 0x4a
printf("c (com a octal -int-) = %o\n",cC); // 112
return 0; // Si tot ha anat bé retorno un zero al sistema operatiu
}
// 01_basic.c
/*
gcc 01_basic.c -o pb
Programa fet el 29 de setembre de 2021
*/
#include <stdio.h> // .h: Header --> capçalera Com un menú de funcions. Entre d'altres el printf()
int main(){
printf("Alumne\n\n"); // '\n' és un salt de línia
return 0; // Si tot ha anat bé retorno un zero al sistema operatiu
}
// 01_basic_b.c
/*
gcc 01_basic.c -o pb
Programa fet el 29 de setembre de 2021
*/
#include <stdio.h> // .h: Header --> capçalera Com un menú de funcions. Entre d'altres el printf()
int main(){ printf("Alumne\n\n"); return 0; }
// 02_enters.c
#include <stdio.h>
int main(){
int nEnter; // Declaració d'una variable entera (4 bytes)
nEnter = -18; // Assignació d'un valor a una variable. Sempre de dreta a esquerra.
printf("nEnter = %d\n",nEnter);
return 0;
}
// 02_enters_01.c
#include <stdio.h>
int main(){
//int nEnter; // Declaració d'una variable entera (4 bytes)
//nEnter = -18; // Assignació d'un valor a una variable. Sempre de dreta a esquerra.
int nEnter = -18; // Instanciem la variable (declaració + assignació)
printf("nEnter = %d\n",nEnter);
return 0;
}
// 03_float.c
#include <stdio.h>
int main(){
float fReal = -18.12345; // Instanciem la variable (declaració + assignació)
printf("fReal = %f\n",fReal); // sense restricció de decimals
printf("fReal = %.3f\n",fReal); // restricció de 3 decimals
return 0;
}
// 04_double.c
// double té 8 bytes. També conegut com long float
#include <stdio.h>
int main(){
double lfReal = -18.12345; // Instanciem la variable (declaració + assignació)
printf("lfReal = %lf\n",lfReal); // sense restricció de decimals
printf("lfReal = %.3lf\n",lfReal); // restricció de 3 decimals
return 0;
}
// 05_cadenes.c
#include <stdio.h>
int main(){
char szNom[33] = "Javi"; // Instanciem el vector de caràcters, o cadena, o string.
printf("szNom: %s\n",szNom);
return 0;
}
// 05_cadenes_02.c
#include <stdio.h>
#define N 33 /* Es defineix N com a 33. És com un copia i enganxa. Veu N i hi posa 33*/
int main(){
char szNom[N] = "Javi"; // Instanciem el vector de caràcters, o cadena, o string.
printf("szNom: %s\n",szNom);
return 0;
}
// 05_cadenes_03.c
#include <stdio.h>
#define N 33 /* Es defineix N com a 33. És com un copia i enganxa. Veu N i hi posa 33*/
int main(){
char szNom[N] = "Javi"; // Instanciem el vector de caràcters, o cadena, o string.
printf("szNom: %s\n",szNom);
printf("szNom[0]: %c\n",szNom[0]);
printf("szNom[1]: %c\n",szNom[1]);
printf("szNom[2]: %c\n",szNom[2]);
return 0;
}
// 05_cadenes_04.c
#include <stdio.h>
#define N 33 /* Es defineix N com a 33. És com un copia i enganxa. Veu N i hi posa 33*/
int main(){
char szNom[N] = "Javi"; // Instanciem el vector de caràcters, o cadena, o string.
int i = 0;
printf("szNom: %s\n",szNom);
printf("szNom[%d]: %c\n",i,szNom[i]);
i = i + 1; // Sumo 1 a i
printf("szNom[%d]: %c\n",i,szNom[i]);
i++; // Incrementem el valor de la variable i
printf("szNom[%d]: %c\n",i,szNom[i]);
return 0;
}
// 05_cadenes_04b.c
#include <stdio.h>
#define N 33 /* Es defineix N com a 33. És com un copia i enganxa. Veu N i hi posa 33*/
int main(){
char szNom[N] = "Javi"; // Instanciem el vector de caràcters, o cadena, o string.
int i = 0;
printf("szNom: %s\n",szNom);
printf("szNom[%d]: %c\n",i,szNom[i]);
i = i + 1; // Sumo 1 a i
printf("szNom[%d]: %c\n",i,szNom[i]);
i++; // Incrementem el valor de la variable i
printf("szNom[%d]: %c\n",i,szNom[i]);
i++; // Incrementem el valor de la variable i
printf("szNom[%d]: %c\n",i,szNom[i]);
return 0;
}
// 06_entraNumEnter.c
#include <stdio.h>
int main(){
int nNum;
printf("Entra un número enter (sense decimals): ");
scanf("%d",&nNum); // Es posa el símbol et (&) per a indicar l'adreça de la variable
printf("Heu introduït el número %d.\n",nNum);
return 0;
}
// 07_entraNumRealFloat.c
#include <stdio.h>
int main(){
float fNum;
printf("Entra un número real (amb decimals): ");
scanf("%f",&fNum); // Es posa el símbol et (&) per a indicar l'adreça de la variable
printf("Heu introduït el número %f.\n",fNum);
return 0;
}
// 08_entraNumRealDouble.c
#include <stdio.h>
int main(){
double lfNum;
printf("Entra un número real (amb decimals): ");
scanf("%lf",&lfNum); // Es posa el símbol et (&) per a indicar l'adreça de la variable
printf("Heu introduït el número %lf.\n",lfNum);
return 0;
}
// 09_entraCadena.c
#include <stdio.h>
#define MOLT_GROS 99
int main(){
char szCadena[MOLT_GROS]; // Empro notació hongaresa
printf("Entra una cadena (sense espais): ");
scanf("%s",&szCadena[0]); // Es posa el símbol et (&) per a indicar l'adreça de la variable
printf("Heu introduït: %s.\n",szCadena);
return 0;
}
// 09_entraCadena02.c
#include <stdio.h>
#define MOLT_GROS 99
int main(){
char szCadena[MOLT_GROS]; // Empro notació hongaresa
printf("Entra una cadena (sense espais): ");
//scanf("%s",&szCadena[0]); // Es posa el símbol et (&) per a indicar l'adreça de la variable
scanf("%s",szCadena); // Sense &. De fet szCadena i &szCadena[0] és el mateix
printf("Heu introduït: %s.\n",szCadena);
return 0;
}
// 10_entraNomEdat.c
#include <stdio.h>
#define MOLT_GROS 99
int main(){
char szNom[MOLT_GROS]; // Empro notació hongaresa
int nEdat;
printf("Entra el teu nom (sense espais): ");
//scanf("%s",&szNom[0]); // Es posa el símbol et (&) per a indicar l'adreça de la variable
scanf("%s",szNom); // Sense &. De fet szCadena i &szCadena[0] és el mateix
printf("Entra la teva edat: ");
scanf("%d",&nEdat);
printf("En/na %s té %d anys\n",szNom,nEdat);
return 0;
}
// 10_entraNomEdat_profeNoVa.c
#include <stdio.h>
#define MOLT_GROS 99
int main(){
char szNom[MOLT_GROS]; // Empro notació hongaresa
int nEdat;
char cCar;
printf("Entra la teva edat: ");
scanf("%d",&nEdat);
printf("Entra un caràcter: ");
scanf("%c",&cCar);
printf("Entra el teu nom (sense espais): ");
//scanf("%s",&szNom[0]); // Es posa el símbol et (&) per a indicar l'adreça de la variable
scanf("%s",szNom); // Sense &. De fet szCadena i &szCadena[0] és el mateix
printf("En/na %s té %d anys. El caràcter entrat és %c\n",szNom,nEdat,cCar);
return 0;
}
// 10_entraNomEdat_profeSiVa.c
#include <stdio.h>
#define MOLT_GROS 99
int main(){
char szNom[MOLT_GROS]; // Empro notació hongaresa
int nEdat;
char cCar;
printf("Entra la teva edat: ");
scanf("%d",&nEdat);
printf("Entra un caràcter: ");
scanf("%c",&cCar); // Aquest scanf es menja un Enter ('\n')
scanf("%c",&cCar);
printf("Entra el teu nom (sense espais): ");
//scanf("%s",&szNom[0]); // Es posa el símbol et (&) per a indicar l'adreça de la variable
scanf("%s",szNom); // Sense &. De fet szCadena i &szCadena[0] és el mateix
printf("En/na %s té %d anys. El caràcter entrat és %c\n",szNom,nEdat,cCar);
return 0;
}