Sie sind auf Seite 1von 31

LENGUAJE C

INTRODUCCIN
El lenguaje de programacin C es un lenguaje de programacin de "bajo nivel".
C maneja los elementos bsicos del ordenador como caracteres, nmeros y direcciones de
memoria.
Dispone de Libreras de funciones externas al lenguaje, la cual cosa lo convierte en portable
independientemente de la maquina que ejecuta el programa.
La descripcin del lenguaje se realiza siguiendo las normas del ANSI C, por lo tanto, todo lo
expresado ser utilizable con cualquier compilador.

ESTRUCTURA DE UN PROGRAMA
Libreras
Variables globales;
Main ()
{
Variables locales;
Sentencias;
}

Diferentes libreras a utilizar


Variables del programa
Inicio del programa
Cuerpo del programa
Fin del programa

LIBRERAS

Conjunto de funciones que se identifican con un nombre y que tenemos que llamar al principio
del programa para utilizar unas funciones concretas.
Lista de libreras usuales:
Stdio.h funciones de entrada-salida
Conio.h mas funciones de entrada-salida
Math.h funciones matematicas
Stdlib.h mas funciones matematicas
Ctype.h funciones de conversion de caracteres
String.h funciones de cadena
Graphics.h funciones graficas

VARIABLES

Son combinaciones de letras y nmeros que permiten almacenar cualquier valor en la memoria del
ordenador.
Estos valores los podremos utilizar en el programa haciendo referencia al nombre de la variable.
Al finalizar la ejecucin del programa las variables se borran.
VARIABLES II
Tipos de variables: Dependiendo del valor a guardar tendremos que determinar el tipo de la variable.
Tipos:
char valores caracter
int valores numericos enteros
float
valores numericos grandes con decimales
double valores numericos grandes con decimales
VARIABLES III
Modificadores de variables: Son parmetros que permiten modificar los rangos de los tipos de
variables, principalmente del tipo (int)
Modificadores:
Signed

Unsigned
Long
short
VARIABLES IV
Modificador signed
Es el modificador por defecto que utiliza C, en el caso de una variable definida como:
signed int
almacenara valores entre -32000 y 32000
Modificador unsigned
Este modificador en una variable INT se definira como :
unsigned int
almacenara valores entre o y 65000 (pasa todo el rango de nmeros negativos a positivos)
Modificador long
Este modificador en una variable INT se definir como:
long int
almacenara valores entre -2000000000 y 2000000000
EJEMPLO DECLARACIN DE VARIABLES
Declaracin de una variable como un entero
int variable;
int variable2;
int variable3;
Declaracin de variables y asignacin de valores en una lnea
int variable = 1000, variable2 = 2, variable3;
Declaracin de variables tipo texto
char variable ;
Con tamao fijo de caracteres:
char variable[15];
Con asignacin de valor
char variable = 'a' ;
SECUENCIAS DE ESCAPE
Las secuencias de escape se utilizan para representar caracteres o acciones especiales.
Lista de secuencias:
\
Comillas dobles
\
Comilla simple
\?
Interrogante
\b
Retrocede un caracter
\n
Efectua un salto de linea
\r
Coloca el cursor al principio de la linea
\t
Representa el tabulador desplazando una serie de espacios
OPERADORES
Los operadores son simbolos que utilizamos para realizar operaciones y comparaciones.
Tipos de operadores:
Operadores aritmeticos
Operadores relacionales
Operadores logicos

OPERADORES II
Operadores aritmeticos
+
suma
resta
*
multiplica
/
divide
++
incrementa un valor
- decrementa un valor
%
obtiene el resto de una division entera
OPERADORES III
Lista de operadores relacionales:
==
igual que
>
mayor que
>=
mayor o igual que
<
menor que
<=
menor o igual que
!=
diferente que
OPERADORES IV
Lista de operadores logicos:
&&
significa y (and)
||
significa o (or)
!
significa negacion no (not)
LIBRERAS
Las librerias son grupos de funciones que permiten realizar determinadas operaciones, al
principio de los programas tendremos que llamar a las librerias necesarias segn las acciones que
debe realizar el programa.
La orden que llama a las librerias es,
#include <nombre de la libreria>
EJEMPLO DE LLAMADAS A LIBRERIAS
Dependiendo de las acciones a realizar por el programa tendremos que llamar a una o varias
librerias.
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
#include <stdlib.h>
CONSTANTES
Podemos definir una constante con un valor determinado mediante el parametro #define.
#define FIN 'F'
#define MAX 1000
A partir de este momento al hacer referencia a FIN el valor que cogera el programa sera la F, de
la misma forma al hacer referencia a MAX entendera 1000

FUNCIN: PRINTF

