You are on page 1of 36

Universidad Nacional Autnoma de Nicaragua Recinto Universitario Rubn Daro Facultad de Ciencias e Ingenieras Departamento de Computacin

Asignatura: Programacin I. Prof.: Maura Dvila.

mDvila

Objetivos: Conocer el entorno de desarrollo de un programa C tpico. Emplear los operadores aritmticos as como la aplicacin de la precedencia de los mismos. Conocer los distintos tipos de datos fundamentales. Manejar instrucciones sencillas de entrada y salida. Escribir programas simples en C.

Contenidos
Presentacin personal y del Programa de Asignatura. Introduccin: El lenguaje de Programacin C. Estructura de un Programa en C. Operadores de C:
Aritmticos. Monarios. Relacionales. Lgicos y Condicionales.

Objetivos Generales de la Asignatura:


Adquirir un mtodo de trabajo que le permita al estudiante abordar la realizacin de programas utilizando las tcnicas adecuadas para su diseo, escritura, seguimiento, depuracin y actualizacin futura.

Enfocar la resolucin de problemas mediante el diseo de algoritmos. Introducir las tcnicas de diseo descendente de algoritmos.
Desarrollar, probar y documentar programas utilizando un estilo adecuado de programacin.

Introducir a los alumnos en las tcnicas de resolucin de problemas, de tipo general, mediante el empleo de programas que implemente los algoritmos adecuados.

Introduccin: El lenguaje de Programacin C.


Lenguaje C: C es un lenguaje de programacin estructurado de propsito general. Sus instrucciones constan de trminos que se parecen a expresiones algebraicas, adems de ciertas palabras clave en ingls. C se caracteriza por hacer posible la redaccin de programas fuente muy concisos, debido en parte al gran nmero de operadores que incluye el lenguaje. Permite a los usuarios escribir funciones de biblioteca adicionales para su propio uso.

Este lenguaje presenta varias caractersticas, entre las cuales estn:


Lenguaje de programacin de propsitos generales Permite la Programacin Estructurada Abundancia de Operadores y Tipos de Datos No est asociado a ningn sistema operativo ni a ninguna mquina Popular y Eficaz. Permite el desarrollo de Sistemas Operativos y programas de aplicacin. Portabilidad. Existen las libreras en las bibliotecas.

Errores tpicos en un programa:


ERROR DE SINTAXIS: Estos errores son producidos, cuando se hace mal uso de las reglas del lenguaje de programacin, y se violan las normas de sintaxis, de ese lenguaje (en nuestro caso C); estos errores son fciles de detectar ya que generalmente es el compilador, que los identifica.

Errores tpicos en un programa:


ERRORES DE EJECUCIN: Estos errores se producen, cuando le indicamos a la computadora, realizar una determinada accin, y sta la comprende, pero no puede ejecutarla. Por ejemplo, indicarle a la computadora una divisin entre cero, sumar dos variables a las cuales no se les ha asignado valor alguno, etc.

Errores tpicos en un programa:


ERRORES DE LGICA: Muchas veces, cuando estamos programando, el compilador no nos indica errores de sintaxis; pero el resultado de nuestro programa, esta fuera del rango esperado, esto es producto de un error de lgica en el cdigo de nuestro programa. Este tipo de errores son muy difciles de identificar y por supuesto de corregir, ya que generalmente hay que revisar lnea por lnea de nuestro programa. Ejemplo: La edad negativa de una persona, etc.

Estructura de un Programa en C
La estructura de un programa en C, consta de algunas partes esenciales: las cuales son uno o ms mdulos llamadas funciones, siendo main() la primera funcin que es llamada cuando empieza la ejecucin del programa. Las definiciones de las funciones adicionales se deben realizar aparte, bien precediendo o siguiendo a main.

Estructura de un Programa en C
Cada funcin debe contener: Directivas de pre-procesador (instrucciones que se le dan al compilador).

Ejemplo: #include <stdio.h> Lo que se le est indicando, es que, "Incluya" en nuestro programa la directiva stdio.h, la cual contiene las funciones de entrada y salida de datos (standar input output, en ingls)

Estructura de un Programa en C
Si necesitamos las funciones de cadenas: #include <stlib.h> Es necesario aclarar que esto se hace al inicio del programa, y las declaratorias deben llevar el smbolo de numeral (#) seguido de la sentencia "include", y entre signos de mayor y menor que (<>) el nombre de la directiva.

Estructura de un Programa en C
Declaraciones Globales Pueden ser: Prototipos de Funciones: Tambin llamadas declaraciones de funciones.

Declaraciones de Variables: cabe destacar, que esto se hace seguido de los #include y los #define.

Funcin Principal main()


Esta es la funcin principal de nuestro programa, NUNCA debe faltar, ya que en ella van contenidas todas las instrucciones de nuestro programa. main() { declaraciones locales /*Comentarios */ sentencias }

Funcin Principal main()


La funcin main() va al inicio, luego abrimos llaves y dentro de ellas van las declaraciones de variables, las sentencias de lectura, clculos, asignaciones e impresiones, y con la ltima llave ( } ), le indicamos el final del programa.

Funcin Principal main()


Cada instruccin compuesta se encierra con un par de llaves, { }. Dentro de las llaves puede haber combinaciones de instrucciones que pueden ser simples o compuestas. As las instrucciones compuestas pueden estar anidadas, una dentro de otra. Cada instruccin de expresin debe terminar en punto y coma (;).

Identificadores:
formaciones. Un identificador est formado por:

Letras y dgitos en cualquier orden, excepto el primer carcter, que debe ser una letra. Pueden utilizar maysculas y minsculas, por costumbre se utilizan minsculas.
No intercambiar maysculas y minsculas ya que el compilador trabaja en base al cdigo ascii.

El carcter (_) se puede incluir y es considerado como una letra, se suele utilizar en medio de los identificadores.

Identificadores:
Nombres de identificadores validos: x, x12, cont, sum_1, ape1, ape_2, nombres, nom_prov. Nombres de identificadores no validos por la razn indicada: 4cont y Fact-no Indicador error el primer carcter debe ser una letra carcter ilegal () carcter ilegal (-) carcter ilegal (espacio en blanco).

Palabras reservardas:
En C existen palabras reservadas que solo se pueden utilizar para propsitos ya definidos, no se pueden utilizar como identificadores definidos por el programador, estas palabras son:
Auto while Enum Int signed Typedef

Break

Default

Extern

Long

Sizeof

Union

Case

Do

Float

Register

Static

Unsigned

Char

Double

Goto

Return

Struct

Void

const

Else

if

short

switch

volatile

Comentarios:
En todo programa que estemos diseando en C (o en cualquier otro lenguaje de programacin); es necesario insertar ciertos comentarios en el cdigo, para que en posteriores modificaciones y cuando se realice el mantenimiento, podamos recordar cosas importantes ya que, en los comentarios, podemos incluir aspectos importantes del programas, explicaciones del funcionamiento de las sentencias, etc. El formato de los comentarios en C, es el siguiente: /*este es un comentario en C */

Tipos de datos:
C ofrece distintos tipos de datos, cada uno de los cuales se puede encontrar representado de forma diferente en la memoria de la computadora:

Tipo de datos de memoria Int Char Float (4 bytes) Doubl palabras (8 bytes) de doble precisin

Descripcin

Requisito

tpico

Cantidad entera 2bytes o 1palabra Carcter 1 byte Nmero en coma flotante 1 palabra

Nmero en coma flotante

Tipos de datos:
Algunos tipos bsicos de datos se pueden ampliar utilizando los cualificadores de tipos de datos short (corto), long (largo), signed (con signo) y unsigned (sin signo). Por ejemplo, se pueden definir cantidades enteras como short int, long int o unsigned int

Operadores de C:
Un operador, es un smbolo que indica al compilador que se lleve a cabo ciertas operaciones matemticas o lgicas.

Operadores Aritmticos
Operador + * / % Propsito Suma Resta Multiplicacin Divisin Resto de la divisin entera

Operadores Aritmticos:
Vemoslo con un ejemplo: Si dividimos 30/3, su cociente es 10, y su residuo es 0. Si dividimos 25/3, su cociente es 8, y tiene un residuo de 1.

Ahora veamos el caso de de %: Este operador devuelve el valor del residuo de una divisin. Cabe aclarar que los datos deben de ser tipo entero, y su sintaxis es la siguiente: 25%3 regresa 1 Nota: Este Operador, NO puede aplicarse a los datos de tipo float.

Operadores Monarios:
C, incluye una clase de operadores que actan sobre un solo operador para producir un nuevo valor. Por eso el nombre de unarios, por que para poder funcionar solo necesitan de un operador.
Operador Propsito

Menos Unario: Es el signo menos que va delante de una variable, constante o expresin.

++

Operador Incremento: Hace que la variable, constante o expresin se aumente en uno.

--

Operador Decremento: Hace que su variable, constante o expresin disminuya en uno.

Operadores Monarios:
Ejemplo: Int i=1, x=5; Printf("%d", ++i); Printf("%d", - -i); Estos operadores, el incremento y el decremento, pueden utilizarse de dos maneras, eso depende del orden de aparicin de los mismos:

Si el operador precede al operando el valor del operando se modifica antes de ser utilizado. Si el operador aparece despus del operando, este se modifica despus de ser utilizado.

Operadores Monarios:
Ejemplo: #include<stdio.h> main() { int x=5; clrscr(); ++x; printf("X =%d ",x); getch(); }

Operadores Relacionales o de Comparacin:


Operador < <= Significado Menor que Menor o igual que

> >=
== !=

Mayor que Mayor o igual que


Igual que (Para las comparaciones) No igual a

Estos Operadores se encuentran dentro del mismo grupo de procedencia, que es menor que la de los Operadores Unarios y aritmticos. La Asociatividad de stos es de izquierda a derecha. Cabe mencionar la diferencia entre los operadores = y ==, el primero (=), se utiliza para asignaciones de valores, mientras que el otro (==), se usa para comparaciones. Ejemplo: Si x>5, entonces x==6.

Operadores lgicos:
Estos son los que nos permiten unir varias comparaciones: 10>5 y 6==6. Los operadores lgicos son: AND (&&), OR (||), NOT(!).

Operador && (AND, en castellano Y): Devuelve un 1 si se cumplen dos condiciones. printf( "Resultado: %i", (10==10 && 5>2 ); Operador || (OR, en castellano O): Devuelve un 1 si se cumple una de las dos condiciones. Operador ! (NOT, negacin): Si la condicin se cumple NOT hace que no se cumpla y viceversa.

Operadores de Asignacin:
Los Operadores de Asignacin, como su nombre lo indica, se encargan de atribuirle, asignarle, confinarle, etc a una variable, el resultado de una expresin o el valor de otra variable.

Se utilizan en forma de expresiones de asignacin en los que se asigna en el valor de una expresin a un identificador. El operador de asignacin ms utilizado es "=" y su formato es: Identificador = expresin;

Operadores de Asignacin:
Donde el identificador representa por lo general una variable y una constante, una variable o una expresin ms compleja.

Si los dos operandos de la expresin de asignacin son de tipo de datos diferentes el valor de la expresin de la derecha se convertir automticamente al tipo de identificador de la izquierda de sta forma la expresin de asignacin ser del mismo tipo de datos.

Operadores de Asignacin:
Donde el identificador representa por lo general una variable y una constante, una variable o una expresin ms compleja.

Si los dos operandos de la expresin de asignacin son de tipo de datos diferentes el valor de la expresin de la derecha se convertir automticamente al tipo de identificador de la izquierda de sta forma la expresin de asignacin ser del mismo tipo de datos.

Operadores de Asignacin:
Ejemplo: *Un valor en coma flotante puede ser truncado, se asigna a un identificador entero.

*Un valor de doble precisin puede ser redondeado si se asigna a un identificador de coma flotante. En C, estn permitidas las asignaciones mltiples, as: Identificador1 = identificador2 = identificador3.....= identificadorn=expresin

Operadores de Asignacin:
C, posee adems los siguientes operadores de asignacin:
Operador += Explicacin Expresin1+=expresin2. Equivale a: expresin1=expresin1 + expresin2

-= *=

i-=1. equivale a: i=i-1 J*=2. Equivale a: j=j*2

/=
%=

K/=m, equivale a: k=k/m


P%n. Equivale a: p=p%n

Los Operadores de asignacin tiene menos procedencia que el resto de los operadores y tienen asociatividad de izquierda a derecha.

Jerarqua de Operadores:
Categora del Operador 1. Operadores Unarios 2.Operadores Aritmticos: Multiplicacin, divisin y Resto entero Suma y Resta 3. Operadores Relacionales 4. Operadores de Igualdad 5. Operadores Lgicos 7. Operador condicional Operador -, ++, --, !(negacin) *, /, % +,<, <=, >, >= == (igual) ! = (no igual que) && (Y Lgico), || (NO Lgico) ?:

6. Operadores de Asignacin

=, +=, -=, *=, /?, %=,

REGLAS DE JERARQUA: Se ejecuta primero el operador de ms alta jerarqua Operadores que tienen igual jerarqua se evalan de izquierda a derecha si existen expresiones encerradas entre parntesis, estas se evalan primero. si existen parntesis anidados se evalan primero los parntesis ms internos.

Operador condicional:

Se pueden efectuar operaciones condicionales simples con el operador condicional (? : ). Una expresin que hace uso del operador condicional se denomina expresin condicional.

Una expresin condicional se escribe de la forma: expresin ? expresion1 : expresion2

Operador condicional:

Se evala expresin si es verdadera entonces expresion1 y esta es el resultado de la expresin condicional, de lo contrario (si expresin es falsa) ocurre expresion2 y esta ser el resultado de la expresin condicional. Ejemplos:

(j<60) ? 0 : 100; Indicador=(j<0) ? 0 : 100;

You might also like