SlideShare a Scribd company logo
1 of 4
Download to read offline
Programación en C/Primer programa en C
En el libro “El Lenguaje de Programación C”, Kernighan
y Ritchie introdujeron al lenguaje C utilizando un sencillo
programa que mostraba un saludo por la pantalla. Desde
entonces se hizo tradición empezar con cualquier lenguaje
de programación con el ejemplo del Hola mundo.
En particular en C se involucran muchas partes y sintaxis
del lenguaje, por lo cual es especialmente útil verlo como
el primer ejemplo de programación en C.
Ejemplo: Hola mundo
/* Inclusión de archivos */ #include <stdio.h> /* Función
principal */ int main (int argc,char **argv) { /* Impre-
sión por pantalla y salida del programa*/ printf(“Hola
mundon”); return 0; }
Para poder editar y ejecutar este programa será necesa-
rio utilizar algún editor y luego un compilador, como se
explicó en la sección Herramientas necesarias.
Si se tiene el compilador gcc en un entorno UNIX o
GNU/Linux, la forma sencilla de compilar y ejecutar se-
rá:
$ gcc holamundo.c $ ./a.out Hola Mundo $
Es decir que el compilador genera un archivo, en este ca-
so llamado a.out, y la salida generada por ese archivo es
“Hola mundo”. A continuación una explicación detallada
sobre el proceso de compilación del programa, y luego un
análisis línea por línea del contenido de este ejemplo.
1 Pre-requisitos para la compila-
ción de programas
Como ya se mencionó, será necesario tener instalado el
compilador y un editor o entorno de desarrollo que permi-
tan escribir el código a compilar. Para más información
ver la sección Herramientas necesarias.
El código a compilar debe guardarse con un nombre que
represente al programa en cuestión y la extensión .c. En
el caso del ejemplo del Hola mundo, el archivo puede lla-
marse hola.c.
En las explicaciones a continuación, se asume que se
cuenta con un compilador instalado y se ha editado un
archivo hola.c que se quiere compilar. Si tu sistema ope-
rativo no aparece en esta lista busca en internet, ya que
seguro que existe algún compilador para ese sistema.
2 Compilación de programas se-
gún la plataforma
2.1 Windows
Para compilar un programa C en entornos Windows, de-
bemos seguir una serie de pasos que varían según el com-
pilador de C que queramos utilizar. Antes que nada, se-
ría bueno que se revises la documentación del compilador
elegido para conocer los comandos exactos.
2.1.1 Compilación del código fuente
Si se utiliza un entorno de desarrollo, será posible com-
pilar directamente desde el entorno, mediante un botón o
una combinación de teclas.
Si se ejecuta el compilador desde la línea de comandos, la
línea será distinta según el compilador utilizado. A con-
tinuación algunos ejemplos de ciertos comandos según el
compilador:
• En Turbo C de Borland es: tcc hola.c
• En C++ de Borland: bcc hola.c
• En Visual C de Microsoft: cl hola.c
• En GNU gcc: gcc hola.c o cc hola.c
• El C de Zortech: ztc hola.c
Una vez compilado el código fuente se genera un archivo
llamado archivo objeto o programa objeto que es luego
enlazado mediante el enlazador, para generar el archivo
ejecutable.
Los compiladores actuales suelen hacer dos funciones de
una vez, compilando y enlazando todo en una sola fun-
ción, aunque es posible pedirles que no lo hagan mediante
parámetros adicionales.
Según el compilador y la configuración utilizada, se ob-
tendrán dos o tres archivos:
El archivo fuente
hola.c
El archivo objeto
hola.obj
El archivo ejecutable
1
2 3 DISECCIONANDO EL “HOLA MUNDO”
hola.exe
Este último es el que nos interesa, puesto a que es el có-
digo ejecutable, el programa en sí. Al ejecutarlo se pro-
ducirá la salida deseada en una ventana de consola.
2.1.2 Salida por pantalla
Si ejecutamos en entorno Windows el programa directa-
mente desde el navegador de archivos, o también desde
algunos entornos de desarrollo, lo que sucederá será que
apenas abierta la ventana de la consola, se mostrará la ca-
dena esperada y luego de terminada la función, la conso-
la se cerrará sin tener el tiempo suficiente de ver nuestro
mensaje en pantalla.
Para poder ver la salida por pantalla será necesario ejecu-
tar el programa desde la línea de comandos, o modificar
la configuración del entorno de desarrollo para que mues-
tre la salida por pantalla al ejecutar el programa.
Una posible solución es agregar una función adicional a
nuestro “hola.c":
/* Inclusión de archivos */ #include <stdio.h> #include
<stdlib.h> /* Función principal */ int main (int argc,char
**argv) { /* Impresión por pantalla y salida del progra-
ma*/ printf(“Hola mundon”); system (“pause”); return
0; }
Las dos líneas agregadas permiten que utilicemos la bi-
blioteca stdlib, que incluye la función system y que me-
diante esta función se ejecute el comando pause del siste-
ma, que evita que el programa siga hasta que se presione
una tecla.
Así es posible visualizar que la salida de hola.c se com-
pletó perfectamente.
2.2 GNU
Si bien existen otros compiladores, lo más usual y más
sencillo para compilar un programa en GNU/Linux es el
compilador gcc, ya que es el que se incluye en todas las
distribuciones.
De cualquier forma, es posible realizar la compilación
desde línea de comandos o desde el entorno gráfico.
Para realizarla desde línea de comandos, será necesa-
rio contar con una terminal (xterm, konsole, gnome-
terminal, etc). No es necesario contar con permisos de
root para crear o compilar programas. En esa terminal
será necesario escribir
gcc hola.c
Si no existen errores en el código, este comando nos
creará un archivo ejecutable, que por omisión se llama
“a.out”, y que podemos ejecutar desde la línea de coman-
dos de la siguiente forma:
./a.out Hola mundo
Es una buena idea especificar el nombre que el archivo
ejecutable tendrá, pasando como parámetro al compila-
dor la opción -o, de la siguiente forma:
gcc hola.c -o hola
Con lo cual, el nombre del archivo creado será hola. Este
archivo no tiene extensión ya que es la forma usual de
llamar a los archivos ejecutables en los entornos UNIX y
GNU/Linux, sin embargo funcionaría de la misma forma
si se llamara hola.exe.
Para ejecutarlo, haremos los mismo que en el caso ante-
rior:
./hola Hola mundo
Existen otros parámetros que podemos especificar al
compilador en la línea de comandos, dependiendo del ti-
po de programa, y en función de la complejidad del mis-
mo. Por ejemplo, podemos agregar las siguientes opcio-
nes:
gcc hola.c -o hola -Wall -pedantic
La opción -Wall nos mostrará todos los avisos que pro-
duzca el compilador, no solamente los errores. Los avisos
nos indican dónde y/o porqué podría surgir algún error en
nuestro programa.
La opción -pedantic nos aporta más información sobre
los errores y los avisos mostrados por GCC.
3 Diseccionando el “Hola Mundo”
A continuación veremos cuál es la estructura básica de un
programa en C, para poder entender qué hace cada una
de las líneas de nuestro sencillo programa.
Es probable que lo primero que salte a la vista sea la línea:
printf(“Hola mundon”);
Esta es la línea que hace aparecer la cadena Hola Mundo
en nuestra pantalla. Notamos que en C la sentencia para
imprimir algo por pantalla es printf() y, además, hay que
colocar paréntesis alrededor de lo que queremos imprimir
para utilizarla.
Esto se debe a que en C, printf es una función, que impri-
me su argumento (la cadena Hola Mundon) en la pan-
talla. Se denomina invocar una función a la acción de
utilizarla para que realice una acción.
Podemos observar también que la cadena a imprimir ter-
mina con una extraña combinación: n. La combinación
n no representa a dos caracteres independientes, sino que
representa un único carácter no imprimible: el salto de
línea. Sin el salto de línea, el resultado al ejecutar el pro-
grama sería:
$ ./a.out Hola Mundo$
3
Es decir que no hay salto de línea entre la cadena impresa,
y la siguiente entrada de la línea de órdenes, que no es lo
que esperábamos.
Lo último a notar en la línea es que termina con un punto
y coma. En C, todas las sentencias terminan con un punto
y coma. Al principio puede parecer obvio dónde termina
una sentencia, pero ya veremos más adelante que no lo es
tanto.
Observemos ahora la siguiente sentencia del programa:
return 0;
Luego de esta sentencia, termina el programa. En el caso
de la instrucción return dentro de la función main, el re-
sultado es que se finaliza el programa, comunicándole
al sistema operativo que el valor de retorno (un código
numérico que el sistema utiliza para saber si el progra-
ma ha funcionado bien o ha dado fallos) es 0, es decir,
correcto.
Las dos últimas sentencias se encuentran encerradas entre
llaves. De esta manera, forman un bloque, es decir, un
grupo de sentencias que se ejecutarán siempre de forma
correlativa.
¿Y qué es esa línea que precede (en realidad, que da nom-
bre) al bloque?
int main (int argc, char **argv)
Pues es la definición de una función, en este caso llama-
da main. En C (y en general en todos los lenguajes de
programación estructurada) todo se hace a base de fun-
ciones, como main y printf.
La función main es especial, porque es el la que se invoca
cuando se ejecuta el programa. Todos los programas en C
comienzan su ejecución al principio de la función main,
y cuando ésta acaba, el programa también.
Veamos con más detalle la definición de la función:
int main (int argc, char **argv) { ... }
• El nombre de la función que viene a continuación,
entre llaves, es main.
• Recibe dos argumentos: int argc y char **argv (que
representan a la cantidad de argumentos ingresados
al ejecutar el programa y a los valores de estos argu-
mentos respectivamente).[1]
• La función devuelve como resultado un número en-
tero, int (que es el 0 de la instrucción return).[2]
Finalmente, y un tanto aparte (está separada del resto por
una línea en blanco), tenemos la línea:
#include <stdio.h>
Que parece bastante distinta al resto del programa, y que,
además, parece no tener sentido, puesto que ya hemos
definido la función main que hace todo el trabajo.
Efectivamente, esa línea no es parte del programa, aun-
que sea imprescindible. La línea es una instrucción del
preprocesador de C, como nos lo indica el símbolo #, y
lo que hace es incluir en ese punto el contenido de otro
fichero, antes (de ahí el nombre de preprocesador) de que
comience la compilación. El fichero stdio.h es el que con-
tiene la definición de la función printf(), que antes utili-
zamos pero que no escribimos, ya que forma parte de la
biblioteca estándar de C.
4 Comentarios
Una vez escrito un código, tratar de entenderlo un año
más tarde solo con leerlo puede ser frustrante: no hay ma-
nera de saber (si el programa es medianamente compli-
cado) qué es cada variable, o qué hace cada bloque de
código. Por esto, en cualquier lenguaje de programación
son importantes los comentarios.
Un comentario en C es todo lo que se encuentre entre los
símbolos /* y */. Hay que tener en cuenta que los comen-
tarios no se pueden anidar: si dentro de un comentario
hay un /*, seguirá siendo el primer */ el que finalice el
comentario, no se esperará al segundo.
Hay otro tipo de comentarios en C, procedentes del len-
guaje C++, e incorporadas al estándar de C a partir de
C99: //. Todo lo que esté después de estos signos, has-
ta el final de la línea, se considerará un comentario y el
compilador no lo tomará en cuenta.
En el ejemplo presentado pueden verse tres líneas con
comentarios, que documentan someramente las distin-
tas funcionalidades del código. En los próximos capítulos
podrán verse mejores usos de los comentarios dentro del
código.
También podría decirse que es una herramienta básica
basada en compilador
[1] En un capítulo posterior podrá ver un ejemplo del uso de
los parámetros que recibe main.
[2] Es importante señalar que el estándar dice que main de-
berá definirse como función que retorna un entero, o de
lo contrario el resultado queda indefinido.
4 5 ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS
5 Origen del texto y las imágenes, colaboradores y licencias
5.1 Texto
• Programación en C/Primer programa en C Fuente: https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Primer_programa_en_
C?oldid=292632 Colaboradores: ManuelGR, Envite, Almorca, Rutrus, X.Cyclop~eswikibooks, Ikks, M.estarellas, Ksaver, Morza, Mar-
coAurelio, Luckas Blade, Maxy, Margamanterola, Url999, Dessaya y Anónimos: 15
5.2 Imágenes
5.3 Licencia del contenido
• Creative Commons Attribution-Share Alike 3.0

