PDF de programación - Tarjeta de Referencia Rápida C (ANSI)

Imágen de pdf Tarjeta de Referencia Rápida C (ANSI)

Tarjeta de Referencia Rápida C (ANSI)gráfica de visualizaciones

Publicado el 24 de Junio del 2021
536 visualizaciones desde el 24 de Junio del 2021
86,9 KB
3 paginas
Creado hace 17a (23/02/2007)
Tarjeta de referencia rápida de C (ANSI)

Programa

Estructura/Funciones
type fnc(tipo1 ,...)
type nombre
variables
main() {
declaraciones
}
type fnc(arg 1,...) {
declaraciones
locales
return valor;
}
/* */
main(int argc, char *argv[])
exit(arg)

declaraciones de funciones
declaraciones externas de

rutina principal
declaraciones de variables locales

definición de función
declaraciones de variables

comentarios
main con argumentos
terminación de ejecución

Preprocesador de C

inclución de archivo librería
inclución de achivo del usuario
reemplazando texto
macro de reemplazo

#include <nombre_archivo>
#include "normbre_archivo"
#define nombre texto
#define nombre(var) texto

indefinir
en reemplazos, citar cadenas
concatenar argumentos y rebuscar
ejecución condicional
si nombre denegado ¿no definido?
¿nombre definido?
caracter de continuación de línea

Ejemplo: #define max(A,B) ((A)>(B) ? (A) : (B))
#undef nombre
#
##
#if, #else, #elif, #endif
#ifdef, #ifndef
defined(nombre)
\

Tipos de datos/Declaraciones

caracter (1 byte)
entero
flotante (presición simple)
flotante (doble presición)
corto (16 bit entero)
largo (32 bit entero)
positivo y negativo
solamente positivo
puntero a entero, flotante, .....
constante de enumeración



char
int
float
double
short
long
signed
unsigned
*int, *float,...
enum



constante (descambiar) valor
declaración externa de variable
variable de registro
local a archivo fuente
sin valor
estructura
crear nombre por tipo de dato
tamaño de objeto (tipo es size_t)
tamaño de tipo de dato (tipo es size_t)



const
extern
register
static
void
struct
typedef nombre_tipo
sizeof objecto
sizeof(type nombre)

Inicialización

inicializa variable
inicialice matriz
inicialice cadena de caracteres



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

Constantes

long (sufijo)
float (sufijo)
forma exponencial
octal (prefijo cero)
hexadecimal (prefijo cero-equis)
caracter constante (char, octal, hex)
nueva línea, cr, tab, retroceso
caracteres especiales
cadena constante (fin con '\0')

L ó l
F ó f
e
0

0x ó 0X
'a', '\ooo', '\xhh'
\n, \r, \t, \b

\\, \?, \', \"

"abc...de"

Punteros, matrices y estructuras

declarar puntero a tipo
declarar función retornado por puntero a tipo
declarar puntero a función retornando tipo
tipo de puntero genérico
puntero nulo
objeto apuntado a por puntero
dirección de objeto nombre
matriz
matriz multi dimensión



type *name
type *f()
type (*pf)()
void *
NULL
*pointer
&name
name[dim]
name[dim 1][dim 2]...

Estructuras

de miembros

};

