Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Programación.
M. I. Jaime Alfonso Reyes Cortés
Referencia rápida de lenguaje C
El compilador de C
errores de sintaxis y semántica
Código
Código Código
Preprocesador
Preprocesador fuente Compilador
Compilador
fuente objeto
con
adecuaciones
datos
Código
resultados ligador
ligador
máquina
errores de
memoria y
bibliotecas
de ejecución
Guía de referencia rápida de lenguaje
C
Identificadores
Un identificador es una palabra o secuencia de
caracteres que forman el nombre de un objeto del
programa
Deben empezar con letra, excepto ñ o Ñ, o guión
bajo y estar seguidos de cero o más letras, números
o guiones bajos
No se permiten símbolos como
$ ¡ ! ¿ ? ° | & - % # @ , . ‘ “ / \ o espacios en blanco
ni tabuladores
Guía de referencia rápida de lenguaje
C
Palabras reservadas en C
C posee un conjunto de palabras que no pueden ser
utilizadas como nombres de identificadores ni de
funciones. Son las siguientes:
auto, break, case, char, const, continue, default,
do, double, else, enum, extern, float, for, goto, if,
int, long, register, return, short, signed, sizeof,
static, struct, switch, typedef, union, unsigned,
void, volatile, while
Guía de referencia rápida de lenguaje
C
Tipos de datos en C
Los tipos básicos en C son
– int (entero)
– float (real de precisión sencilla)
– double (real de precisión doble)
– char (carácter)
– char nombre[TAMAÑO] (cadenas)
– Los booleanos no existen en C. En su lugar se toman
int con valor 0 para falso y diferente de 0 como
verdadero
C cuenta con otros tipos de datos. Para ello hace
uso de modificadores. Véase el artículo
Tipos de datos en C.
Guía de referencia rápida de lenguaje
C
Estructura general de un programa en C
La forma más sencilla de elaborar un programa en C es:
…
int main() /*función principal*/
{
/*Declaración de variables locales*/
/*Asignación de variables*/
/*Cuerpo de la función principal*/
return 0; /*Devuelve el control al S.O.
indicando que todo terminó bien*/
}
Guía de referencia rápida de lenguaje
C
Operador de asignación
=
Operadores aritméticos
Precedencia
- (operador monario)
*, / (división), % (residuo de división entera)
+, -
Guía de referencia rápida de lenguaje
C
Operadores relacionales
Precedencia
>, <
>=, <=
== (igualdad)
!= (desigualdad)
Guía de referencia rápida de lenguaje
C
Operadores lógicos
A !
Precedencia
0 1
! not (negado)
1 0
&& (AND)
|| (OR ) A B && ||
Nota: En C un valor 0 0 0 0
falso se toma como 0 y 0 1 0 1
un valor verdadero se 1 0 0 1
toma como cualquier
valor diferente de cero 1 1 1 1
Guía de referencia rápida de lenguaje
C
Operador sizeof
Este es un operador muy útil. Nos permite conocer el tamaño
en bytes de una variable. De esta manera no tenemos que
preocuparnos en recordar o calcular cuanto ocupa en
memoria. Además el tamaño de una variable cambia de un
compilador a otro, es la mejor forma de asegurarse. Se usa
poniendo el nombre de la variable después de sizeof y
separado de un espacio:
#include <stdio.h>
int main()
{
int variable;
printf( "Tamaño de la variable: %i\n", sizeof (variable) );
return 0;
}
Guía de referencia rápida de lenguaje
C
Sentencias de asignación
int a = 5, b;
b = 12;
Expresiones aritméticas
5*A/2%4-5
Expresiones lógicas o booleanas
(a < 5) && (b > 4)
(x <= 0.23) || (x > 0.25)
((a != b) && !c) || (c == d)
Guía de referencia rápida de lenguaje
C
Operaciones de entrada/salida
Entrada (leer valores por vía teclado)
scanf(“%cf_tipo1%cf_tipo2…”, &var_tipo1,
&var_tipo2,…);
Salida Mostrar en pantalla una cadena con
formato y/o una lista de variables
printf(“texto %cf_tipo1 %cf_tipo2…”,var_tipo1,
var_tipo2,…);
Estructuras de control
Un algoritmo simple presenta flujo secuencial, sin
embargo, no todos los algoritmos son así ya que es
necesario realizar procedimientos más complejos
que involucren ya sea elegir una o varias
alternativas o realizar el mismo procedimiento varias
veces
El control de flujo de un lenguaje especifica el orden
en el que se ejecuta cada sentencia o instrucción
Tenemos entonces tres tipos principales de
estructuras de control: Estructura secuencial,
estructuras de decisiónes o selecciones y los ciclos
o estructuras de repetición
Guía de referencia rápida de lenguaje
C
Estructuras de control
Estructura secuencial
Guía de referencia rápida de lenguaje
C
Estructuras de control
Guía de referencia rápida de lenguaje
C
Decisiones simples
Guía de referencia rápida de lenguaje
C
Decisiones dobles
Guía de referencia rápida de lenguaje
C
Decisiones if (condición1)
{ /*bloque1*/}
anidadas else if(condición2)
{ /*bloque2*/}
else if(condición3)
{…}
else if(condiciónN)
{/*bloqueN*/}
else
{/*bloqueN+1*/}
Guía de referencia rápida de lenguaje
C
Decisión
múltiple
Guía de referencia rápida de lenguaje
C
Expresión condicional
Se usa para simplificar una decisión doble que
afecta a una única variable.
var = condición ? expresión1: expresión2;
Por ejemplo:
if(condición)
a = 5.7;
else
a = sqrt(10.0);
Se puede abreviar como
a = condición ? 5.7 : sqrt(10.0);
Guía de referencia rápida de lenguaje
C
Estructuras de control
Estructuras de repetición (ciclos, loops, lazos o
bucles)
Guía de referencia rápida de lenguaje
C
Estructuras de control
Ciclo while
Guía de referencia rápida de lenguaje
C
Estructuras de control
Ciclo do-while
Guía de referencia rápida de lenguaje
C
Estructuras de control
Guía de referencia rápida de lenguaje
C
Arreglos
Un arreglo es un conjunto ordenado de variables del
mismo tipo que se encuentran reunidas bajo un mismo
nombre
La forma de declarar un arreglo en C es
tipo nombredelarreglo[tamaño];
La forma de acceder a cada elemento del arreglo es
por medio de un índice que indica la posición del
elemento dentro del arreglo, p. ej.
arrentero[4] = 18;
índices
del 0 1 2 3 4 5 6
arreglo
arrentero 10 0 7 14 18 2 -10
Guía de referencia rápida de lenguaje
dirección índices
C de memoria del
memoria arreglo
0x2000
10 0
0x2001
Arreglos
La forma de declarar un arreglos de varias
dimensiones en C es
tipo nombredelarreglo[dimensión1]
[dimensión2]…[dimensiónN];
La forma de acceder a cada elemento del arreglo es
por medio del índice en cada dimensión, p. ej.
int matriz[2][2] = {{1,0},{2,1}};
matriz[0][1]= -1;
Guía de referencia rápida de lenguaje
dirección índices
C de memoria del
memoria arreglo
0x200E
1 0,0
0x200F
Nombre Descripción
gets Lee cadenas con espacios en
blanco
puts Muestra una cadena en pantalla
strcpy Copia el contenido de una cadena
en otra
strcat Concatena 2 cadenas
strcmp Compara 2 cadenas
strlen Longitud de una cadena
tipo1 id_campo1;
tipo2 id_campo2;
…
tipon id_campon;
};
Estructuras en C (struct)
tipon id_campon;
} variable_de_tipo_id_estructura;
Estructuras en C (struct)