Você está na página 1de 1

Tarjeta de referencia ANSI C (simplificada)

Estructura de programa/funciones
tipo func(tipo1,. . . ); tipo nombre; int main (void) { declaraciones instrucciones } tipo func(arg1,. . . ) { declaraciones instrucciones return valor1; } /* */ declaracin de prototipo de funciones declaracin de variables globales funcin principal sin argumentos definicin de variables locales

Operadores (segn precedencia)


acceso a elemento de vector v[nd] incremento, decremento ++, -ms, menos, no lgico, negacin bit a bit +, -, !, ~ acceso por puntero, direcc. de objeto *ptr, &var convertir tipo de expresin (tipo)expr tamao de un objeto sizeof producto, divisin, mdulo (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 lgico && O lgico || expresin condicional expr1 ? expr2 : expr3 operadores de asignacin =, +=, -=, *=, ... separador de evaluacin de expresin , Los operadores unarios, expresin condicional y operadores de asignacin se agrupan de dcha. a izda.; todos los dems de izda. a dcha.

convertir a minscula convertir a mayscula

tolower(c)

toupper(c)

Operaciones con cadenas <string.h>


s, t son cadenas, cs, ct son cadenas constantes longitud de s strlen(s) copiar ct en s strcpy(s,ct) ...hasta n caracteres strncpy(s,ct,n) concatenar ct tras s strcat(s,ct) ...hasta n caracteres strncat(s,ct,n) comparar cs con ct strcmp(cs,ct) ...slo los primeros n caracteres strncmp(cs,ct,n) puntero al primer c en cs strchr(cs,c) puntero al ltimo c en cs strrchr(cs,c)

definicin de funcin declaracin de variables locales

comentarios #include <fichero> #define nombre texto char int float double short long signed unsigned *int, *float,. . . static void tipo nombre=valor tipo v[]={valor1, ...} char str[]="cadena";

Entrada/Salida <stdio.h>
obtener un carcter getchar() imprimir un carcter putchar(car ) imprimir con formato printf("formato",arg1,. . . ) imprimir en cadena s sprintf(s,"formato",arg1,. . . ) leer con formato scanf("formato",&nombre1,. . . ) leer de cadena s sscanf(s,"formato",&nombre1,. . . ) leer lnea en cadena s gets(s) imprimir cadena s puts(s) Cdigos de E/S con formato: "%-+ 0w.pmc" alineacin a izquierda + imprimir con signo espacio imprimir espacio si no hay signo 0 rellenar por delante con ceros w anchura mnima del campo p precisin m carcter de conversin: h short, l long, L long double c carcter de conversin: d,i entero u sin signo c carcter s cadena de caracteres f doble e,E exponencial o octal x,X hexadecimal p puntero n nmero de caracteres escritos g,G como f e,E segn exponente

Preprocesador de C
incluir fichero de cabeceras sustitucin de texto carcter (1 byte) entero real (precisin simple) real (precisin doble) corto (entero de 16 bits ) largo (entero de 32 bits) con signo (positivo y negativo) slo positivo puntero a int, float,. . . variable esttica sin tipo

Tipos de datos. Declaraciones

Control de flujo
finalizador de instruccin ; delimitadores de bloque { } salir de switch, while, do, for break siguiente iteracin de while, do, for continue valor de retorno de funcin return expr Construcciones de flujo instruccin if if (expr) instruccin else if (expr) instruccin else instruccin instruccin while while (expr) instruccin instruccin for for (expr1; expr2; expr3) instruccin instruccin do do instruccin while(expr); instruccin switch switch (expr) { case const1: instruccin1 break; case const2: instruccin2 break; default: instruccin }

Inicializacin
Inicializar variable Inicializar vector Inicializar cadena

Constantes
hexadecimal (prefijo cero-equis) carcter cte. (char, octal, hex.) nueva lnea, ret. carro, tab. caracteres especiales cadena constante (termina en '\0')

0x 0X 'a', '\ooo', '\xhh' \n, \r, \t \\, \?, \', \" "abc. . . de"
tipo *nombre *puntero &nombre nombre[dim]

Funciones tiles <stdlib.h>


entero pseudo-aleatorio en [0,RAND_MAX] fijar la semilla aleatoria a n rand() srand(n)

Punteros y vectores
declarar un puntero a tipo objeto apuntado por puntero direccin del objeto nombre vector

Consulta de tipos de carcter <ctype.h>


c es un carcter alfanumrico? isalnum(c) alfabtico? isalpha(c) carcter de control? iscntrl(c) dgito decimal? isdigit(c) carcter imprimible (excl. espacio)? isgraph(c) letra minscula? islower(c) carcter imprimible (incl. espacio)? isprint(c) carcter puntuacin? ispunct(c) separador? isspace(c) letra mayscula? isupper(c) dgito hexadecimal? isxdigit(c)

Funciones matemticas <math.h>


los argumentos y valores devueltos son double funciones trigonomtricas sin(x), cos(x), tan(x) funciones trig. inversas asin(x), acos(x), atan(x) arctg(y/x) atan2(y,x) funciones trig. hiperblicas sinh(x), cosh(x), tanh(x) exponenciales y logaritmos exp(x), log(x), log10(x) exps. y logs. (base 2) ldexp(x,n), frexp(x,*e) divisin y resto modf(x,*ip), fmod(x,y) potencia y raz pow(x,y), sqrt(x) redondeo ceil(x), floor(x), fabs(x)

Tablas de verdad a&b a b a && b


0 0 1 1 0 1 0 1 0 0 0 1

a|b a || b
0 1 1 1

a^b
0 1 1 0

~a !a
1 1 0 0

Você também pode gostar