Want to make creations as awesome as this one?

Transcript

3. INTRODUCCIÓN A LENGUAJE C

FUNDAMENTOS DE PROGRAMACION

3.1 Historia

El lenguaje de programación C fue creado por Brian Kernighan y Dennis Ritchie a mediados de los años 70. La primera implementación del mismo la realizó Dennis Ritchie sobre un computador DEC PDP-11 con sistema operativo UNIX. C es el resultado de un proceso de desarrollo que comenzó con un lenguaje anterior, el BCPL, el cual influyó en el desarrollo por parte de Ken Thompson de un lenguaje llamado B, el cual es el antecedente directo del lenguaje C.

3.1 Historia

El lenguaje C es un lenguaje para programadores en el sentido de que proporciona una gran flexibilidad de programación y una muy baja comprobación de incorrecciones, de forma que el lenguaje deja bajo la responsabilidad del programador acciones que otros lenguajes realizan por si mismos. Así, por ejemplo, C no comprueba que el índice de referencia de un vector (llamado array en la literatura informática) no sobrepase el tamaño del mismo; que no se escriba en zonas de memoria que no pertenecen al área de datos del programa, etc.

3.1 Historia

El lenguaje C es un lenguaje estructurado, en el mismo sentido que lo son otros lenguajes de programación tales como el lenguaje Pascal, el Ada o el Modula-2, pero no es estructurado por bloques, o sea, no es posible declarar subrutinas (pequeños trozos de programa) dentro de otras subrutinas, a diferencia de como sucede con otros lenguajes estructurados tales como el Pascal. Además, el lenguaje C no es rígido en la comprobación de tipos de datos, permitiendo fácilmente la conversión entre diferentes tipos de datos y la asignación entre tipos de datos diferentes, por ejemplo la expresión siguiente es válida en C:

Desde su creación, surgieron distintas versiones de C, que incluían unas u otras características, palabras reservadas, etc. Este hecho provoco la necesidad de unificar el lenguaje C, y es por ello que surgió un standard de C, llamado ANSI-C, que declara una serie de características, etc., que debe cumplir todo lenguaje C. Por ello, y dado que todo programa que se desarrolle siguiendo el standard ANSI de C será fácilmente portable de un modelo de ordenador a otro modelo de ordenador, y de igual forma de un modelo de compilador a otro, en estos apuntes explicaremos un C basado en el standard ANSI-C.

3.1 Historia

Todo programa de C consta, básicamente, de un conjunto de funciones, y una función llamada main, la cual es la primera que se ejecuta al comenzar el programa, llamándose desde ella al resto de funciones que compongan nuestro programa.

El lenguaje C posee un número reducido de palabras reservadas (tan solo 32) que define el standard ANSI-C. Estas palabras reservadas pueden verse en la tabla siguiente:

3.1 Historia

4.2 Características de los tipos de datos básicos

float/double

int

char

4. TIPOS DE DATOS VARIABLES

4.1 Tipos de datos básicos

C ofrece tres tipos de datos básicos: Números enteros definidos con la palabra clave int Letras o caracteres definidos con la palabra clave char Números reales o en coma flotante definidos con las palabras claves float o double

4.3 Declaración de variables

Cada variable debe ser declarada antes de ser utilizada en el programa. Como las variables se almacenan en la memoria RAM, es necesario reservar el espacio para ellas (uno, dos o más bytes). Al escribir un programa, usted sabe qué tipo de datos quiere utilizar y qué tipo de datos espera como resultado de una operación, mientras que el compilador no lo sabe. No se olvide de que el programa maneja las variables con los nombres asignados. El compilador las reconoce como números en la memoria RAM sin conocer su tamaño y formato. Para mejorar la legibilidad de código, las variables se declaran con frecuencia al principio de las funciones:<tipo> variable;Es posible declarar más de una variable de una vez si tienen el mismo tipo.<tipo> variable1, variable2, variable3;

4.3 Declaración de variables

