LENGUAJE C
PYS II
* INTRODUCCIÓN
Introducción Teórica
Creador:
Dennis Ritchie (Laboratorios Bell) el 1972, cuando
trabajaba junto con Ken Thompson en el diseño del
sistema operativo UNIX.
El ‘C’ se cree como herramienta para programadores, en
consecuencia su principal objetivo es ser un lenguaje útil.
* CARACTERÍSTICAS
El “C” es un lenguaje de programación de “alto nivel” (alto nivel
quiere decir “próximo al lenguaje humano”), pero con
características de “bajo nivel” (bajo nivel= próximo al lenguaje
máquina).
C (1972)
ANSI C (1985) )
C++ (1985)
* PRIMEROS PROGRAMAS EN ‘C’
#include <stdio.h>
void main()
{ printf("Curso de Programación en C"); }
Recuerda:
• Escribe el programa anterior utilizando tu compilador.
• Grábalo con el nombre Prog001.cpp en Tu Carpeta.
• Ejecútalo un par o tres de veces
* CONCEPTOS PARA RECORDAR
/* */: Todo lo que escribimos entre los símbolos anteriores son
“comentarios "que no influyen para nada en la ejecución del programa.
Tipo real (float): Se emplean para representar números reales (con decimales).
Para definir datos reales se antepone la palabra reservada float al identificador
de la variable.
float nombre_variable = valor;
Tipo carácter (char): se emplea para representar un carácter, este tipo de dato se
antepone la palabra reservada char al identificador de la variable, Una constante
tipo char se representa como un solo carácter encerrado entre comillas simples.
Char nombre_variable = ‘valor’;
Tipo cadena de caracteres: una cadena de caracteres es un número de
caracteres consecutivos encerrado entre unos delimitadores determinados, que
en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena,
estas se definen como vectores de caracteres, esto es, anteponiendo la palabra
reservada char al identificador de la variable, y después entre corchetes la
longitud máxima de cadena.
Char nombre_variable[cantidad] = “ mensaje ”;
long (abreviatura de signed long int = entero largo con signo) : corresponde a un
número entero que puede ser mayor (o menor) a un int.
Observa el formato correspondiente: %ld, a diferencia del %d que correspondía a
int.
Char %c carácter
Char [n] %s Cadena de caracteres
* VARIABLES
Elemento o zona de almacenamiento de datos, cuyo valor puede variar
en el desarrollo o proceso del programa. El uso de variables en C++
requiere el seguimiento de los siguientes aspectos:
Variables globales: son las que se declaran después del llamado a las
cabeceras, pero antes de cualquier función, y son útiles para cualquier
parte del programa.
Variables locales: son las que se declaran dentro de una función, y solo
sirven para ser usadas dentro de esa función.
* CONSTANTES
Constante: Hace que una variable tome el valor con el que la
inicialicemos el cual ya no podrá ser cambiado.
CICLO FOR: Este ciclo es uno de los mas usados para repetir una
secuencia de instrucciones, sobre todo cuando se conoce la cantidad
exacta de veces que se quiere que se ejecute una instrucción simple o
compuesta.
Su formato general es:
#include <stdio.h>
#include <conio.h>
void main()
{
int contador;
getch();
}
* Ciclo While: Una sentencia while hace una comparación entre dos
valores o la evaluación de un valor. La condición devolverá un valor "true"
o "false". Si la condición devuelve un valor verdadero, el bloque de
código que sigue a la instrucción while se ejecuta. Una vez finalizada la
ejecución, el programa comprueba la sentencia while otra vez, y repite
esto hasta que la sentencia while se evalúe como "false«.
Su formato general es:
while (condicion)
{
instrucción(es);
}
Ejemplo:
#include <stdio.h> incorrecta, debe ser >= 0 y <=10\n"
#include <conio.h> );
printf( "\n Introduzca nota
(real): " );
void main()
scanf( "%f", ¬a );
{
}
float nota;
if ( nota >= 5 )
printf( "\n Introduzca nota (real): "
); printf( "\n APROBADO" );
scanf( "%f", ¬a ); else
printf( "\n SUSPENDIDO" );
while ( nota < 0 || nota > 10 )
{ getch();
printf( "\n ERROR: Nota }
* Ciclo Do-While: Los ciclos do-while son idénticos a los ciclos while, con
una excepción: do-while ejecutará el bloque de código que repite la
evaluación antes de la sentencia while.
Su formato general es:
do
{
instrucción(es);
}while (condicion);
Ejemplo:
#include <stdio.h> printf( "\n Desea introducir otro numero (s/n)?: "
#include <conio.h> );
fflush( stdin );
char seguir;
int acumulador, numero; printf( "\n La suma de los numeros introducidos
es: %d",
acumulador );
acumulador = 0;
do
getch();
{
}
printf( "\n Introduzca un numero entero: " );
scanf( "%d", &numero);
acumulador += numero;
SENTENCIAS
Una sentencia es cualquier expresión en C que se espera que tenga alguna
consecuencia. Pueden ser asignaciones, operaciones, llamadas a
funciones o combinaciones de ellas.
if (condicion)
{
instrucción(es); }
Else
{
instrucción(es); }
Ejemplo: if ( nota >= 5 ){
#include <stdio.h> printf( "\n APROBADO" );}
#include <conio.h> else{
printf( "\n SUSPENDIDO" );}
void main()
{
getch();
float nota; }
switch(variable)
{
case valor_1:
//acciones
break;
case valor_2:
//acciones
break;
.
.
case valor_n:
//acciones
break;
defalut:
//acciones
break;
}
Si el valor que toma la variable no coincide con los valores especificados en los casos, se realizarán las acciones definidas en la
etiqueta default.
#include "stdio.h" scanf ("%i",&n2);
Ejemplo:
#include "conio.h" printf (" La suma de %i y %i es: %i",n1,n2,n1+n2);
break;
void main() case 2: printf (" Ingrese un numero\n");
{ scanf ("%i",&n1);
char seguir; printf (" Ingrese otro numero\n");
int opc; scanf ("%i",&n2);
int n1,n2;
printf (" La resta de %i y %i es: %i",n1,n2,n1-n2);
do break;
{ default: printf (" la opcion no es valida\n");
printf (" MENU\n\n"); }
printf (" 1. Realizar una suma\n"); fflush(stdin);
printf (" 2. Realizar una resta\n\n"); printf ("\n\n Desea eleguir otra opcion? S/N\n");
printf (" Elija una opcion\n"); scanf ("%c",&seguir);
scanf ("%i",&opc); clrscr();
}while(seguir!='n');
switch (opc)
{ getch();
case 1: printf (" Ingrese un numero\n");
scanf ("%i",&n1); }
printf (" Ingrese otro numero\n");
*
Un vector, también llamado array(arreglo)
unidimensional, es una estructura de datos que permite
agrupar elementos del mismo tipo y almacenarlos en un
solo bloque de memoria juntos, uno después de otro.
La siguiente sintaxis: Tipo nombre[tamaño]
Ejemplo: for (i=1;i<=10;i++)
#include "stdio.h" {
#include "conio.h" res=num*i;
#include "iostream.h" printf ("\n %d * %d = %d ",num,i,res);
}
void main ()
{ printf ("\n Desea ingresar otro numero
S/N ");
char seguir; fflush( stdin );
int i,num,res; scanf ("%c",&seguir);
clrscr();
do }while (seguir != 'n');
{
printf ("\n Ingrese un numero para getch();
generar su tabla ");
scanf ("%d",&num); }
MATRICES
Una matriz es un vector de vectores o un también llamado array
bidimensional.
Su sintaxis es:
void main () printf ("\n Desea ingresar otro numero S/N ");
{ fflush( stdin );
scanf ("%c",&seguir);
char seguir; clrscr();
int i,num,res; }while (seguir != 'n');
do getch();
{
printf ("\n Ingrese un numero para generar su }
tabla ");
} }
else
{ }//
printf ("El numero %d es: No primo",num); else if (opc==3)
} {
int a, b, x, y, m=1, i=2;
}//
else if (opc==2) printf ("\n Minimo comun multiplo\n ");
{ printf ("\n Ingrese primer numero: X ");
int i,j,k,t,n; scanf("%d",&x);
printf ("\n Ingrese segundo numero: Y ");
n=15; scanf("\n%d",&y);
i=0; j=1; if (x<y){a=x; b=y;} else {a=y; b=x;}
printf("%d,%d,",i,j);
for(k=1;k<n;k++){ do{
t=i+j; if (a%i==0){
(k>n-2)?printf("%d.",t):printf("%d,",t); if(b%i==0){
i=j;
j=t;
m=m*i;
a=a/i; b=b/i; i=2; }//
} else if (opc==5)
else i++; {
} int i,num,res;
else i++;
} while(i<=a); printf ("\n Ingrese un numero para generar su tabla ");
scanf ("%d",&num);
m=m*b*a;
for (i=1;i<=10;i++)
printf ("\n El MCM es %d",m); {
res=num*i;
}// printf ("\n %d * %d = %d ",num,i,res);
else if (opc==4) }
{
int x,y,r; }//
printf ("\n Maximo comun divisor de dos numeros \n");
printf ("\n Ingrese primer numero en X "); printf ("\n\n Desea ingresar otra opcion? S/N ");
scanf("%d", &x); fflush( stdin );
printf ("\n Ingrese segundo numero en Y "); scanf ("%c",&seguir);
scanf("\n%d", &y); clrscr();
r=x%y; }while (seguir!= 'n');
while(r>0) printf ("\n\n GRASIAS... vuelva pronto");
{ getch();
x=y;
y=r; }
r=x%y;
}
printf(" \n El MCD es %d", y);
TABLA DE MULTIPLICAR CON MENU: printf ("Ingrese el limite "); {
#include "stdio.h" scanf ("%d",&n); if (i%2==0)
#include "conio.h" {
clrscr(); r=i*j;
void main() switch (opc) printf (" %d - ",r);
{ { }
clrscr(); case 1: }
int i,j,n=0,r,opc; printf ("\n");
for (i=1;i<=n;i++) }
inicio: { break;
printf (" °°°°°°°°°°°°°°° MENU °°°°°°°°°°°°°°°\n\n"); for (j=1;j<=10;j++)
{ case 3:
printf (" 1. Para que aparesca todos los #.\n"); r=i*j;
printf (" 2. Para que aparescan los # pares.\n"); printf (" %d - ",r); for (i=1;i<=n;i++)
printf (" 3. Para que aparescan los # impares.\n"); {
printf (" 4. Para que aparescan los # < 20.\n"); } for (j=1;j<=10;j++)
printf (" 5. Para que aparescan los # entre 20 y printf ("\n"); {
50.\n");
}break; if (i%2!=0)
printf (" 6. Para que aparescan los # entre 51 y
{
80.\n");
r=i*j;
printf (" 7. Para que aparescan los # > 81.\n\n");
case 2: printf (" %d - ",r);
}
printf (" Elija una opcion... ");
for (i=1;i<=n;i++)
scanf ("%d",&opc);
{
for (j=1;j<=10;j++)
} r=i*j; break;
printf ("\n"); for (i=1;i<=n;i++) printf (" %d - ",r);
} { } case 7:
break; for (j=1;j<=10;j++) }
{ printf ("\n"); for (i=81;i<=n;i++)
case 3: if (i<=20) } {
{ break; for (j=1;j<=10;j++)
for (i=1;i<=n;i++) r=i*j; {
{ printf (" %d - ",r); case 6:
for (j=1;j<=10;j++) } r=i*j;
{ } for (i=51;i<=n;i++) printf (" %d - ",r);
if (i%2!=0) printf ("\n"); { }
{ } for (j=1;j<=10;j++) printf ("\n");
r=i*j; break; { }
printf (" %d - ",r); if ( i<80) break;
} case 5: {
} r=i*j; }//switch
printf ("\n"); for (i=21;i<=n;i++) printf (" %d - ",r); r=0;
} { }
break; for (j=1;j<=10;j++) } getch();
{ printf ("\n");
case 4: if (i<=50){ } }
TALLER CINCO: long int n, n_temp;
#include "stdio.h" int aux1, aux2, i;
#include "conio.h"
#include <stdlib.h> i = 0;
aux1 = 0;
int main() inicio:
{ printf(" Introduzca el numero para analizar si
es capicua o no \n");
int opc; printf (" El numero debe ser menor que 100.000 y
mayor que 9\n");
printf (" °°°°°°°°°°°°°°° MENU °°°°°°°°°°°°°°°\n\n"); scanf("%i", &n);
printf ("1. Numero Capicua\n"); printf("\n");
printf ("2. Tabla de Multiplicar\n"); if (n>=100000 || n<=9){
printf ("3. Salir\n\n"); printf (" El numero ingresado no cumple con
los requisitos.\n");
printf ("Ingrese el numero de la opcion que desea printf (" Presione una tecla para continuar...");
realizar\n"); getch();
scanf ("%d",&opc); clrscr();
goto inicio;
if (opc==1) }
{ n_temp = n;
int num[5];
GRASIAS
POR SU
ATENCION