Vous êtes sur la page 1sur 56

TUTORIAL

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).

Es de alto nivel porque es racional, estructurado y fácil de


aprender.

Es de bajo nivel porque permite trabajar con “bits”, registros de


la C.P.U. y posiciones de memoria.
* ¿PORQUÉ EL “C”?
El lenguaje ‘C’ es poderoso y flexible: la mayor parte del sistema
operativo UNIX está escrito en ‘C’.

Incluso están escritos en ‘C’ los compiladores e intérpretes de


otros lenguajes, como FORTRAN, APL,
PASCAL, LISP, LOGO y BASIC.

El lenguaje ‘C’ es “amistoso” porque es lo suficientemente


estructurado para ejercer buenos hábitos de programación.

Es el lenguaje de programación más utilizado por el


programador de sistemas.
* ESTRUCTURA DE UN PROGRAMA EN “C”

El ‘C’ es un lenguaje compilado, vamos a ver que es esto


gráficamente:

Código fuente compilar Código objeto linkar Programa


ejecutable

Código Fuente: es el programa que nosotros escribimos, extensión CPP

Código Objeto: es el programa fuente pero traducido a lenguaje máquina


(sucesión de ceros y unos), se graba con la extensión OBJ

Programa Ejecutable: es el programa objeto más las “librerías del C”.


* RELACIONES DEL “C” CON OTROS LENGUAJES DE
PROGRAMACIÓN

FORTRAN (1955) ALGOL (1960)

PL/1 (1965) PASCAL (1970)

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.

#include <librería.h>: parte donde colocamos las librerías que vamos a


usar.

void main() { }: Función o programa principal (main), que no devuelve


nada (void).

\n : Es equivalente a un [Return]. Se le llama manipulador de formato.


* DATOS MÁS IMPORTANTES
Tipo entero (int): representa números enteros con o sin signo, El tipo de datos
entero se define en el lenguaje de programación C por la palabra reservada int.
Para definir un tipo de dato en C se escribe lo siguiente:
int nombre_variable = valor;

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.

Doublé: numero real de doble precisión


* MEMORIA QUE UTILIZA LOS DATOS
Tipo de dato Descripción memoria
Int Cantidad entera 2 bytes (1palabra )
Char Carácter 1 byte
Float valores reales 4 byte (1 palabra)
Double valores reales de doble precisión 8 bytes (2 palabras)
Void Se utiliza para definir una función que no devuelve
ningún valor o declarar punteros genéricos (lo veremos
más tarde)
* RANGOS DE DATOS
TIPO Número de bits Rango
char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
short 16 -32768 a 32767
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
short int 16 -32768 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32768 a 32767
long int 32 -2147483648 a 2147483647
signed long int 32 -2147483648 a 2147483647
unsigned long int 32 0 a 4294967295
long 32 -2147483648 a 2147483647
unsigned long 32 0 a 4294967295
float 32 3.4E-38 a 3.4E+38
double 64 1.7E-308 a 1.7E+308
long double 64 ó 80 (según versión). 1.7E-308 a 1.7E+308 ó 3.4E-4932 a 1.1E+4932
* FORMATOS DE DATOS

Tipo de dato Formato Comentario

Int %d o %i Entero con signo

Float %f Real con signo


Para escoger la cantidad de decimales solo cambia el
Float %.1f numero

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:

Declaración De Variables: Consiste en escribir una sentencia que


proporciona información al compilador de C++ para que este reserve un
espacio de almacenamiento en memoria. Toda variable utilizada en un
programa debe ser declarada previamente. El procedimiento es el
siguiente:
<tipo_de_dato> <nombre_de_variable>; int x;
<tipo_de_dato> <lista_de_variables>; char x, y, z;
<tipo_de_dato> <nombre_de_variable> = valor; int x = 10;
Reglas Para Identificar Variables: Toda variable está constituida por un
nombre al que llamaremos identificador. Para asignar este identificador
deben seguirse las reglas que a continuación se señalan:

• Pueden llevar caracteres alfanuméricos: Letras de la A ala Z >


