Está en la página 1de 13

Republica Bolivariana de Venezuela Ministerio del Poder Popular para la Educacin Punta de Mata, EDO-Monagas L. B. Gral.

Ezequiel Zamora

CHANI TE AMOOO.

Profesor: Rondon, Carlos 3er ao de informtica A

Alumna: Canales, Yohana #03

Fecha de entrega: Enero del 2011.

ndice:

Introduccin:

1) lenguaje C(historia) : En 1972 fue creado el lenguaje C por Dennis M. Ritchie en los laboratorios Bell, este es un lenguaje orientado a la implementacin de sistemas operativos, este lenguaje C es apreciado por la eficiencia del cdigo que produce y es el lenguaje de programacin ms popular para crear software de sistemas, aunque tambin se utiliza para crear aplicaciones. La intencin que se tuvo al crear dicho programa fue el extender al exitoso lenguaje con mecanismos que permitieran la manipulacin de objetos. 2) Qu es lenguaje C? El lenguaje C es el resultado de un proceso de desarrollo. El lenguaje C es conocido como un lenguaje de nivel medio. Nivel medio no tiene un significado negativo, No significa que C sea menos poderoso, manejable o menos desarrollado que un lenguaje de alto nivel, como BASIC o Pascal. Tampoco implica que C sea similar a un lenguaje ensamblador con sus problemas asociados. Se considera C como un lenguaje de nivel medio ya que combina elementos de lenguajes de alto nivel con la funcionalidad del ensamblador. 3) Caractersticas de lenguaje C: El lenguaje C es un lenguaje compilado, existen 2 (dos) tipos de lenguaje: A) Los interpretados: Son aquellos que necesitan del cdigo fuente para funcionar. B) Compilados: Convierten el cdigo fuente en un fichero objeto y este es un fichero ejecutable. Este es el caso del lenguaje C. El lenguaje C combina elementos del lenguaje de alto nivel con funcionalidades del lenguaje ensamblador. Es un lenguaje estructurado, ya que permite crear procedimientos en bloques dentro de otros procedimientos.

El lenguaje C es un lenguaje portable, ya que permite utilizar el mismo cdigo en diferentes tipos de maquinas y sistemas informticos. 5) Caracteres especiales: 6) librera de lenguaje C:

*) stdio.h: Input and Output: <stdio.h>


FILE *fopen(const char *filename, const char *mode) FILE *freopen(const char *filename, const char *mode, FILE *stream) int fflush(FILE *stream) int fclose(FILE *stream) int remove(const char *filename) int rename(const char *oldname, const char *newname) FILE *tmpfile(void) char *tmpnam(char s[L_tmpnam]) int setvbuf(FILE *stream, char *buf, int mode, size_t size) void setbuf(FILE *stream, char *buf) int fprint(FILE *stream, const char *format, ) int sprintf(char *s, const char *format, ) vprintf(const char *format, va_list arg) vfprintf(FILE *stream, const char *format, va_list arg) vsprintf(char *s, const char *format, va_list arg) int fscanf(FILE *stream, const char *format, ) int scanf(const char *format, ) int sscanf(char *s, const char *format, ) int fgetc(FILE *stream) char *fgets(char *s, int n, FILE *stream) int fputc(int c, FILE *stream) int fputs(const char *s, FILE *stream) int getc(FILE *stream) int getchar(void) char *gets(char *s) int putc(int c, FILE *stream) int putchar(int c) int ungetc(int c, FILE *stream) size_t fread(void *ptr, size_t size, size_t nobj, FILE *stream) size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *stream) int fseek(FILE *stream, long offset, int orogin) long ftell(FILE *stream) void rewind(FILE *stream) int fgetpos(FILE *stream, fpos_t *ptr) int fsetpos(FILE *stream, const fpos_t *ptr) void clearerr(FILE *stream) int feof(FILE *stream)

int ferror(FILE *stream) void perror(const char *s)

*) ctype.h:Character Class Tests: <ctype.h>


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

*) string.h: String Functions: <string.h>


