{"id":96,"date":"2009-01-21T16:18:14","date_gmt":"2009-01-21T21:18:14","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/programando\/?p=96"},"modified":"2009-01-21T22:24:05","modified_gmt":"2009-01-22T03:24:05","slug":"introduccion-al-lenguaje-c","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/programando\/introduccion-al-lenguaje-c\/","title":{"rendered":"Introducci\u00f3n al Lenguaje C"},"content":{"rendered":"<p>C es un <span class=\"autolink\">lenguaje    de programaci\u00f3n<\/span> de prop\u00f3sito general creado en 1972 por Ken Thompson y <span class=\"mw-redirect\">Dennis M. Ritchie<\/span> en los Laboratorios Bell como evoluci\u00f3n del anterior lenguaje B, a su vez basado en BCPL, que ofrece <span class=\"autolink\">econom\u00eda<\/span> sint\u00e1ctica, <span class=\"autolink\">control<\/span> de flujo y <span class=\"autolink\">estructuras<\/span> sencillas y un buen conjunto de operadores. No es un <span class=\"autolink\">lenguaje<\/span> de muy alto nivel y m\u00e1s bien un <span class=\"autolink\">lenguaje<\/span> peque\u00f1o, sencillo y no est\u00e1 especializado en ning\u00fan tipo    de aplicaci\u00f3n. Esto lo hace un lenguaje potente, con un campo de aplicaci\u00f3n    ilimitado y sobre todo, se aprende r\u00e1pidamente. En poco <span class=\"autolink\">tiempo<\/span>,    un programador puede utilizar la totalidad del lenguaje.<\/p>\n<h3><strong>Las caracter\u00edsticas del lenguaje C son las siguientes:<\/strong><\/h3>\n<ul>\n<li>Orientado a la programaci\u00f3n de sistemas<\/li>\n<li>Es altamente transportable<\/li>\n<li>Es muy flexible<\/li>\n<li>Genera c\u00f3digo muy eficiente<\/li>\n<li>Es muy expresivo (se pueden realizar muchas funciones escribiendo pocas l\u00edneas de c\u00f3digo)<\/li>\n<\/ul>\n<h3>El proceso de desarrollo de un programa en C tiene las siguientes fases.<\/h3>\n<h4>El preprocesador<\/h4>\n<p>Convierte el programa fuente en otro archivo fuente, durante este proceso se eliminan los comentarios, se incluyen los contenidos de los ficheros declarados con\"<strong> #include &lt;archivo&gt;<\/strong>\" (cabeceras) y se sustituye las instrucciones declaradas con #define<\/p>\n<h4>El compilador<\/h4>\n<p>Transforma el c\u00f3digo fuente proveniente del precompilador, en un archivo en lenguaje de m\u00e1quina (fichero objeto).<\/p>\n<h4>El enlazador<\/h4>\n<p>El fichero objeto es un archivo en lenguaje de m\u00e1quina que no puede ser ejecutado, sino que necesita ser enlazado con las bibliotecas del sistema operativo; el enlazador genera un archivo binario\u00a0 que puede ejecutarse.<\/p>\n<p>Las bibliotecas son archivos que contienen el c\u00f3digo de funciones precompilados que realizan operaciones requeridas en nuestro programa.<\/p>\n<p><strong>Nuestro primer programa<\/strong><\/p>\n<p>La sintaxis del lenguaje de programaci\u00f3n C\u00a0 es sencilla, cuando programemos en C s\u00f3lo debemos recordar:<\/p>\n<ul>\n<li>Luego de cualquier instrucci\u00f3n se escribe el punto y coma \"<strong>;<\/strong>\"<\/li>\n<li>Cuando usemos llaves \"<strong>{<\/strong>\", estas siempre debemos cerrarlas\"<strong>}<\/strong>\"<\/li>\n<li>Las cadenas de caracteres se escriben entre comillas dobles <strong>\"\"<\/strong><\/li>\n<\/ul>\n<p>Ejemplo de un programa en C:<\/p>\n<pre><span><span style=\"color: #666699\">\/\/Incluyendo la cabecera en la que se encuentra definido el procedimiento <strong><em>printf()<\/em><\/strong><\/span><\/span><strong>\r\n\r\n#include<\/strong> &lt;<em>stdio.h<\/em>&gt; <span style=\"color: #666699\">\r\n\/*<\/span><span style=\"color: #666699\">Funci\u00f3n principal, todas las instrucciones encontradas en esta funci\u00f3n <\/span><span style=\"color: #666699\">se\r\nejecutar\u00e1n directamente*\/<\/span><strong><em>\r\nvoid <\/em><\/strong>main()\r\n{<strong>\r\n\tprintf(<\/strong>\"Hola Mundo\"<strong>);<\/strong><span style=\"color: #666699\"> \/\/Procedimiento que muestra en pantalla un mensaje\r\n<\/span>}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>C es un lenguaje de programaci\u00f3n de prop\u00f3sito general creado en 1972 por Ken Thompson y Dennis M. Ritchie en los Laboratorios Bell como evoluci\u00f3n del anterior lenguaje B, a su vez basado en BCPL, que ofrece econom\u00eda sint\u00e1ctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. No es un lenguaje [&hellip;]<\/p>\n","protected":false},"author":385,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2722,3359],"tags":[3360,3363,945,3364,6085,3362,3361],"class_list":["post-96","post","type-post","status-publish","format-standard","hentry","category-aprende-a-programar","category-lenguaje-c","tag-c","tag-compilador","tag-desarrollo","tag-enlazador","tag-lenguaje-c","tag-precompilador","tag-semicolon"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/posts\/96","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/users\/385"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/comments?post=96"}],"version-history":[{"count":12,"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/posts\/96\/revisions"}],"predecessor-version":[{"id":112,"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/posts\/96\/revisions\/112"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/media?parent=96"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/categories?post=96"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/programando\/wp-json\/wp\/v2\/tags?post=96"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}