Aparte del nombre y del tipo, a las variables se les asignan con frecuencia los valores iniciales justamente enseguida de su declaración. Esto no es un paso obligatorio, sino ‘una cuestión de buenas costumbres’. Se parece a lo siguiente: unsigned int peso; // Declarar una variable llamada peso peso = 20; // Asignar el valor 20 a la variable peso Un método más rápido se le denomina declaración con inicialización (asignación de los valores iniciales): unsigned int peso = 20; // peso está declarado y su valor es 20 Si hay varias variables con el mismo valor inicial asignado, el proceso se puede simplificar: unsigned int peso1 = peso2 = peso3 = 20; int valor_inicial = un_mínimo_de_petróleo = 0;

5. FUNCIONES DE ENTRADA Y SALIDA

C ofrece un conjunto de funciones para realizar operaciones de entrada y salida (E/S) con las cuales puedes leer y escribir cualquier tipo de fichero. En C, un fichero se puede referir a un fichero en disco, a un terminal, a una impresora, etc. Dicho de otro modo, un fichero representa un dispositivo concreto con el que puedes intercambiar información. C trata a cualquier tipo de fichero como una serie de bytes (o caracteres). Este conjunto de bytes, que es lo que realmente se transfiere entre un fichero y un programa, se le conoce como flujo (stream en inglés). Antes de poder trabajar con un fichero, tienes que abrir ese fichero. En C cuentas con 3 flujos de ficheros que ya están abiertos, disponibles para que se usen en cualquier programa: stdin: La entrada estándar de lectura. Generalmente va asociado al teclado. stdout: La salida estándar de escritura. Generalmente va asociado a la pantalla del terminal. stderr: La salida estándar de escritura para mensajes de error. Generalmente también va asociado a la pantalla del terminal. En las siguientes secciones veremos diferentes formas de usar stdin y stdout. Todas las operaciones que vamos a ver necesitan la librería stdio.h para funcionar.

función scanf

función putc/putchar

+ info
5.1 Entrada y salida de caracteres

función getc/getchar

Retenemos un 42% más de información cuando el contenido se mueve? Es quizá el recurso más efectivo para captar la atención de tu audiencia.

¿Sabías que...

Retenemos un 42% más de información cuando el contenido se mueve? Es quizá el recurso más efectivo para captar la atención de tu audiencia.

¿Sabías que...

Retenemos un 42% más de información cuando el contenido se mueve? Es quizá el recurso más efectivo para captar la atención de tu audiencia.

¿Sabías que...

ENTEROSSe definen con “int” y admiten de forma opcional dos prefijos modificadores:“short” y “long”: Modifica el tamaño en bits del entero. Existen por tanto tres tipos de enteros: “int”, “short int” (que se puede abreviar como “short”), y “long int” (que se puede abreviar como “long”). El lenguaje C no define tamaños fijos para sus tipos de datos básicos. Lo único que garantiza es que un short int tiene un tamaño menor o igual que un int y este a su vez un tamaño menor o igual a un long int. Esta característica del lenguaje ha complicado la creación de programas que sean compatibles entre varias plataformas. “unsigned”: define un número natural (mayor o igual a cero).

Letras y cadenas.Las variables de tipo letra se declaran como “char”. Para referirse a una letra se rodea de comillas simples: 'M'. Como las letras se representan internamente como números, el lenguaje C permite realizar operaciones aritméticas como 'M' + 25. Las cadenas de texto o strings son simplemente tablas de “char”. Las funciones de biblioteca para manipular estas cadenas asumen que el último byte tiene valor cero. Las cadenas de texto se escriben en el programa rodeadas de dobles comillas y contienen el valor cero al final.

Los números reales se definen con “float” o “double”. La diferencia entre ambas es la precisión que ofrece su representación interna. Hay un número infinito de reales, pero se representan con un número finito de bits. A mayor número de bits, mayor número de reales se representan, y por tanto, mayor precisión. Los reales definidos con “double” tienen un tamaño doble a los definidos con “float”. Al igual que en el caso de los enteros, el tamaño de estas representaciones varía de una plataforma a otra. Algunas plataformas ofrecen números reales con tamaño mayor al “double” que se definen como “long double”. Los tamaños típicos para los tipos “float”, “double” y “long double” son 4, 8 y 12 bytes respectivamente.

#untítulogenial

Truquito:

La interactividad es la pieza clave para captar el interés y la atención de tu audiencia. Un genially es interactivo porque tu público explora y se relaciona con él.