(mayúsculas o minúsculas) y números.
• Deben comenzar por una letra y no por un numero o signo.
• Solo se acepta el signo _ (guión bajo) dentro del identificador.
• No pueden usarse palabras reservadas como identificadores.
• El numero de caracteres de un identificador no debe sobrepasar la
cantidad de 31.
• Es recomendable utilizar identificadores que hagan referencia al dato
que almacenan.
Asignación De Valores: Una vez que la variable ha sido definida, esta
lista para albergar datos en su interior. Dicho dato solo podrá ser del
mismo tipo con el que se ha declarado la variable. Es posible también
asignar un valor a una variable al mismo momento de declararla.

int recetaDelMes = 12301;

Tipo de Dato Identificador Valor Asignado

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.

Declaración De Constantes: Constantes declaradas const La palabra


reservada const indica que el valor de la variable no se puede modificar.
Su sintaxis es la siguiente:
const <tipo_de_dato> <nombre_de_constante> = <valor> ;

Constantes definidas: Se declaran mediante la directiva #define. Su


sintaxis es la siguiente:
#define <nombre_de_constante> <valor>
Asignación De Valores: Los valores de una constante se asignan en el
mismo momento en que estas son declaradas.
const recetaDelMes = 12301;

Además, las constantes pueden ser:


 Números Enteros
 Números Reales
 Caracteres
 Cadenas de Caracteres

Variable Volátil: Indica que el valor de la variable puede cambiar incluso


por condiciones eternas al programa que la declara.
* OPERADORES
Los operadores son elementos que disparan ciertos cálculos cuando son
aplicados a variables o a otros objetos en una expresión.

Operando: cada una de las constantes, variables o expresiones que


intervienen en una expresión.

Operador: cada uno de los símbolos que indican las operaciones a


realizar sobre los operandos, así como los operandos a los que afecta.

Expresión: según el diccionario, "Conjunto de términos que representan


una cantidad", para nosotros es cualquier conjunto de operadores y
operandos, que dan como resultado un valor.
Operadores De Asignación:

Operador Acción Ejemplo Resultado


= Asignación Básica X=6 X vale 6
*= Asigna Producto X*=5 X vale 30
/= Asigna División x/=2 X vale 3
+= Asigna Suma X+=4 X vale 10
-= Asigna Resta X-=1 X vale 5
%= Asigna Modulo X%=5 X vale 1
<<= Asigna Desplazamiento Izquierda X<<=1 X vale 12
>>= Asigna Desplazamiento Derecha X>>=1 X vale 3
&= Asigna AND entre Bits X&=1 X vale 0
ˆ= Asigna XOR entre Bits xˆ=1 X vale 7
|= Asigna OR entre Bits X|=1 X vale 7
Operadores aritméticos: Los operadores aritméticos se usan para realizar
cálculos y operaciones con números reales y punteros básicamente
permiten hacer cualquier operación aritmética que se necesite Los
operadores más comunes son :

Operador Acción Ejemplo Resultado


- Resta X=5-3; X vale 2
+ Suma X=5+3; X vale 8
* Multiplicación x=2*3; X vale 6
/ División X=6/3; X vale 2
% Modulo X=5%2; X vale 1
-- Decremento X=1;-- X vale 0
++ Incremento X=1;++ X vale 2
Operadores Relacionales: Los operadores relacionales también
denominados operadores binarios lógicos y de comparación se utilizan
para comprobar la veracidad o falsedad de determinadas propuestas
de relación.

Operador Relación Ejemplo Resultado


< Menor X=5; y=3; if(x<y) x+1; X vale 2 Y vale 3
> Mayor X=5; y=3; if(x>y) x+1; X vale 6 Y vale 3
<= Menor Igual X=5; y=3; if(x<=y) x+1; X vale 3 Y vale 3
>= Mayor Igual X=5; y=3; if(x>=y) x+1; X vale 6 Y vale 3
== Igual X=5; y=5; if(x==y) x+1; X vale 6 Y vale 5
!= Diferente X=5; y=3; if(x!=y) y+1; X vale 5 Y vale 4
Operadores Lógicos: Los operadores lógicos producen un resultado
booleano y sus operandos son también valores lógicos o asimilables a
ellos (los valores numéricos son asimilados a cierto o falso según su valor
sea cero o distinto de cero) Por el contrario las operaciones entre bits
producen valores arbitrarios Los operadores lógicos son tres dos de ellos
son binarios y el último (negación).

