Programando en C o C++2012

Embed Size (px)

Citation preview

  • 8/18/2019 Programando en C o C++2012

    1/30

    Programando en C oC++

    Compilador gcc o g++

  • 8/18/2019 Programando en C o C++2012

    2/30

    Programa.

    Un programa en sentido informático está

    constituido por un conjunto de instrucciones

    que se ejecutan ordinariamente de modo

    secuencial, es decir, cada una a continuaciónde la anterior.

  • 8/18/2019 Programando en C o C++2012

    3/30

    Programa Todo programa C, desde el más pequeño hasta el más complejo, tiene

    un programa principal que es con el que se comienza la ejecución delprograma. Este programa principal es tami!n una función, pero unafunción que está por encima de todas las demás.

    Esta función se llama main"# $ tiene la forma siguiente "la palara %oides opcional en este caso#&

    %oid main "%oid#

    ' sentencia() sentencia(* ...

    as lla%es '... constitu$en el modo utilizado por el lenguaje C paraagrupar %arias sentencias de modo que se comporten como unasentencia -nica "sentencia compuesta o loque#. Todo el cuerpo de lafunción dee ir comprendido entre las lla%es de apertura $ cierre.

  • 8/18/2019 Programando en C o C++2012

    4/30

    Palabras claves del C. El C es un lenguaje mu$ conciso, con muchas menos palaras

    cla%e que otros lenguajes. continuación se presenta la lista de las /*

    palaras cla%e del 012 C, para las que más adelante se dará detalle de su significado "algunos

    compiladores añaden otras

    palaras cla%e, propias de cada uno de ellos. Es importantee%itarlas como identificadores#&  uto doule int struct 3rea4 else long s5itch Case enum register t$pedef  

    Char e6tern return union Const float short unsigned Continue for signed %oid 7efault goto sizeof %olatile 7o if static 5hile

  • 8/18/2019 Programando en C o C++2012

    5/30

    Constantes En C e6isten distintos tipos de constantes&

    1. Constantes numéricas. 1on %alores num!ricos, enteros o de puntoflotante. 1e permiten tami!n constantes octales "n-meros enteros enase 8# $ he6adecimales "ase )9#.

    *. Constantes carácter. Cualquier carácter indi%idual encerrado entreapóstrofos "tal como :a:, :;:, :#:, :+:, etc.# es considerado por C como unaconstante carácter, o en realidad como un n-mero entero pequeño"entre < $ *==, o entre >)*8 $ )*?, seg-n los sistemas#.

    E6iste un código, llamado código 1C22, que estalece unaequi%alencia entre cada carácter $ un %alor num!rico correspondiente.

    /. Cadenas de caracteres. Un conjunto de caracteres alfanum!ricosencerrados entre comillas es tami!n un tipo de constante del lenguajeC, como por ejemplo& @espacio@, @Esto es una cadena de caracteres@,etc.

    A. Constantes simbólicas. as constantes simólicas tienen un nomre"identificador# $ en esto se parecen a las %ariales. 1in emargo, nopueden camiar de %alor a lo largo de la ejecución del programa. En Cse pueden definir mediante el preprocesador o por medio de la palaracla%e const. En C++ se utiliza preferentemente esta segunda forma.

  • 8/18/2019 Programando en C o C++2012

    6/30

    Tipos de datos

  • 8/18/2019 Programando en C o C++2012

    7/30

    Caracteres tipo char

    as %ariales carácter "tipo char# contienen un -nico carácter $ sealmacenan en un $te de memoria "8 its#. En un it se puedenalmacenar dos %alores "< $ )#B

    La declaración de variables tipo carácter puede tener la forma& char nomreB char nomre), nomre*, nomre/B

    1e puede declarar más de una %ariale de un tipo determinado en unasola sentencia. 1e puede tami!n inicializar la %ariale en ladeclaración.

    Por ejemplo, para definir la %ariale carácter letra $ asignarle el %alor

    a, se puede escriir& char letra = aB

      partir de ese momento queda definida la %ariale letra con el %alorcorrespondiente a la letra a.

  • 8/18/2019 Programando en C o C++2012

    8/30

     Variables Una %ariale entera "tipo int# se declara, o se

    declara $ se inicializa en la forma& unsigned int numero int nota = 1!

    E6iste la posiilidad de utilizar enteros con un rango

    ma$or si se especifica como tipo long en sudeclaración& long int numero"grande

    ;a que la palara cla%e int puede omitirse en este

    caso, long numero"grandeB as %ariales tipo float se declaran de la forma&

    float numero(realB

  • 8/18/2019 Programando en C o C++2012

    9/30

    Constantes carácter.

  • 8/18/2019 Programando en C o C++2012

    10/30

    OPERADORES ART!"TCOS

    os operadores aritm!ticos son los más sencillos deentender $ de utilizar. Todos ellos son operadoresinarios. En C se utilizan los cinco operadoressiguientes& #uma$ % &esta$ ' (ultiplicación$ ) *ivisión$ + &esto$

    Todos estos operadores se pueden aplicar aconstantes, %ariales $ e6presiones. El resultado esel que se otiene de aplicar la operacióncorrespondiente entre los dos operandos.

  • 8/18/2019 Programando en C o C++2012

    11/30

    #os operadores relacionales

    son los siguientes$

    -gual ue o identico ue$ == (enor ue$ / (a0or ue$ (enor o igual ue$ /= (a0or o igual ue$ = *istinto ue$ 2=

    Todos los operadores relacionales son operadores

    inarios "tienen dos operandos#, $ su forma general esla siguiente&

    e3presion1 operador e3presion4

  • 8/18/2019 Programando en C o C++2012

    12/30

    Comentarios

    os comentarios en C se pueden hacer utilizando +) comentario)+ o ++.

    5jemplo

    %ariale() %ariale(*B  +) En esta lDnea seasigna a %ariale() el %alor contenido en%ariale(* )+

    %ariale() %ariale(*B ++ En esta lDnea se asignaa

     ++ %ariale() el %alor 

     ++ contenido en %ariale(*

  • 8/18/2019 Programando en C o C++2012

    13/30

    #ibrer$as en C El lenguaje C lo hace por medio de funciones

    preprogramadas que se %enden o se entregan junto con elcompilador.

    Estas funciones están agrupadas en un conjunto delirerDas de código ojeto, que constitu$en la llamadalirerDa estándar del lenguaje.

     a llamada a dichas funciones se hace por medio de ladirecti%a del preprocesador 6include.

    a lectura $ escritura "o entrada $ salida# de datos serealiza por medio de stdio 7standard input+output8.

    5jemplo$ 6include /stdio.h

  • 8/18/2019 Programando en C o C++2012

    14/30

    Sentencia % 

    Esta sentencia de control permite ejecutar o

    no una sentencia simple o compuesta seg-n

    se cumpla o no una determinada condición.

    Esta sentencia tiene la siguiente formageneral&

    if 7e3presion8

    sentenciaB ' si son mas de *sentencias

  • 8/18/2019 Programando en C o C++2012

    15/30

    Sentencia % else

    1E0TE0C2 2 ... E1E Esta sentencia permite realizar una

    ifurcación, ejecutando una parte u otra del

    programa seg-n se cumpla o no una ciertacondición. a forma general es la siguiente&

    if "e6presion#

    sentencia()B ' si son mas de *

    else

    sentencia(*B ' si son mas de *sentencias

  • 8/18/2019 Programando en C o C++2012

    16/30

    Sentencia % else m&ltiple Esta sentencia permite realizar una ramificación m-ltiple, ejecutando

    una entre %arias partes del programa seg-n se cumpla una entre ncondiciones. a forma general es la siguiente&

    if "e6presion()#sentencia()B

    else if "e6presion(*sentencia(*Belse if "e6presion(/#

    sentencia(/Belse if "...#

    ...

    Felsesentencia(nBG

    ' si son mas de * sentencias

  • 8/18/2019 Programando en C o C++2012

    17/30

    Sentencia S'itch a sentencia que se %a a descriir a continuación desarrolla una función

    similar a la de la sentencia if ... else con m-ltiples ramificaciones, aunquecomo se puede %er presenta tami!n importantes diferencias. a formageneral de la sentencia s5itch es la siguiente&s5itch "e6presion# '

    case e6presion(cte()& sentencia()B rea4Bcase e6presion(cte(*& sentencia(*B rea4B

    ...case e6presion(cte(n& sentencia(nB rea4(nBFdefault&

    sentenciaBG

    ' si son mas de * sentencias

  • 8/18/2019 Programando en C o C++2012

    18/30

    (&cles

     demás de ifurcaciones, en el lenguaje Ce6isten tami!n %arias sentencias quepermiten repetir una serie de %eces laejecución de unas lDneas de código.

    Esta repetición se realiza un n-merodeterminado de %eces, o ien hasta que secumpla una determinada condición de tipológico o aritm!tico.

    as tres construcciones del lenguaje C pararealizar ucles son el 9hile, el for 0 eldo...9hile.

  • 8/18/2019 Programando en C o C++2012

    19/30

    Sentencia )hile

    Esta sentencia permite ejecutar

    repetidamente, mientras se cumpla una

    determinada condición, una sentencia o

    loque de sentencias. a forma general escomo sigue&

    5hile "e6presion(de(control#

    sentenciaB

    ' si son mas de * sentencias

  • 8/18/2019 Programando en C o C++2012

    20/30

    Sentencia *or 1E0TE0C2 HI

    or es quizás el tipo de ucle mas %ersátil $

    utilizado del lenguaje C. 1u forma general es la

    siguiente&

    for "inicializacionB e6presion(de(controlB

    actualizacion#

    sentenciaB

    Ejemplo&

    pe

  • 8/18/2019 Programando en C o C++2012

    21/30

    Sentencia Do )hile 1E0TE0C2 7H ... LM2E

    Esta sentencia funciona de modo análogo a 5hile, con

    la diferencia de que la e%aluación de

    e6presion(de(control se realiza al final del ucle,

    despu!s de haer ejecutado al menos una %ez lassentencias entre lla%esB !stas se %uel%en a ejecutar

    mientras e6presion(de(control sea true. a forma

    general de esta sentencia es&

    dosentenciaB

    5hile"e6presion(de(control#B

  • 8/18/2019 Programando en C o C++2012

    22/30

     Vectores Un arra$ "tami!n conocido como arreglo,

    %ector o matriz# es un modo de manejar una

    gran cantidad de datos del mismo tipo ajo

    un mismo nomre o identificador. Nor

    ejemplo, mediante la sentencia&doule aF)

  • 8/18/2019 Programando en C o C++2012

    23/30

    !atrices. as matrices se declaran de forma análoga, con

    corchetes independientes para cada suDndice.a forma general de la declaración es&

    tipo nombre:numero"filas;:numero"columnas;

    donde tanto las filas como las columnas senumeran tami!n a partir de

  • 8/18/2019 Programando en C o C++2012

    24/30

    *&nciones de entrada ,salida. a función printf78 imprime en la unidad de salida

    "el monitor, por defecto#, el te6to, $ las constantes $%ariales que se indiquen. a forma general de estafunción se puede estudiar %iendo su prototipo&

    int printf7

  • 8/18/2019 Programando en C o C++2012

    25/30

    Caracteres de conversi-n para la %&nci-n print%/.

  • 8/18/2019 Programando en C o C++2012

    26/30

    *&nci-n scan%/ a función scanf78 es análoga en muchos aspectos a

    printf"#, $ se utiliza para leer datos de la entradaestándar "que por defecto es el teclado#.

    a forma general de esta función es la siguiente&

    scanf7

  • 8/18/2019 Programando en C o C++2012

    27/30

    Caracteres de conversi-n para la %&nci-nscan%/

  • 8/18/2019 Programando en C o C++2012

    28/30

    Nor ejemplo, para leer los %alores de dos

    %ariales int $ doule $ de una cadena de

    caracteres, se utilizarDan la sentencia&

    int nB doule distanciaB

    char nomreF*

  • 8/18/2019 Programando en C o C++2012

    29/30

    mportante para programar.

    Todos los programas son diferentes no ha$

    uno igual.

    Macer los programas en lápiz $ despu!s

    programar. irerDas de C tarea uscar lirerDas $

    funciones en C.

  • 8/18/2019 Programando en C o C++2012

    30/30

    CO!P#A 0 E1EC2TA E3#324

    Suarda tu programa en un archi%o.

    1al%a tu programa con un nomre.c

    Ejemplo suma.c

     ra la consola $ %a$ase a la ruta o al

    archi%o donde sal%o su programa.

    CHN2I CH0 SCC H S++.