Está en la página 1de 45

Lic.

Informtica Administrativa

Programacin

Historia Del Lenguaje


El lenguaje de programacin C fue desarrollado por Dennis Ritchie de AT&T Bell Laboratories usado al principio para escribir y mantener el sistema operativo UNIX.

Historia Del Lenguaje


La especificacin formal del lenguaje es un documento llamado The C Reference Manual escrito por Ritchie. C es un lenguaje de programacin potente y muy usado en el mundo universitario y profesional. Ha ido evolucionando adaptndose a los cambios producidos en la naturaleza de la programacin.

Elementos Del Lenguaje


Son las unidades de las que se compone un programa como variables, constantes, identificadores, etc. Lo anterior va enmarcado dentro de la estructura general de un programa en C que aparece a continuacin #include <stdio.h> main() { . . instrucciones . . }

Elementos Del Lenguaje


#include <stdio.h> es una instruccin que manda llamar el archivo de cabecera stdio.h que contiene todo lo necesario identificar los elementos del programa. main() indica el inicio del programa. Es la funcin principal. Cada llave que se abre ({) tiene una que se cierra (}).

Ejemplos Cabeceras del lenguaje bibliotecas


<stdarg.h> <stdbool.h> <stdint.h> <stddef.h> <stdio.h> posibilita el acceso a una cantidad variable de argumentos pasados a una funcin. Para el tipo booleano (nuevo en C99). Para definir varios tipos enteros (nuevo en C99). Para definir varios tipos de macros de utilidad. Proporciona el ncleo de las capacidades de entrada/salida del lenguaje C (incluye la venerable funcin printf).

<stdlib.h> <string.h> <tgmath.h> <time.h> <wchar.h> <wctype.h>

Para realizar ciertas operaciones como conversin de tipos, generacin de nmeros pseudo-aleatorios, gestin de memoria dinmica, control de procesos, funciones de entorno, de sealizacin (??), de ordenacin y bsqueda. Para manipulacin de cadenas de caracteres. Contiene funcionalidades matemticas de tipo genrico (typegeneric) (nuevo en C99). Para tratamiento y conversin entre formatos de fecha y hora.
Para manipular flujos de datos anchos y varias clases de cadenas de caracteres anchos (2 o ms bytes por carcter), necesario para soportar caracteres de diferentes idiomas (nuevo en NA1). Para clasificar caracteres anchos (nuevo en NA1).

Qu es una Variable?
Es

solo un nombre para identificar posiciones de memoria. Este nombre de la variable debe ser un identificador vlido. En las variables (posiciones de memoria) se guardan los datos usados por el programa durante su ejecucin. TODA variable debe ser DECLARADA antes de poder ser utilizada.

Un identificador es simplemente el nombre que le vamos a dar a la variable, constante o funcin

Para que un identificador sea vlido debe: Iniciar con una letra del alfabeto ingls, o con el signo (_) No debe contener caracteres especiales, tales como @, $, # Despus de la primera letra puede contener ms letras del alfabeto ingls, nmeros, o el carcter (_) NO DEBE haber espacios en blanco en los identificadores C diferencia maysculas de minsculas, entonces no es lo mismo declarar la variable numero que Numero o NuMeRo Existen palabras propias del lenguaje (palabras reservadas) que no pueden ser usadas como identificadores ej: if, do

Ejemplos De Identificadores No Vlidos umero Vlidos numero

@hola
Peso neto 1radio if

_hola
Peso_neto radio1 si

Tipos de variables
Variables

globales: son las que se declaran despus del llamado a las cabeceras, pero antes de cualquier funcin, y son tiles para cualquier parte del programa. Variables locales: son las que se declaran dentro de una funcin, y solo sirven para ser usadas dentro de esa funcin.

Tipos de datos
Los

tipos de datos definen los mtodos de almacenamiento disponibles para representar informacin, junto con la manera en que dicha informacin ha de ser interpretada. Los tipos de datos son indispensables para la declaracin de variables. En C tenemos diferentes tipos de datos:

Tipos de datos

Declaracin De Variables Ejemplo


tipo_de_dato identificador;
El siguiente ejemplo declara la variable num1 de tipo int, num2 de tipo float y letra de tipo char.

int num1; float num2; char letra;

Para declarar variables locales:

//llamado a las cabeceras //declaracin de una funcin{ Tipo_dato1 variable1, variable2, , variablen; Tipo_dato2 variable3, variable4, , variablem; } Ejemplo: #include<stdio.h> Estas variables main() van a servir solo { en la funcin int numero,edad,cantidad; main() float iva, total_pagar, descuento; unsigned long pvc, tcd; //instrucciones; ... }

Para declarar variables globales:

//llamado a las cabeceras Tipo_dato1 variable1, variable2, , variablen; Tipo_dato2 variable3, variable4, , variablem; //declaracin de funciones{}

Ejemplo: #include<stdio.h> char caracter; float iva,total_pagar,descuento; unsigned long pvc,tcd; void main(){ //instrucciones; ... }

Estas variables van a servir en cualquier parte del programa

Qu son las constantes?


Una constante es un objeto cuyo valor no puede cambiar en el transcurso del programa.

Una manera de declararlas es utilizando la instruccin #define seguida del identificador y del valor

#define identificador valor

Lo anterior se ejemplifica declarando la constante pi

#define pi 3.1416
Cuyo valor es ya conocido 3.1416.

Ntese que en este caso no termina con punto y coma (;)

Para declarar constantes:

//llamado a las cabeceras #define constante1 valor1; Estas constantes #define constante2 valor2; sirven en cualquier parte del programa //declaracin de una funcin{ } Ejemplo: #include<stdio.h> #define PI 3.141592 //constante double #define OCTAL 017 //constante octal #define FLOTANTE 14F //constante flotante main() { //instrucciones; ... }

Operadores Aritmticos en C
Operador + Suma Nombre Ejemplo a+b

Resta
Multiplicacin

a-b
a*b

/
% ++ --

Divisin
Residuo entero de la divisin Incremento en 1 Decremento en 1

a/b
a%b a++ a--

Operadores Relacionales en C
Operador > < >= <= == Nombre Mayor que Menor que Mayor o igual que Menor o igual que Igual (Equivalente) Ejemplo a>b a<b a>=b a<=b a==b

!=

Diferente (No es igual)

a!=b

Operadores Lgicos en C
Operador Nombre && Y (and) Ejemplo (exp1)&& (exp2) Devuelve cierto si: ambas son verdaderas

||

O (or)

(exp1)|| (exp2)
!(exp1)

Una o ambas es verdadera


Cambia el valor de la expresin

No (not)

Notas sobre los Operadores en C


Los

operadores aritmticos y relacionales pueden trabajar con variables o constantes de cualquier tipo numrico, como por ejemplo int, double, float, etc En los Operadores lgicos, exp1 y exp2 corresponden a EXPRESIONES LGICAS (Expresiones que pueden tomar los valores de verdadero o falso). Ejemplo: (7<2)||(4>3)

Caracteres de conversin ms usados de scanf(); y printf(); (I)


Carcter %c %d %e %f %g Significado El dato es carcter El dato es entero El dato es valor en coma flotante El dato es valor en coma flotante El dato es valor en coma flotante

%h

El dato es entero corto

Caracteres de conversin ms usados de scanf(); y printf(); (II)


Carcter Significado

%i
%o %s

El dato es entero decimal, octal o hexadecimal


El dato es octal El dato es cadena de caracteres, seguido de espacio en blanco y del carcter fin de lnea (\0) El dato es entero decimal sin signo El dato es entero hexadecimal

%u %x

Caracteres de conversin ms usados de scanf(); y printf(); (III)


Ejemplo: int a,b; char letra; float area; printf(%c ,%i, %f,%i,letra,a,area,b);

Secuencias de Escape (I)


Carcter Campana (alerta) Retroceso (espacio atrs) Tabulador horizontal Nueva lnea Tabulador vertical Cdigo \a \b \t \n \v Valor ASCII 007 008 009 010 011

Nueva pgina

\f

012

Secuencias de Escape (II)


Carcter Retorno de carro Comillas () Interrogacin (?) Barra invertida Fin de lnea Cdigo \r \ \? \\ \0 Valor ASCII 013 034 039 063 092

Nmero octal

\ooo

000

Ejercicios

Ejercicio #1
Realizar un programa que muestre en pantalla el mensaje HOLA MUNDO #include <stdio.h> int main() { printf("Hola mundo\n"); //imprimir en pantalla }
Este es un comentario, el compilador no lo toma como cdigo

Ejercicio #2
Realizar un programa que muestre en pantalla tu nombre y tu edad

#include <stdio.h> int main() { printf("Jorge Alberto Calvillo Garca \n"); printf("Mi Edad es 26 aos"); }

Ejercicio #3
Realizar un programa que sume los siguientes valores 55 y 70

#include <stdio.h> int main() { int result; result=55+70; printf("El resultado de sumar 55 y 70 es: %d \n",result); }

Ejercicio #4
Realizar un programa que pida un nombre y muestre en pantalla el mensaje bienvenido y el nombre que tecleamos ejemplo de salida.

BIENVENIDO AL SISTEMA LUIS

#include <stdio.h> #include <conio.h> int main() nombre { char nombre[20]; printf("Teclea tu Nombre:"); scanf("%s",nombre); clrscr(); printf("\nBienvenido Al sistema \n %s",nombre); }

Ejercicio #5
Realizar un programa que realice las operaciones fundamentales de los siguientes nmeros 43 y 90 #include <stdio.h> #include <conio.h> int main() { int sum,res,mult; float div; nombre sum=43+90; res=43-90; mult=43*90; div=43/90; printf("La Suma de 43 + 90 = %d\n",sum); printf("La resta de 43 - 90 = %d\n",res); printf("La Suma de 43 x 90 = %d\n",mult); printf("La Suma de 43 90 = %f",div); }

Ejercicio #6
Realizar un programa que pida 2 nmeros enteros y realice las operaciones fundamentales con ellos.
#include <stdio.h> #include <conio.h> int main() { int num1,num2,sum,res,div,mult; printf("introduce el Primer numero entero\n"); scanf("%d",&num1); nombre printf("introduce el Segundo numero entero\n"); scanf("%d",&num2); sum=num1+num2; res=num1-num2; mult=num1*num2; div=num1/num2; printf("La Suma es: %d\n",sum); printf("La resta es: %d\n",res); printf("La multiplicacion es: %d\n",mult); printf("La Divicion es: %d",div); }

Ejercicio #7
Realizar un programa que imprima la letra A formada por asteriscos usando printf y el salto de rengln.

#include <stdio.h> #include <conio.h> int main() { printf(" * \n"); printf("* *\n"); printf("*****\n"); printf("* *\n"); printf("* *\n"); }

Ejercicio #8
Hacer un programa que calcule el rea de un crculo cuya frmula es a = 2pr donde r es el radio.

#include <stdio.h> #include <conio.h> int main() { float r,a; printf("Introduce el radio del circulo para calcular su rea"); scanf("%f",&r); a=(2*3.1416)*r; printf("su rea es: %f",a); }

Ejercicio #9
Hacer un programa que calcule el resultado de la siguiente frmula a = (b + c)(b / c)

#include <stdio.h> #include <conio.h> int main() { float r,a; printf("Introduce el radio del circulo para calcular su rea"); scanf("%f",&r); a=(2*3.1416)*r; printf("su rea es: %f",a); }

Ejercicios
1.2.3.4.5.6.Realizar Realizar Realizar Realizar Realizar Realizar un programa un programa un programa un programa un programa un programa que que que que que que calcule el area y el perimeto del cuadrado. convierta de pesos a dolares. convierta de de grados C a grados F convierta de milla a metros. convierta pesos a dolares y euros. calcule el indice de masa corporal

7.- Realizar un programa que lea una cantidad depositada en un banco y que calcule la cantidad final despus de aplicarle un 20% de inters. 8. Un maestro desea saber que porcentaje de hombres y que porcentaje de mujeres hay en un grupo de estudiantes. 9. Una farmacia aplica al precio de los remedios el 10% de descuento. Hacer un programa que ingresado el costo de los medicamentos calcule el descuento y el precio final

Sentencia IF
Controla el flujo de ejecucin del programa. Su formato es el siguiente

if (condicin) { . . instrucciones . . }

Visualmente funciona as

Ejemplo De Sentencia IF
Escribir un programa que pida un numero entero y mande un mensaje Indicando si el nmero que se tecleo es mayor a 10.

#include <stdio.h> #include <conio.h> int main() { //abre llave principal Int num; printf("Introduce un numero entero " ); scanf("%d",&num); If (num >10) { printf(" El numero %d es mayor a 10",a); } } // cierra llave principal

if (condicin)

{ . . instrucciones1 . . } else { . . instrucciones2 . . }


Visualmente queda as

Una variacin del if es la inclusin de la instruccin as

else. El formato se modifica

Ejemplo De Sentencia IF y ELSE


Escribir un programa que pida un numero entero y mande un mensaje Indicando si el nmero que se tecleo es mayor a 10, de lo contrario indique es Un numero menor o igual a 10. #include <stdio.h> #include <conio.h> int main() { //abre llave principal Int num; printf("Introduce un numero entero " ); scanf("%d",&num); If (num >10) { printf(" El numero %d es mayor a 10",a); } Else { printf(" El numero %d es mayor a 10",a); } } // cierra llave principal

Ejercicios
Realizar un programa que pida el nombre y edad de una persona, Si la edad es mayor o igual a 18 mandara en pantalla. Juan tienes 18 Aos Eres Mayor de Edad puedes Votar. De lo contrario mostrara Juan tienes 12 Aos Eres Menor de Edad no Puedes votar. Escribir un programa que pida un numero entero e indique si el numero Es par o impar. Realizar un programa que pida dos nmeros e indique cual de los dos es el menor En un negocio se hace un 20% de descuento a los clientes cuya compra supere los $1.000, si son $ 2,500 se ara un descuento de 30%, y si la cantidad a pagar es mayor a $3,00 un descuento del 40%. Realiza un programa que Indique cual ser la cantidad que pagara una persona por su compra. Un trabajador necesita calcular su sueldo semanal, el cual se obtiene de la siguiente manera: si trabaja 40 horas o menos por semana se le paga $16 la hora si trabaja mas de 40 horas se le paga $16 por cada una de las primeras 40 horas y $20 por cada hora extra. Escribe un programa que haga el calculo de su sueldo.

Realixar un programa que pida un numero u muestre en pantalla que esta en el rango de 0 a 50 de lo contraiio mandara un mensaje que se encuentra fuera de rango.

Sentencia WHILE

SENTENCIA SWITCH Es una sentencia utilizada para hacer una seleccin entre mltiples alternativas. switch(opcin) { case etiqueta1: sentencias1 break; case etiqueta2: sentencias2 break; case etiquetan: sentenciasn break; default: sentencias break; } Las etiquetas deben ser distintas, ninguna puede repetirse.

#include <stdio.h> main() { int num; printf("Introduzca un nmero\n"); scanf("%d",&num); switch(num) { case 1: printf("Lunes\n"); break; case 2: printf("Martes\n"); break; case 3: printf("Mircoles\n"); break; case 4: printf("Jueves\n"); break; case 5: printf("Viernes\n"); break; case 6: printf("Sbado\n"); break; case 7: printf("Domingo\n"); break; default: printf("Fuera de rango\n"); break; } return(0); }

Ejemplo switch
El siguiente programa utiliza switch para imprimir el da de la semana que corresponde con el nmero ledo. 1 para el lunes, 2 para el martes y as sucesivamente.

Ejercicios.
Realizar un programa que pida un numero entero entre 1 y 12 y muestre el mes del ao que corresponde al numero, y si no esta entre ese rango indicar al usuario que esta fuera de rango. Realizar un programa que pregunte al usuario que rea quiere calcular si la de un cuadrado o la de un circulo. Realizar un programa que permita al usuario elegir entre. conversin de pesos a dlares. conversin de libras a kilogramos y conversin de kilmetros a millas

En la siguiente tabla se muestran las categoras a las que pertenecen los signos del zodaco:

Se quiere escribir un programa que:

1) Muestre el listado de los signos del zodaco, con sus nmeros asociados. 2) Pida por teclado un nmero (dato entero) asociado a un signo del zodaco. 3) Muestre la categora a la que pertenece el signo del zodaco seleccionado.