PDF de programación - tarjeta referencia ANSI C

<<>>
Imágen de pdf tarjeta referencia ANSI C

tarjeta referencia ANSI Cgráfica de visualizaciones

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 21 de Marzo del 2018 (Publicado el 1 de Enero del 2018)
686 visualizaciones desde el 1 de Enero del 2018
73,3 KB
2 paginas
Tarjeta de referencia ANSI C

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

declaraci(cid:19)on de funciones
declaraci(cid:19)on de variables globales
funci(cid:19)on principal
declaraci(cid:19)on de variables locales

declaraciones
instrucciones

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

declaraciones
instrucciones
return valor ;

de(cid:12)nici(cid:19)on de funci(cid:19)on
declaraci(cid:19)on de variables locales

comentarios

}
/* */
main(int argc, char *argv[]) programa con argumentos
Preprocesador de C
incluir (cid:12)chero de cabeceras
incluir (cid:12)chero de usuario
sustituci(cid:19)on de texto
macro con argumentos

#define nombre texto
#define nombre(var ) texto

#include <(cid:12)chero>
#include "(cid:12)chero"

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

#undef nombre
#
##

#if, #else, #elif, #endif

#ifdef, #ifndef
defined(nombre )

anular de(cid:12)nici(cid:19)on
entrecomillar al reemplazar
concatenar argumentos y reescanear
compilaci(cid:19)on condicional
>nombre de(cid:12)nido, no de(cid:12)nido?
>nombre de(cid:12)nido?
car(cid:19)acter de continuaci(cid:19)on de l(cid:19)(cid:16)nea
Tipos de datos. Declaraciones
car(cid:19)acter (1 byte)
entero
real (precisi(cid:19)on simple)
real (precisi(cid:19)on doble)
corto (entero de 16 bits )
largo (entero de 32 bits)
positivo y negativo
s(cid:19)olo positivo
puntero a int, float,: : :
enumeraci(cid:19)on
valor constante (inalterable)
declaraci(cid:19)on de variable externa
variable registro
variable est(cid:19)atica
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(cid:19)on
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(cid:13) 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 (su(cid:12)jo)
real de precisi(cid:19)on simple (su(cid:12)jo)
notaci(cid:19)on cient(cid:19)(cid:16)(cid:12)ca
octal (pre(cid:12)jo cero)
hexadecimal (pre(cid:12)jo cero-equis)
car(cid:19)acter constante (char, octal, hex.)
nueva l(cid:19)(cid:16)nea, ret. de carro, tab., borrado
caracteres especiales
cadena constante (termina con (cid:13)\0(cid:13))
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(cid:19)erico
valor de puntero a nulo
objeto apuntado por puntero
direcci(cid:19)on del objeto nombre
vector
vector multidimensional
Estructuras

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

(cid:13)a(cid:13), (cid:13)\ooo(cid:13), (cid:13)\xhh(cid:13)
\n, \r, \t, \b
\\, \?, \(cid:13), \"
"abc: : : de"

nombre[dim 1][dim 2]: : :

struct etiqueta {

declaraciones

};

plantilla de estructura
declaraci(cid:19)on de campos

crear estructura
campo de estructura
campo de estructura a trav(cid:19)es 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[(cid:19)(cid:16)ndice]
++, --
+, -, !, ~
*puntero, &nombre
(tipo)expr
sizeof

estructura m(cid:19)ultiple, valor (cid:19)unico
campo de bits con b bits
Operadores (seg(cid:19)un precedencia)
acceso a campo de estructura
acceso por puntero
acceso a elemento de vector
incremento, decremento
m(cid:19)as, menos, no l(cid:19)ogico, negaci(cid:19)on bit a bit
acceso por puntero, direcc. de objeto
convertir tipo de expresi(cid:19)on
tama~no de un objeto
producto, divisi(cid:19)on, m(cid:19)odulo (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(cid:19)ogico
\O" l(cid:19)ogico
expresi(cid:19)on condicional
operadores de asignaci(cid:19)on
separador de evaluaci(cid:19)on de expresiones
Los operadores unarios, expresi(cid:19)on condicional y operadores de asig-
naci(cid:19)on se agrupan de dcha. a izda.; todos los dem(cid:19)as de izda. a dcha.

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

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

*, /, %
+, -

<<, >>

Control de (cid:13)ujo
(cid:12)nalizador de instrucci(cid:19)on
delimitadores de bloque
salir de switch, while, do, for
siguiente iteraci(cid:19)on de while, do, for
ir a
etiqueta
valor de retorno de funci(cid:19)on
Construcciones de (cid:13)ujo
instrucci(cid:19)on if

instrucci(cid:19)on while

instrucci(cid:19)on

instrucci(cid:19)on

if (expr )
else if (expr )
else
while (expr )
instrucci(cid:19)on

instrucci(cid:19)on

}

