Difference between revisions of "C"

From Sinfronteras
Jump to: navigation, search
m (Adelo Vieira moved page Lenguaje C to C language)
Line 1: Line 1:
 +
 +
<br />
 
==Estructura==
 
==Estructura==
 
<!--
 
<!--
Line 41: Line 43:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 +
 +
<br />
 
==Compilación==
 
==Compilación==
 
Compiladores: gcc / cc
 
Compiladores: gcc / cc
Line 67: Line 71:
 
en el caso anterior programa.o no se guardará
 
en el caso anterior programa.o no se guardará
  
 +
 +
<br />
 
==Comentarios==
 
==Comentarios==
 
  /* Ceci est un commentaire pour tester l'utilisation de cette option
 
  /* Ceci est un commentaire pour tester l'utilisation de cette option
Line 73: Line 79:
 
  // Par contre, avec cette option on doit utiliser juste une lingne.
 
  // Par contre, avec cette option on doit utiliser juste une lingne.
  
 +
 +
<br />
 
==Tipos de variables==
 
==Tipos de variables==
 
   int a;
 
   int a;
Line 85: Line 93:
 
   char *car;
 
   char *car;
  
 +
 +
<br />
 
==Operadores==
 
==Operadores==
 +
 +
 +
<br />
 
===/ división - Cociente===
 
===/ división - Cociente===
  
Line 94: Line 107:
 
   5.0 / 2.0 = 2.5
 
   5.0 / 2.0 = 2.5
 
o, (float)5 / 2 = 2.5
 
o, (float)5 / 2 = 2.5
+
 
 +
 
 +
<br />
 
===% Modulo===
 
===% Modulo===
 
Calcula el resto(modulo) de una división:
 
Calcula el resto(modulo) de una división:
Line 100: Line 115:
 
  5%2 = 1
 
  5%2 = 1
  
 +
 +
<br />
 
===Les opérateurs de comparaison===
 
===Les opérateurs de comparaison===
  
Line 112: Line 129:
 
  o ||
 
  o ||
  
 +
 +
<br />
 
==Funciones==
 
==Funciones==
 +
 +
 +
<br />
 
===fprintf - fscanf===
 
===fprintf - fscanf===
 
  fprintf(stdout,"Bonjour!\nCeci est mon premier programme en langage c\n");
 
  fprintf(stdout,"Bonjour!\nCeci est mon premier programme en langage c\n");
Line 148: Line 170:
 
|}
 
|}
  
 +
 +
<br />
 
===sizeof===
 
===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
 
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
Line 153: Line 177:
 
  sizeof(int)
 
  sizeof(int)
  
 +
 +
<br />
 
===Funciones matemáticas===
 
===Funciones matemáticas===
 
https://en.wikipedia.org/wiki/C_mathematical_functions
 
https://en.wikipedia.org/wiki/C_mathematical_functions
  
 +
 +
<br />
 
====math.h - stdlib.h====
 
====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.
 
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.
  
 +
 +
<br />
 
====abs====
 
====abs====
 
Definida en <stdlib.h>
 
Definida en <stdlib.h>
 
  abs(-5);
 
  abs(-5);
  
 +
 +
<br />
 
===Manejo de archivos===
 
===Manejo de archivos===
 
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Manejo_de_archivos#fprintf
 
https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Manejo_de_archivos#fprintf
  
 +
 +
<br />
 
==Algorimos comunes==
 
==Algorimos comunes==
  
 +
 +
<br />
 
===Potencia===
 
===Potencia===
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
Line 187: Line 223:
  
  
 +
<br />
 
===Factorial===
 
===Factorial===
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
Line 203: Line 240:
 
         }
 
         }
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
<br />

Revision as of 15:26, 21 June 2020


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);
                        }
        }