struct etiqueta {
estructrua de plantilla
declaraciones

crear estructura
nombre
miembro de estructura desde plantilla
nombre de la estructura apuntada

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

valor simple, múltimple tipo de estructura union
bit de campo con b bits

miembro : b

Operadores (agrupado por procedencia)

operador de miembro de estructura
puntero de estructura

nombre.miembro
puntero -> miembro

incremento, decremento
suma, resta, negación lógica, negación bitwise
indirección vía puntero, dirección de objeto
reparto de expresión a tipo
tamaño de objeto
producto, división, módulo (resto)
adhición, sustracción
movimiento izquierdo, derecho [bit ops]
comparaciones
comparaciones
Y bitwise
O exclusivo
O bitwise (incl)
Y lógico
O lógico
expresión condicional
operadores de asignación
separador de expresiones de evaluación

++, --
+, -, !, ~
*puntero , &nombre
(tipo) expresíon
sizeof
*, /, %
+, -
<<, >>
>, >=, <, <=
==, !=
&
^
|
&&
||

+=, -=, *=, ...
,

expr 1 ? expr 2 : expr 3

Operadores unarios, expresiones condicionales y asignación de operadores
de grupo de derecha a izquierda; para todos los demás grupos de izquierda
a derecha.

Control de flujos

terminación de declaración
delimitadores de bloque
salir del switch, while, do, for
próxima iteración de while, do, for
ir a
marca
valor retornado desde función

;

{}
break
continue

goto marca
marca:

return expr

declaración

struct etiqueta

nombre.miembro
puntero -> miembro

1

Construcción de flujos
if declaración

declaración
while declaración

for declaración



do declaración

switch declaración



for (expr 1 ; expr 2 ; expr 3 )

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

declaración

declaración

do declaración
while (expr );

switch (expr ){
case const 1 : declaración1 break;
case const 2 : declaración2 break;
default: declaración
}

Librería estándar ANSI

<assert.h> <ctype.h> <errno.h> <float.h> <limits.h>
<locale.h> <math.h> <setjmp.h> <signal.h> <stdarg.h>
<stddef.h> <stdio.h> <stdlib.h> <string.h> <time.h>

Prueba de clase de caracter <ctype.h>

¿alfanumérico?
¿alfabético?
¿caracter de control?
¿dígito decimal?
¿imprimiendo caracter (no incluye espacio)?
¿letra minúscula?
¿imprecsión de caracter (incluye espacio)?
¿imprimiendo caracter excepto espacio, letra, dígito? ispunct(c)
espacio, formfeed, nueva línea, cr, tab, vtab?
¿letra mayúscula?
¿dígito hexadecimal?
¿convertir a minúscula?
¿convertir a mayúscula?

isalnum(c)
isalpha(c)
iscntrl(c)
isdigit(c)
isgraph(c)
islower(c)
isprint(c)

isspace(c)
isupper(c)
isxdigit(c)
tolower(c)
toupper(c)

copiar n caracteres desde ct a s
copiar n caracteres desde ct a s (may overlap)
compara n caracteres de cs con ct
puntero a primer c dentro primer n caracteres de cs memchr(cs,c,n)
poner c dentro primer n caracteres de cs
memset(s,c,n)

memcpy(s,ct,n)
memmove(s,ct,n)
memcmp(cs,ct,n)

Entrada/Salida <stdio.h>

Estándar Ent/Sal
flujo de entrada estándar
flujo de salida estándar
flujo de error estándar
fin de archivo
tomar caracter
imprimir caracter
imprimir datos formateados
imprimir a cadena s
leer datos formateados
leer desde la cadena s
leer línea a cadena s (< max caracteres)
imprimir cadena s

stdin
stdout
stderr
EOF
getchar ()
putchar (chr )

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

gets (s,max)
puts (s)

Archivo Entrada/Salida

puntero de declaración de archivo
puntero a nombre de archivo

FILE *fp

fopen ("nombre ","modo ")

modos: r (lectura), w (escritura), a (agregar)

tomar caracter
escribir caracter
escribir a archivo
leer de archivo
cerrar archivo
no-cero si error
no-cero si EOF
leer línea a cadena s (< max caracteres)
escribir cadena s

getc (fp)
putc (chr ,fp)

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

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

Códigos para formatear la entrada/salida: "%-+ 0w:pmc"

Operaciones con cadenas <string.h>

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

lingitud de s
copiar ct a s

arriba a n caracteres

concatenar ct antes de s

arriba a n caracteres

comparar cs a ct

solamente primer n caracteres

puntero a primer c en cs
puntero a último c en 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)

-
+
espacio
0
w
p
m

c
d,i
c
f
o



justificación izquierda
impresión con signo
impresión de espacio si no hay signo
bloc con precisión de ceros
ancho mínimo de campo
precisión
caracter de converción:

h corto, l largo, L largo doble

caracter de converción:
entero
caracter simple
doble
octal

u
s
e,E
x,X

sin signo
cadena de caracter
exponencial
hexadecimal

p
g,G

puntero
algunos son f ó e,E dependiendo del exponente

n

número de caracteres escritos

Listas de argumentos variables <stdarg.h>

declaración de puntero a argumento
inicialización de puntero argumento
último_arg es el último parámetro llamado de la función
acceso al próximo argumento, actualizar puntero
llamado anterior de salir de la función

va_list nombre;

va_start (nombre ,último_arg )

va_arg (nombre, tipo)
va_end (nombre )

Funciones útiles estándar <stdlib.h>

valor absoluto de entero n
valor absoluto de largo n
división y resto de enteros n,d
estructura de retornos con div_t.quot y div_t.rem
división y resto de largos n,d
estructura de retornos con ldiv_t.quot y ldiv_t.rem
entero seudo aleatorio [0,RAND_MAX]
fijar semilla aleatoria a n
terminación de la ejecución del programa
pasar cadena s al sistema para ejecución



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

ldiv(n,d)

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

Converciones
convertir cadena s a doble
convertir cadena s a entero
convertir cadena s a largo (long)
convertir prefijo de s a doble
convertir prefijo de s (base b) a largo (long)

atof(s)
atoi(s)
atol(s)
strtod(s,endp)
strtol(s,endp,b)
algunos, pero sin signo largo (unsing long) strtoul(s,endp,b)

Asignación de almacenamiento
asignación de almacenamiento
cambiar tamaño de objeto
desasignar espacio

malloc(tamaño), calloc(nobj,tamaño)

realloc(pts,tamaño)

free(ptr)

Funciones de matriz
clave para buscar en matriz
ordenar ascendentemente la matriz

bsearch(clave,matriz,n,tamaño,cmp())
qsort(matriz,n,tamaño,cmp())

Funciones de fecha y tiempo <time.h>

tiempo de proceso usado por el programa

Ejemplo: clock()/CLOCKS_PER_SEC tiempo en segundos

tiempo de calendario corriente
tiempo2 - tiempo1 en segundos (doble)
tiempos de representación de tipos aritméticos
tipo de estructura para comparación de tiempo en el calendario

difftime(tiempo2 ,tiempo1 )
clock_t,time_t

tm

clock()

time()

s

tm_sec
tm_min
tm_hour
tm_mday
tm_mon

egundos antes del minuto
minutos antes de la hora
horas desde medianoche
días del mes
meses desde Enero
  • Links de descarga
http://lwp-l.com/pdf19343

Comentarios de: Tarjeta de Referencia Rápida C (ANSI) (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