More Related Content

What's hot

Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++ernestre
 
Tutorial shell scripts
Tutorial shell scriptsTutorial shell scripts
Tutorial shell scriptsScreenMedia
 
Introducción a La Programación En C
Introducción a La Programación En CIntroducción a La Programación En C
Introducción a La Programación En Cpainni
 
2.1 estructura general de un programa en c
2.1 estructura general de un programa en c2.1 estructura general de un programa en c
2.1 estructura general de un programa en cSNPP
 
Manual 1 de lenguaje c
Manual 1 de lenguaje cManual 1 de lenguaje c
Manual 1 de lenguaje cgechenique
 

What's hot (13)

Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++
 
Tutorial shell scripts
Tutorial shell scriptsTutorial shell scripts
Tutorial shell scripts
 
Introducción a La Programación En C
Introducción a La Programación En CIntroducción a La Programación En C
Introducción a La Programación En C
 
Dev-C++
Dev-C++ Dev-C++
Dev-C++
 
Apuntes de c
Apuntes de cApuntes de c
Apuntes de c
 
2.1 estructura general de un programa en c
2.1 estructura general de un programa en c2.1 estructura general de un programa en c
2.1 estructura general de un programa en c
 
Lenguaje c 2_neo
Lenguaje c 2_neoLenguaje c 2_neo
Lenguaje c 2_neo
 
Manual del dev c++
Manual del dev c++Manual del dev c++
Manual del dev c++
 
Manual 1 de lenguaje c
Manual 1 de lenguaje cManual 1 de lenguaje c
Manual 1 de lenguaje c
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Turbo c++
Turbo c++Turbo c++
Turbo c++
 
Turbo c++ 3.0
Turbo c++ 3.0Turbo c++ 3.0
Turbo c++ 3.0
 
Lenguaje c 2
Lenguaje c 2Lenguaje c 2
Lenguaje c 2
 

Viewers also liked

Love in Chaucer's tales.
Love in Chaucer's tales.Love in Chaucer's tales.
Love in Chaucer's tales.Lorena Fleitas
 
Innovacion socialdesis talleriv_mariacarolinafernandez
Innovacion socialdesis talleriv_mariacarolinafernandezInnovacion socialdesis talleriv_mariacarolinafernandez
Innovacion socialdesis talleriv_mariacarolinafernandezMary Fernandez
 
Estructura computador
Estructura computadorEstructura computador
Estructura computadorFree Lancer
 
Indiana university
Indiana universityIndiana university
Indiana universityJenny0417
 
Documenting Your Research Data
Documenting Your Research DataDocumenting Your Research Data
Documenting Your Research DataKristin Briney
 
Il metodo dei minimi quadrati
Il metodo dei minimi quadratiIl metodo dei minimi quadrati
Il metodo dei minimi quadratimgilardi
 
Managing Your Research Data
Managing Your Research DataManaging Your Research Data
Managing Your Research DataKristin Briney
 
Data Management Crash Course
Data Management Crash CourseData Management Crash Course
Data Management Crash CourseKristin Briney
 
15621495 raquel-libro-version-2008
15621495 raquel-libro-version-200815621495 raquel-libro-version-2008
15621495 raquel-libro-version-2008Free Lancer
 
Electronic Laboratory Notebooks
Electronic Laboratory NotebooksElectronic Laboratory Notebooks
Electronic Laboratory NotebooksKristin Briney
 

Viewers also liked (17)

Love in Chaucer's tales.
Love in Chaucer's tales.Love in Chaucer's tales.
Love in Chaucer's tales.
 
Innovacion socialdesis talleriv_mariacarolinafernandez
Innovacion socialdesis talleriv_mariacarolinafernandezInnovacion socialdesis talleriv_mariacarolinafernandez
Innovacion socialdesis talleriv_mariacarolinafernandez
 
Estructura computador
Estructura computadorEstructura computador
Estructura computador
 
Indiana university
Indiana universityIndiana university
Indiana university
 
New england
New englandNew england
New england
 
Documenting Your Research Data
Documenting Your Research DataDocumenting Your Research Data
Documenting Your Research Data
 
Uninorte
UninorteUninorte
Uninorte
 
Il metodo dei minimi quadrati
Il metodo dei minimi quadratiIl metodo dei minimi quadrati
Il metodo dei minimi quadrati
 
Managing Your Research Data
Managing Your Research DataManaging Your Research Data
Managing Your Research Data
 
Data Management Crash Course
Data Management Crash CourseData Management Crash Course
Data Management Crash Course
 
Critical
CriticalCritical
Critical
 
15621495 raquel-libro-version-2008
15621495 raquel-libro-version-200815621495 raquel-libro-version-2008
15621495 raquel-libro-version-2008
 
Data Management 101
Data Management 101Data Management 101
Data Management 101
 
Data Management 101
Data Management 101Data Management 101
Data Management 101
 
Electronic Laboratory Notebooks
Electronic Laboratory NotebooksElectronic Laboratory Notebooks
Electronic Laboratory Notebooks
 
Assessment
AssessmentAssessment
Assessment
 
7711 tata-motors-thesis
7711 tata-motors-thesis7711 tata-motors-thesis
7711 tata-motors-thesis
 

Similar to Programación en c primer programa en c (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Programación en c y c++
Programación en c y c++Programación en c y c++
Programación en c y c++
 
Programación en c y c++
Programación en c y c++Programación en c y c++
Programación en c y c++
 
C
C C
C
 
Presentacion: ¿Que es Compilador?
Presentacion: ¿Que es Compilador?  Presentacion: ¿Que es Compilador?
Presentacion: ¿Que es Compilador?
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
UNIDAD 3
UNIDAD 3 UNIDAD 3
UNIDAD 3
 
De algoritmo a programa en c++
De algoritmo a programa en c++De algoritmo a programa en c++
De algoritmo a programa en c++
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Practicas bloque 1
Practicas bloque 1Practicas bloque 1
Practicas bloque 1
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Primera_D-Semanaz<xcz<c<zc-Fundamentos_C++.ppt
Primera_D-Semanaz<xcz<c<zc-Fundamentos_C++.pptPrimera_D-Semanaz<xcz<c<zc-Fundamentos_C++.ppt
Primera_D-Semanaz<xcz<c<zc-Fundamentos_C++.ppt
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
PROGRAMACION
PROGRAMACIONPROGRAMACION
PROGRAMACION
 
Programación en c y c++ prev
Programación en c y c++ prevProgramación en c y c++ prev
Programación en c y c++ prev
 
TEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptxTEMA-2 Estructura de un programa en C.pptx
TEMA-2 Estructura de un programa en C.pptx
 
Dev c++
Dev c++Dev c++
Dev c++
 
Curso de c antonio lebron bocanegra
Curso de c   antonio lebron bocanegraCurso de c   antonio lebron bocanegra
Curso de c antonio lebron bocanegra
 
introduccion pdf
introduccion pdfintroduccion pdf
introduccion pdf
 

More from Free Lancer

Vide02 brain prepara tu curriculum vitae
Vide02 brain prepara tu curriculum vitaeVide02 brain prepara tu curriculum vitae
Vide02 brain prepara tu curriculum vitaeFree Lancer
 
Tarea 01 laboratorio
Tarea 01   laboratorioTarea 01   laboratorio
Tarea 01 laboratorioFree Lancer
 
01 practicas de laboratorio
01 practicas de laboratorio01 practicas de laboratorio
01 practicas de laboratorioFree Lancer
 
Firma digital 29 10-2014
Firma digital 29 10-2014Firma digital 29 10-2014
Firma digital 29 10-2014Free Lancer
 
Firma digital imprimir
Firma digital   imprimirFirma digital   imprimir
Firma digital imprimirFree Lancer
 
Auditoria forense worldcom 2014
Auditoria forense worldcom 2014Auditoria forense worldcom 2014
Auditoria forense worldcom 2014Free Lancer
 
Firma digital 29 10-2014
Firma digital 29 10-2014Firma digital 29 10-2014
Firma digital 29 10-2014Free Lancer
 

More from Free Lancer (8)

Vide02 brain prepara tu curriculum vitae
Vide02 brain prepara tu curriculum vitaeVide02 brain prepara tu curriculum vitae
Vide02 brain prepara tu curriculum vitae
 
Tarea 01 laboratorio
Tarea 01   laboratorioTarea 01   laboratorio
Tarea 01 laboratorio
 
01 practicas de laboratorio
01 practicas de laboratorio01 practicas de laboratorio
01 practicas de laboratorio
 
Diccionario
DiccionarioDiccionario
Diccionario
 
Firma digital 29 10-2014
Firma digital 29 10-2014Firma digital 29 10-2014
Firma digital 29 10-2014
 
Firma digital imprimir
Firma digital   imprimirFirma digital   imprimir
Firma digital imprimir
 
Auditoria forense worldcom 2014
Auditoria forense worldcom 2014Auditoria forense worldcom 2014
Auditoria forense worldcom 2014
 
Firma digital 29 10-2014
Firma digital 29 10-2014Firma digital 29 10-2014
Firma digital 29 10-2014
 

Recently uploaded

PSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdhehehehehehehehehePSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdheheheheheheheheheErickRolandoPadillaC1
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucioneschorantina325
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digitalNayaniJulietaRamosRa
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjNachisRamos
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...CENECOnline
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadJonathanHctorSilvaRo
 

Recently uploaded (6)

PSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdhehehehehehehehehePSICOPATOLOGIA I.pptxdhehehehehehehehehe
PSICOPATOLOGIA I.pptxdhehehehehehehehehe
 
Unidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disolucionesUnidad V. Disoluciones quimica de las disoluciones
Unidad V. Disoluciones quimica de las disoluciones
 
Las redes sociales en el mercado digital
Las redes sociales en el mercado digitalLas redes sociales en el mercado digital
Las redes sociales en el mercado digital
 
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjjPPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
PPT-HISTORIA-6°-ABC.pptxjjjjjjjjjjjjjjjjjjjjjj
 
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
¡Descubre el Poder del Masaje Holístico en nuestra Primera Sesión del Seminar...
 
Corte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuadCorte de luz 2024 Guayaquil Guayas ecuad
Corte de luz 2024 Guayaquil Guayas ecuad
 

Programación en c primer programa en c

  • 1. Programación en C/Primer programa en C En el libro “El Lenguaje de Programación C”, Kernighan y Ritchie introdujeron al lenguaje C utilizando un sencillo programa que mostraba un saludo por la pantalla. Desde entonces se hizo tradición empezar con cualquier lenguaje de programación con el ejemplo del Hola mundo. En particular en C se involucran muchas partes y sintaxis del lenguaje, por lo cual es especialmente útil verlo como el primer ejemplo de programación en C. Ejemplo: Hola mundo /* Inclusión de archivos */ #include <stdio.h> /* Función principal */ int main (int argc,char **argv) { /* Impre- sión por pantalla y salida del programa*/ printf(“Hola mundon”); return 0; } Para poder editar y ejecutar este programa será necesa- rio utilizar algún editor y luego un compilador, como se explicó en la sección Herramientas necesarias. Si se tiene el compilador gcc en un entorno UNIX o GNU/Linux, la forma sencilla de compilar y ejecutar se- rá: $ gcc holamundo.c $ ./a.out Hola Mundo $ Es decir que el compilador genera un archivo, en este ca- so llamado a.out, y la salida generada por ese archivo es “Hola mundo”. A continuación una explicación detallada sobre el proceso de compilación del programa, y luego un análisis línea por línea del contenido de este ejemplo. 1 Pre-requisitos para la compila- ción de programas Como ya se mencionó, será necesario tener instalado el compilador y un editor o entorno de desarrollo que permi- tan escribir el código a compilar. Para más información ver la sección Herramientas necesarias. El código a compilar debe guardarse con un nombre que represente al programa en cuestión y la extensión .c. En el caso del ejemplo del Hola mundo, el archivo puede lla- marse hola.c. En las explicaciones a continuación, se asume que se cuenta con un compilador instalado y se ha editado un archivo hola.c que se quiere compilar. Si tu sistema ope- rativo no aparece en esta lista busca en internet, ya que seguro que existe algún compilador para ese sistema. 2 Compilación de programas se- gún la plataforma 2.1 Windows Para compilar un programa C en entornos Windows, de- bemos seguir una serie de pasos que varían según el com- pilador de C que queramos utilizar. Antes que nada, se- ría bueno que se revises la documentación del compilador elegido para conocer los comandos exactos. 2.1.1 Compilación del código fuente Si se utiliza un entorno de desarrollo, será posible com- pilar directamente desde el entorno, mediante un botón o una combinación de teclas. Si se ejecuta el compilador desde la línea de comandos, la línea será distinta según el compilador utilizado. A con- tinuación algunos ejemplos de ciertos comandos según el compilador: • En Turbo C de Borland es: tcc hola.c • En C++ de Borland: bcc hola.c • En Visual C de Microsoft: cl hola.c • En GNU gcc: gcc hola.c o cc hola.c • El C de Zortech: ztc hola.c Una vez compilado el código fuente se genera un archivo llamado archivo objeto o programa objeto que es luego enlazado mediante el enlazador, para generar el archivo ejecutable. Los compiladores actuales suelen hacer dos funciones de una vez, compilando y enlazando todo en una sola fun- ción, aunque es posible pedirles que no lo hagan mediante parámetros adicionales. Según el compilador y la configuración utilizada, se ob- tendrán dos o tres archivos: El archivo fuente hola.c El archivo objeto hola.obj El archivo ejecutable 1
  • 2. 2 3 DISECCIONANDO EL “HOLA MUNDO” hola.exe Este último es el que nos interesa, puesto a que es el có- digo ejecutable, el programa en sí. Al ejecutarlo se pro- ducirá la salida deseada en una ventana de consola. 2.1.2 Salida por pantalla Si ejecutamos en entorno Windows el programa directa- mente desde el navegador de archivos, o también desde algunos entornos de desarrollo, lo que sucederá será que apenas abierta la ventana de la consola, se mostrará la ca- dena esperada y luego de terminada la función, la conso- la se cerrará sin tener el tiempo suficiente de ver nuestro mensaje en pantalla. Para poder ver la salida por pantalla será necesario ejecu- tar el programa desde la línea de comandos, o modificar la configuración del entorno de desarrollo para que mues- tre la salida por pantalla al ejecutar el programa. Una posible solución es agregar una función adicional a nuestro “hola.c": /* Inclusión de archivos */ #include <stdio.h> #include <stdlib.h> /* Función principal */ int main (int argc,char **argv) { /* Impresión por pantalla y salida del progra- ma*/ printf(“Hola mundon”); system (“pause”); return 0; } Las dos líneas agregadas permiten que utilicemos la bi- blioteca stdlib, que incluye la función system y que me- diante esta función se ejecute el comando pause del siste- ma, que evita que el programa siga hasta que se presione una tecla. Así es posible visualizar que la salida de hola.c se com- pletó perfectamente. 2.2 GNU Si bien existen otros compiladores, lo más usual y más sencillo para compilar un programa en GNU/Linux es el compilador gcc, ya que es el que se incluye en todas las distribuciones. De cualquier forma, es posible realizar la compilación desde línea de comandos o desde el entorno gráfico. Para realizarla desde línea de comandos, será necesa- rio contar con una terminal (xterm, konsole, gnome- terminal, etc). No es necesario contar con permisos de root para crear o compilar programas. En esa terminal será necesario escribir gcc hola.c Si no existen errores en el código, este comando nos creará un archivo ejecutable, que por omisión se llama “a.out”, y que podemos ejecutar desde la línea de coman- dos de la siguiente forma: ./a.out Hola mundo Es una buena idea especificar el nombre que el archivo ejecutable tendrá, pasando como parámetro al compila- dor la opción -o, de la siguiente forma: gcc hola.c -o hola Con lo cual, el nombre del archivo creado será hola. Este archivo no tiene extensión ya que es la forma usual de llamar a los archivos ejecutables en los entornos UNIX y GNU/Linux, sin embargo funcionaría de la misma forma si se llamara hola.exe. Para ejecutarlo, haremos los mismo que en el caso ante- rior: ./hola Hola mundo Existen otros parámetros que podemos especificar al compilador en la línea de comandos, dependiendo del ti- po de programa, y en función de la complejidad del mis- mo. Por ejemplo, podemos agregar las siguientes opcio- nes: gcc hola.c -o hola -Wall -pedantic La opción -Wall nos mostrará todos los avisos que pro- duzca el compilador, no solamente los errores. Los avisos nos indican dónde y/o porqué podría surgir algún error en nuestro programa. La opción -pedantic nos aporta más información sobre los errores y los avisos mostrados por GCC. 3 Diseccionando el “Hola Mundo” A continuación veremos cuál es la estructura básica de un programa en C, para poder entender qué hace cada una de las líneas de nuestro sencillo programa. Es probable que lo primero que salte a la vista sea la línea: printf(“Hola mundon”); Esta es la línea que hace aparecer la cadena Hola Mundo en nuestra pantalla. Notamos que en C la sentencia para imprimir algo por pantalla es printf() y, además, hay que colocar paréntesis alrededor de lo que queremos imprimir para utilizarla. Esto se debe a que en C, printf es una función, que impri- me su argumento (la cadena Hola Mundon) en la pan- talla. Se denomina invocar una función a la acción de utilizarla para que realice una acción. Podemos observar también que la cadena a imprimir ter- mina con una extraña combinación: n. La combinación n no representa a dos caracteres independientes, sino que representa un único carácter no imprimible: el salto de línea. Sin el salto de línea, el resultado al ejecutar el pro- grama sería: $ ./a.out Hola Mundo$
  • 3. 3 Es decir que no hay salto de línea entre la cadena impresa, y la siguiente entrada de la línea de órdenes, que no es lo que esperábamos. Lo último a notar en la línea es que termina con un punto y coma. En C, todas las sentencias terminan con un punto y coma. Al principio puede parecer obvio dónde termina una sentencia, pero ya veremos más adelante que no lo es tanto. Observemos ahora la siguiente sentencia del programa: return 0; Luego de esta sentencia, termina el programa. En el caso de la instrucción return dentro de la función main, el re- sultado es que se finaliza el programa, comunicándole al sistema operativo que el valor de retorno (un código numérico que el sistema utiliza para saber si el progra- ma ha funcionado bien o ha dado fallos) es 0, es decir, correcto. Las dos últimas sentencias se encuentran encerradas entre llaves. De esta manera, forman un bloque, es decir, un grupo de sentencias que se ejecutarán siempre de forma correlativa. ¿Y qué es esa línea que precede (en realidad, que da nom- bre) al bloque? int main (int argc, char **argv) Pues es la definición de una función, en este caso llama- da main. En C (y en general en todos los lenguajes de programación estructurada) todo se hace a base de fun- ciones, como main y printf. La función main es especial, porque es el la que se invoca cuando se ejecuta el programa. Todos los programas en C comienzan su ejecución al principio de la función main, y cuando ésta acaba, el programa también. Veamos con más detalle la definición de la función: int main (int argc, char **argv) { ... } • El nombre de la función que viene a continuación, entre llaves, es main. • Recibe dos argumentos: int argc y char **argv (que representan a la cantidad de argumentos ingresados al ejecutar el programa y a los valores de estos argu- mentos respectivamente).[1] • La función devuelve como resultado un número en- tero, int (que es el 0 de la instrucción return).[2] Finalmente, y un tanto aparte (está separada del resto por una línea en blanco), tenemos la línea: #include <stdio.h> Que parece bastante distinta al resto del programa, y que, además, parece no tener sentido, puesto que ya hemos definido la función main que hace todo el trabajo. Efectivamente, esa línea no es parte del programa, aun- que sea imprescindible. La línea es una instrucción del preprocesador de C, como nos lo indica el símbolo #, y lo que hace es incluir en ese punto el contenido de otro fichero, antes (de ahí el nombre de preprocesador) de que comience la compilación. El fichero stdio.h es el que con- tiene la definición de la función printf(), que antes utili- zamos pero que no escribimos, ya que forma parte de la biblioteca estándar de C. 4 Comentarios Una vez escrito un código, tratar de entenderlo un año más tarde solo con leerlo puede ser frustrante: no hay ma- nera de saber (si el programa es medianamente compli- cado) qué es cada variable, o qué hace cada bloque de código. Por esto, en cualquier lenguaje de programación son importantes los comentarios. Un comentario en C es todo lo que se encuentre entre los símbolos /* y */. Hay que tener en cuenta que los comen- tarios no se pueden anidar: si dentro de un comentario hay un /*, seguirá siendo el primer */ el que finalice el comentario, no se esperará al segundo. Hay otro tipo de comentarios en C, procedentes del len- guaje C++, e incorporadas al estándar de C a partir de C99: //. Todo lo que esté después de estos signos, has- ta el final de la línea, se considerará un comentario y el compilador no lo tomará en cuenta. En el ejemplo presentado pueden verse tres líneas con comentarios, que documentan someramente las distin- tas funcionalidades del código. En los próximos capítulos podrán verse mejores usos de los comentarios dentro del código. También podría decirse que es una herramienta básica basada en compilador [1] En un capítulo posterior podrá ver un ejemplo del uso de los parámetros que recibe main. [2] Es importante señalar que el estándar dice que main de- berá definirse como función que retorna un entero, o de lo contrario el resultado queda indefinido.
  • 4. 4 5 ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS 5 Origen del texto y las imágenes, colaboradores y licencias 5.1 Texto • Programación en C/Primer programa en C Fuente: https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Primer_programa_en_ C?oldid=292632 Colaboradores: ManuelGR, Envite, Almorca, Rutrus, X.Cyclop~eswikibooks, Ikks, M.estarellas, Ksaver, Morza, Mar- coAurelio, Luckas Blade, Maxy, Margamanterola, Url999, Dessaya y Anónimos: 15 5.2 Imágenes 5.3 Licencia del contenido • Creative Commons Attribution-Share Alike 3.0