Operador Acción Ejemplo Resultado


&& AND Lógico A && B Si ambos son verdaderos se
obtiene verdadero(true).
|| OR Lógico A || B Verdadero si alguno es
verdadero
! Negación Lógica !A Negación de a
Operadores De Bits: Los operadores de movimiento son operadores a
nivel de bits y lo que hacen es convertir una determinada cantidad a su
equivalente en bits para posteriormente realizar un desplazamiento de
dicho valor Estos operadores son:

Operador Acción Ejemplo Resultado


<< Desplazamiento a Izquierda A << B X vale 2
>> Desplazamiento a Derecha X=5+3; X vale 8
˜ Complemento X=2*3; X vale 6
& AND X=2&-2; X vale 2
ˆ XOR X=7ˆ-2 X vale -7
| OR X=6|13 X vale 15
*
* Ciclos y sentencias: Pagina 26
* Vectores
* Matriz Pagina 36
* Punteros
CICLOS
Un ciclo o bucle permite repetir una o varias instrucciones cuantas veces lo necesitemos.

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:

for (inicialización; condición; incremento)


{
instrucción(es);
}
* Ejemplo For:

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

void main()
{
int contador;

printf( "\n " );

for ( contador=1 ; contador<=10 ; contador++ )


printf( "%d ", 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", &nota );
{
}
float nota;
if ( nota >= 5 )
printf( "\n Introduzca nota (real): "
); printf( "\n APROBADO" );
scanf( "%f", &nota ); 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 );

void main() scanf( "%c", &seguir);

{ } while ( seguir != 'n' );

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.

* Sentencia If...else: Permite la ejecución condicional de una sentencia.


Su formato general es:

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; }

printf( "\n Introduzca nota (real): "


);
scanf( "%f", &nota );
* sentencia Switch – Case:Esta sentencia permite seleccionar las acciones a realizar de acuerdo al valor que tome una variable.

Su formato general es:

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:

Tipo nombre[tamaño de fila][tamaño de


columna];
Ejemplo:

#include "stdio.h" for (i=0;i<num;i++)


#include "conio.h" {
#include "iostream.h" for(j=0;j<num1;j++)
{
void main () printf (" %d ",num2);
{
}
char seguir; printf("\n");
int i,j,num,num1,num2; }

do printf ("\n Desea ingresar otro numero S/N ");


{ fflush( stdin );
printf (" Ingrese un numero para generar scanf ("%c",&seguir);
fila\n"); clrscr();
scanf ("%d",&num); }while (seguir != 'n');
printf (" Ingrese un numero para generar
columna\n"); getch();
scanf ("%d",&num1);
printf (" Ingrese el numero a repetir\n"); }
scanf("%d",&num2);
PROCEDIMENTO
Un procedimiento es un fragmento de código cuya función es la
de realizar una tarea específica independientemente del
programa en el que se encuentre.
Sintaxis de un procedimiento:

• Cabecera: <tipo> <identificador> ( <parámetros> ) ;


• Uso: <tipo><identificador> ( <parámetros> )
{
<sentencias>
}
Ejemplo: void main()
#include "stdio.h" {
#include "conio.h" int a,b,max;
printf (" Escriba un numero\n");
scanf("%d",&a);
void maximo(int x,int y) printf (" Escriba otro numero\n");
{ scanf("%d",&b);
if (x>y)
printf (" El maximo es %d ",x); maximo(a,b);//llamamos la funcion
a=x y b=y
else
printf (" El maximo es %d ",y); getch();
} }
FUNCIONES
Una función es exactamente lo mismo que un procedimiento salvo
por un detalle, una función puede devolver un valor al programa
principal y un procedimiento no.
Sintaxis de un Función:

• Cabecera: <tipo> <identificador> ( <parámetros> ) ;


• Uso: <tipo><identificador> ( <parámetros> )
{
<sentencias>
return <valor>;
}
Ejemplo: int a,b,max;
#include "stdio.h" Printf (" Escriba un numero\n");
#include "conio.h" scanf("%d",&a);
printf(" Escriba otro numero\n");
int maximo(int x,int y) scanf("%d",&b);
{
if (x>y) max=maximo(a,b);//llamamos la
return x; funcion a=x y b=y
else
return y; printf (" el maximo es %d",max);
}
void main() getch();
{ }
PUNTEROS
El valor de todas las variables que
manejamos en nuestros programas se
almacenan en memoria y tienen una
dirección. Un puntero es una variable
especial que apunta a la dirección de
memoria de una variable.
Su sintaxis es : <tipo> *<nombre>;
Ejemplo: v[i]=num*(i+1);
#include <stdio.h> }
#include <conio.h> pt=&v[0];
#define x 10 for (i=0;i<num;i++)
{
void main() printf (" v[%i] = %i \n",i,*pt);
{ pt++;
int *pt,v[x],num,i;// *pt: es un puntero. }
getch();
printf (" Digite un numero "); }
scanf ("%i",&num);
for (i=0;i<num;i++)
{
//PROGRAMA: la serie de for(k=1;k<n;k++){ //Si n = 3
Fibonacci entonces k va a parar cuando
llegue a 2
#include <stdio.h> t=i+j;
#include <conio.h> (k>n-
2)?printf("%d.",t):printf("%d,",t);
i=j;
int main()
j=t;
{
}
int i,j,k,t,n;
getch();
n=15;//final de la serie
}
i=0; j=1; //asignacion necesaria
printf("%d,%d,",i,j); //imprimimos
los 2 primeros valores
//PROGRAMA: M.C.D de dos Numeros Y ");
#include "stdio.h" scanf("\n%d", &y);
#include "conio.h" r=x%y;
#include "iostream.h" while(r>0)
void main() {
{ x=y;
int x,y,r; y=r;
printf ("\n Maximo comun divisor de r=x%y;
dos numeros \n"); }
printf ("\n Ingrese primer numero en X printf(" \n El MCD es %d", y);
");
getch();
scanf("%d", &x);
}
printf ("\n Ingrese segundo numero en
//PROGRAMA: M.C.M de dos Números if(b%i==0){
m=m*i;
#include "stdio.h" a=a/i; b=b/i; i=2;
#include "conio.h" }
#include "iostream.h" else i++;
void main() }
{ else i++;
int a, b, x, y, m=1, i=2; } while(i<=a);
printf ("\n Mínimo común múltiplo\n "); m=m*b*a;
printf ("\n Ingrese primer numero: X "); printf ("\n El MCM es %d",m);
scanf("%d",&x); getch();
printf ("\n Ingrese segundo numero: Y "); }
scanf("\n%d",&y);
if (x<y){a=x; b=y;} else {a=y; b=x;}
do{
if (a%i==0){
PRIMO O NO PRIMO: {
// PROGRAMA:N° PRIMO O N° NO PRIMO a++;
}
#include "stdio.h" }
#include "conio.h" if (a==2)
#include "iostream.h" {
printf ("El numero %d es: Primo",num);
void main() }
{ else
int num,i; {
int a=0; printf ("El numero %d es: No primo",num);
printf (" \nIngrese un numero "); }
scanf ("%d",&num);
getch();
for (i=1;i<(num+1);i++) }
{
if (num%i==0)
TABLA DE MULTIPLICAR: scanf ("%d",&num);
//PROGRAMA: TABLA DE MULTIPLICAR CON
CONDICION for (i=1;i<=10;i++)
{
#include "stdio.h" res=num*i;
#include "conio.h" printf ("\n %d * %d = %d ",num,i,res);
#include "iostream.h" }

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

Vous aimerez peut-être aussi