char *strcpy(s , ct) char *strncpy(s , ct , n) char *strcat(s , ct) char *strncat(s , ct , n) int strcmp(cs , ct) int strncmp(cs , ct ,n) char *strchr(cs , c) char *strrchr(cs , c) size_t strspn(cs , ct) size_t strcspn(cs , ct) char *strstr(cs , ct) size_t strlen(cs) char *strerror(n) char *strtok(s , ct)

*) math.h: Mathematical Functions: <math.h>


sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) atan2(x) sinh(x) cosh(x) tanh(x) exp(x) log(x)

log10(x) pow(x,y) sqrt(x) ceil(x) floor(x) fabs(x) ldexp(x) frexp(x,double *ip) modf(x,double *ip) fmod(x,y)

*) stdlib.h:Utility Functions: <stdlib.h>


double atof(const char *s) int atoi(const char *s long atol(const char *s) double strrod(const char *s, char **endp) long strtol(const char *s, char **endp, int base) unsigned long strtoul(const char *s, char **endp, int base) int rand(void) void srand(unsigned int seed) void *calloc(size_t nobj, size_t size) void *malloc(size_t size) void *realloc(void *p, size_t size) void free(void *p) void abort(void) void exit(int status) int atexit(void (*fcn)(void)) int system(const char *s) char *getenv(const char *name) void *bsearch(const void *key, const void *base, size_t n, size_t size, int (*cmp) (const void *keyval, const void *datum)) void qsort(void *base, size_t n, size_t size, int (*cmp)(const void *, const void *)) int abs(int n) long labs(long n) div_t div(int num, int denom) ldiv_t ldiv(long num , long denom)

*)assert.h: Diagnostics: <assert.h>

void assert(int expression)

*) setjmp.h: Non-local Jumps: <setjmp.h>


int setjmp(jmp_buf env) void longjmp(jmp_buf env, int val)

*) signal.h: Signals: <signal.h>

void (*signal(int sig, void (*handler)(int)))(int)

*) time.h: Data and Time Functions: <time.h>


clock_t clock(void) time_t time(time_t , *tp) double difftime(time_t time2 , time_t time1) time_t mktime(struct tm *tp) char *asctime(const time_t *tp) char *ctime(const time_t *tp) struct tm *gmtime(const time_t *tp) struct tm *localtime(const time_t *tp) size_t strftime(char *s, size_t smax, const char *fmt, const struct tm *tp)

7) Tipos de datos: C ofrece una coleccin de tipos de datos bastante limitada, aunque no por ello poco funcional. Dicha coleccin se compone de los siguientes tipos:
char:

Contenido: Puede contener un caracter del conjunto de caracteres locales Tamao: Normalmente3.1 1 byte.
int:

Contenido: Un nmero entero Tamao: El determinado por la arquitectura para nmeros enteros. En arquitecturas Intel/x86 es 4 bytes
float:

Contenido: Un nmero en coma flotante Tamao: El determinado por la arquitectura para nmeros en coma flotante. En arquitecturas Intel/x86 es 4 bytes
double

Contenido: Un nmero en coma flotante de precisin doble Tamao: El determinado por la arquitectura para nmeros en coma flotante de doble precisin. En arquitecturas Intel/x86 es 8 bytes

7) Constante: son aquellos valores que , una vez compilado el programa no pueden ser cambiados, (1000 , 2 , 'a' , '\n' , etc), suelen denominarse CONSTANTES. Como dichas constantes son guardadas en memoria de la manera que al compilador le resulta ms eficiente suelen aparecer ciertos efectos secundarios, a veces desconcertantes, ya que las mismas son afectadas por las reglas de RECONVERSION AUTOMATICA DE TIPO vista previamente. A fin de tener control sobre el tipo de las constantes, se aplican la siguientes reglas : Una variable expresada como entera (sin parte decimal) es tomada como tal salvo que se la siga de las letras F L (maysculas minsculas) ejemplos : 1 : tomada como ENTERA 1F : tomada como FLOAT 1L : tomada como LONG DOUBLE Una variable con parte decimal es tomada siempre como DOUBLE, salvo que se la siga de la letra F L 1.0 : tomada como DOUBLE 1.0F : tomada como FLOAT 1.0L : tomada como LONG FLOAT Si en cualquiera de los casos anteriores agregamos la letra U u la constante queda calificada como UNSIGNED (consiguiendo mayor alcance) : 1u : tomada como UNSIGNED INT 1.0UL : tomada como UNSIGNED LONG DOUBLE Una variable numrica que comienza con "0" es tomado como OCTAL asi : 012 equivale a 10 unidades decimales Una variable numrica que comienza con "0x" "0X" es tomada como hexadecimal: 0x16 equivale a 22 unidades decimales y 0x1A a 26 unidades decimales.

