PDF de programación - Tarjeta de referencia ANSI C

Imágen de pdf Tarjeta de referencia ANSI C

Tarjeta de referencia ANSI Cgráfica de visualizaciones

Actualizado el 22 de Julio del 2021 (Publicado el 14 de Enero del 2017)
2.410 visualizaciones desde el 14 de Enero del 2017
67,2 KB
2 paginas
Creado hace 20a (05/04/2003)
Tarjeta de referencia ANSI C

Estructura de programa/funciones
tipo func(tipo 1,. . . )
tipo nombre
main() {

declaración de funciones
declaración de variables globales
función principal
declaración de variables locales

declaraciones
instrucciones

}
tipo func(arg 1,. . . ) {

declaraciones
instrucciones
return valor ;

definición de función
declaración de variables locales

comentarios

}
/* */
main(int argc, char *argv[]) programa con argumentos
Preprocesador de C
incluir fichero de cabeceras
incluir fichero de usuario
sustitución de texto
macro con argumentos

#define nombre texto
#define nombre (var ) texto

#include <fichero>
#include "fichero"

Ejemplo. #define max(A,B) ((A)>(B) ? (A) : (B))

#undef nombre
#
##

#if, #else, #elif, #endif

#ifdef, #ifndef
defined(nombre )

anular definición
entrecomillar al reemplazar
concatenar argumentos y reescanear
compilación condicional
¿nombre definido, no definido?
¿nombre definido?
carácter de continuación de línea
Tipos de datos. Declaraciones
carácter (1 byte)
entero
real (precisión simple)
real (precisión doble)
corto (entero de 16 bits )
largo (entero de 32 bits)
positivo y negativo
sólo positivo
puntero a int, float,. . .
enumeración
valor constante (inalterable)
declaración de variable externa
variable registro
variable estática
sin tipo
estructura
crear un tipo de datos
talla de un objeto (devuelve un size_t)
talla de un tipo de datos (dev. un size_t)
Inicialización
Inicializar variable
Inicializar vector
Inicializar cadena

\

char
int
float
double
short
long
signed
unsigned

enum
const
extern
register
static
void
struct

*int, *float,. . .

typedef tipo nombre

sizeof objeto
sizeof(tipo )

tipo nombre=valor

tipo nombre[]={valor 1,. . . }
char nombre []="cadena "

c 2002 Joseph H. Silverman Permisos en el reverso. v1.3s

L o l
F o f
E o e
0
0x o 0X

Constantes
largo (sufijo)
real de precisión simple (sufijo)
notación científica
octal (prefijo cero)
hexadecimal (prefijo cero-equis)
carácter constante (char, octal, hex.)
nueva línea, ret. de carro, tab., borrado
caracteres especiales
cadena constante (termina con '\0')
Punteros, vectores y estructuras
declarar un puntero a tipo
decl. una func. que dev. un punt. a tipo
decl. un punt. a func. que devuelve tipo
puntero genérico
valor de puntero a nulo
objeto apuntado por puntero
dirección del objeto nombre
vector
vector multidimensional
Estructuras

tipo *nombre
tipo *f()
tipo (*pf)()
void *
NULL
*puntero
&nombre
nombre [dim]

'a', '\ooo', '\xhh'
\n, \r, \t, \b
\\, \?, \', \"
"abc. . . de"

nombre [dim 1][dim 2]. . .

struct etiqueta {

declaraciones

};

plantilla de estructura
declaración de campos

crear estructura
campo de estructura
campo de estructura a través de puntero

struct etiqueta nombre

nombre .campo
puntero->campo

Ejemplo. (*p).x y p->x son lo mismo

union
campo : b

nombre .campo
puntero->campo
nombre [índice]
++, --
+, -, !, ~
*puntero, &nombre
(tipo)expr
sizeof

estructura múltiple, valor único
campo de bits con b bits
Operadores (según precedencia)
acceso a campo de estructura
acceso por puntero
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 expresiones
Los operadores unarios, expresión condicional y operadores de asig-
nación se agrupan de dcha. a izda.; todos los demás de izda. a dcha.