;
{
break
continue
goto etiqueta
etiqueta:
return expr

instrucci(cid:19)on for

for (expr 1; expr 2; expr 3)

instrucci(cid:19)on do

instrucci(cid:19)on switch

instrucci(cid:19)on

instrucci(cid:19)on

do
while(expr );
switch (expr ) {

case const 1:
case const 2:
default:

instrucci(cid:19)on

instrucci(cid:19)on 1 break;
instrucci(cid:19)on 2 break;

}

Bibliotecas ANSI est(cid:19)andar
<assert.h>
<locale.h>
<stddef.h>
Consulta de tipos de car(cid:19)acter <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(cid:19)acter

>alfanum(cid:19)erico?
>alfab(cid:19)etico?
>car(cid:19)acter de control?
>d(cid:19)(cid:16)gito decimal?
>car(cid:19)acter imprimible (exclu(cid:19)(cid:16)do espacio)?
>letra min(cid:19)uscula?
>car(cid:19)acter imprimible (incl. espacio)?
>car. impr. excepto espacio, letra, d(cid:19)(cid:16)gito?
>separador?
>letra may(cid:19)uscula?
>d(cid:19)(cid:16)gito hexadecimal?
convertir a min(cid:19)uscula
convertir a may(cid:19)uscula
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(cid:19)olo los primeros n caracteres

puntero al primer c en cs
puntero al (cid:19)ultimo 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(cid:19)andar
(cid:13)ujo de entrada est(cid:19)andar
(cid:13)ujo de salida est(cid:19)andar
(cid:13)ujo de error est(cid:19)andar
(cid:12)nal de (cid:12)chero
obtener un car(cid:19)acter
imprimir un car(cid:19)acter
imprimir con formato
imprimir en cadena s
leer con formato
leer de cadena s
leer l(cid:19)(cid:16)nea en cadena s
imprimir cadena s
E/S de (cid:12)cheros
declarar puntero a (cid:12)chero
obtener puntero a (cid:12)chero

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~nadir)

obtener un car(cid:19)acter
escribir un car(cid:19)acter
escribir en (cid:12)chero
leer de (cid:12)chero
cerrar (cid:12)chero
distinto de cero si error
distinto de cero si EOF
leer l(cid:19)(cid:16)nea en cadena s (< max cars.)
escribir cadena s
C(cid:19)odigos de E/S con formato: "%-+ 0w:pmc"

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

-
+

alineaci(cid:19)on a izquierda
imprimir con signo

space imprimir espacio si no hay signo

rellenar por delante con ceros

0
w anchura m(cid:19)(cid:16)nima del campo
p
m car(cid:19)acter de conversi(cid:19)on:

precisi(cid:19)on

h

short,

l

long,

L

long double

c

car(cid:19)acter de conversi(cid:19)on:

d,i entero

car(cid:19)acter

c
f doble
octal
o
p puntero

u
s

sin signo
cadena de caracteres

e,E exponencial
x,X hexadecimal

n n(cid:19)umero de caracteres escritos

g,G como f o e,E seg(cid:19)un cu(cid:19)al 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 (cid:19)ultimo par(cid:19)ametro con nombre de la funci(cid:19)on

siguiente arg. sin nom., actualizar punt.
invocar antes de salir de la funci(cid:19)on

va_arg(nombre ,tipo)
va_end(nombre )

Funciones (cid:19)utiles <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]
(cid:12)jar la semilla aleatoria a n
(cid:12)nalizar ejecuci(cid:19)on 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 pre(cid:12)jo de s a double
convertir pre(cid:12)jo 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~no 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

segundo
  • Links de descarga
http://lwp-l.com/pdf8116

Comentarios de: tarjeta referencia ANSI C (1)

Hugo Esquivel
15 de Marzo del 2019
estrellaestrellaestrellaestrellaestrella
Perfecto documento.
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad