Difference between revisions of "C"

From Sinfronteras
Jump to: navigation, search
(Potencia)
m (Adelo Vieira moved page C language to C)
 
(17 intermediate revisions by the same user not shown)
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==
 +
 +
 +
<br />
 +
===/ 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
 +
 +
 +
<br />
 +
===% Modulo===
 +
Calcula el resto(modulo) de una división:
 +
4%2 = 0
 +
5%2 = 1
 +
 +
 +
<br />
 +
===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 ||
 +
 +
 +
<br />
 
==Funciones==
 
==Funciones==
===fprintf===
+
 
 +
 
 +
<br />
 +
===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 95: Line 144:
 
  \n : salto de línea
 
  \n : salto de línea
  
===fscanf===
+
 
 
  fscanf(stdin,"%d",&n);
 
  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 :
 +
{| class="wikitable" border="1"
 +
! Type !! Lettre
 +
|-
 +
| int || %d
 +
|-
 +
| long || %ld
 +
|-
 +
| float/double || %f / %lf
 +
|-
 +
| char || %c
 +
|-
 +
| string (char*) || %s
 +
|-
 +
| pointeur (void*) || %p
 +
|-
 +
|short
 +
|%hd
 +
|-
 +
| entier hexadécimal || %x
 +
|}
 +
 +
 +
<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 103: Line 177:
 
  sizeof(int)
 
  sizeof(int)
  
 +
 +
<br />
 +
===Funciones matemáticas===
 +
https://en.wikipedia.org/wiki/C_mathematical_functions
 +
 +
 +
<br />
 +
====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.
 +
 +
 +
<br />
 +
====abs====
 +
Definida en <stdlib.h>
 +
abs(-5);
 +
 +
 +
<br />
 +
===Manejo de archivos===
 +
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">
 
+
...
 
         if (x==0 && n==0)
 
         if (x==0 && n==0)
 
         {
 
         {
Line 122: Line 221:
 
         }
 
         }
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
<br />
 +
===Factorial===
 +
<syntaxhighlight lang="c">
 +
...
 +
        if (n==0)
 +
        {
 +
                f=1;
 +
        }
 +
        else
 +
        {
 +
                f=n;
 +
                for (i=1 ; i<(n-1) ; i++)
 +
                        {
 +
                                f=f*(n-i);
 +
                        }
 +
        }
 +
</syntaxhighlight>
 +
 +
 +
<br />

Latest revision as of 15:27, 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);
                        }
        }