Вы находитесь на странице: 1из 11

REPUBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSITARIA


UNIVERSIDAD POLITECNICA TERRITORIAL DE LOS LLANOS
‘’JUANA RAMIREZ’’
TRAYECTO II-SECCION 1

Estructura básica del


Lenguaje C

DOCENTE: integrantes:
Daniel Valera deivi franco
INTRODUCCION

C es un lenguaje de programación de propósito general que ofrece economía sintáctica,


control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje
de muy alto nivel y más bien un lenguaje pequeño, sencillo y no está especializado en ningún
tipo de aplicación. Esto lo hace un lenguaje potente, con un campo de aplicación ilimitado
y sobre todo, se aprende rápidamente. En poco tiempo, un programador puede utilizar la
totalidad del lenguaje.

Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que fueron
desarrollados conjuntamente. Sin embargo, este lenguaje no está ligado a ningún sistema
operativo ni a ninguna máquina concreta. Se le suele llamar lenguaje de programación de
sistemas debido a su utilidad para escribir compiladores y sistemas operativos, aunque de
igual forma se puede desarrollar cualquier tipo de aplicación.
En la actualidad existen múltiples lenguajes de programación denominados de “alto nivel”,
es decir, aquellos que permiten escribir programas en un formato lejano al lenguaje
máquina o ensamblador que es el que utiliza el procesador para ejecutar todos los
programas. Java es un lenguaje de alto nivel “orientado a objeto” pues los programas se
estructuran alrededor de clases y objetos. C, en cambio, no dispone de objetos y se
estructura en base a un conjunto de funciones, por lo que se denomina un “lenguaje
procedimental”.
1. Estructura básica del lenguaje C

Estructuras: Las estructuras son colecciones de variables relacionadas bajo un nombre. Las
estructuras pueden contener variables de muchos tipos diferentes de datos a diferencia de
los arreglos que contienen únicamente elementos de un mismo

Un programa en C es un conjunto de funciones, definiciones de tipos de datos y


declaraciones de variables contenidos en un conjunto de ficheros. Un programa en C
siempre comienza a ejecutar por la función con nombre main. Cualquier función puede
llamar a cualquier función, y las variables declaradas fuera de las funciones tienen ámbito
global o local al fichero que las contiene (si se declaran con el prefijo static). La siguiente
figura ilustra la estructura de un programa en C contenido en varios ficheros.

Un programa en C es un conjunto de funciones, definiciones de tipos de datos y


declaraciones de variables contenidos en un conjunto de ficheros. Un programa en
C siempre comienza a ejecutar por la función con nombre main. Cualquier función
puede llamar a cualquier función, y las variables declaradas fuera de las funciones
tienen ámbito global o local al fichero que las contiene (si se declaran con el prefijo
static). La siguiente figura ilustra la estructura de un programa en C contenido en
varios ficheros.

El compilador es el programa encargado de traducir un conjunto de funciones,


definiciones y declaraciones en múltiples ficheros a un fichero ejecutable. El
compilador de C tiene un comportamiento sorprendentemente sencillo y realiza
mucho menos trabajo del que se está acostumbrado con otros compiladores como
el de Java. Para crear un ejecutable, el compilador procesa los ficheros de código
uno a uno de forma independiente, de forma que las definiciones de variables y
funciones de un fichero no las recuerda cuando procesa el fichero siguiente.
Además, el compilador realiza una única pasada por el texto, por lo que cuando se
traduce un fichero, en un punto concreto del texto, sólo se dispone de las
definiciones que se han encontrado hasta ese punto.
Como consecuencia de este comportamiento, una variable no puede ser utilizada, a
no ser que se haya declarado previamente en ese mismo fichero. Igualmente, una
función no puede ser invocada a no ser que se haya incluido previamente en el
mismo fichero. Para poder dividir igualmente el código en múltiples ficheros el
lenguaje permite la definición de “prototipos de funciones” (el tipo del resultado
que devuelven, seguido del nombre de la función y del tipo de sus parámetros entre
paréntesis) sin incluir el código, y además permite la definición de variables como
“externas”, es decir, que están en otro fichero. A continuación se muestran dos
ficheros en los que la función fill_in y la variable tabla están definidas en un fichero
pero las utiliza la función main en el otro fichero.

En la primera línea indica que se tengan en cuenta las funciones y tipos definidos en
la librería stdio (standard input/output). Estas definiciones se encuentran en el
fichero header stdio.h. Ahora, en la función main se incluye una única sentencia que
llama a la función printf. Esta toma como argumento una cadena de caracteres, que
se imprimen van encerradas entre dobles comillas " ". El símbolo \n indica un cambio
de línea.

Hay un grupo de símbolos, que son tratados como caracteres individuales, que
especifican algunos caracteres especiales del código ASCII. Los más importantes son:

\a Alerta \' Comilla simple

\b Espacio atrás \" Comillas dobles

\f Salto de página \OOO Visualiza un carácter cuyo


código ASCII es OOO en octal

\n Salto de línea \xHHH Visualiza un carácter cuyo código ASCII


es HHH en hexadecimal

\r Retorno de carro

\t Tabulación horizontal

\v Tabulación vertical

\\ Barra invertida
Un programa C puede estar formado por diferentes módulos o fuentes. Es
conveniente mantener los fuentes de un tamaño no muy grande, para que la
compilación sea rápida. También, al dividirse un programa en partes, puede facilitar
la legibilidad del programa y su estructuración. Los diferentes fuentes son
compilados de forma separada, únicamente los fuentes que han sido modificados
desde la última compilación, y después combinados con las librerías necesarias para
formar el programa en su versión ejecutable.

Tipos básicos y variables


Los tipos de datos básicos definidos por C son caracteres, números enteros y números en
coma flotante. Los caracteres son representados por char, los enteros por short, int, long y
los números en coma flotante por float y double. Los tipos básicos disponibles y su tamaño
son:

Char Carácter (normalmente 8 bits)

Short Entero corto con signo (normalmente 16 bits)

Int Entero con signo (depende de la implementación)

Unsigned Entero sin signo (depende de la implementación)

Long Entero largo con signo (normalmente 32 bits)

Float Flotante simple (normalmente 32 bits)

Double Flotante doble (normalmente 64 bits)

La palabra unsigned en realidad es un modificador aplicable a tipos enteros, aunque si no


se especifica un tipo se supone int. Un modificador es una palabra clave de C que indica que
una variable, o función, no se comporta de la forma normal. Hay también un modificador
signed, pero como los tipos son por defecto con signo, casi no se utiliza.

La palabra unsigned en realidad es un modificador aplicable a tipos enteros, aunque si no


se especifica un tipo se supone int. Un modificador es una palabra clave de C que indica que
una variable, o función, no se comporta de la forma normal. Hay también un modificador
signed, pero como los tipos son por defecto con signo, casi no se utiliza.

2. librería o biblioteca
La biblioteca estándar de C (también conocida como libc) es una recopilación de
ficheros cabecera y bibliotecas con rutinas, estandarizadas por un comité de la
Organización Internacional para la Estandarización (ISO), que implementan
operaciones comunes, tales como las de entrada y salida o el manejo de cadenas. A
diferencia de otros lenguajes como COBOL, Fortran, o PL/1, C no incluye palabras
clave para estas tareas, por lo que prácticamente todo programa implementado en
C se basa en la biblioteca estándar para funcionar.

3. Operadores lógicos, aritméticos y relacionales


4. Principales funciones

La modularización, es una técnica usada por los programadores para hacer sus
códigos más cortos, ya que consiste en reducir un gran problema complejo, en
pequeños problemitas más sencillos, concentrándose en la solución por separado,
de cada uno de ellos.

En C, se conocen como funciones aquellos trozos de códigos utilizados para dividir


un programa con el objetivo que, cada bloque realice una tarea determinada.

En las funciones juegan un papel muy importe las variables, ya que como se ha dicho
estas pueden ser locales o globales. Variables Globales: Estas se crean durante toda
la ejecución del programa, y son globales, ya que pueden ser llamadas, leídas,
modificadas, etc; desde cualquier función. Se definen antes del main.

Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayan
sido declaradas.

 Tipo de datos:

Es el tipo de dato que devolverá esa función, que puede ser real, entera, o tipo void
(es decir que no devolverá ningún valor).

Nombre_de_la_funcion: Es el identificador que le damos a nuestra función, la cual


debe cumplir las reglas que definimos en un principio para los identificadores.
Tipo y nombre de argumentos: son los parámetros que recibe la función. Los
argumentos de una función no son más que variables locales que reciben un valor.
Este valor se lo enviamos al hacer la llamada a la función. Pueden existir funciones
que no reciban argumentos.
Acciones: Constituye el conjunto de acciones, de sentencias que cumplirá la función,
cuando sea ejecutada. Entre ellas están:
 Asignaciones
 Lecturas
 Impresiones
 Cálculos, etc.
Una función, termina con la llave de cerrar, pero antes de esta llave, debemos
colocarle la instrucción return, con la cual devolverá un valor específico. Es necesario
recalcar que si la función no devuelve ningún valor, es decir, es tipo void, no tiene
que ir la sentencia return, ya que de lo contrario, nos dará un error.
5. Manejo de cadenas:
En programación, una cadena de caracteres, palabras, ristra de caracteres o frase (string,
en inglés) es una secuencia ordenada (de longitud arbitraria, aunque finita) de elementos
que pertenecen a un cierto lenguaje formal o alfabeto análogas a una fórmula o a una
oración. En general, una cadena de caracteres es una sucesión de caracteres (letras,
números u otros signos o símbolos). Si no se ponen restricciones al alfabeto, una cadena
podrá estar formada por cualquier combinación finita de los caracteres disponibles (las
letras de la 'a' a la 'z' y de la 'A' a la 'Z', los números del '0' al '9', el espacio en blanco ' ',
símbolos diversos '!', '@', '%', etcétera).

En este mismo ámbito, se utilizan habitualmente como un tipo de dato predefinido, para
palabras, frases o cualquier otra sucesión de caracteres. En este caso, se almacenan en un
vector de datos, o matriz de datos de una sola fila (array, en inglés). Las cadenas se pueden
almacenar de manera física.
 Operación con cadena de caracteres:
Al considerar las cadenas como un tipo de datos, hay que definir cuáles son las operaciones
que es posible hacer con ellas. En principio, podrían ser muchas y llegar a ser muy
sofisticadas. Las siguientes son algunas de ellas:
 Asignación: Consiste en asignar una cadena a otra.
 Concatenación: Consiste en unir dos cadenas o más (o una cadena con un carácter)
para formar una cadena de mayor tamaño.
 Búsqueda: Consiste en localizar dentro de una cadena una subcadena más pequeña
o un carácter.
 Extracción: Se trata de sacar fuera de una cadena una porción de la misma según su
posición dentro de ella.
 Comparación: Se utiliza para comparar dos cadenas.

 Representación:

Una cadena suele ser representada entre comillas dobles superiores ("palabra"),
mientras que un carácter de esa cadena (un char en inglés) suele ser representado
entre comillas simples ('p'). Por ejemplo, en C:

charAt c = 'a';
char str[5] = "hola";
Generalmente para acceder a un carácter en una posición determinada se suele usar
la forma variable [posición] como cuando se accede a un vector.

Para poder mostrar una comilla (") dentro de la cadena y no tener problemas con
las comillas que la delimitan, se usan secuencias de escape. Esto se aplica a otros
caracteres reservados o no imprimibles como el retorno de carro. No obstante, las
expresiones para producir estas secuencias de escape dependen del lenguaje de
programación que se esté usando. Una forma común, en muchos lenguajes, de
escapar un carácter es anteponiéndole un «\» (sin comillas), p. e.: «\"» (sin comillas).

 Cadenas dinámicas y estáticas:


Las cadenas pueden ser de naturaleza dinámica (pueden alterar su longitud durante el
tiempo de ejecución) o de naturaleza estática (su longitud es fija a lo largo del tiempo de
ejecución). En este segundo caso, el programador debe prever que al recorrer la cadena los
índices no se vayan de los límites previstos (C no permite que las cadenas crezcan
automáticamente de forma explícita, mientras que C# sí).
El final de la cadena se delimita de diferente manera en uno u otro caso:
Mediante un carácter de fin de cadena ('\0' en C) para las cadenas de tipo dinámico;
Mediante una propiedad de la cadena que delimite su longitud (Length en C#) para las de
tipo estático.

6. Tipos de datos:
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
 Enteros
Se 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.

 Números reales:

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. A
continuación se muestran varias definiciones de números reales.

7. Creación de funciones:

Como vimos anteriormente C tiene como bloque básico la función main() , también hemos
visto la sentencia printf() que es otra función, y de igual forma hay muchas más funciones
predefinidas, pero nosotros mismos también podemos definir nuestras propias funciones.
De hecho, es fundamental hacerlo.
Podemos definir una función cualquiera de la misma manera en que definimos la función
main. Basta con poner su tipo, su nombre, sus argumentos entre paréntesis y luego, entre
llaves, su código.
 La sentencia return
La sentencia return puede utilizarse dentro de una función para terminar su ejecución.
En el ejemplo anterior, la función hola mundo fue declarada con valor de retorno de tipo
void (es decir, valor de retorno nulo). En ese caso, la sentencia return no lleva ningún
parámetro adicional, ya que la función no debe devolver ningún valor a la función que la
llama.
En cambio, la función main tiene un valor de retorno de tipo int, por lo que return debe ir
seguido de un valor entero (0 en el ejemplo). El valor 0 se utiliza para indicar que el
programa ha llegado a un punto en el que todo se ha desarrollado correctamente y se utiliza
cualquier otro valor para indicar que ha habido algún tipo de error.
La instrucción return no es una función, se trata de una sentencia que lo que hace es
retornar como valor de la función el valor que se le proporciona como argumento.
 Argumentos:
Las funciones también pueden recibir argumentos o parámetros, para modificar su
comportamiento. Por ejemplo, la definición de una función para sumar dos números.

Вам также может понравиться