C

From Sinfronteras
Revision as of 23:51, 14 April 2017 by Adelo Vieira (talk | contribs) (Funciones matemáticas)
Jump to: navigation, search

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

%

Calcula el resto 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);
                        }
        }