lenguaje c.doc

Upload: honnhi

Post on 22-Feb-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Lenguaje C.doc

    1/16

    Leccin 1Introduccin

    Leccin 2Compiladores del lenguaje C

    Leccin 3Instalando el compilador

    Leccin 4Primer programa en C

    Leccin 5Tipos de datos (variables

    Leccin !"ostrando datos por pantalla

    Leccin #Constantes

    Leccin $%peradores aritm&ticos

    Leccin '%peradores de comparacin

    Leccin 1%peradores lgicos

    Leccin 11)jercicio n* 1

    Leccin 12+olucin ejercicio n* 1

    Leccin 13Introduciendo datos por teclado

    Leccin 14+entencia I,

    Leccin 15+entencia I,--- )lse

    Leccin 1!+entencia +.itc/

    Leccin 1#+entencias de salto

    Leccin 1$0ucle or

    Leccin 1'0ucle /ile

    Leccin 20ucle o/ile

    Leccin 21)jercicio n* 2

    Leccin 22+olucin ejercicio n* 2

    Leccin 23unciones librer6as

    Leccin 24unciones sin retorno

    Leccin 25unciones con retorno

    Leccin 2!Punteros

    http://www.aulafacil.com/cursos/l16495/informatica/programacion/lenguaje-de-programacion-c/introduccionhttp://www.aulafacil.com/cursos/l16514/informatica/programacion/lenguaje-de-programacion-c/compiladores-del-lenguaje-chttp://www.aulafacil.com/cursos/l16523/informatica/programacion/lenguaje-de-programacion-c/instalando-el-compiladorhttp://www.aulafacil.com/cursos/l16525/informatica/programacion/lenguaje-de-programacion-c/primer-programa-en-chttp://www.aulafacil.com/cursos/l16550/informatica/programacion/lenguaje-de-programacion-c/tipos-de-datos-variableshttp://www.aulafacil.com/cursos/l16551/informatica/programacion/lenguaje-de-programacion-c/mostrando-datos-por-pantallahttp://www.aulafacil.com/cursos/l16562/informatica/programacion/lenguaje-de-programacion-c/constanteshttp://www.aulafacil.com/cursos/l16563/informatica/programacion/lenguaje-de-programacion-c/operadores-aritmeticoshttp://www.aulafacil.com/cursos/l16575/informatica/programacion/lenguaje-de-programacion-c/operadores-de-comparacionhttp://www.aulafacil.com/cursos/l16576/informatica/programacion/lenguaje-de-programacion-c/operadores-logicoshttp://www.aulafacil.com/cursos/l16622/informatica/programacion/lenguaje-de-programacion-c/ejercicio-n-1http://www.aulafacil.com/cursos/l16625/informatica/programacion/lenguaje-de-programacion-c/solucion-ejercicio-n-1http://www.aulafacil.com/cursos/l16653/informatica/programacion/lenguaje-de-programacion-c/introduciendo-datos-por-tecladohttp://www.aulafacil.com/cursos/l16654/informatica/programacion/lenguaje-de-programacion-c/sentencia-ifhttp://www.aulafacil.com/cursos/l16771/informatica/programacion/lenguaje-de-programacion-c/sentencia-if-elsehttp://www.aulafacil.com/cursos/l16772/informatica/programacion/lenguaje-de-programacion-c/sentencia-switchhttp://www.aulafacil.com/cursos/l16781/informatica/programacion/lenguaje-de-programacion-c/sentencias-de-saltohttp://www.aulafacil.com/cursos/l16791/informatica/programacion/lenguaje-de-programacion-c/bucle-forhttp://www.aulafacil.com/cursos/l16802/informatica/programacion/lenguaje-de-programacion-c/bucle-whilehttp://www.aulafacil.com/cursos/l16803/informatica/programacion/lenguaje-de-programacion-c/bucle-do-whilehttp://www.aulafacil.com/cursos/l16822/informatica/programacion/lenguaje-de-programacion-c/ejercicio-n-2http://www.aulafacil.com/cursos/l16827/informatica/programacion/lenguaje-de-programacion-c/solucion-ejercicio-n-2http://www.aulafacil.com/cursos/l16900/informatica/programacion/lenguaje-de-programacion-c/funciones-y-libreriashttp://www.aulafacil.com/cursos/l16901/informatica/programacion/lenguaje-de-programacion-c/funciones-sin-retornohttp://www.aulafacil.com/cursos/l16966/informatica/programacion/lenguaje-de-programacion-c/funciones-con-retornohttp://www.aulafacil.com/cursos/l16968/informatica/programacion/lenguaje-de-programacion-c/punteroshttp://www.aulafacil.com/cursos/l16514/informatica/programacion/lenguaje-de-programacion-c/compiladores-del-lenguaje-chttp://www.aulafacil.com/cursos/l16523/informatica/programacion/lenguaje-de-programacion-c/instalando-el-compiladorhttp://www.aulafacil.com/cursos/l16525/informatica/programacion/lenguaje-de-programacion-c/primer-programa-en-chttp://www.aulafacil.com/cursos/l16550/informatica/programacion/lenguaje-de-programacion-c/tipos-de-datos-variableshttp://www.aulafacil.com/cursos/l16551/informatica/programacion/lenguaje-de-programacion-c/mostrando-datos-por-pantallahttp://www.aulafacil.com/cursos/l16562/informatica/programacion/lenguaje-de-programacion-c/constanteshttp://www.aulafacil.com/cursos/l16563/informatica/programacion/lenguaje-de-programacion-c/operadores-aritmeticoshttp://www.aulafacil.com/cursos/l16575/informatica/programacion/lenguaje-de-programacion-c/operadores-de-comparacionhttp://www.aulafacil.com/cursos/l16576/informatica/programacion/lenguaje-de-programacion-c/operadores-logicoshttp://www.aulafacil.com/cursos/l16622/informatica/programacion/lenguaje-de-programacion-c/ejercicio-n-1http://www.aulafacil.com/cursos/l16625/informatica/programacion/lenguaje-de-programacion-c/solucion-ejercicio-n-1http://www.aulafacil.com/cursos/l16653/informatica/programacion/lenguaje-de-programacion-c/introduciendo-datos-por-tecladohttp://www.aulafacil.com/cursos/l16654/informatica/programacion/lenguaje-de-programacion-c/sentencia-ifhttp://www.aulafacil.com/cursos/l16771/informatica/programacion/lenguaje-de-programacion-c/sentencia-if-elsehttp://www.aulafacil.com/cursos/l16772/informatica/programacion/lenguaje-de-programacion-c/sentencia-switchhttp://www.aulafacil.com/cursos/l16781/informatica/programacion/lenguaje-de-programacion-c/sentencias-de-saltohttp://www.aulafacil.com/cursos/l16791/informatica/programacion/lenguaje-de-programacion-c/bucle-forhttp://www.aulafacil.com/cursos/l16802/informatica/programacion/lenguaje-de-programacion-c/bucle-whilehttp://www.aulafacil.com/cursos/l16803/informatica/programacion/lenguaje-de-programacion-c/bucle-do-whilehttp://www.aulafacil.com/cursos/l16822/informatica/programacion/lenguaje-de-programacion-c/ejercicio-n-2http://www.aulafacil.com/cursos/l16827/informatica/programacion/lenguaje-de-programacion-c/solucion-ejercicio-n-2http://www.aulafacil.com/cursos/l16900/informatica/programacion/lenguaje-de-programacion-c/funciones-y-libreriashttp://www.aulafacil.com/cursos/l16901/informatica/programacion/lenguaje-de-programacion-c/funciones-sin-retornohttp://www.aulafacil.com/cursos/l16966/informatica/programacion/lenguaje-de-programacion-c/funciones-con-retornohttp://www.aulafacil.com/cursos/l16968/informatica/programacion/lenguaje-de-programacion-c/punteroshttp://www.aulafacil.com/cursos/l16495/informatica/programacion/lenguaje-de-programacion-c/introduccion
  • 7/24/2019 Lenguaje C.doc

    2/16

    Leccin 2#7so de punteros

    Leccin 2$8rras

    Leccin 2'Iniciali9ar un 8rra

    Leccin 3:ecorrer un 8rra

    Leccin 31)jercicio n* 3

    Leccin 32+olucin ejercicio n* 3

    Leccin 33Cadena de caracteres (+trings

    Leccin 34unciones +trcp +trcat

    Leccin 35uncin +trcmp

    Leccin 3!e,iniendo estructuras

    Leccin 3#Iniciali9ar estructuras

    Leccin 3$Introducir leer datos de la estructura

    Leccin 3')jercicio ,inal

    Leccin 4+olucin ejercicio ,inal

    Leccin 41:ecomendaciones inales

    Introduccin

    Oir Lecc.

    )l lenguaje de programacin C; ,ue creado porDennis Ritchieen el a

  • 7/24/2019 Lenguaje C.doc

    3/16

    La maor6a de programadores /an empe9ado por aprender con este lenguaje; a ?ue es

    de los m=s vers=tiles e importantes- Casi cual?uier programa ?ue se nos ocurra es mu

    posible ?ue tenga l6neas de cdigo en C- )s mu utili9ado para todo-

    BListos para aprender

    Compiladores del lenguaje C

    Oir Lecc.

    0ien; lo primero ?ue tenemos ?ue /acer para crear nuestros propios programas en C estener un compilador para este lenguajeD ser= una /erramienta ?ue se encargar= de

    ejecutar el cdigo C en un programa ejecutable; entendible por el ordenador-

    Como podr&is imaginar /a una amplia variedad de compiladores; algunos gratuitos;

    otros de pago; etc--- )videntemente; en este curso vamos a utili9ar un compilador

    gratuito ?ue adem=s es de los m=s reconocidos para C-

    Aa muc/os compiladores--- por ejemplo; Turbo CEE; FGPP; 0orland CEE; etc---

    http://www.aulafacil.com/cursos/l16514/informatica/programacion/lenguaje-de-programacion-c/compiladores-del-lenguaje-chttp://www.aulafacil.com/cursos/l16514/informatica/programacion/lenguaje-de-programacion-c/compiladores-del-lenguaje-c
  • 7/24/2019 Lenguaje C.doc

    4/16

    Puedes utili9ar cual?uier compilador; pero recomendamos ?ue si est=s empe9ando

    utilices el mismo ?ue vo a utili9ar durante el curso; as6 no te perder=s-

    )l compilador ?ue vamos a utili9ar en este curso se llama ev CEE-

    Clicando a?u6lo puedes descargar completamente gratis-

    )sta es la Hnica /erramienta ?ue necesitaremos para aprender a programar en C- )n la

    siguiente leccin instalaremos el compilador en nuestro ordenador-

    Instalando el compilador

    Oir Lecc.

    amos a ponernos manos a la obra con la instalacin del compilador- Partimos de la

    base de ?ue a /emos descargado el arc/ivo en la leccin anterior; a/ora vamos con la

    instalacin- )s mu sencillo; puesto ?ue apenas /a ?ue modi,icar cosas-

    1J oble clicK al arc/ivo descargado

    http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download?use_mirror=optimatehttp://www.aulafacil.com/cursos/l16523/informatica/programacion/lenguaje-de-programacion-c/instalando-el-compiladorhttp://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download?use_mirror=optimatehttp://www.aulafacil.com/cursos/l16523/informatica/programacion/lenguaje-de-programacion-c/instalando-el-compilador
  • 7/24/2019 Lenguaje C.doc

    5/16

    2J Mos aparece la siguiente ventana; en la cual seleccionaremos nuestro idioma

    despu&s clicK en @%N@-

    3J )n la siguiente ventana simplemente aceptamos la licencia del programa-

    4J )n esta dejamos todo tal cual clicK en @+iguiente@-

  • 7/24/2019 Lenguaje C.doc

    6/16

    5J 8/ora seleccionamos la ruta en la ?ue ?ueremos ?ue se instale nuestro compilador

    (es pre,erible dejarlo tal cual est=-

    !J +e comen9ar= a instalar el compilador--- casi cuando est& acabando; nos aparecer=

    una ventana para indicar si ?ueremos ?ue se instale para todos los usuarios delordenador; clicK en @+i@ o @Mo@; depende lo ?ue ?uieras-

  • 7/24/2019 Lenguaje C.doc

    7/16

    #J Oa est=; /acemos clicK en @Terminar@ en la siguiente ventana a se nos abrir= el

    compilador; si /emos dejado tildada la casilla de @)jecutar evCEE@-

  • 7/24/2019 Lenguaje C.doc

    8/16

    )sto es todo; a tenemos el compilador de C instalado en nuestro ordenador- Tiene ?ue

    verse as6

    Por si algo no /a ?uedado del todo claro; a/ora adjunto un v6deo donde se ve mejor el

    proceso ?ue /a ?ue llevar a cabo para la instalacin del compilador

    Primer programa en C

    http://www.aulafacil.com/cursos/l16525/informatica/programacion/lenguaje-de-programacion-c/primer-programa-en-chttp://www.aulafacil.com/cursos/l16525/informatica/programacion/lenguaje-de-programacion-c/primer-programa-en-c
  • 7/24/2019 Lenguaje C.doc

    9/16

    Oir Lecc.

    7na ve9 instalado el compilador podemos empe9ar a meternos en la pr=ctica; ?ue es

    como realmente se aprende a programar programando-

    Mo te preocupes si al principio te cuesta captar los conceptos b=sicos de la

    programacin o si /a l6neas de cdigo ?ue no entiendes; es normal; al empe9ar vas a

    ver ciertas cosas ?ue no se pueden e>plicar en este momento ?ue no sabes nada; por?ue

    son conceptos ?ue se aprender=n posteriormente en el curso- 8s6 ?ue por eso no te

    preocupes-

    Como a /emos aclarado; C es un lenguaje estructurado ?ue se escribe por instrucciones

    de programacin; cada instruccin acabar= con un @D@ al ,inal; ?ue indica el ,inal de la

    instruccin ?ue pasar= a ejecutarse la siguiente-

    eamos cmo ?ueda nuestro primer programa

    Lo Hnico ?ue /ace este programa es mostrar la ,rase @Aola "undo@ en la consola de

    nuestro indo.s-

    Para ejecutar nuestro programa pulsamos la tecla F9 o bien vamos al

    Men ejecutar > compilar ejecutar.

    Primero ?uiero dejar claro ?ue las ,rases ?ue llevan antes @@ son cosas ?ue el

    compilador no ejecuta- )sto se llama comentarios; nos sirven para ?ue nosotros

    mismos; los programadores; sepamos ?ue /ace cada instruccin- )n este tipo de

    programas no; pero imaginad un programa de m=s de 3 l6neas de cdigoD &ste tendr6a

    ?ue tener comentarios aclaratorios para ?ue no se convierta en un caos-

    0ien; empe9amos a anali9ar el cdigo (a os digo ?ue no tem=is si no entend&is cosas

    a/ora; es completamente normal; a todos nos /a pasado-

    #include

  • 7/24/2019 Lenguaje C.doc

    10/16

    #include

    )stos @includes@ /acen re,erencia a librer6as- Las librer6as las veremos m=s adelante;

    por lo ?ue a entender&is por ?u& est=n a/6- e momento ponedlas sin m=s; por?ue son

    necesarias para ?ue ,uncione el programa-

    int main()

    {

    ...

    }

    )sto es la ,uncin @main@; es decir; la ,uncin principal del programa- Todo lo ?ue est&

    dentro de Q --- R del main es lo ?ue se va a ejecutar cuando ejecutemos el programa- Por

    eso; todo programa debe llevar su @main@-

    printf("Hola Mundo. \n");

    print, es una ,uncin ?ue nos permite escribir por pantalla- )scribiremos entrepar&ntesis comillas como veis; la ,rase a mostrar; el programa la mostrar=- 8claro

    ?ue el @Sn@ es e?uivalente a un salto de l6nea en la consola de indo.s-

    sstem("!$%");

    O esta instruccin dejar= en pausa a la consola de indo.s /asta ?ue pulsemos una

    tecla para ?ue se cierre- Comprobad si ?uer&is ?ue si ?uit=is el @pause@; la consola se

    cerrar= nada m=s ejecutar el programa; por lo ?ue no podremos ver el contenido de

    nuestro programa-

    8djunto el arc/ivo del cdigo ,uente PrimerPrograma-cpp

    !O"#$ %uarda los arc&ivos de los cdigos 'uente en una carpeta (ue

    tengas bien locali)ada. *ecuerda (ue los arc&ivos de programas en C

    tienen la e+tensin ,cpp,.

    Para aclarar un poco mejor todo; vamos a ver un v6deo donde se reali9an diversos

    cambios en el cdigo para ?ue se aprecien esos cambios en el programa-

    "ipos de datos -variables

    http://www.aulafacil.com/uploads/cursos/1537/editor/primerprograma.cpphttp://www.aulafacil.com/cursos/l16550/informatica/programacion/lenguaje-de-programacion-c/tipos-de-datos-variableshttp://www.aulafacil.com/uploads/cursos/1537/editor/primerprograma.cpphttp://www.aulafacil.com/cursos/l16550/informatica/programacion/lenguaje-de-programacion-c/tipos-de-datos-variables
  • 7/24/2019 Lenguaje C.doc

    11/16

    Oir Lecc.

    Los tipos de datos; la in,ormacin ?ue manipularemos en C; ser=n variables- )stas

    variables pueden ser de di,erentes tipos- amos a ver las m=s comunes- Aa ?ue decir

    ?ue generalmente en todos los lenguajes de programacin son los mismos tipos o muparecidos-

    )mpe9amos con los datos num&ricos; ?ue pueden ser

    JTipo entero (int estas variables contienen datos num&ricos enteros-

    JTipo 'loat son datos num&ricos con decimales-

    JTipo double tambi&n contienen datos num&ricos con decimales; pero a di,erencia del

    ,loat; estas variables son de m=s tama /nombre0variable> 1 /valor>

    )sa es la estructura a seguir; en C ?uedar6an as6 algunos ejemplos

    int num #D

    c/ar caracter UbU

    Tiene ?ue ?uedar mu claro ?ue si en el programa ?ueremos almacenar un nHmero tipo

    int; dic/a variable tiene ?ue ser tipo int; no puede ser tipo c/ar o double- C es muin,le>ible en eso; los datos tienen ?ue estar claramente distinguidos-

    Por ejemplo;&'podemos /acer lo siguiente

    int num 1-'5D

    Mos dar= error; por?ue el valor es un nHmero con decimales; por lo ?ue tendremos ?ue

    utili9ar un double o ,loat-

  • 7/24/2019 Lenguaje C.doc

    12/16

    Por Hltimo un tipo de dato di,erente; dato bool; ?ue puede tomar solo dos valores @true@

    o @,alse@; es decir; verdadero o ,also-

    Mo os preocup&is ?ue todo esto se va a poner en pr=ctica en la siguiente leccin; donde

    enter&is mejor el uso de las variables-

  • 7/24/2019 Lenguaje C.doc

    13/16

    Mostrando datos por pantalla

    Oir Lecc.

    amos a aprender a/ora a crear variables; darles valor mostrar ese valor por pantalla-e esta ,orma sabemos ?u& valor contiene cada variable-

    Aaremos un programa mu simple en el ?ue crearemos 2 variables de di,erente tipo; le

    asignaremos un valor lo mostraremos por pantalla-

    )l cdigo es el siguiente

    :ecordad los comentarios ?ue vo poniendo en el cdigo; son mu Htiles para ?ue

    sep=is ?u& est= reali9ando cada instruccin del programa-

    Cabe decir ?ue la creacin asignacin de las variables se pueden /acer en una sola

    l6nea tambi&n; eso lo pod&is /acer como ?uer=is- )n este caso; lo /ice aparte para ?ue se

    vea un poco m=s claro; pero tambi&n se puede /acer lo siguiente

    int num 1D

    )s lo mismo- )l programa ,uncionar= igualmente-

    Lo novedoso de esta leccin es la muestra por pantalla de valores ?ue /emos dado a

    nuestras variables; esto se /ace a trav&s del print,; como se ve en el cdigo- )sto,unciona de la siguiente manera

    http://www.aulafacil.com/cursos/l16551/informatica/programacion/lenguaje-de-programacion-c/mostrando-datos-por-pantallahttp://www.aulafacil.com/cursos/l16551/informatica/programacion/lenguaje-de-programacion-c/mostrando-datos-por-pantalla
  • 7/24/2019 Lenguaje C.doc

    14/16

    print'-,/te+to0a0mostrar>,2 /variables0a0mostrar>

    )ntre comillas se escribe el te>to ?ue se mostrar=; cuando se ?uiera mostrar una

    variable se /ace con el @V@- La letra ?ue lleva detr=s cambiar= dependiendo del tipo dedato ?ue utilicemos- )n la siguiente tabla ver&is las letras para cada tipo

    int JW Vi

    c/ar JW Vc

    ,loat JW V,

    double JW V,

    Para los dos Hltimos se utili9a el mismo-

    0ueno; retomando la muestra de los valores; una ve9 /aamos escrito el te>to entre las

    comillas luego vendr= una @;@ para separar; a continuacin el nombre de la variable a

    mostrar--- como pod&is apreciar en el cdigo-

    eb&is saber ?ue se pueden mostrar ambas variables en un solo @print,@; todo es saber

    manejar la sinta>is del print,; en el video pod&is comprobar cmo /acerlo-

    8?u6 dejo el cdigo ,uente para ?ue practi?u&is; /aciendo cambios probando cosas;

    como por ejemplo modi,icar los valores de las variables o crear otras variables

    mostrarlas en un solo print,

    Descargar datosporpantalla.cpp

    http://www.aulafacil.com/uploads/cursos/1537/editor/datosporpantalla.cpphttp://www.aulafacil.com/uploads/cursos/1537/editor/datosporpantalla.cpp
  • 7/24/2019 Lenguaje C.doc

    15/16

    Constantes

    Oir Lecc.

    eremos a/ora un tipo de variables ?ue son especiales; por eso no las /e metido en laleccin de tipos de datos- )stas variables pueden ser de cual?uier tipo; pero con la

    caracter6stica ?ue tendr=n un valor constante; como su propio nombre indica-

    Tenemos ?ue tener claro ?ue este valor no se va a poder modi,icar en todo el programa-

    Las constantes son mu Htiles por ejemplo para valores como PI-

    amos a ver un ejemplo

    Como veis; las constantes se de,inen en la parte superior; debajo de los @includes@- La

    estructura es la siguiente

    3de'ine /nombre0constante> /valor0constante>

    +e escribe as6 todo directamente; no /ace ,alta utili9ar @@ para asignar el valor a la

    constante-

    )ste sencillo programa lo ?ue /ace es multiplicar 3 por PI mostrarlo por pantalla-

    )n el video comprobaremos ?ue no se puede cambiar el valor de la constante; tambi&n

    se ver= una ,orma m=s corta de reali9ar el ejercicio; ?ue es mostrando directamente en el

    @print,@ el valor de 3 por PI; de ,orma ?ue nos podemos saltar la asignacin del

    resultado a la variable @num@; incluso podemos obviar la creacin de la variable

    @num@--- /acerlo todo directamente; de esta ,orma

    print'- ,4l resultado es$ 5' 6n,2 7 8 PI

    http://www.aulafacil.com/cursos/l16562/informatica/programacion/lenguaje-de-programacion-c/constanteshttp://www.aulafacil.com/cursos/l16562/informatica/programacion/lenguaje-de-programacion-c/constantes
  • 7/24/2019 Lenguaje C.doc

    16/16

    :ecordad ?ue a/ora; al ser un nHmero con decimales; utili9amos el @V,@ para mostrarlo-

    Cdigo ,uente escargar Constantes-cpp

    http://www.aulafacil.com/uploads/cursos/1537/editor/constantes.cpphttp://www.aulafacil.com/uploads/cursos/1537/editor/constantes.cpp