Вы находитесь на странице: 1из 40

Licda.

Karla Mara Meja Ortiz Asignatura: Informtica Ciclo II - 2012


1

Fue creado por Dennis Ritchie de los laboratorios BELL en 1972, cuando trabajaba junto a Ken Thompson, en el diseo del sistema operativo UNIX. Se deriva del lenguaje B de Thompson, que a su vez se deriva del BCPL de Martn Richards.

Es un lenguaje moderno de propsito general, que incorpora las caractersticas de control apuntadas como deseables por la teora y prctica de la informtica.
Planificacin escalonada. Programacin estructurada. Diseo modular. Programas compactos. Rapidez de ejecucin. Porttil. De relativo bajo nivel. Precisa compilarse

Los pasos necesarios para desarrollar un programa C son los siguientes: a) Edicin: Utilizar un editor para escribir el programa fuente texto. b) Compilacin: Compilar el programa fuente, es decir, traducir el programa a lenguaje mquina. c) Ejecucin: Una vez compilado se procede a la ejecucin del programa tecleando el nombre del fichero-programa.

/*Este programa imprime un mensaje*/ #include <stdio.h> main() { printf("Mi primer programa en C"); getch(); }

Un programa en C consiste en una o ms funciones, de las cuales una de ellas, debe llamarse main() y es la principal de todas. El programa comienza con la funcin: main() Cada funcin o programa, consta de un cuerpo de funcin delimitado por llaves de comienzo y fin { }

En el cuerpo de la funcin irn incluidas: sentencias, variables, funciones, etc. terminadas cada una de ellas por un punto y coma ;

Todo programa en C se construye bsicamente

mediante tres tipos de objetos:


Funciones. Variables. Tipos de datos.

#include <biblioteca1.h> #include <biblioteca2.h> ... declaraciones de funciones ... ... definiciones (cuerpos de funciones) ... ... declaraciones de variables globales ... main() { ... cuerpo del main ...

Definicin de Cabecera y/o Ficheros

/*Variantes de Definicin*/ #include<nombre_de_la_biblioteca> #define nombre_de_la_constante //Funcin principal

Declaracin de Datos

Funcin Principal

} ... otras definiciones de funciones ...

Otras Funciones y/o Procedimientos

void main() { definicin de variables locales; instrucciones del programa; }

10

El inicio del programa debe llevar: El smbolo de numeral (#) la sentencia include, y entre

signos de mayor y menor que (<>) el nombre de la librera


o fichero. Seguidas de las libreras, para que Incluya en el

programa la directiva la cual contiene las funciones para


procesar datos. #include <fichero>
11

#include <stdio.h>.- Contiene las funciones de entrada y


salida de datos. #include <conio.h>.- Declara varias funciones usadas

llamando la consola del sistema operativo.


#include <string.h>.- Manejo de cadenas. #include <stdlib.h >.- Memoria dinmica. #include <math.h >.- Rutinas matemticas.

12

Se utiliza las funciones de biblioteca: scanf para la entrada de valores. Sintaxis es la siguiente:
scanf ("%d", &variable);

Lee el valor y lo guarda en una variable. printf para la salida de informacin. Sintaxis es la siguiente:
printf ("El valor es %d", variable);

Imprime en pantalla el texto y el valor


13

ENTRADA DE TIPO CARCTER. Se declara una variable de tipo carcter y se guarda en: getch() o getche(). La diferencia es que getche() muestra en pantalla el carcter introducido. getch() lo mantiene oculto. Sintaxis: char opc; opc=getch(); opc=getche();
14

#include <stdio.h> #include <conio.h> #include <math.h>

void main() { int r, a, p; printf ("Programa que calcula el rea y permetro de un circulo"); printf ("\nIntroduce el radio: "); scanf ("%d", &r); a = M_PI * pow(r,2); p = M_PI * (r+r); printf ("\nEl rea es: %d", a); printf ("\nEl permetro es: %d", p); getch(); }
15

#include<stdio.h> int x; main() { int a,b,suma; a=5; b=12; suma=a+b; suma=suma+b; printf("%d",suma); }
16

/* Programa para multiplicar dos nmeros */ #include <stdio.h> /* Esta funcion devuelve la suma de los enteros a y b */ int sumar(int a, int b) { return a + b; } /* Linea principal del programa */

int main(void) { int a, b; printf("Introduce dos numeros enteros y pulsa enter: "); scanf("%d %d", &a, &b); printf("La suma de %d y %d es %d\n", a, b, sumar(a,b)); return 0; }
17

ENTEROS: Nmeros completos y sus negativos

Palabra reservada:
int short int unsigned int long int unsigned long Palabra reservada: float double long double Palabra reservada: char

Ejemplo
-850

Tamao (byte)
2 1 2 4 4 Tamao (byte) 85 VARIANTES DE LOS REALES 0.0058 1.00E-07 8 10 Tamao (byte) 1 4 VARIANTES DE ENTEROS -10 45689 588458 20000

Rango de valores
32767 127 65535 2147483647 4294967295 Rango de valores 3.4x10- 3.4x1038 1.7x10- 1.7x10308 3.4x10- 1.1x104932 Rango de valores 0 ......255
18

REALES: Nmeros con decimales o punto flotante


Ejemplo

CARCTER: Letras, digitos, smbolos, signos de puntuacin. Ejemplo 'O'

%d Si el dato que se imprimir o leer ser un nmero entero. %f Si el dato que se imprimir o leer ser un nmero real. %c Si el dato que se imprimir o leer ser un carcter. %s Si el dato que se imprimir o leer ser una cadena.

19

1.

Haciendo uso de las funciones gets y puts, disee un programa en C, que se lea el nombre del usuario y lo muestre en pantalla junto con un saludo.

2. 3.

Disee un programa en C, que lea y muestre en pantalla el valor de tres variables de tipo Entero. Disee un programa que muestre, los diferentes tipos de datos, usados en C. Primero, debe indicrsele al usuario que introduzca un valor, de un tipo dado; luego y despus de haber introducido valores en todas las variables, debe imprimirse el contenido de ellas, junto con un mensaje que indique, el tipo de dato.

4.

Disee un programa, en el cual se introduzcan el nombre y el peso y de un alumno, y luego la muestre en pantalla. El Nombre debe incluir el apellido, y en el campo del peso, solo deben incluir valores numricos.

5.

Disee un programe en C, en el cual despus de haber introducido, una tabla de multiplicacin cualquiera, imprima sta en forma de tabla: 2x2=4;2x3=6;2x4=8;;2x10=20

20

Variable Global #include <stdio.h> int x; int main() { }

Variable Local #include <stdio.h> int main() { int x; }

21

Esta estructura de decisin evala una expresin condicional y si se cumple, se ejecuta la sentencia s; si no, se ejecuta la sentencia t. La segunda parte de la condicin, else <t>, es opcional. SINTAXIS if (condicin)

Instrucciones a ejecutar cuando la condicin es verdadera;


Si se trata de dos o ms instrucciones, estas van entre llaves { } else Instrucciones a ejecutar cuando la condicin es falsa;

22

#include <stdio.h> #include <conio.h> void main() { int year; clrscr(); //Limpia la pantalla printf ("Programa para determinar si un ao es bisiesto"); printf ("\nIntroduce un numero de ao\n"); scanf ("%i", &year); if (year%4 == 0 && year%100 != 0 || year%400 == 0) printf ("\a\nEl ao %i si es bisiesto", year); else printf ("\a\nEl ao %i no es bisiesto", year);

getch();

23

IF ANIDADAS

if (condicin)

if (condicin) Instrucciones a ejecutar cuando la condicin es verdadera;

else

Instrucciones a ejecutar cuando la condicin es falsa; else

Instrucciones a ejecutar cuando la condicin es falsa;

24

#include <stdio.h> #include <conio.h> void main() { int a, b, c, d, mayor; clrscr (); printf ("Programa que indica cual de 4 numeros es el mayor\n"); printf ("Introduce 4 numeros enteros:\n"); scanf ("%i%i%i%i", &a, &b, &c, &d); if (a > b) if (a > c) if (a > d) mayor = a; else mayor = d; else if (c > d) mayor = c; else mayor = d; else if (b > c) if (b > d) mayor = b; else mayor = a; else if (c > d) mayor = c; else mayor = d; printf ("El mayor es %i", mayor); getch(); }

25

Evala una expresin que puede tomar n valores distintos, segn con cual de estos valores coincida, se ejecutaran ciertas acciones. SINTAXIS switch (valor) { case valor1: <sentencias>

case valor2: <sentencias>


... default: <sentencias> }

26

#include<stdio.h> main(void) { int dia; printf("ingrese un nmero entre 1 y 7........ "); scanf("%d",&dia); switch(dia) { case 1: printf(" LUNES \n"); break; case 2: printf(" MARTES \n"); break; case 3: printf(" MIERCOLES\n"); break; case 4: printf(" JUEVES\n"); break; case 5: printf(" VIERNES\n"); break; case 6: printf(" SABADO\n"); break; case 7: printf(" DOMINGO\n"); break; default: printf(" SOLO NMEROS ENTRE 1 Y 7........ "); } }

27

WHILE La estructura while ejecuta la condicin de continuacin del ciclo al principio de este, antes de ejecutar las condiciones del bucle. SINTAXIS while (condicin) { Instrucciones que se repetirn mientras la condicin sea verdadera; Instrucciones adicionales; }
28

Las sentencias se ejecutan si la expresin es verdadera. La comprobacin es al inicio del bucle. Para la serie 3456789

#include<stdio.h>
int a; main() {

a=3;
while(a<10) { printf("%d",a);

a=a+1;
} }
29

Verifica la condicin al finalizar el bucle. SINTAXIS do

{
Sentencias;

} while(condicin);

30

Leer nmeros desde el teclado hasta que uno de ellos es menor que o igual a 100: main() { int num; do {

scanf("%d", &num);
} while ( num>100 ); }

Do-While puede ser til en el desarrollo de programas con mens.

31

Permite inicializar los controles del bucle. SINTAXIS for(indice=inicio bucle; indice=fin bucle; indice

incrementa++)
{

sentencias dentro del bucle


}
32

#include<stdio.h> main(void) {int num,mayor,menor,x; mayor=0; menor=10000; for(x=1; x<=8;x++) { printf("INGRESAR NMERO %d\n",x); scanf("%d",&num); if(mayor<num) mayor=num; if(menor>num) menor=num; } printf("NMERO MAYOR: %d MENOR: %d \n",mayor,menor); return 0; }
33

VECTORES Es un array unidimensional, es decir, solo usa un ndice para referenciar a cada uno de los elementos. Se declara: tipo nombre [tamao];
34

int num[100]; /*Arreglo de tipo entero compuesto de 100 posiciones*/ char nom[80]; /*Texto de 80 caracteres*/ float x[12]; /*arreglo de 12 elementos punto flotantes */

35

Lea un vector de 10 posiciones, luego determine si la quinta posicin es positiva, si la primera posicin es negativa y si la ultima posicin es cero. #include <stdio.h> #include <conio.h> #define N 10 main() { float x[N]; int i; for(i=0; i<N; i++) { printf("Ingrese el valor %d:\n", i); scanf("%f", &x[i]); } if(x[4]>0) { printf("La quinta Posicin es Positiva\n\n"); } if(x[0]<0) { printf("La 1 Posicin es Negativo\n\n"); } if(x[N-1]==0) { printf("La Ultima Posicin es cero\n\n"); } getch(); return 0; }

36

#include<string.h> main(void) { int i,n1,n2,n3; float promedio; int naa,na18; char nombre[20]; int condicion; naa=0; na18=0; for(i=1;i<=40;i++) {printf("ingrese el nombre "); scanf("%s",nombre); printf("ingrese el nota1: "); scanf("%d",&n1); printf("ingrese el nota2: "); scanf("%d",&n2); printf("ingrese el nota3: "); scanf("%d",&n3); promedio=(n1+n2+n3)/3; if(promedio>12) {condicion=1; naa=naa+1; } else { condicion=2; } if(condicion==1) printf("%s nota1: %d nota2: %d, Nota3: %d, promedio: %lf condicion :aprobado \n",nombre,n1,n2,n3,promedio); else printf("%s nota1: %d nota2: %d, Nota3: %d, promedio: %lf condicion :desaprobado \n",nombre,n1,n2,n3,promedio); if(promedio>=18) na18=na18+1; } printf("hay aprobados: %d y aprobados con mas de 18 %d:\n",naa,na18); } 37

Son arreglos bidimensionales y deben ser declarados con corchetes independientes para cada subndice. SINTAXIS tipo nombre[numero_filas][numero_columnas];

38

#include <stdio.h> #include <conio.h> #define F 6 #define C 6 main() { int matriz[F][C], i,j, vector [F]={0,0,0,0,0,0}; for(i=0; i<F; i++) for(j=0; j<C; j++) { printf("Ingrese el elemento F=%d y Columna=%d de la matriz:\n", i,j); scanf("%d", &matriz[i][j]); vector[i]=vector[i]+matriz[i][j]; } printf("La Matriz generada es:\n\n"); for(i=0; i<F; i++) { for(j=0; j<C; j++) { printf("*%d*", matriz[i][j]); } printf("\n"); } printf("Y el vector suma de las filas es:\n\n"); for(i=0; i<F; i++) printf("%d\t", vector[i]); getch(); return 0; }

39

#include<stdio.h> void intercambio(int x,int y); int temp,a,b; main(void) { printf("ingrese a: "); scanf("%d",&a); printf("ingrese a: "); scanf("%d",&b); intercambio(a,b); } void intercambio(int x, int y) { temp=x; x=y; y=temp; printf("nuevos avlores de a:=%d y b:=%d",x,y); }
40

Вам также может понравиться