0% encontró este documento útil (0 votos)
22 vistas14 páginas

Lengua de Programacion 222222

El capítulo describe la importancia y versatilidad del lenguaje C, incluyendo su uso en sistemas embebidos, aplicaciones de red y procesamiento de señales. También explica que C es un lenguaje de bajo nivel que permite control sobre hardware y eficiencia, además de ser portable.

Cargado por

transporteunefa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas14 páginas

Lengua de Programacion 222222

El capítulo describe la importancia y versatilidad del lenguaje C, incluyendo su uso en sistemas embebidos, aplicaciones de red y procesamiento de señales. También explica que C es un lenguaje de bajo nivel que permite control sobre hardware y eficiencia, además de ser portable.

Cargado por

transporteunefa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

LO QUE TRATA EL CAPITULO 1 DEL LIBRO

La importancia y versatilidad del lenguaje C en el mundo de la programación


radica en varios aspectos. Primero, C es un lenguaje de bajo nivel, lo que significa
que permite un mayor control sobre el hardware y las operaciones de nivel de
sistema. Esto hace que C sea muy útil en aplicaciones que requieren una alta
eficiencia de procesamiento y acceso directo a los recursos del sistema, como en
el desarrollo de controladores de dispositivos, sistemas operativos y aplicaciones
de alto rendimiento.
Además, C es un lenguaje muy portátil y está ampliamente disponible en la
mayoría de los sistemas operativos y plataformas. Esto significa que un programa
escrito en C puede ser fácilmente transferido a diferentes sistemas sin tener que
realizar muchos cambios en el código.
La versatilidad de C también se debe a su capacidad para ser utilizado en una
amplia variedad de aplicaciones y campos, incluyendo sistemas embebidos,
aplicaciones de red, desarrollo de videojuegos, procesamiento de señales y
mucho más.
C es un lenguaje de programación que permite una gran cantidad de flexibilidad
en la escritura del código, lo que lo hace atractivo para programadores
experimentados que buscan un mayor control sobre sus aplicaciones. Además, C
es un lenguaje de aprendizaje efectivo para los programadores principiantes, ya
que proporciona una base sólida para comprender otros lenguajes de
programación de alto nivel.

HISTORIA Y EVOLUCIÓN DEL LENGUAJE DE PROGRAMACIÓN “C”


El lenguaje de programación C fue creado por Dennis Ritchie en los laboratorios
Bell de AT&T en la década de 1970. Ritchie desarrolló C como una evolución del
lenguaje de programación B, que a su vez era una versión mejorada del lenguaje
BCPL.

C se diseñó originalmente para ser utilizado en el desarrollo del sistema operativo


UNIX, que también fue creado en los laboratorios Bell. La simplicidad y la
eficiencia de C lo convirtieron en un lenguaje muy popular entre los
programadores y se extendió rápidamente más allá del ámbito de UNIX.
En 1983, se publicó la primera edición del estándar ANSI C, que estableció una
especificación formal del lenguaje. Esta estandarización permitió que C se utilizara
de manera más consistente en diferentes plataformas y compiladores.

A lo largo de los años, C ha evolucionado y se han creado diferentes versiones y


extensiones del lenguaje. En 1989, se publicó la segunda edición del estándar
ANSI C, conocida como C89 o C90. En 1999, se publicó el estándar C99, que
introdujo nuevas características y mejoras al lenguaje. Posteriormente, en 2011,
se publicó el estándar C11, que también agregó nuevas características y mejoras.

C ha influido en el desarrollo de muchos otros lenguajes de programación, como


C++, C#, Objective-C y Java, entre otros. Su influencia se debe a su simplicidad,
eficiencia y capacidad para acceder directamente a los recursos del sistema, lo
que lo hace especialmente adecuado para el desarrollo de sistemas operativos y
aplicaciones de bajo nivel.

CARACTERÍSTICAS PRINCIPALES DE PROGRAMACIÓN EN “C”


El lenguaje de programación C es conocido por sus características principales,
que incluyen:

Estructura simple: C es un lenguaje de bajo nivel, lo que significa que es más


cercano al código binario y ofrece un control preciso sobre el hardware. Esto le da
a C una estructura simple y directa.

Eficiencia: El código escrito en C es generalmente eficiente y rápido, lo que lo


hace adecuado para aplicaciones que requieren un alto rendimiento.