Esta funcin permite mostrar por pantalla los mensajes del programa, as como los resultados de
las operaciones que realiza el mismo.
La estructura del PRINTF es
printf(cdigos,variables);
Los cdigos que expresamos entre comillas dentro de la funcin indican que tipo de datos va a
mostrar la funcin.
Lista de cdigos:
%c
carcter
%s
cadena de caracteres
%d
numero entero
%u
numero sin signo
%f
valor float
%x
valor hexadecimal
%o
valor octal
%%
signo tanto por ciento %
%ld
numero de tipo long

EJEMPLOS DE PRINTF
printf(tu nombre es %s,nombre);
printf(Tienes %d aos,edad);
printf(La factura n %d asciende a %ld euros,nfac,neto);
printf(\n El numero introducido es %d,numero);

FUNCIN: SCANF

La orden SCANF se utiliza para introducir datos a un programa en C. Mediante esta orden el
usuario podra introducir valores a las preguntas propuestas por el programa.
La estructura del scanf es:
scanf(codigo,&variable);
Los cdigos permiten especificar que tipo de valores vamos a introducir desde el teclado. El tipo
de datos a introducir estar relacionado con el tipo de la variable en la que se almacenara el valor.
La lista de cdigos es la misma que utiliza la funcin PRINTF explicada en diapositivas
anteriores.
Ejemplos del SCANF
scanf (%d,&numero);
scanf (%s,&frase);
scanf (%c;&letrasola);
scanf (%lf,&numero);

FUNCIONES DE ENTRADA / SALIDA


Son funciones de C que permiten la introduccin y visualizacin de un carcter.
Funciones entrada/salida:
Getch()
Getche()
Getchar()
Putchar()

Gets()
Puts()

FUNCIONES E/S

Getch()
Para introducir un carcter, no necesita pulsar intro y el carcter no se visualiza en pantalla.
Getche()
Para introducir un valor, sin necesidad de pulsar intro y se visualiza en pantalla.
Getchar()
Necesita el intro despus de introducir el carcter, este se visualiza por pantalla.
Putchar()
Muestra por pantalla un carcter.
Gets()
Es para introducir una cadena de caracteres
Puts()
Muestra por pantalla una cadena de caracteres

CONDICIONALES

Los condicionales permiten al programa escoger entre varios posibles resultados dependiendo
de la evaluacin de una condicin.
Un condicional solo puede retornar el valor de verdadero o falso.
Un condicional siempre retorna un resultado.

CONDICIONALES II

Si el condicional tiene que realizar una sola operacin en el caso de ser verdadera o falsa, el formato
ser:
if (condicin) operacin1;
else operacin2;

CONDICIONALES III
Modo de ejecucin:
if (condicin) operacin1;
else operacin2;
Si la condicin es cierta, se ejecutara la operacion1 y finalizara el condicional.
Sino (else) es cierta la condicin, se ejecutara la operacion2 y finalizara el condicional

CONDICIONALES IV

Si el condicional tiene que ejecutar varias operaciones, en el caso de ser cierta y/o falsa la condicin,
el formato que utilizaremos es,
If (condicin) {
grupo de operaciones1
}
else{
grupo de operaciones2
}

CONDICIONALES V
Modo de ejecucin:
If (condicin) {
grupo de operaciones1
}
else{
grupo de operaciones2
}
Si la condicin es verdadera se ejecutara el grupo de operaciones1 y sino (else) es cierta la
condicin, se ejecutara el grupo de operaciones2.
MODO DE EJECUCION DE UN PROGRAMA
Desde el editor de C, cuando tenemos el cdigo copiado tendremos que compilarlo para
comprobar que no hay ningun error de sintaxis, etc, ya que en el caso de haberlo, no se podr
ejecutar.
El C controla dos tipos de errores, los WARNINGS y los ERRORS.
Un programa con WARNINGS se podr ejecutar ya que son errores leves, pero con ERRORS no
podremos ejecutar el cdigo.

COMO COMPILAR EL CODIGO


Con
Con elel cdigo
cdigo introducido
introducido
accederemos
a
la
lnea
accederemos a la lneade
deMENU
MENU
yy activaremos
COMPILE
activaremos
COMPILE

COMPILE
COMPILE

En
En este
este caso
caso el
el WARNING
WARNING
que
indica,
es
que indica, es porque
porque la
la
funcin
MAIN()
de
inicio,
no
funcin MAIN() de inicio, no
esta
esta definida
definida como
como tal,
tal, para
para
solventar
este
warning
solventar
este
warning
tendramos
tendramos que
que preceder
preceder el
el
nombre
main
por
VOID.
nombre main por VOID.

