Club de amigos de la electrónica de los Pedroches
Compartir conocimientos electrónica e informática, etc...
Conéctate o Regístrate
Email:
Contraseña:
Mantener conexión
Registrarse
Últimos comentarios
MariGut30
MariGut30
"Muffins de chocolare"
03-10-2019 02:40
MariGut30
MariGut30
"Resistores Diodos Transistores Circuitos integrado.."
12-09-2019 06:00
MariGut30
MariGut30
"Estas también es buena http://www.dachs.es/ os l.."
12-09-2019 05:56
Sin foto
Juan
"La tierra en stream directo desde la ISS (Estación.."
14-05-2014 12:44
Sin foto
Juan
"INTRODUCCIÓN Voy a intentar redactar una pequeña g.."
19-02-2014 23:53
Estadísticas
Nº Páginas Vistas
Actividad
2 Usuarios registrados
324 Comentarios creados
0 Usuarios conectados
Usuarios más activos
MariGut30
MariGut30
 
3 Comentarios
  
ANSI C e ISO C
Sin foto
Juan
03-02-2014 23:16

A finales de la década de 1970, C empezó a sustituir a BASIC como lenguaje de programación de microcomputadores predominante. Durante la década de 1980 se empezó a usar en los IBM PC, lo que incrementó su popularidad significativamente. Al mismo tiempo, Bjarne Stroustrup empezó a trabajar con algunos compañeros de Bell Labs para añadir funcionalidades de programación orientada a objetos a C. El lenguaje que crearon, llamado C++, es hoy en día el lenguaje de programación de aplicaciones más común en el sistema operativo Microsoft Windows; mientras que C sigue siendo más popular en el entorno Unix. Otro lenguaje que se desarrolló en esa época, Objective C, también añadió características de programación orientada a objetos a C. Aunque hoy en día no es tan popular como C++, se usa para desarrollar aplicaciones Cocoa para Mac OS X.

En 1983, el Instituto Nacional Estadounidense de Estándares organizó un comité, X3j11, para establecer una especificación estándar de C. Tras un proceso largo y arduo, se completó el estándar en 1989 y se ratificó como el "Lenguaje de Programación C" ANSI X3.159-1989. Esta versión del lenguaje se conoce a menudo como ANSI C, o a veces como C89 (para distinguirla de C99).

En 1990, el estándar ANSI (con algunas modificaciones menores) fue adoptado por la Organización Internacional para la Estandarización (ISO) en el estándar ISO/IEC 9899:1990. Esta versión se conoce a veces como C90. No obstante, "C89" y "C90" se refieren en esencia al mismo lenguaje.

Uno de los objetivos del proceso de estandarización del ANSI C fue producir una extensión al C de Kernighan y Ritchie, incorporando muchas funcionalidades no oficiales. Sin embargo, el comité de estandarización incluyó también muchas funcionalidades nuevas, como prototipos de función, y un preprocesador mejorado. También se cambió la sintaxis de la declaración de parámetros para hacerla semejante a la empleada habitualmente en C++:

main(argc, argv)
int argc;
char **argv;
{

...
}

pasó a ser

int main(int argc, char *argv[]) {
...
}

Sin foto
Juan
03-02-2014 23:20

ANSI C está soportado hoy en día por casi la totalidad de los compiladores. La mayoría del código C que se escribe actualmente está basado en ANSI C. Cualquier programa escrito sólo en C estándar sin código que dependa de un hardware determinado funciona correctamente en cualquier plataforma que disponga de una implementación de C compatible. Sin embargo, muchos programas han sido escritos de forma que sólo pueden compilarse en una cierta plataforma, o con un compilador concreto, esto puede ser debido a diversos motivos:

La utilización de bibliotecas no estándar, como interfaces gráficas de usuario.
El uso de compiladores que no cumplen las especificaciones del estándar.
El uso de tipos de datos suponiendo que tendrán el mismo tamaño u orden de los bits en todas las plataformas.

La macro __STDC__ puede usarse para dividir el código en secciones ANSI y K&R para el compilador.

# if __STDC__
extern int getopt(int,char * const *,const char *);
# else
extern int getopt();
# endif

Algunos programadores recomiendan usar \"#if __STDC__\", como en el ejemplo, en lugar de \"#ifdef __STDC__\" porque algunos compiladores le asignan el valor cero a __STDC__ para indicar que no son compatibles con ANSI.

En el siguiente ejemplo, el programa pide al usuario que introduzca un número. El programa dividirá dicho número entre 2 e imprimirá el resultado mientras que este sea par, y terminará cuando el número sea impar:

#include

int main(void) {
int numero;
fputs(\"Introduzca un número entero par: \", stdout);
scanf(\"%d\", &numero);
if (!numero) {
fputs(\"Error: numero no valido.\\n\", stderr);
return -1;
}
int i = 1;
while (numero%2 == 0) {
printf (\"%.3d| %d/2 = %d.\\n\", i++, numero, numero /= 2);
}
printf (\"No se puede seguir dividiendo: El numero %d es impar.\\n\", numero);
return 0;

2024 Topforo.com | Aviso legal | Uso de cookies | Hacer foro | Foros Ciencia y tecnología