Publicado el 22 de Mayo del 2019
1.773 visualizaciones desde el 22 de Mayo del 2019
28,5 KB
1 página
Creado hace 18a (24/10/2006)
declaración de prototipo de funciones
declaración de variables globales
función principal sin argumentos
#include <fichero>
#define nombre texto
declaración de variables locales
comentarios
definición de variables locales
definición de función
Estructura de programa/funciones
tipo func(tipo1,. . . );
tipo nombre;
int main (void)
{
declaraciones
instrucciones
}
tipo func(arg1,. . . )
{
declaraciones
instrucciones
return valor1;
}
/* */
Preprocesador de C
incluir fichero de cabeceras
sustitución de texto
Tipos de datos. Declaraciones
carácter (1 byte)
char
int
entero
float
real (precisión simple)
double
real (precisión doble)
short
corto (entero de 16 bits )
long
largo (entero de 32 bits)
con signo (positivo y negativo)
signed
unsigned
sólo positivo
*int, *float,. . .
puntero a int, float,. . .
static
variable estática
sin tipo
void
Inicialización
Inicializar variable
Inicializar vector
Inicializar cadena
Constantes
hexadecimal (prefijo cero-equis)
carácter cte. (char, octal, hex.)
nueva línea, ret. carro, tab.
caracteres especiales
cadena constante (termina en '\0')
Punteros y vectores
declarar un puntero a tipo
objeto apuntado por puntero
dirección del objeto nombre
vector
Tablas de verdad
tipo *nombre
*puntero
&nombre
nombre[dim]
0x ó 0X
'a', '\ooo', '\xhh'
\n, \r, \t
\\, \?, \', \"
"abc. . . de"
tipo nombre=valor
tipo v[]={valor1, ...}
char str[]="cadena";
a
0
0
1
1
b
0
1
0
1
a & b
a && b
0
0
0
1
a | b
a || b
0
1
1
1
a ^ b
0
1
1
0
Tarjeta de referencia ANSI C (simplificada)
v[índ]
++, --
+, -, !, ~
*ptr, &var
(tipo)expr
sizeof
*, /, %
+, -
<<, >>
>, >=, <, <=
==, !=
&
^
|
&&
||
expr1 ? expr2 : expr3
=, +=, -=, *=, ...
,
Operadores (según precedencia)
acceso a elemento de vector
incremento, decremento
más, menos, no lógico, negación bit a bit
acceso por puntero, direcc. de objeto
convertir tipo de expresión
tamaño de un objeto
producto, división, módulo (resto)
suma, resta
desplazamiento a izda., dcha. (bit a bit)
comparaciones
comparaciones
“Y” bit a bit
“O” exclusiva bit a bit
“O” bit a bit
“Y” lógico
“O” lógico
expresión condicional
operadores de asignación
separador de evaluación de expresión
Los operadores unarios, expresión condicional y operadores de asignación se agrupan
de dcha. a izda.; todos los demás de izda. a dcha.
Control de flujo
finalizador de instrucción
delimitadores de bloque
salir de switch, while, do, for
siguiente iteración de while, do, for
valor de retorno de función
Construcciones de flujo
instrucción if
;
{ }
break
continue
return expr
instrucción while
instrucción for
instrucción do
instrucción switch
if (expr) instrucción
else if (expr) instrucción
else instrucción
while (expr)
instrucción
for (expr1; expr2; expr3)
instrucción
do instrucción
while(expr);
switch (expr) {
case const1: instrucción1 break;
case const2: instrucción2 break;
default: instrucción
}
Consulta de tipos de carácter <ctype.h>
c es un carácter
isalnum(c)
¿alfanumérico?
isalpha(c)
¿alfabético?
iscntrl(c)
¿carácter de control?
¿dígito decimal?
isdigit(c)
¿carácter imprimible (excl. espacio)? isgraph(c)
¿letra minúscula?
islower(c)
¿carácter imprimible (incl. espacio)? isprint(c)
ispunct(c)
¿carácter puntuación?
isspace(c)
¿separador?
isupper(c)
¿letra mayúscula?
¿dígito hexadecimal?
isxdigit(c)
~a
! a
1
1
0
0
convertir a minúscula
tolower(c)
toupper(c)
convertir a mayúscula
Operaciones con cadenas <string.h>
s, t son cadenas, cs, ct son cadenas constantes
strlen(s)
longitud de s
strcpy(s,ct)
copiar ct en s
strncpy(s,ct,n)
...hasta n caracteres
concatenar ct tras s
strcat(s,ct)
strncat(s,ct,n)
...hasta n caracteres
strcmp(cs,ct)
comparar cs con ct
strncmp(cs,ct,n)
...sólo los primeros n caracteres
strchr(cs,c)
puntero al primer c en cs
puntero al último c en cs
strrchr(cs,c)
Entrada/Salida <stdio.h>
obtener un carácter
imprimir un carácter
imprimir con formato
imprimir en cadena s
leer con formato
leer de cadena s
leer línea en cadena s
imprimir cadena s
Códigos de E/S con formato: "%-+ 0w.pmc"
-
+
espacio
0
w
p
m
c carácter de conversión:
alineación a izquierda
imprimir con signo
imprimir espacio si no hay signo
rellenar por delante con ceros
anchura mínima del campo
precisión
carácter de conversión:
h short, l long, L long double
getchar()
putchar(car )
printf("formato",arg1,. . . )
sprintf(s,"formato",arg1,. . . )
scanf("formato",&nombre1,. . . )
sscanf(s,"formato",&nombre1,. . . )
gets(s)
puts(s)
d,i
c
f
o
p
g,G
entero
carácter
doble
octal
puntero
como f ó e,E según exponente
u sin signo
s cadena de caracteres
e,E exponencial
x,X hexadecimal
n número de caracteres escritos
Funciones útiles <stdlib.h>
entero pseudo-aleatorio en [0,RAND_MAX]
fijar la semilla aleatoria a n
Funciones matemáticas <math.h>
los argumentos y valores devueltos son double
funciones trigonométricas
funciones trig. inversas
rand()
srand(n)
funciones trig. hiperbólicas
exponenciales y logaritmos
exps. y logs. (base 2)
división y resto
potencia y raíz
redondeo
sin(x), cos(x), tan(x)
asin(x), acos(x), atan(x)
arctg(y/x) atan2(y,x)
sinh(x), cosh(x), tanh(x)
exp(x), log(x), log10(x)
ldexp(x,n), frexp(x,*e)
modf(x,*ip), fmod(x,y)
pow(x,y), sqrt(x)
ceil(x), floor(x), fabs(x)
Comentarios de: Tarjeta de referencia ANSI C (simplificada) (0)
No hay comentarios