El
El resultado
resultado de
de la
la
compilacin,
es
compilacin, es
esta
esta pantalla
pantalla con
con el
el
numero
de
numero de
WARNINGS
WARNINGS yy
ERRORS
ERRORS

Ejemplos
#include <stdio.h>
Void main()
{

Int a;
Printf(Introduce un numero: );
Scanf(%d,&a);
If (a==5) printf(has introducido el numero 5);
Else printf(no has introducido el numero 5);
}
Ejemplos
#include <stdio.h>
Int a,b;
Void main(){
printf(Introduce un numero: );scanf(%d,&a);
Printf(\n Introduce otro numero: );scanf(%d,&b);
If (a>b) printf(El primero es mayor que el segundo);
Else printf(El segundo es mayor que el primero);
}
Ejemplos
#include <stdio.h>
#include <conio.h>
#include <string.h>
char palabra[15];
void main(){
clrscr();
printf("Pon una palabra, si pones FIN me acabo: ");scanf("%s",palabra);
if (strcmp(nombre,FIN")==0){
printf(" Has puesto FIN y me acabo);
}
else{
printf(Has puesto la palabra %s,palabra);}
getch();
}
Condicional VI
El condicional IF ELSE dispone de una variante que representa el condicional anidado, es decir, un
condicional dentro de otro. Este condicional se da, cuando como resultado de un condicional se inicia
uno nuevo.
La sintaxis es,
If (condicin)
cdigo;
Else if (condicin)
cdigo;
Else if (condicin)
cdigo;

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

Int a;
Void main(){
Printf(Introduce un numero: );scanf(%d,&a);
If (a==1)
Printf(has puesto el numero uno);
Else if (a==2)
Printf(has puesto el dos);
Else
printf(no conozco el numero introducido);
}

BUCLES

Los bucles permiten repetir la ejecucin de un trozo de programa determinado un numero de


veces.
Existen diferentes bucles, y cada uno de ellos dispone de unas cualidades diferentes.

BUCLES - FOR
El bucle FOR permite repetir un trozo de cdigo un numero determinado de veces, ya que el
for es capaz de ir incrementando el valor de una variables hasta que esta llege a un valor final.
La sintaxis del for es,
For (valor inicial; condicin; incremento/decremento)
{
Cdigo
}
Ejemplo FOR
#include <stdio.h>
#include <conio.h>
Int a,b;
Void main(){
Printf(Hasta que numero quieres que cuente:);scanf(%d,&a);
For (b=1;b<=a;b++)
{
Printf( %d \n,b);
}
}

BUCLES - WHILE
Permite repetir un trozo de cdigo mientras la condicin sea cierta. El valor se revisa desde la
primera vez que entra al bucle.
Sintaxis del While:
While (condicin)
{
Cdigo;
}
Ejemplo - While

#include <stdio.h>
#include <conio.h>
Void main(){
Int a=0;
While (a<=10)
{
Printf(%d \n,a);
a++;
}
Printf(Fin del ejemplo del while);
Getch();
}

BUCLES DO WHILE
Permite repetir un cdigo un numero determinado de veces mientras la condicin sea cierta. A
diferencia del bucle anterior While, este siempre entra la primera vez dentro.
Sintaxis,
Do
{
cdigo;
}
While (condicin);

DECLARACIN DE ARRAYS
Ejemplos,
Intmeses [12]={1,2,3,4,5,6,7,8,9,10,11,12};
Charcadena [20];
Charnombre [15]={null};
Inta[40];
Char meses [3][20]={enero,febrero,marzo};
Charfrase [15]=hola que tal;
Intb [5];

FUNCIONES DE TIPO CADENA


Las funciones de tipo cadena se encuentran en la librera string.h
Las funciones de cadena funcionan cuando el contenido de la cadena es superior a un carcter.
Strcpy(A,B) copia el contenido de B en A y el fin de cadena \0
Strcmp(A,B) Compara cadenas, si son iguales devuelve un 0. Si a>b devuelve valor>0, si a<b devuelve
valor<0
Srtlen(A)
Cuenta el n de caracteres de la cadena A
Strcat(A,B) Aade la cadena B al final de la cadena A

EJEMPLO - ARRAYS
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <math.h>

void main (void) {


char frase[25],reves[25];
int cont,cont2,col, len;
clrscr();
printf(Introduce una frase de maximo 25 caracteres: \n");
gets(frase);
len=strlen(frase);
cont2=len;
for (cont=0;cont<=len;cont++){
cont2--;
reves[cont2]=frase[cont];
}
reves[cont-1]='\0';
col=ceil(len/2);
col=40-col;
clrscr();
_setcursortype(_NOCURSOR);
gotoxy(col,12);
puts(reves) ;
getch();
}

SWITCH
Permite tomar decisiones y escoger entre varias opciones dependiendo del valor de una variable.
Este sentencia de control dispone del parmetro BREAK; para finalizar la orden switch.
Sintaxis:
Switch (variable){
case 0:
codigo;
break;
case 1:
codigo;
Break;
case 2:
codigo;
break;
default:
codigo;
}

Ejemplo Switch
#include <stdio.h>
#include <conio.h>
#include <string.h>
Void main(){
Int opcion,s,r;
Clrscr();
Printf(Escoge entre el numero 1 y 2 ;scanf(%d,&opcion);
Switch(opcion)

10

{
Case 1: printf(has escogido el numero 1);
Case 2: prnitf(has escogido el numero 2);
Default: printf(no entiendo el numero);
}
Getch();
}

BIFURCACIONES - GOTO
Permiten llevar la ejecucin del programa a un punto determinado del cdigo.
Ejemplo,
#include <stdio.h>
#include <conio.h>
Void main(){
Int a=0;
Clrscr();
Voy:
Printf(%d \n,a);
A++;
Goto voy;
Getch()
}

FUNCIONES
Las funciones permiten automatizar operaciones repetitivas dentro de un cdigo. Nos evita tener que
copiar varias veces el mismo cdigo dentro del programa.
Las funciones tienen un nombre el cual no puede contener caracteres raros, ni espacios en blanco.

FUNCIONES II
Estructura de una funcin:
Tipo funcin nombre_de_la_funcin ( argumentos/variables )
{
cuerpo de la funcin;
return;
}
Ejemplo Funcion
#include <stdio.h>
#include <conio.h>
int compara( int a, int b )
{
if ( a>b ) printf( "%i es mayor que %i\n" , a, b );
else
printf( "%i es mayor que %i\n", b, a );
return;
}
int main()
{

11

int num1, num2;


printf( "Introduzca dos nmeros: " ); scanf( "%i %i", &num1, &num2 );
compara( num1, num2 );
}

PUNTEROS

Los punteros se utilizan para conocer la direccin de memoria donde tenemos almacenado el valor de
una variable.
Es decir, al declarar una variable, el ordenador utiliza una direccin de su memoria a la que le da el
nombre de la variable y en su interior guarda el valor.
De forma que al declarar una variable estamos ocupando una direccin de memoria del ordenador, y
los punteros se utilizan para conocer y manipular estas direcciones.
Para poder visualizar la direccin de memoria (puntero) tendremos que utilizar el parmetro,
%p que sirve para escribir direcciones de punteros y variables. El valor se muestra en hexadecimal.
Y para obtener la direccin de memoria en lugar del valor que guarda tendremos que preceder la
variable del signo &

Ejemplo
#include <stdio.h>
Void main()
{
int a;
a = 10;
printf( "Direccin de a = %p, valor de a = %i\n", &a, a );
}

Punteros III
Para declarar una variable para que sea de tipo puntero tendremos que preceder el nombre de la
variable con el * .
#include <stdio.h>
int main()
{
int a;
int *p;
a = 3;
p = &a;
printf( "Direccin de numero = %p, valor de numero = %i\n", p, a );
}

Punteros IV
Es muy importante diferenciar entre el puntero (posicin de memoria) y el valor de la variable.
Cada asignacin de una nueva variable gasta o utiliza una nueva posicin de memoria.
Int a,b;
a=5;
b=5;
Segn las tres lneas anteriores las variables a y b son iguales (tienen el mismo contenido), pero los
punteros son diferentes ya que cada variable a utilizado una posicin diferente de memoria.

12

ARRAYS
Ya sabemos de lecciones anteriores que es un array y para que sirve, incluso como se declara.
Veremos como introducir valores dentro de un array unidimensional, es decir que la variable tendr
solamente un nivel de elementos.
Ejemplo
#include <stdio.h>
#include <conio.h>
int a[5];
int b;
void main(){
clrscr();
for (b=0;b<=5;b++){
printf(Introduce el valor para el elemento %d",b);scanf("%d",&a[b]);
}
getch();
clrscr();
for (b=0;b<=5;b++){
printf(" \nEl valor introducido es %d",a[b]);
}
getch();
}
Ejemplo
En el ejemplo anterior hemos declarado el array a con 5 elementos. Tambien hemos declarado
b que nos ayudara a recorrer el array.
Despus hemos realizado un bucle (for) para que nos pida tantos valores como posiciones tienen y se
almacene en una posicin del array a[b].
Finalmente para visualizar la lista de valores introducidos en el array volvemos a realizar un (for) que
recorra el total del array visualizando los valores guardados.

PUNTEROS EN ARRAYS
Evidentemente como los valores de un array se guardan en diferentes posiciones de memoria del
ordenador podramos conocer mediante punteros la direccin de memoria donde se guardo cada
elemento.
Si modificamos el cdigo anterior y ponemos la lnea siguiente visualizaremos la posicin de
memoria.
printf(" \nEl valor introducido es %d",a[b]);
Printf(\n El valor introducido es %d y el puntero %p,a[b],&a[b];

CADENAS DE TEXTO (STRINGS


Para utilizar las funciones que explicaremos a continuacin tendremos que inicializar la librera
<string.h>.
Estas funciones permiten manipular el contenido de variables de texto.
#include <string.h>

FUNCIONES DE TEXTO - STRLEN


13

Esta funcin nos devuelve el nmero de caracteres que tiene la cadena, sin contar el final de
cadena (\0).
Por ejemplo, indicamos un trozo de cdigo,

char texto[]=hola";
int longitud;
longitud = strlen(texto);

El resultado de longitud ser 4

FUNCIN - STRCPY
Copia el contenido de una cadena en otra.
Tendremos en cuanta que el tamao de la cadena que recibe el contenido tenga espacio suficiente.
Ejemplo,
char texto1[] = Hola que tal";
char destino[30];
strcpy( destino, texto1,4 );
El resultado ser que dentro de la variable DESTINO tendremos el contenido de los 4 primeros
caracteres de texto1.(HOLA)

FUNCIN - STRCAT
Es parecida a la anterior, con la diferencia que copia el contenido de la segunda cadena al final de la
primera. (concatena textos).
Ejemplo,
Strcat (cadena1,cadena2)

FUNCIN - STRCMP
Compara cadena1 y cadena2. Si son iguales devuelve 0. Un nmero negativo si cadena1 va antes que
cadena2 y un nmero positivo si es al revs.
Ejemplo,
strcmp(nombre1,nombre2);

FUNCIONES DE CARCTER
Estas funciones las utilizaremos activando previamente la librera <ctype.h>
Mediante las funciones de esta librera podemos analizar el contenido de una cadena de caracteres o
de un array, para saber si existen determinados caracteres.
#include <ctype.h>
Isalpha(carcter): Esta funcin detecta si existen los caracteres alfabticos (a-z), si el resultado de la
funcin es diferente a 0 es que ha localizado un carcter.
Isdigit(carcter): Detecta si existen valores numricos del (0 al 9), si es as retorna un valor diferente
de 0

FUNCIONES CARCTER II

Isalnum(carcter): Detecta caracteres alfanumricos, si es as retorna diferente de 0.


Islower(carcter): Detecta caracteres en minsculas. Si los detecta retorna un valor diferente a 0.
Isupper(carcter): Detecta maysculas.
Isspace(carcter): Localiza espacios en blanco.

14

Ispunct(carcter): Localiza signos de puntuacin, si los localiza retorna un valor diferente de 0.


Ejemplo funciones Carcter
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
Void main(){
Char frase[20];
Int mas=0,a;
Printf(Introduce una palabra:);gets(frase);
For (a=0;a<strlen(frase);a++)
If (isdigit(frase[a])!=0)
Mas++;
Printf(El numero de caracteres numricos es %d ,mas);
Getch();
}

FUNCIONES VARIAS
Correspondientes a la librera <dos.h>
Sleep(segundos); Realiza un retardo de x segundos
Delay(milisegundos); Retardo de x milisegundos
Sound(frecuencia); Emite un sonido correspondiente a la frecuencia.
Nosound(frecuencia); Elimina el sonido correspondiente.
Correspondientes a la librera <conio.h>
Wherex(); Indica el numero de la columna horizontal) donde se encuentra situado El cursor.
Wherey(); Indica el numero de la fila (vertical) donde se encuentra el cursor.

FUNCIONES DE IMPRESIN
Para volcar por impresora informacin, tendremos que utilizar funciones de la librera <stdio.h>.
Funcin: fprintf stdprn
Ejemplo
Fprintf(stdprn,texto+codigos+secuencias de escape, variables);
Fputs(cadena,stdprn);

MODO GRAFICO
El lenguaje c nos permite utilizar una librera <graphics.h>, la cual contiene funciones para trabajar
de forma grafica.
Una de las principales diferencias del trabajo en modo grafico es que la pantalla del ordenador no se
medir en filas y columnas, sino que se utilizaran pxel.

INICIALIZACIN MODO GRAFICO


Para que C sepa que el programa se va a ejecutar en modo grafico, tendremos que inicializar este
modo, para ello,
Int tipo=DETECT; esta linea detecta automaticamente el
tipo de pantalla.
Int modo;
Variable numerica.

15

Initgraph (&tipo,&modo,c:\\tc); la funcion initgraph


inicia el modo grafico dependiento del
tipo detectado, tambien hay que indicar en que directorio del ordenador
se
encuentran
los
archivos,BGI y CHR.

FUNCIONES
Setcolor(color); Determina el color.
Setbkcolor(color); Determina el color de fondo.
Getmaxx(); Numero de pxel horizontales
Getmaxy(); Numero de pxel verticales
Getmaxcolor(); Determina el numero de colores.
Outtext(cadena); Muestra mensajes en pantalla
Outtextxy(cadena); Muestra mensajes en pantalla en cordenadas x,y

FUNCIONES II
Graphresult(); Detecta errores.
Settextstyle(fuente,direccion,tamao); Define un tipo de letra con el tamao y la direccion.
Tipos de letra: 0,1,2,3,4,5,6,7,8,9
Direcciones: 0-horizontal / 1-vertical
Tamao: del 1 al 10

FUNCIONES III
Cleardevice(); Borra la pantalla en modo grafico.
Restorecrtmode(); Regresa a modo texto
Getx(); Obtiene la coordenada X
Gety(); Obtiene la coordenada Y
Moveto(); Determina las coordenadas X,Y
Closegraph(); Igual que restorecrtmode(), cierra el modo texto.

FUNCIONES IV
Circle(x,y,radio); Dibuja un circulo
Rectangle(x,y,x2,y2); Dibuja un rectngulo
Line(x,y,x2,y2); Dibuja una linea con origen y fin
segn coordenadas.
Bar(x,y,x2,y2); Dibuja un rectngulo pero con color blanco como relleno.
Bar3d(x,y,x2,y2,fondo,1); Dibuja rectngulo en 3 dimensiones.

FUNCIONES V
Putpixel(x,y,color); Dibuja un pixel.
Ellipse(x,y,a1,a2,radiox,radioy); Dibuja un arco.
Fillellipse(x,y,radiox,radioy); Dibuja elipse con color blanco de fondo.
Pieslice(x,y,a1,a2,radio); Dibuja un trozo de circunferencia.

Ejemplo
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
void main(){
int adaptador=DETECT;

16

int m,color,iz,de;
float x;
initgraph(&adaptador,&m,"C:\\tc");
cleardevice();
while (!kbhit())
{
color=random(getmaxcolor()+1);
setcolor(color);
setfillstyle(random(11),color);
iz=random(getmaxx());
de=random(getmaxy()-20);
bar(iz,de,random(getmaxx()),random(getmaxy()-20));
setcolor(14);settextstyle(2,0,7);
outtextxy(10,460,"tecla");
}
cleardevice();getch();
while(!kbhit())
{
color=random(getmaxcolor()+1);
setcolor(color);
setfillstyle(random(11),color);
iz=random(getmaxx());
de=random(getmaxy());
bar3d(iz,de,random(360),random(360),random(100),random(100));
setcolor(14);settextstyle(2,0,7);
outtextxy(0,460,"tecla");
}
closegraph();
}

EJERCICIO DE C
En este ejercicio vamos a crear un programa que permita introducir un numero que despus el programa
nos muestre un mensaje con el numero introducido.
En el editor de C introduciremos el siguiente cdigo,
#include <stdio.h>
#include <conio.h>
main ()
{
int numero=0;
clrscr();
printf("Introduce un numero entero: ");
scanf("%i",&numero);7
printf("El n introducido es %d",numero);
getch();
}
Finalmente ejecutamos el cdigo con CTRL-F9 y probamos el resultado del cdigo anterior.
EJERCICIO 2

17

En este ejercicio vamos introducir nuestro nombre, nuestro ao de nacimiento y el programa calculara
aproximadamente la edad, para ello introduciremos el siguiente codigo,
En el editor de C copiamos el cdigo,
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main(void)
{
int nace, actual;
char nombre[35];
clrscr();
printf("Introduce tu nombre: ");
scanf("%s",&nombre);
printf("Introduce tu ao de nacimiento: ");
scanf("%d",&nace);
printf("Introduce el ao actual: ");
scanf("%d",&actual);
printf("\n %s, Tienes %d aos",strupr(nombre),(actual-nace));
getch();
}
Finalmente ejecutamos el cdigo con CTRL-F9 y probamos el resultado del cdigo anterior.
EJERCICO 3
En este ejercicio vamos a crear un programa que permita introducir dos nmeros y que despus nos
muestre en pantalla el resultado de la suma, resta, multiplicacin y divisin.
En el editor de C introduciremos el siguiente cdigo,
#include <stdio.h>
#include <conio.h>
main ()
{
double n1, n2, resultado;
clrscr();
printf("Introduce el primer nmero: ");
scanf("%lf",&n1);
printf("Introduce el segundo numero: ");
scanf("%lf",&n2);
resultado=n1+n2;
printf("%.3lf + %.3lf = %.3lf\n",n1,n2,resultado);
resultado=n1-n2;
printf("%.3lf - %.3lf = %.3lf\n",n1,n2,resultado);
resultado=n1*n2;

18

printf("%.3lf * %.3lf = %.3lf\n",n1,n2,resultado);


resultado=n1/n2;
printf("%.3lf / %.3lf = %.3lf",n1,n2,resultado);
getch();
}
Finalmente ejecutamos el cdigo con CTRL-F9 y probamos el resultado del cdigo anterior.
En este ejercicio vamos a crear un programa en el que introduciremos tres nmeros y queremos que el
programa nos indique el valor ms grande y el ms pequeo.
En el editor de C introduciremos el siguiente cdigo,
#include <stdio.h>
#include <conio.h>
main ()
{
int n1,n2,n3;
clrscr();
printf("Introduce el primer numero: ");
scanf("%d",&n1);
printf("Introduce el segundo numero: ");
scanf("%d",&n2);
printf("Introduce el tercer numero: ");
scanf("%d",&n3);
if ((n1>n2)&&(n1>n3))
printf("%d es el mas grande\n",n1);
else if (n2>n3)
printf("%d es el mas grande\n",n2);
else
printf("%d es el mas grande\n",n3);
if ((n1<n2)&&(n1<n3))
printf("%d es el mas pequeo\n",n1);
else if (n2<n3)
printf("%d es el mas peqjueo\n",n2);
else
printf("%d es el mas pequeo\n",n3);
getch();
}
Finalmente ejecutamos el cdigo con CTRL-F9 y probamos el resultado del cdigo anterior.
Si el cdigo es correcto y el programa funciona bien, procederemos a grabarlo en el ordenador.
En este ejercicio vamos a crear un programa que permita introducir dos numeros y que despues nos
muestre en pantalla el resultado de la suma, resta, multiplicacion y division.
En el editor de C introduciremos el siguiente cdigo,
#include <stdio.h>
#include <conio.h>
main ()
{
double n1, n2, resultado;
clrscr();

19

printf("Introduce el primer numero: ");


scanf("%lf",&n1);
printf("Introduce el segundo numero: ");
scanf("%lf",&n2);
resultado=n1+n2;
printf("%.3lf + %.3lf = %.3lf\n",n1,n2,resultado);
resultado=n1-n2;
printf("%.3lf - %.3lf = %.3lf\n",n1,n2,resultado);
resultado=n1*n2;
printf("%.3lf * %.3lf = %.3lf\n",n1,n2,resultado);
resultado=n1/n2;
printf("%.3lf / %.3lf = %.3lf",n1,n2,resultado);
getch();
}
Finalmente ejecutamos el cdigo con CTRL-F9 y probamos el resultado del cdigo anterior.
Si el cdigo es correcto y el programa funciona bien, procederemos a grabarlo en el ordenador.
En este ejercicio vamos a crear un programa en el que introduciremos tres numeros y queremos que el
programa nos indique el valor mas grande y el mas pequeo.
En el editor de C introduciremos el siguiente cdigo,
#include <stdio.h>
#include <conio.h>
main ()
{
int n1,n2,n3;
clrscr();
printf("Introduce el primer numero: ");
scanf("%d",&n1);
printf("Introduce el segundo numero: ");
scanf("%d",&n2);
printf("Introduce el tercer numero: ");
scanf("%d",&n3);
if ((n1>n2)&&(n1>n3))
printf("%d es el mas grande\n",n1);
else if (n2>n3)
printf("%d es el mas grande\n",n2);
else
printf("%d es el mas grande\n",n3);
if ((n1<n2)&&(n1<n3))
printf("%d es el mas pequeo\n",n1);
else if (n2<n3)
printf("%d es el mas pequeo\n",n2);
else
printf("%d es el mas pequeo\n",n3);
getch();
}
Finalmente ejecutamos el cdigo con CTRL-F9 y probamos el resultado del cdigo anterior.
Si el cdigo es correcto y el programa funciona bien, procederemos a grabarlo en el ordenador.

20

En este ejercicio vamos introducir nuestro nombre, nuestro ao de nacimiento y el programa calculara
aproximadamente la edad, para ello introduciremos el siguiente codigo,
En el editor de C copiamos el cdigo,
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main(void)
{
int nace, actual;
char nombre[35];
clrscr();
printf("Introduce tu nombre: ");
scanf("%s",&nombre);
printf("Introduce tu ao de nacimiento: ");
scanf("%d",&nace);
printf("Introduce el ao actual: ");
scanf("%d",&actual);
printf("\n %s, Tienes %d aos",strupr(nombre),(actual-nace));
getch();
}
En este ejercicio vamos introducir un numero y el programa nos tiene que indicar si ese valor esta dentro
del rando de entre 25 y 50.
En el editor de C copiamos el cdigo,
#include <stdio.h>
#include <conio.h>
void main ()
{
int num;
clrscr();
printf("Introduce un numero: ");
scanf("%d",&num);
if ((num>=25)&&(numero<=50)){
printf("El numero introducido esta comprendido entre 25 y 50");
}else{
printf("El numero no esta entre los valores 25 y 50");
}
getch();
}
En este ejercicio vamos introducir un valor numerico y queremos que el programa nos indique si el
numero es par o impar.
En el editor de C introducimos el cdigo,
#include <stdio.h>
#include <conio.h>
main ()
{
int numero;

21

clrscr();
printf("Introduce un numero: ");
scanf("%d",&numero);
if (numero%2==0)
{
printf("%d es par",numero);
}
else
{
printf("%d es impar",numero);
}
getch();
}
En este ejercicio vamos hacer un programa que pregunte cuantos valores queremos introducir, despus
que empiece a pedirlos y finalmente que nos muestre un resumen de la cantidad de valores positivos,
negativos o valores cero que se han introducido.
En el editor de C introducimos el cdigo,
#include <stdio.h>
#include <conio.h>
main ()
{
int cuantos,numero, positivos,negativos,cero,cont;
clrscr();
positivos=0;
negativos=0;
cero=0;
printf("Cuantos numeros vas a INTRODUCIR? );
scanf("%d",&ncuantos);
printf("Empieza a introducir los numeros?:\n");
for (cont=0;cont<ntotal;cont++) {
scanf("%d",&numero);
if (numero>0) {
positivos++;
}
if (numero<0) {
negativos++;
}
if (numero == 0) {
cero++;
}
}
printf("Hay %d numeros positivos\n",positivos);
printf("Hay %d numeros negativos\n",negativos);
printf("Hay %d ceros",cero);
getch();
}
En este ejercicio vamos hacer un programa que pida una frase y que despus nos indique la cantidad de
letras vocales que tiene la misma.
En el editor de C copiamos el cdigo siguiente,
#include <conio.h>
#include <stdio.h>
#include <string.h>

22

#include <ctype.h>
main ()
{
char frase[40];
int vocales,caracteres,num;
clrscr();
printf("Introduce una frase: \n");
gets(frase);
while (strlen(frase)>40)
{
printf("ATENCION, solo 40 caracteres \n");
gets(frase);
}
vocal=0;
caracteres=strlen(frase);
for (num=0;num<caracters;num++)
{
if((frase[cont]=='a')||(frase[cont]=='e')||(frase[cont]=='i')||(frase[cont]=='o')||(frase[cont]=='u'))
{
vocal++;
}
}
printf("\nLa cantidad de vocales es: %d",vocal);
getch();
}
En este ejercicio vamos hacer que un programa nos pida el nombre de un producto, el precio del mismo y
un porcentaje de descuento. El programa tendr que calcular la cantidad a descontar del producto.
En el editor de C introducimos el cdigo,

#include <conio.h>
#include <stdio.h>
main()
{
char producto[30];
float valor=0,porcen=0;
clrscr();
printf("Introduce el nombre del producto: ");gets(producto);
printf("\n");
printf("Introduce una valor numerico ");scanf("%f",&valor);
printf("\n");
printf("Introduce un tanto por ciento ");scanf("%f",&porcen);
printf("\n");
printf("%s, tiene un descuento de %.0f ",producto,((valor*porcen)/100));
printf("\n");
getch();
}
En este ejercicio vamos hacer que un programa en el cual introduciremos una cantidad de horas, de
minutos y de segundos, para que el programa pase esos datos a segundos.

23

En el editor de C introducimos el cdigo,


#include <stdio.h>
#include <conio.h>
main()
{
int hh, mm, ss;
double calculo1;
double calculo2;
double calculo3;
clrscr();
printf("Introduce la cantidad de horas: ");
scanf("%i",&hh);
printf("Introduce la cantidad de minutos: ");
scanf("%i",&mm);
printf("Introduce la cantidad desegundos: ");
scanf("%i",&ss);
calculo1= hh * 60;
calculo2= (calculo1 + mm) * 60;
calculo3= calculo2+ ss;
printf(" el total es de %.0lf segundos",calculo3);
getch();
}
}

24

25

26

27

28

29

30

31

Das könnte Ihnen auch gefallen