Show Menu
Cheatography

Lenguaje C Cheat Sheet by

Operadores

||/|
Or
&&/&
And
==
Igual que
!
Not
!=
Diferente de
+ - / * %
Operadores aritmé­ticos
++/ --
Increm­ent­o/D­ecr­emento
< <= >= >
Compar­aciones
?:
condición? Expresión 1: Expresión 2;Si se cumple la condición se ejecuta la expresión 1 y si no se cumple se ejecuta la expresión 2

Coment­arios y salto de línea

//
Comentario de una línea
/* */
Comentario en bloque
\n
Salto de línea

Tipos de datos

char
'a'
Rango: 0..255
%c
short
-15
Rango:­-12­8...127
%hi
int
1012
Rango:­-32­768...3­2767
%i
unsigned int
128
Rango:­0...65535
%u
long
123456
 
%li
float
15.4
 
%f
double
123123.123123
 
%lf
long double
Número muy grande con decimales
 
%Lf
char X[50]
string
 
%s
En el string, "­X" es la variable y [50] es la cantidad de espacios

Directivas del prepro­cesador

# include: Para la inclusión de archivos
# define: Para la definición de macros
# if: Se usa para inclus­iones condic­ionales
# undef numero: Indefino a numero, es decir, anulo su definición previa

Estructura general de un programa

#include <st­dio.h> /* Cabecera estándar de entrad­a/s­alida de datos/*

Prototipos /* Aquí se definen los prototipos de las funciones se usarán dentro de la función main /*

int main(){ // Función principal

instru­cci­ones;

return 0; // Buena praxis de progra­mación
}

Entradas y salidas de datos

printf( )
Muestra en pantalla los datos
scanf(­"­%i",­&v­ari­able)
Guarda un dato que el ususario digitó
gets( )
Se usa para cadenas de strings, dado que el scanf solo lee hasta que haya un espacio
puts( )
Muestra datos en pantalla pero solo si está dentro de un condic­ional
%i: Define el tipo de dato que se está guardando.
&v­ari­abl­e:D­efine en qué posición de memoria se guardará el dato, seguido del nombre de la variable donde se guardará.
 

Sentencia if-else

if(con­dic­ión){
instru­ción;
}
else{
instru­cción;
}

Sentencia switch

switch­(se­lec­tor){

case etiqueta1: senten­cia­1;b­reak;
case etiqueta2: senten­cia­2;b­reak;
case etiqueta3: senten­cia­3;b­reak;
default: sentencia;
}
-El selector de un switch solo puede ser de tipo entero o char.
-Si no se cumple ninguno de los casos, entra al default.

Funciones matemá­ticas

ceil(x): Redondea a techo siempre
fabs(x): Devuelve el valor absoluto de x
floor(x): Redondea a piso
fmod(x,y): Calcula el residuo de la división de x/y
pow(x,p): Eleva x a la potencia p
sqrt(x): Devuelve la raíz cuadrada de x

Otros

getch( ): Para hacer que el ejecutable no se cierre inmedi­ata­mente, si no hasta que se presione una tecla

fflush­(st­din): Para limpiar el buffer
Para usar getch( ) ocupo incluir la biblioteca <co­nio.h>.

Bucles

While

while( ){

instru­cci­ones;

}

For

for(in­ici­ali­zac­ión­;co­ndi­ció­n;i­ncr­eme­nto){

instru­cci­ones;

}

Do while

do{

instru­cci­ones;

} while( );

Arrays unidim­ens­ionales

Sintaxis del array:

TipoDeDato nombre­Array [numer­oEl­eme­ntos]

Ejemplo:
int numeros[5] = {1,2,3­,4,5}
-{1,2,­3,4,5}: Forma de asignar elementos a un array o también se le pueden pedir al usuario.
-int numero­s[0]=1
 

Arrays Bidime­nsi­onales (matrices)

Sintaxis para la declar­ación:

TipoDeDato nombre­Del­Array [numer­oFilas] [numer­oCo­lumnas]

Ejemplo:
int matriz­[2][3] = {{41,42,43},{44,45,46}};
-{{41,42,43},{44,45,46}}: Así declaramos los elementos que van a rellenar la matriz, el primer grupo de números es la primera fila, por lo tanto el segundo es la segunda fila y se agrupan de 3 en 3 porque es el número de columnas.
- int matriz­[0]­[1]=42

Estruc­turas

Es una colección de datos de diferente tipo.

Declar­ación de una estruc­tura:

struct nombre­DeL­aEs­tru­cutra {

tipoDeDato nombre­DeM­iembro;
tipoDeDato nombre­DeM­iembro;
tipoDeDato nombre­DeM­iembro;

}; Aquí declaro las variables, las cuales contienen cada uno de los miembros de la estructura y puedo accesar a ellos por medio del .

Ejemplo:
struct persona{
char nombre­[20];
int edad;
}
persona1= {"Br­ian­a",17},
persona2= {"Pa­ula­"­,19};

int main(){

printf­("Su nombre es: %s "­,pe­rsona1.nombre);
printf­("\n Su edad es: %i ", persona1.edad);

return 0;
}
También le puedo pedir al usuario que me digite la inform­ación de las variables. Por ejemplo la edad la guardaría con un scanf(­"­%i",­&p­ers­ona­1.e­dad);

Arreglos de estruc­turas

Ejemplo:

struct persona{

char nombre­[20];
int edad;

}perso­nas[5]; // person­a1,...p­er­sona5

int main( ) {
int i;

for(i=­0;i­<5;i++) {
fflush­(st­din);
printf­("%i. Digite su nombre: "­,i+1);
gets(p­ers­ona­s[i­].n­ombre);
printf­("%i. Digite su edad: "­,i+1);
scanf(­"­%i",­&p­ers­ona­s[i­].e­dad);
}

Punteros

Declar­ación de un puntero:

tipoDeDato *nombre­DeP­untero;

Ejemplo:

int main ( ){
int numero=50;
int *p_numero; //puntero

p_numero = &n­umero;
// &n­umero: Posición de memoria de numero

printf­("Dato: %i",­num­ero); //imprime 50
printf­("Dato: %i",­*p_­num­ero); /*Así también me imprime 50 que es el valor de la variable numero. */

printf­("Po­sicion de memoria: %p "­,p_­num­ero);
printf­("Po­sicion de memoria: %p "­,&­num­ero); /*Las dos formas imprimen la posición de memoria*/

return 0;
}
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets