Lenguaje C

9,242 views

Published on

Presentación del Lenguaje C Conceptos Básicos.

Published in: Business, Travel
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,242
On SlideShare
0
From Embeds
0
Number of Embeds
552
Actions
Shares
0
Downloads
561
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Lenguaje C

  1. 1. Ing. Norma García Gamboa Ing.Norma García Gamboa
  2. 2. <ul><li>Todo programa en C se construye básicamente mediante tres tipos de objetos: </li></ul><ul><ul><li>Funciones. </li></ul></ul><ul><ul><li>Variables. </li></ul></ul><ul><ul><li>Tipos de datos. </li></ul></ul>Ing.Norma García Gamboa
  3. 3. /*Variantes de Definición*/   #include<nombre_de_la_biblioteca> #define nombre_de_la_constante //Función principal   void main() { definición de variables locales; instrucciones del programa; } Ing.Norma García Gamboa #include <biblioteca1.h> #include <biblioteca2.h> ... declaraciones de funciones ... ... definiciones (cuerpos de funciones) ... ... declaraciones de variables globales ... main() { ... cuerpo del main ... } ... otras definiciones de funciones ... Definición de Cabecera y/o Ficheros Declaración de Datos Función Principal Otras Funciones y/o Procedimientos
  4. 4. <ul><li>El inicio del programa debe llevar: </li></ul><ul><li>El símbolo de numeral (#) la sentencia “include”, y entre signos de mayor y menor que (<>) el nombre de la librería o fichero. </li></ul><ul><li>Seguidas de las librerías, para que “Incluya” en el programa la directiva la cual contiene las funciones para procesar datos. </li></ul><ul><li> #include <fichero> </li></ul>Ing.Norma García Gamboa
  5. 5. <ul><li>#include <stdio.h>.- Contiene las funciones de entrada y salida de datos. </li></ul><ul><li>#include <conio.h>.- Declara varias funciones usadas llamando la consola del sistema operativo. </li></ul><ul><li>#include <string.h>.- Manejo de cadenas. </li></ul><ul><li>#include <stdlib.h >.- Memoria dinámica. </li></ul><ul><li>#include <math.h >.- Rutinas matemáticas. </li></ul>Ing.Norma García Gamboa
  6. 6. <ul><li>Se utiliza las funciones de biblioteca: </li></ul><ul><li>“ scanf” para la entrada de valores. </li></ul><ul><li>Sintaxis es la siguiente : </li></ul><ul><li>Lee el valor y lo guarda en una variable. </li></ul><ul><li>“ printf” para la salida de información. </li></ul><ul><li>Sintaxis es la siguiente: </li></ul><ul><li>Imprime en pantalla el texto y el valor </li></ul>scanf (&quot;%d&quot;, &variable); printf (&quot;El valor es %d&quot;, variable); Ing.Norma García Gamboa
  7. 7. <ul><li>ENTRADA DE TIPO CARÁCTER. </li></ul><ul><li>Se declara una variable de tipo carácter y se guarda en: getch() o getche(). </li></ul><ul><li>La diferencia es que getche() muestra en pantalla el carácter introducido. </li></ul><ul><li>getch() lo mantiene oculto. </li></ul><ul><li>Sintaxis: </li></ul><ul><li>char opc; </li></ul><ul><li>opc=getch(); </li></ul><ul><li>opc=getche(); </li></ul>Ing.Norma García Gamboa
  8. 8. <ul><li>#include <stdio.h> </li></ul><ul><li>#include <conio.h> </li></ul><ul><li>#include <math.h> </li></ul><ul><li>  </li></ul><ul><li>void main() </li></ul><ul><li>{ </li></ul><ul><li>int r, a, p; </li></ul><ul><li>printf (&quot;Programa que calcula el área y perímetro de un circulo&quot;); </li></ul><ul><li>printf (&quot; Introduce el radio: &quot;); </li></ul><ul><li>scanf (&quot;%d&quot;, &r); </li></ul><ul><li>a = M_PI * pow(r,2); </li></ul><ul><li>p = M_PI * (r+r); </li></ul><ul><li>printf (&quot; El área es: %d&quot;, a); </li></ul><ul><li>printf (&quot; El perímetro es: %d&quot;, p); </li></ul><ul><li>getch(); </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  9. 9. <ul><li>#include<stdio.h>   int x;     main() { </li></ul><ul><li> int a,b,suma; a=5; b=12; suma=a+b; suma=suma+b; printf(&quot;%d&quot;,suma); } </li></ul>Ing.Norma García Gamboa
  10. 10. <ul><li>/* Programa para multiplicar dos números */ </li></ul><ul><li>#include <stdio.h> </li></ul><ul><li>/* Esta funcion devuelve la suma de los enteros a y b */ </li></ul><ul><li>int sumar(int a, int b) </li></ul><ul><li>{ </li></ul><ul><li>return a + b; </li></ul><ul><li>} </li></ul><ul><li>  </li></ul><ul><li>/* Linea principal del programa */ </li></ul><ul><li>int main(void) </li></ul><ul><li>{ </li></ul><ul><li>int a, b; </li></ul><ul><li>printf(&quot;Introduce dos numeros enteros y pulsa enter: &quot;); </li></ul><ul><li>scanf(&quot;%d %d&quot;, &a, &b); </li></ul><ul><li>printf(&quot;La suma de %d y %d es %d &quot;, a, b, sumar(a,b)); </li></ul><ul><li>return 0; </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  11. 11. Ing.Norma García Gamboa ENTEROS: Números completos y sus negativos Palabra reservada: Ejemplo Tamaño (byte) Rango de valores int -850 2 32767 VARIANTES DE ENTEROS short int -10 1 127 unsigned int 45689 2 65535 long int 588458 4 2147483647 unsigned long 20000 4 4294967295 REALES: Números con decimales o punto flotante Palabra reservada: Ejemplo Tamaño (byte) Rango de valores float 85 4 3.4x10- 3.4x1038 VARIANTES DE LOS REALES double 0.0058 8 1.7x10- 1.7x10308 long double 1.00E-07 10 3.4x10- 1.1x104932 CARÁCTER: Letras, digitos, símbolos, signos de puntuación. Palabra reservada: Ejemplo Tamaño (byte) Rango de valores char 'O' 1 0 ......255
  12. 12. %d  Si el dato que se imprimirá o leerá será un número entero. %f  Si el dato que se imprimirá o leerá será un número real. %c  Si el dato que se imprimirá o leerá será un carácter. %s  Si el dato que se imprimirá o leerá será una cadena. Ing.Norma García Gamboa
  13. 13. <ul><li>Haciendo uso de las funciones gets y puts, diseñe un programa en C, que se lea el nombre del usuario y lo muestre en pantalla junto con un saludo. </li></ul><ul><li>Diseñe un programa en C, que lea y muestre en pantalla el valor de tres variables de tipo Entero. </li></ul><ul><li>Diseñe un programa que muestre, los diferentes tipos de datos, usados en C. Primero, debe indicársele al usuario que introduzca un valor, de un tipo dado; luego y después de haber introducido valores en todas las variables, debe imprimirse el contenido de ellas, junto con un mensaje que indique, el tipo de dato. </li></ul><ul><li>Diseñe 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 numéricos. </li></ul><ul><li>Diseñe un programe en C, en el cual después de haber introducido, una tabla de multiplicación cualquiera, imprima ésta en forma de tabla: 2x2=4 ; 2x3=6;2x4=8;…;2x10=20 </li></ul><ul><li>  </li></ul>Ing.Norma García Gamboa
  14. 14. Ing.Norma García Gamboa Variable Global Variable Local #include <stdio.h> int x; int main() { } #include <stdio.h> int main() { int x; }
  15. 15. <ul><li>Esta estructura de decisión evalúa una expresión condicional y si se cumple, se ejecuta la sentencia s; si no, se ejecuta la sentencia t. La segunda parte de la condición, else <t>, es opcional. </li></ul><ul><li>SINTAXIS </li></ul><ul><li>if (condición) </li></ul><ul><li>Instrucciones a ejecutar cuando la condición es verdadera; </li></ul><ul><li>Si se trata de dos o más instrucciones, estas van entre llaves { } </li></ul><ul><li>else </li></ul><ul><li>Instrucciones a ejecutar cuando la condición es falsa; </li></ul>Ing.Norma García Gamboa
  16. 16. <ul><li>#include <stdio.h> </li></ul><ul><li>#include <conio.h> </li></ul><ul><li>void main() </li></ul><ul><li>{ </li></ul><ul><li>int year; </li></ul><ul><li>clrscr(); //Limpia la pantalla </li></ul><ul><li>printf (&quot;Programa para determinar si un año es bisiesto&quot;); </li></ul><ul><li>printf (&quot; Introduce un numero de año &quot;); </li></ul><ul><li>scanf (&quot;%i&quot;, &year); </li></ul><ul><li>if (year%4 == 0 && year%100 != 0 || year%400 == 0) </li></ul><ul><li>printf (&quot;a El año %i si es bisiesto&quot;, year); </li></ul><ul><li>else </li></ul><ul><li>printf (&quot;a El año %i no es bisiesto&quot;, year); </li></ul><ul><li>getch(); </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  17. 17. <ul><li>IF ANIDADAS </li></ul><ul><li>if (condición) </li></ul><ul><li>if (condición) </li></ul><ul><li>Instrucciones a ejecutar cuando la condición es verdadera; </li></ul><ul><li>else </li></ul><ul><li>Instrucciones a ejecutar cuando la condición es falsa; </li></ul><ul><li>else </li></ul><ul><li>Instrucciones a ejecutar cuando la condición es falsa; </li></ul>Ing.Norma García Gamboa
  18. 18. <ul><li>#include <stdio.h> </li></ul><ul><li>#include <conio.h> </li></ul><ul><li>void main() </li></ul><ul><li>{ </li></ul><ul><li>int a, b, c, d, mayor; </li></ul><ul><li>clrscr (); </li></ul><ul><li>printf (&quot;Programa que indica cual de 4 numeros es el mayor &quot;); </li></ul><ul><li>printf (&quot;Introduce 4 numeros enteros: &quot;); </li></ul><ul><li>scanf (&quot;%i%i%i%i&quot;, &a, &b, &c, &d); </li></ul><ul><li>if (a > b) </li></ul><ul><li>if (a > c) </li></ul><ul><ul><li>if (a > d) </li></ul></ul><ul><li>mayor = a; </li></ul><ul><li> else </li></ul><ul><li>mayor = d; </li></ul><ul><li> else </li></ul><ul><li>if (c > d) </li></ul><ul><li> mayor = c; </li></ul><ul><li>else </li></ul><ul><li> mayor = d; </li></ul><ul><li>else </li></ul><ul><li> if (b > c) </li></ul><ul><li> if (b > d) </li></ul><ul><li> mayor = b; </li></ul><ul><li> else </li></ul><ul><li> mayor = a; </li></ul><ul><li> else </li></ul><ul><li> if (c > d) </li></ul><ul><li> mayor = c; </li></ul><ul><li> else </li></ul><ul><li> mayor = d; </li></ul><ul><li>printf (&quot;El mayor es %i&quot;, mayor); </li></ul><ul><li>getch (); </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  19. 19. <ul><li>Evalúa una expresión que puede tomar n valores distintos, según con cual de estos valores coincida, se ejecutaran ciertas acciones. </li></ul><ul><li>SINTAXIS </li></ul><ul><li>switch (valor) </li></ul><ul><li>{ </li></ul><ul><li>case valor1: <sentencias> </li></ul><ul><li>case valor2: <sentencias> </li></ul><ul><li>... </li></ul><ul><li>default: <sentencias> </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  20. 20. <ul><li>#include<stdio.h> </li></ul><ul><li>main(void) </li></ul><ul><li>{ int dia; printf(&quot;ingrese un número entre 1 y 7........  &quot;); scanf(&quot;%d&quot;,&dia); switch(dia)  { case 1:   printf(&quot; LUNES &quot;);   break;  case 2:   printf(&quot; MARTES &quot;);   break;  case 3:   printf(&quot; MIERCOLES &quot;);   break;  case 4:   printf(&quot; JUEVES &quot;);   break;  case 5:   printf(&quot; VIERNES &quot;);   break;  case 6:   printf(&quot; SABADO &quot;);   break;  case 7:   printf(&quot; DOMINGO &quot;);   break;  default:   printf(&quot; SOLO NÚMEROS ENTRE 1 Y 7........   &quot;);  } } </li></ul>Ing.Norma García Gamboa
  21. 21. <ul><li>WHILE </li></ul><ul><li>La estructura while ejecuta la condición de continuación del ciclo al principio de este, antes de ejecutar las condiciones del bucle. </li></ul><ul><li>SINTAXIS </li></ul><ul><li>while (condición) </li></ul><ul><li>{ Instrucciones que se repetirán mientras la condición sea verdadera; </li></ul><ul><li>Instrucciones adicionales; </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  22. 22. <ul><li>Las sentencias se ejecutan si la expresión es verdadera. La comprobación es al inicio del bucle. </li></ul><ul><li>Para la serie 3456789 #include<stdio.h> int a; main() {     a=3;     while(a<10)     {   printf(&quot;%d&quot;,a);         a=a+1;     } } </li></ul>Ing.Norma García Gamboa
  23. 23. <ul><li>Verifica la condición al finalizar el bucle. </li></ul><ul><li>SINTAXIS </li></ul><ul><li>do </li></ul><ul><li>{ Sentencias; } while(condición); </li></ul>Ing.Norma García Gamboa
  24. 24. <ul><li>Leer números desde el teclado hasta que uno de ellos es menor que o igual a 100: main() {     int num;     do     {          scanf(&quot;%d&quot;, &num);     } while ( num>100 ); } </li></ul><ul><li>Do-While puede ser útil en el desarrollo de programas con menús. </li></ul>Ing.Norma García Gamboa
  25. 25. <ul><li>Permite inicializar los controles del bucle. </li></ul><ul><li>SINTAXIS </li></ul><ul><li>for(indice=inicio bucle; indice=fin bucle; indice incrementa++) </li></ul><ul><li>{ </li></ul><ul><li>sentencias dentro del bucle </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  26. 26. <ul><li>#include<stdio.h> main(void) {int num,mayor,menor,x;  mayor=0;   menor=10000;  for(x=1; x<=8;x++)  { printf(&quot;INGRESAR NÚMERO %d &quot;,x);   scanf(&quot;%d&quot;,&num);   if(mayor<num) mayor=num;   if(menor>num) menor=num;  }  printf(&quot;NÚMERO MAYOR: %d MENOR: %d &quot;,mayor,menor); return 0; } </li></ul>Ing.Norma García Gamboa
  27. 27. <ul><li>VECTORES </li></ul><ul><li>Es un array unidimensional, es decir, solo usa un índice para referenciar a cada uno de los elementos. </li></ul><ul><li>Se declara: </li></ul><ul><li>tipo nombre [tamaño]; </li></ul>Ing.Norma García Gamboa
  28. 28. <ul><li>int num[100]; /*Arreglo de tipo entero compuesto de 100 posiciones*/ </li></ul><ul><li>char nom[80]; /*Texto de 80 caracteres*/ </li></ul><ul><li>float x[12]; /*arreglo de 12 elementos punto flotantes */ </li></ul>Ing.Norma García Gamboa
  29. 29. <ul><li>Lea un vector de 10 posiciones, luego determine si la quinta posición es positiva, si la primera posición es negativa y si la ultima posición es cero. </li></ul><ul><li>#include <stdio.h> </li></ul><ul><li>#include <conio.h> </li></ul><ul><li>#define N 10 </li></ul><ul><li>main() </li></ul><ul><li>{ </li></ul><ul><li>float x[N]; </li></ul><ul><li>int i; </li></ul><ul><li>for(i=0; i<N; i++) </li></ul><ul><li> { </li></ul><ul><li> printf(&quot;Ingrese el valor %d: &quot;, i); </li></ul><ul><li> scanf(&quot;%f&quot;, &x[i]); </li></ul><ul><li> } </li></ul><ul><li> if(x[4]>0) </li></ul><ul><li> { </li></ul><ul><li> printf(&quot;La quinta Posici¢n es Positiva &quot;); </li></ul><ul><li> } </li></ul><ul><li>if(x[0]<0) </li></ul><ul><li> { </li></ul><ul><li> printf(&quot;La 1ø Posici¢n es Negativo &quot;); </li></ul><ul><li> } </li></ul><ul><li> if(x[N-1]==0) </li></ul><ul><li> { printf(&quot;La Ultima Posici¢n es cero &quot;); </li></ul><ul><li> }   </li></ul><ul><li>getch(); </li></ul><ul><li> return 0; </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  30. 30. <ul><li>#include<string.h> </li></ul><ul><li>main(void) </li></ul><ul><li>{ int i,n1,n2,n3; float promedio; int naa,na18; char nombre[20]; int condicion; naa=0; na18=0; </li></ul><ul><li>for(i=1;i<=40;i++) {printf(&quot;ingrese el nombre &quot;); scanf(&quot;%s&quot;,nombre); printf(&quot;ingrese el nota1: &quot;); scanf(&quot;%d&quot;,&n1); printf(&quot;ingrese el nota2: &quot;); scanf(&quot;%d&quot;,&n2); printf(&quot;ingrese el nota3: &quot;); scanf(&quot;%d&quot;,&n3); promedio=(n1+n2+n3)/3;  if(promedio>12)  {condicion=1;  naa=naa+1;  }  else  {  condicion=2; } if(condicion==1) printf(&quot;%s nota1: %d nota2: %d, Nota3: %d, promedio: %lf condicion :aprobado &quot;,nombre,n1,n2,n3,promedio); else printf(&quot;%s nota1: %d nota2: %d, Nota3: %d, promedio: %lf condicion :desaprobado &quot;,nombre,n1,n2,n3,promedio); if(promedio>=18) na18=na18+1; } printf(&quot;hay aprobados: %d y aprobados con mas de 18 %d: &quot;,naa,na18); </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  31. 31. <ul><li>Son arreglos bidimensionales y deben ser declarados con corchetes independientes para cada subíndice. </li></ul><ul><li>SINTAXIS </li></ul><ul><li>tipo nombre[numero_filas][numero_columnas]; </li></ul>Ing.Norma García Gamboa
  32. 32. <ul><li>#include <stdio.h> </li></ul><ul><li>#include <conio.h> </li></ul><ul><li>#define F 6 </li></ul><ul><li>#define C 6 </li></ul><ul><li>main() </li></ul><ul><li>{ </li></ul><ul><li>int matriz[F][C], i,j, vector [F]={0,0,0,0,0,0}; </li></ul><ul><li>for(i=0; i<F; i++) </li></ul><ul><li> for(j=0; j<C; j++) </li></ul><ul><li> { printf(&quot;Ingrese el elemento F=%d y Columna=%d de la matriz: &quot;, i,j); </li></ul><ul><li>scanf(&quot;%d&quot;, &matriz[i][j]); </li></ul><ul><li>vector[i]=vector[i]+matriz[i][j]; </li></ul><ul><li> } </li></ul><ul><li>printf(&quot;La Matriz generada es: &quot;); </li></ul><ul><li> for(i=0; i<F; i++) </li></ul><ul><li>{ </li></ul><ul><li> for(j=0; j<C; j++) </li></ul><ul><li> { </li></ul><ul><li> printf(&quot;*%d*&quot;, matriz[i][j]); </li></ul><ul><li> } </li></ul><ul><li> printf(&quot; &quot;); </li></ul><ul><li>} </li></ul><ul><li>printf(&quot;Y el vector suma de las filas es: &quot;); </li></ul><ul><li> for(i=0; i<F; i++) </li></ul><ul><li> printf(&quot;%d &quot;, vector[i]); </li></ul><ul><li> getch(); </li></ul><ul><li> return 0; </li></ul><ul><li>} </li></ul>Ing.Norma García Gamboa
  33. 33. <ul><li>#include<stdio.h> void intercambio(int x,int y); int temp,a,b; main(void) { printf(&quot;ingrese a: &quot;); scanf(&quot;%d&quot;,&a); printf(&quot;ingrese a: &quot;); scanf(&quot;%d&quot;,&b); intercambio(a,b); } </li></ul><ul><li>void intercambio(int x, int y) { temp=x; x=y; y=temp; printf(&quot;nuevos avlores de a:=%d y b:=%d&quot;,x,y); } </li></ul>Ing.Norma García Gamboa

×