>, >=, <, <=
==, !=
&
^
|
&&
||

expr 1 ? expr 2 : expr 3
=, +=, -=, *=, ...
,

*, /, %
+, -

<<, >>

Control de flujo
finalizador de instrucción
delimitadores de bloque
salir de switch, while, do, for
siguiente iteración de while, do, for
ir a
etiqueta
valor de retorno de función
Construcciones de flujo
instrucción if

instrucción while

instrucción

instrucción

if (expr )
else if (expr )
else
while (expr )
instrucción

instrucción

}

;
{
break
continue
goto etiqueta
etiqueta:
return expr

instrucción for

for (expr 1; expr 2; expr 3)

instrucción do

instrucción switch

instrucción

instrucción

do
while(expr );
switch (expr ) {

case const 1:
case const 2:
default:

instrucción

instrucción 1 break;
instrucción 2 break;

}

Bibliotecas ANSI estándar
<assert.h>
<locale.h>
<stddef.h>
Consulta de tipos de carácter <ctype.h>

<limits.h>
<stdarg.h>
<time.h>

<errno.h>
<setjmp.h>
<stdlib.h>

<float.h>
<signal.h>
<string.h>

<ctype.h>
<math.h>
<stdio.h>

c es un carácter

¿alfanumérico?
¿alfabético?
¿carácter de control?
¿dígito decimal?
¿carácter imprimible (excluído espacio)?
¿letra minúscula?
¿carácter imprimible (incl. espacio)?
¿car. impr. excepto espacio, letra, dígito?
¿separador?
¿letra mayúscula?
¿dígito hexadecimal?
convertir a minúscula
convertir a mayúscula
Operaciones con cadenas <string.h>

isalnum(c)
isalpha(c)
iscntrl(c)
isdigit(c)
isgraph(c)
islower(c)
isprint(c)
ispunct(c)
isspace(c)
isupper(c)
isxdigit(c)
tolower(c)
toupper(c)

s,t son cadenas, cs,ct son cadenas constantes

longitud de s
copiar ct en s

...hasta n caracteres

concatenar ct tras s

...hasta n caracteres

comparar cs con ct

...sólo los primeros n caracteres

puntero al primer c en cs
puntero al último c en cs
copiar n caracteres de ct en s
copiar n cars. de ct en s (sobreescribe)
comparar n caracteres de cs con ct
punt. al 1er c en los n 1os cars. de cs
poner c en los n primeros cars. de cs

strlen(s)
strcpy(s,ct)
strncpy(s,ct,n)
strcat(s,ct)
strncat(s,ct,n)
strcmp(cs,ct)
strncmp(cs,ct,n)
strchr(cs,c)
strrchr(cs,c)
memcpy(s,ct,n)
memmove(s,ct,n)
memcmp(cs,ct,n)
memchr(cs,c,n)
memset(s,c,n)

Tarjeta de referencia ANSI C

Entrada/Salida <stdio.h>
E/S estándar
flujo de entrada estándar
flujo de salida estándar
flujo de error estándar
final de fichero
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
E/S de ficheros
declarar puntero a fichero
obtener puntero a fichero

stdin
stdout
stderr
EOF
getchar()
putchar(car )

gets(s)
puts(s)

FILE *fp

printf("formato ",arg 1,. . . )
sprintf(s,"formato ",arg 1,. . . )
scanf("formato ",&nombre 1,. . . )
sscanf(s,"formato ",&nombre 1,. . . )

fopen("nombre ","mode ")

getc(fp)
putc(car ,fp)

fprintf(fp,"formato",arg 1,. . . )
fscanf(fp,"formato",arg 1,. . . )

modos: r (leer), w (escribir), a (añadir)

obtener un carácter
escribir un carácter
escribir en fichero
leer de fichero
cerrar fichero
distinto de cero si error
distinto de cero si EOF
leer línea en cadena s (< max cars.)
escribir cadena s
Códigos de E/S con formato: "%-+ 0w.pmc"

fclose(fp)
ferror(fp)
feof(fp)
fgets(s,max,fp )
fputs(s,fp )

-
+

alineación a izquierda
imprimir con signo

space imprimir espacio si no hay signo

rellenar por delante con ceros

0
w anchura mínima del campo
p
m carácter de conversión:

precisión

h

short,

l

long,

L

long double

c

carácter de conversión:

d,i entero

c carácter
f doble
o octal
p puntero

u
s

sin signo
cadena de caracteres

e,E exponencial
x,X hexadecimal

n número de caracteres escritos

g,G como f o e,E según cuál sea el exponente

Lista variable de argumentos <stdarg.h>
declarar puntero a argumentos
inicializar puntero a args.

va_start(nombre ,ultarg )

va_list nombre ;

ultarg es el último parámetro con nombre de la función

siguiente arg. sin nom., actualizar punt.
invocar antes de salir de la función

va_arg(nombre ,tipo)
va_end(nombre )

Funciones útiles <stdlib.h>
valor absoluto del entero n
valor absoluto del largo n
cociente y resto de enteros n,d

abs(n)
labs(n)
div(n,d)

devuelve una estructura con div_t.quot y div_t.rem

cociente y resto de largos n,d

ldiv(n,d)

devuelve una estructura con ldiv_t.quot y ldiv_t.rem

entero pseudo-aleatorio en [0,RAND_MAX]
fijar la semilla aleatoria a n
finalizar ejecución del programa
ejecutar cadena s en el sistema
Conversiones
convertir cadena s a double
convertir cadena s a int
convertir cadena s a long
convertir prefijo de s a double
convertir prefijo de s (base b) a long

igual, pero unsigned long

rand()
srand(n)
exit(estado)
system(s)

atof(s)
atoi(s)
atol(s)
strtod(s,finp)
strtol(s,finp,b)
strtoul(s,finp,b)

malloc(talla), calloc(nobj,talla)
realloc(pts,talla)
free(ptr)

Reserva de memoria
reserva memoria
cambiar tamaño de la reserva
liberar memoria
Funciones de vectores
buscar clave en vect
ordenar vect ascendentemente
Funciones de hora y fecha <time.h>
tiempo de proc. usado por el programa

bsearch(clave,vect,n,talla,cmp())
qsort(vect,n,talla,cmp())

clock()

Ejemplo. clock()/CLOCKS_PER_SEC da el tiempo en segundos

segundos desde 1/1/1.970 (hora de ref.)
tpo2-tpo1 en segs. (double)
tipos numéricos para representar horas
estructura estándar usada para fecha y hora

time()
difftime(tpo2 ,tpo1)
clock_t,time_t

tm

tm_sec
tm_min
tm_hour
tm_mday
tm_mon
tm_year
tm_wday
tm_yday
tm_isdst

segundos en el minuto
minutos en la hora
horas desde medianoche
día del mes
meses desde enero
años desde 1.900
días desde el domingo
días desde el 1 de enero
indicador del cambio de horario (verano/invierno)

convertir hora local a hora de ref.
convertir hora en tp a cadena
convertir hora de ref. en tp a cadena
convertir hora de ref. a GMT
convertir hora de ref. a hora local
formatear fecha y hora

mktime(tp)
asctime(tp)
ctime(tp)
gmtime(tp)
localtime(tp)

tp es un puntero a una estructura de tipo tm

strftime(s,smax,"formato ",tp)

Funciones matemáticas <math.h>

los argumentos y valores devueltos son double

sin(x), cos(x), tan(x)
asin(x), acos(x), atan(x)

funciones trigonométricas
funciones trig. inversas
arctg(y/x)
funciones trig. hiperbólicas
exponenciales y logaritmos
exps. y logs. (base 2)
división y resto
potencia y raíz
redondeo
Límites
  • Links de descarga
http://lwp-l.com/pdf551

Comentarios de: Tarjeta de referencia ANSI C (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad