C
Contents
Estructura
#include<stdio.h>
int main(void)
{
int a;
long int b;
short int c;
float x;
double y;
char carac;
int *ent;
float *reel;
double *dreel;
char *car;
fprintf(stdout,"une variable de type int est codee sur %ld octets \n",sizeof(int)); //sizeof retorna el tamaño que ocupa en el disco una variable, a esta funcion se le puede ingresar el nombre de la variable o el tipo de variable
fprintf(stdout,"une variable de type long int est codee sur %ld octets \n",sizeof(b));
fprintf(stdout,"une variable de type short int est codee sur %ld octets \n",sizeof(c));
fprintf(stdout,"une variable de type caractere est codee sur %lc octets \n",sizeof(carac));
fprintf(stdout,"une variable de type float est codee sur %lg octets \n",sizeof(x));
fprintf(stdout,"une variable de type double est codee sur %lg octets \n",sizeof(y));
fprintf(stdout,"une variable de type long double est codee sur %lg octets \n",sizeof(*reel));
fprintf(stdout,"une variable de type pointeur sur un entier est codee sur %ld octets \n",sizeof(*ent));
fprintf(stdout,"une variable de type pointeur sur un caractere est codee sur %lc octets \n",sizeof(*car));
fprintf(stdout,"une variable de type pointeur sur un long double est codee sur %lg octets \n", sizeof(long double *));
return 0 ;
}
Compilación
Compiladores: gcc / cc
gcc -c: Compilación: passer d'un fichier en language C à un fichier objet.
programa.c --> programa.o
gcc -o: Édition des liens: indique où se trouvent les fonctions déjà programmées.
programa.o --> programa
gcc -c programa.c ls programa.c programa.o gcc -o programa programa.o ls programa.c programa.o programa
Podemos también generar el programa ejecutable con una sola orden:
gcc -o programa programa.c ls programa.c programa
en el caso anterior programa.o no se guardará
Comentarios
/* Ceci est un commentaire pour tester l'utilisation de cette option dans laquelle on peut ecrire comentaire en plusieurs lignes */
// Par contre, avec cette option on doit utiliser juste une lingne.
Tipos de variables
int a; long int b; short int c; float x; double y; char carac; int *ent; float *reel; double *dreel; char *car;
Operadores
/ división - Cociente
Si tes 2 opérandes sont des entiers, alors "/" te renverra la division entière. Es decir en este caso / calcula el cociente.
5 / 2 = 2
Si queremos obtener el valor de la división:
5.0 / 2.0 = 2.5
o, (float)5 / 2 = 2.5
% Modulo
Calcula el resto(modulo) de una división:
4%2 = 0 5%2 = 1
Les opérateurs de comparaison
< Strictement inférieur à > Strictement supérieur à <= Inférieur ou égal à >= Supérieur ou égal à == Égal à != Différent de
y && o ||
Funciones
fprintf - fscanf
fprintf(stdout,"Bonjour!\nCeci est mon premier programme en langage c\n");
fprintf(stdout,"une variable de type int est codee sur %ld octets \n",sizeof(int));
fprintf(stdout,"var1=%d\nvar2=%d\n",var1,var2);
\n : salto de línea
fscanf(stdin,"%d",&n);
Ou avec plusieurs paramètres. Dans ce cas, la lettre qui suit les « % » dans le format correspond à un type de variable :
Type | Lettre |
---|---|
int | %d |
long | %ld |
float/double | %f / %lf |
char | %c |
string (char*) | %s |
pointeur (void*) | %p |
short | %hd |
entier hexadécimal | %x |
sizeof
Retorna el tamaño que ocupa en el disco una variable, a esta funcion se le puede ingresar el nombre de la variable o el tipo de variable
sizeof(int)
Funciones matemáticas
https://en.wikipedia.org/wiki/C_mathematical_functions
math.h - stdlib.h
Most of the mathematical functions are defined in math.h (cmath header in C++). The functions that operate on integers, such as abs, labs, div, and ldiv, are instead defined in the stdlib.h header (cstdlib header in C++). Ver el artículo de Wikipedia señalado arriba para una lista de las funciones.
abs
Definida en <stdlib.h>
abs(-5);
Manejo de archivos
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Manejo_de_archivos#fprintf
Algorimos comunes
Potencia
...
if (x==0 && n==0)
{
fprintf(stdout,"0^0 no está definida.\n");
}
else
{
p=1;
for (i=1 ; i<=n ; i++)
{
p=p*x;
}
fprintf(stdout,"%d^%d=%d\n",x,n,p);
}
Factorial
...
if (n==0)
{
f=1;
}
else
{
f=n;
for (i=1 ; i<(n-1) ; i++)
{
f=f*(n-i);
}
}