Portabilidad: C es un lenguaje de propósito general que se puede ejecutar en


una amplia variedad de plataformas y sistemas operativos, lo que lo hace
altamente portátil.

Control sobre el hardware: C permite un control directo sobre el hardware, lo


que lo hace adecuado para desarrollar sistemas de nivel bajo, como controladores
de dispositivos y sistemas operativos.
Tipado estático: C utiliza un sistema de tipado estático, lo que significa que se
deben declarar y especificar los tipos de datos antes de utilizarlos. Esto ayuda a
detectar errores de tipo durante la compilación.

Punteros: C utiliza punteros, que son variables que almacenan la dirección de


memoria de otro valor. Esto le da a C una gran flexibilidad y potencia, pero
también puede ser peligroso si no se manejan correctamente.

Biblioteca estándar: C cuenta con una biblioteca de funciones estándar amplia


y potente, lo que permite realizar una variedad de tareas sin tener que escribir
código desde cero.

Modularidad: El lenguaje C permite dividir el código en módulos o archivos, lo


que facilita la organización y mantenimiento de grandes proyectos.

Preprocesador: C utiliza un preprocesador que permite la expansión de


macros y la inclusión de archivos de cabecera, lo que facilita la reutilización del
código y la modularidad.

Fácil de aprender: A pesar de su potencia y flexibilidad, C es un lenguaje de


programación relativamente fácil de aprender para aquellos con una buena base
en programación de bajo nivel.

ESTRUCTURA DE UN PROGRAMA EN “C”

Un programa en C generalmente se estructura de la siguiente manera:

Preprocesador (#include): En el principio del código, se incluyen archivos de


cabecera que contienen declaraciones y definiciones utilizadas en el programa.
Estas declaraciones pueden ser funciones, estructuras, constantes, entre otros.
Declaración de funciones (void): Se definen las funciones que se utilizarán en el
programa. Cada función tiene un nombre, un tipo de retorno y un conjunto de
parámetros.

Función principal (main): Es la función que se ejecuta automáticamente cuando


se ejecuta el programa. La función main tiene la siguiente estructura:

int main(void)
{
// Código que se ejecutará
return 0;
}

Código principal: Aquí se escribe el código que realiza las tareas específicas del
programa. Esto incluye la interacción con el usuario, el procesamiento de datos y
la salida de resultados.

Funciones auxiliares: Las funciones auxiliares son funciones que se utilizan


para realizar tareas específicas dentro del programa. Estas funciones pueden ser
llamadas desde la función principal o desde otras funciones.

Finalización del programa: Al final del código, se agregan instrucciones para


liberar recursos y finalizar el programa de manera adecuada.

A continuación, se presenta un ejemplo de estructura básica de un programa en C:

#include <stdio.h>

// Declaración de funciones
void funcion1(int a, int b);
int funcion2(int c, int d);

int main(void)
{
int numero1 = 5;
int numero2 = 10;

printf("El resultado es: %d\n", funcion1(numero1, numero2));


printf("El resultado de la suma es: %d\n", funcion2(numero1, numero2));

return 0;
}

// Funciones auxiliares
void funcion1(int a, int b)
{
int resultado = a + b;
printf("La suma es: %d\n", resultado);
}

int funcion2(int c, int d)


{
int suma = c + d;
return suma;
}
COPILACION Y EJECUCIÓN DE PROGRAMACIÓN EN “C”

Compilar: El compilador es un programa que traduce el código fuente escrito en


C a un código máquina, que es una representación en lenguaje de máquina que el
procesador puede entender y ejecutar. Para compilar un programa en C, utiliza el
comando "gcc" (GNU Compiler Collection) en la terminal o línea de comandos.
Asegúrate de tener instalado el paquete "gcc" en tu sistema. Aquí hay un ejemplo
de cómo compilar un archivo llamado "programa.c":
gcc programa.c -o ejecutable

Este comando generará un archivo ejecutable llamado "ejecutable" (o puedes


especificar otro nombre).

Ejecutar: Una vez que tienes un archivo ejecutable, puedes ejecutar tu


programa en C. Para ello, utiliza el comando "./" seguido del nombre del archivo
ejecutable en la terminal o línea de comandos. Aquí hay un ejemplo:

./ejecutable

Si todo está correcto, deberías ver el resultado de tu programa en la pantalla.

Ten en cuenta que antes de compilar y ejecutar, asegúrate de tener todos los
archivos necesarios, como los encabezados (.h) y las bibliotecas (.lib o .a)
requeridas por tu programa. También es importante compilar y ejecutar tu
programa en un entorno compatible con C y tener conocimientos básicos de la
sintaxis y estructura del lenguaje C.

TIPOS DE DATOS Y OPERADORES EN C

Tipos de datos en C:

int: Entero o número entero, que puede ser de signo (-) o sin signo (+).
char: Carácter, generalmente un solo byte que representa un caracter ASCII.
float: Número con coma flotante, que almacena números con decimales.
double: Número con doble precisión, que almacena números con decimales
con mayor precisión que float.
void: No hay valor, se utiliza para indicar que una función no retorna un valor.
bool: Verdadero o falso, introducido en C99.
long: Entero más largo en términos de almacenamiento.
short: Entero más corto en términos de almacenamiento.
unsigned: Entero sin signo, que no puede almacenar valores negativos.
long double: Número con doble precisión, similar a double, pero con mayor
precisión en algunos sistemas.
size_t: Tipo de tamaño de memoria utilizado en funciones que devuelven
tamaños.
wchar_t: Carácter ampliado, utilizado para almacenar caracteres Unicode.

Operadores en C:

Operadores aritméticos: +, -, *, / (división), % (módulo).


Operadores de incremento y decremento: ++ (incremento) y -- (decremento).
Operadores de asignación: =, +=, -=, *=, /=, %=.
Operadores de comparación: == (igualdad), != (desigualdad), < (menor), >
(mayor), <= (menor o igual), >= (mayor o igual).
Operadores lógicos: && (AND), || (OR), ! (NOT).
Operadores de bit a bit: & (AND), | (OR), ^ (XOR), ~ (NOT), << (desplazamiento
de bits hacia la izquierda), >> (desplazamiento de bits hacia la derecha).
Operadores de incremento y decremento de bit: <<=, >>=, &=, |=, ^=.
Operador de condicional (ternario): ? (condicional) : (expresión alternativa).
Operador de direccionamiento: & (dirección de memoria)
LO QUE TRATA EL CAPITULO 2 DEL LIBRO

LOS APUNTADORES: son variables que almacenan direcciones de memoria de


variables o objetos. Funcionan como indicadores en la memoria, permitiendo
manipular datos y objetos sin almacenar valores directamente en las variables.
Los apuntadores se declaran con un asterisco (*) y se utilizan para asignar
direcciones de memoria y acceder a valores almacenados en esas direcciones.
Sin embargo, es importante manejar con cuidado para evitar problemas en el
programa
LOS "ARREGLOS" se conocen como "punteros a matriz". Son estructuras de
datos que permiten almacenar y organizar múltiples elementos de un tipo dado en
una sola variable. Los arreglos en C son muy útiles para trabajar con grandes
cantidades de datos y para simplificar la manipulación de esos datos en el código.
Para declarar un arreglo en C, se utiliza el siguiente formato:
tipo_de_dato nombre_del_arreglo[tamanio];

Donde:

 tipo_de_dato es el tipo de elemento que se almacenará en el arreglo (por


ejemplo, int, float, char, etc.).
 nombre_del_arreglo es el nombre que se le dará a la variable que
representará al arreglo.
 tamanio es la cantidad de elementos que se desea almacenar en el arreglo.

LAS CADENAS DE CARACTERES son secuencias de caracteres


almacenados en la memoria como una serie de bytes. Estas cadenas se utilizan
comúnmente para representar texto o palabras en el código.

En C, las cadenas de caracteres se definen utilizando el tipo de dato "char" y se


delimitan con comillas dobles (""). Por ejemplo: "Hola Mundo". La última comilla
doble indica el final de la cadena.

Las cadenas de caracteres en C son útiles para almacenar y manipular texto en


aplicaciones y programas. Al trabajar con cadenas, es importante tener en cuenta
la seguridad y la capacidad de memoria asignada para evitar errores y problemas
de seguridad.
COMO SE DEFINE Y SE DECLARA UNA FUNCIÓN EN “C”

el lenguaje de programación C, se define, declara y llama a una función de la


siguiente manera:

1. Definición de una función: Una función se define utilizando el keyword


"void" (si no devuelve valor) o el tipo de dato que devuelve, seguido del
nombre de la función y paréntesis vacíos (). A continuación, se coloca el
cuerpo de la función entre llaves {}. Aquí hay un ejemplo de definición de
una función que imprime un mensaje:

void imprimeMensaje() {
printf("Este es un mensaje.\n");
}

2. Declaración de una función: Para declarar una función, se utiliza el


keyword "extern" seguido del tipo de dato de retorno y el nombre de la
función. A continuación, se coloca el cuerpo de la función entre llaves {}. En
este ejemplo, se declara una función llamada "suma":

extern int suma(int a, int b);

3. Llamada a una función: Para llamar a una función, se utiliza el nombre de


la función seguido de paréntesis (). Si una función requiere argumentos, se
deben proporcionar dentro de los paréntesis. Aquí hay un ejemplo de llamar
a la función "imprimeMensaje" y "suma":

imprimeMensaje();
int resultado = suma(5, 3);

.
ESTRUCTURAS Y UNIONES EN “C”

Las estructuras y uniones del lenguaje de programación C son elementos


fundamentales que permiten organizar y estructurar el código de manera eficiente
y legible. Estas herramientas ayudan a los desarrolladores a realizar diferentes
tareas en el proceso de programación. Vamos a analizar algunas de las
estructuras y uniones más comunes en C:

1. Estructuras de control: a. Secuencial: Consiste en el flujo natural de


instrucciones desde el principio hasta el final del programa. b. Decisión:
Permite tomar decisiones en función de condiciones específicas, utilizando
estructuras como "if" y "if-else". c. Repetición: Permite ejecutar un conjunto
de instrucciones múltiples veces, utilizando estructuras como "while", "do-
while" y "for". d. Salto: Permite saltar a una etiqueta específica en el código
utilizando instrucciones como "break", "continue" y "goto".
2. Estructuras de datos: a. Variables: Son contenedores de valores que
pueden ser de diferentes tipos, como enteros, decimales, caracteres, entre
otros. b. Arreglos: Son colecciones ordenadas de variables de un mismo
tipo. c. Punteros: Son variables que almacenan la dirección de memoria de
otra variable. d. Uniones: Permiten almacenar diferentes tipos de datos en
la misma ubicación de memoria. e. Estructuras: Son agrupaciones de
diferentes tipos de variables relacionadas con un mismo propósito. f.
Estructuras de árbol: Son estructuras de datos compuestas por nodos con
una relación jerárquica.
3. Uniones: Las uniones en C permiten agrupar diferentes tipos de datos en
la misma ubicación de memoria. Esto es útil cuando se desea almacenar
varios tipos de datos en una sola variable.
LOS BITFIELDS Y ENUMERACIONES EN “C”

En el lenguaje de programación C, Bitfields y enumeraciones son dos conceptos


importantes que ayudan a organizar y representar datos de manera efectiva.

1. Bitfields: Un bitfield es una estructura de datos utilizada en C que permite


agrupar y trabajar con bits individuales en lugar de bytes enteros. Los
bitfields se definen dentro de una estructura y se utilizan para almacenar
valores booleanos (verdadero/falso) o valores numéricos de bajo nivel. Esto
puede ser útil en situaciones donde se necesita controlar y manipular bits
específicos dentro de una variable.

Ejemplo de cómo se define un bitfield en C:

struct MiEstructura {
unsigned int bitfield:2; // Este bitfield tiene 2 bits
// ...
};

2. Enumeraciones: Las enumeraciones en C son una forma de crear un tipo


de dato personalizado que representa un conjunto de valores discretos
relacionados. En lugar de utilizar enteros o cadenas de texto para
representar estos valores, las enumeraciones permiten asignar nombres
amigables y legibles a los valores. Esto facilita la comprensión y la
mantenibilidad del código.

Ejemplo de cómo se define una enumeración en C:

enum DiasDeLaSemana {
Lunes,
Martes,
Miércoles,
Jueves,
Viernes,
Sabado,
Domingo
};

En este ejemplo, cada día de la semana se representa mediante un valor


numérico asociado, pero su nombre es mucho más fácil de recordar y utilizar en el
código
PUNTEROS Y ARREGLOS EN “C”

En el lenguaje de programación C, los punteros y arreglos son conceptos


fundamentales y se utilizan con frecuencia en el desarrollo de programas.

1. Punteros: Un puntero es una variable que almacena la dirección de


memoria de otro valor o objeto en la memoria del sistema. En C, los
punteros se declaran utilizando el asterisco (*) seguido del tipo de dato al
que apuntará. Por ejemplo, int *puntero; declara un puntero a un entero.
Los punteros son útiles para acceder y modificar datos almacenados en
distintas partes de la memoria.

Uso de punteros:

 Almacenar direcciones de memoria de variables.


 Pasar argumentos por referencia a las funciones.
 Crear y manejar estructuras y arreglos dinámicamente.
 Realizar operaciones de copia y asignación de variables.

2. Arreglos: Un arreglo es una colección ordenada de variables del mismo


tipo, que se almacenan en una sola variable. En C, se declaran utilizando
corchetes [] después del tipo de dato y el nombre del arreglo. Por ejemplo,
int miArreglo[10]; declara un arreglo de enteros con 10 elementos.

Uso de arreglos:

 Almacenar y acceder a múltiples variables de un mismo tipo.


 Recorrer y manipular conjuntos de datos.
 Pasar arreglos como argumentos a las funciones.
 Crear y utilizar arreglos multidimensionales.

LA ASIGNACIÓN DINÁMICA DE MEMORIA en “C”


LA ASIGNACIÓN DINÁMICA DE MEMORIA EN EL LENGUAJE DE
PROGRAMACIÓN C es un proceso mediante el cual un programa solicita y
reserva memoria durante la ejecución del programa. Permite a los programadores
asignar y liberar memoria según sea necesario, lo que es especialmente útil
cuando el tamaño de los datos que se van a manejar no se conoce de antemano o
puede variar durante la ejecución del programa.

En C, la asignación dinámica de memoria se realiza a través de las funciones


`malloc`, `calloc` y `realloc`, que permiten reservar un bloque de memoria en el
heap (una región de memoria dinámica) durante la ejecución del programa. Estas
funciones devuelven un puntero a la primera dirección de memoria del bloque
reservado.

- La función `malloc` (memory allocation) se utiliza para asignar una cantidad


específica de bytes de memoria.

- La función `calloc` (contiguous allocation) se utiliza para asignar un bloque de


memoria e inicializar todas sus posiciones en cero.

- La función `realloc` (reallocate) se utiliza para cambiar el tamaño de un bloque


de memoria previamente asignado.

Es importante recordar que al asignar memoria dinámicamente, también se debe


liberar esa memoria cuando ya no se necesite para evitar fugas de memoria. La
función `free` se utiliza para liberar la memoria asignada dinámicamente y
devolverla al sistema.

ARCHIVOS DE TEXTO EN “C”

En el lenguaje de programación C, los archivos de texto son utilizados para


almacenar y manipular información en formato de texto legible por humanos. Estos
archivos contienen caracteres ASCII u otros códigos de caracteres que
representan letras, números y símbolos en un formato legible. Los archivos de
texto pueden contener datos como cadenas de texto, configuraciones, registros,
código fuente, entre otros.

En C, se utilizan funciones de la biblioteca estándar de entrada/salida (`stdio.h`)


para trabajar con archivos de texto. Algunas de las funciones más comunes para
manejar archivos de texto en C son:

- `fopen`: Se utiliza para abrir un archivo en modo de lectura, escritura o apertura.


Esta función devuelve un puntero a una estructura FILE que se utiliza para realizar
operaciones de entrada/salida en el archivo.

- `fclose`: Se utiliza para cerrar un archivo previamente abierto. Es importante


cerrar los archivos correctamente después de utilizarlos para liberar recursos.

- `fprintf` y `fscanf`: Se utilizan para escribir y leer datos formateados desde y


hacia un archivo de texto respectivamente.

- `fgets` y `fputs`: Se utilizan para leer y escribir líneas de texto en un archivo


respectivamente.

- `fseek` y `ftell`: Se utilizan para moverse a una posición específica en un archivo


y para conocer la posición actual del puntero de archivo, respectivamente.

Los archivos de texto en C son muy útiles para almacenar información de forma
persistente y para comunicar datos entre diferentes programas. Pueden ser
utilizados para guardar configuraciones, registros, datos de salida, información de
usuarios, entre otros. Es importante tener en cuenta que al trabajar con archivos
de texto en C, es necesario manejar adecuadamente la apertura, lectura, escritura
y cierre de los archivos para garantizar un funcionamiento correcto y evitar
posibles errores.

También podría gustarte