8) Constantes de caracteres: Cuando se escribe un carcter cualquiera entre comillas, el valor de esa constante es el que se especifica en la tabla de cdigos ASCII:

9) Operaciones aritmeticos:
Los operadores aritmticos nos permiten, bsicamente, hacer cualquier operacin aritmtica, que necesitemos (ejemplo: suma, resta, multiplicacin, etc). En la siguiente tabla se muestran los operadores de los que disponemos en C y su funcin asociada. 10) operaciones logicas:

Hay tres operadores que realizan las conectividades lgicas Y (AND) , O (OR) y NEGACION (NOT).

smbolo && ll

descripcin Y (AND) O (OR)

ejemplo (a > b)&&(c < d) (a > b) l l (c < d)

Orden de evaluacin

10 11 1

NEGACION (NOT) (a>b)

11) operaciones de bits: Como operadores a nivel de bit entendemos aquellos que toman los operandos como un conjunto de bits y operan con esos bits de forma individual.

12) Declaracin de punteros: un puntero es una variable. Al dedicar un inters especial en los punteros, puede dar la impresin de que son elementos separados de las variables. No es as. Son variables, y como veremos, podemos asignarles nuevos valores, e incluso realizar algunas operaciones aritmticas tiles con ellos. Una variable de tipo puntero est ntimamente ligada con el tipo al que apunta. Por ello, en la declaracin, escribimos el nombre del tipo al que apuntar nuestro puntero, seguido de asterisco, y por ltimo, el nombre del puntero. Ejemplo:
int *p_entero;

float *p_real; char *caracter;

Sern declaraciones de punteros que contendrn la direccin de memoria de un entero, un real y un carcter5.2 respectivamente. 13) sentencia if: La sentencia de control bsica es if (<e>) then <s> else <t>. En ella se evala una expresin condicional y si se cumple, se ejecuta la sentencia s; si no, se ejecuta la sentencia t. La segunda parte de la condicin, else <t>, es opcional. int cero ( double a ) { if ( a == 0.0 ) return (TRUE); else return (FALSE); } En el caso que <e> no sea una expresin condicional y sea aritmtica, se considera falso si vale 0; y si no, verdadero. Hay casos en los que se deben evaluar mltiples condiciones y nicamente se debe evaluar una de ellas. 14) sentecia while: Otras sentencias de control de flujo son las que nos permiten realizar iteraciones sobre un conjunto de sentencias. En C tenemos tres formas principales de realizar iteraciones. La sentencia while (<e>) <s> es seguramente la ms utilizada. La sentencia, o grupo de sentencias <s> se ejecuta mientras la evaluacin de la expresin <e> sea verdadera. long raiz ( long valor ) { long r = 1; while ( r * r <= valor ) r++; return r; }

Una variacin de la sentencia while es: do <s> while ( <e> ); En ella la sentencia se ejecuta al menos una vez, antes de que se evale la expresin condicional.

15) sentecia for: Otra sentencia iterativa, que permite inicializar los controles del bucle es la sentencia for ( <i>; <e>; <p> ) <s>. La sentencia for se puede escribir tambin como: <i>; while ( <e> ) { <s>; <p>; } El ejemplo anterior se podra escribir como: long raiz ( long valor ) { long r; for ( r = 1; r * r <= valor; r++ ) ; return r; } 16) Sentencias: do-while es la ltima de las estructuras para implementar repeticiones de las que dispone en Javascript y es una variacin del bucle while visto anteriormente. Se utiliza generalmente cuando no sabemos cuantas veces se habr de ejecutar el bucle, igual que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se ejecutar una vez.

También podría gustarte