You are on page 1of 79

LENGUAJE C

Palabras Clave Del C


Palabras que el usuario no puede utilizar como
identificadores (nombres de variables y/o de funciones).
Identificadores
Reglas para la eleccin de nombres para las funciones y
variables
- Un identificador se forma con una secuencia de letras (minsculas
de la a a la z; maysculas de la A a la Z; y dgitos del 0 al 9).
- El carcter subrayado o underscore (_) se considera como una
letra ms.
- Un identificador no puede contener espacios en blanco, ni otros
caracteres distintos de los citados, como por ejemplo (*,;.:-+, etc.).
- El primer carcter de un identificador debe ser siempre una letra o
un (_), es decir, no puede ser un dgito.
- Se hace distincin entre letras maysculas y minsculas. As, Masa
es considerado como un identificador distinto de masa y de MASA.
- No se pueden utilizar palabras reservadas como int, char o while.
- Muchos compiladores no permiten contener caracteres espaoles
(acentos y ees).
- ANSI C permite definir identificadores de hasta 31 caracteres de
longitud.
Ejemplo vlidos de identificadores:

letra;
Letra;
CHAR;
__variable__;
cantidad_envases;
precio123;
__;

Ejemplo no vlidos de identificadores

123var; /* Empieza por dgitos */
int; /* Palabra reservada */
una sola; /* Contiene espacios */
US$; /* Contiene $ */
var.nueva; /* Contiene el punto */
ee; /* Puede no funcionar */
nombre? /*No puede ir signos de admiracin o interrogacin*/
Comentarios
/* este es un comentario corto */
// este es un comentario corto

/* este otro
es mucho
ms largo
que el anterior */
Los comentarios se pueden poner casi en cualquier parte. Excepto
en medio de una instruccin. Por ejemplo lo siguiente no es
vlido:
pri/* Esto es un comentario */ntf( "Hola mundo" );
Esto si pero para algunos compiladores:
printf( /* Esto es un comentario */ "Hola mundo" );
printf( "Hola/* Esto es un comentario */ mundo" );
Que no dara error, pero al ejecutar tendramos:
Hola /* Esto es un comentario */ mundo
Operadores
Un operador es un carcter o grupo de caracteres que acta
sobre una, dos o ms variables para realizar una
determinada operacin con un determinado resultado.
Operadores Aritmticos
- Suma (+)
- Resta ()
- Multiplicacin (*)
- Divisin (/)
Operador que proporciona el resto de la divisin (residuo)
- Mdulo (%)
Operadores De Asignacin Aritmtica
- Igual (=)
- Suma igual (+=)
- Resta igual ( =)
- Multiplicacin igual (*=)
- Divisin igual (/=)
( x += 5 ), en este ejemplo se toma el operando de la izquierda lo suma
con el operando de la derecha y lo asigna al operando de la izquierda, en
este caso la variable x.
Operadores de Incremento y Decremento
El operador de incremento es el (++) y el de decremento
es el (--)
Pre-incremento y Post-incremento
i = 2;
j = 2;
m = i++; /* despus de ejecutarse esta sentencia m=2 e i=3*/
n = ++j; /* despus de ejecutarse esta sentencia n=3 y j=3*/
Operadores Relacinales
- AND ( && ): Este operador conocido como producto
lgico retorna un valor de verdadero si los operandos
son verdaderos.
- OR ( || ): El operador de suma lgica retorna un valor
de verdadero si los operandos o uno de los operandos
es verdadero.
- NOT ( ! ): Operador de negacin, tiene por efecto
invertir el resultado de la expresin que le sigue es
decir si la expresin es verdadera despus de aplicar
este operador la expresin ser falsa y viceversa.
Operadores Lgicos
Estructura General De Un Programa
#include <biblioteca1.h>
#include <biblioteca2.h>
... declaraciones de funciones ...
... definiciones (cuerpos de funciones) ...
... declaraciones de variables globales ...
main (void)
{
... cuerpo del main ...
}
Primer Programa
/* Programa: HOLA MUNDO */
#include <stdio.h> /* funciones estndar
de entrada salida, y en
ella se encuentra la
funcin printf*/
int main (void)
{
printf ("\nHola mundo");
return 0;
}
printf
Escribe los datos en pantalla
Se puede indicar la posicin donde mostrar mediante una funcin
gotoxy(columna,fila)
Para utilizar la funcin printf en nuestros programas debemos
incluir la directiva:
#include <stdio.h>
al principio de programa
La sintaxis
printf(mensaje *const_carcter+);
printf(*const_carcter+);
printf(ident(es)_formato[const_carcter+,variable(s));
Ejemplos printf
printf( "mensaje" );
Esto resultar por pantalla:
mensaje
#include <stdio.h>
int main()
{
printf("mensaje1" );
printf("mensaje2" );
}
Obtendremos:
mensaje1mensaje2
#include <stdio.h>
int main()
{
printf( " mensaje1 \n" );
printf( " mensaje2 " );
}
y tendremos:
mensaje1
mensaje2
Ejemplos printf
Tambin podemos poner ms de una cadena dentro del printf:

printf( "Primera cadena" "Segunda cadena" );

Lo que no podemos hacer es meter cosas entre las cadenas:

printf( "Primera cadena" texto en medio "Segunda cadena" );
Especificadores de formato
printf(%f ,numero); /*salida normal.*/
printf(%10f ,numero); /*salida con 10 espacios.*/
printf(%010f ,numero); /*salida con los espacios poniendo 0.*/
Si se trata de un valor entero se determina el nmero mnimo de
dgitos
printf(%10.4f ,numero); /*salida con 10 espacios con 4 decimales.*/
printf(%10.15s,cadena); /*salida con 10 caracteres dejando 15 espacios.*/
printf(%4.4d,numero); /*salida de 4 dgitos mnimo. */
printf(%8d,numero); /* salida ajustada a la derecha.*/
printf(%-8d,numero); /*salida ajustada a la izquierda.*/
El especificador de ajuste fuerza la salida para que se ajuste a la
izquierda
Es la rutina de entrada por consola
scanf
scanf(identificador, &variable_numerica o char);
scanf(identificador,variable_cadena);
Ejemplo:

#include <stdio.h>
int main()
{
int num;
printf( "Introduce un nmero " );
scanf( "%d", &num );
printf( "Has tecleado el nmero %i\n", num );
}
#include <stdio.h>
int main()
{
int a, b, c;
printf( "Introduce tres nmeros: " );
scanf( "%d %d %d", &a, &b, &c );
printf( "Has tecleado los nmeros %d %d %d\n", a, b, c );
}
Ms de una variable a la vez en un slo scanf
#include <stdio.h>
int main()
{
int a;
float b;
printf( "Introduce dos nmeros: " );
scanf( "%d %f", &a, &b );
printf( "Has tecleado los nmeros %d %f\n", a, b );
}
#include<stdio.h>
main()
{
char a[20];
printf("Ingrese su nombre: ");
scanf("%s",a);
printf("Hola Sr. %s",a);
}
Para trabajar con cadenas de texto
Gotoxy: Posicionando el cursor (DOS)
#include <stdio.h>
#include <conio2.h>
int main()
{
gotoxy( 20, 10 );
printf( "Hola" );
}
gotoxy( columnas, filas );
Clrscr (Clear Screen): Borrar la pantalla (DOS)
#include<stdio.h>
#include <conio2.h>
main()
{
char a[20];
printf("Ingrese su nombre: ");
scanf("%s",a);
clrscr();
printf("Hola Sr. %s",a);
getch();
}
Getch y getche
#include <stdio.h>
#include <conio2.h>
int main()
{
char letra, letra2;
printf( "Introduce una letra: " );
letra = getche();
printf( "\nHas introducido la letra: %c", letra );

printf( "\n Introduce la segunda letra: " );
letra2 = getch();
printf("\n has introducido la letra2 :%c", letra2 );
}
Estas esperan a que el usuario introduzca un carcter por
el teclado para capturarlo
La diferencia entre getche y getch es que la primera saca por
pantalla la tecla que hemos pulsado y la segunda no
Tipos de datos y operadores
Variables
Las variables almacenan valores de un tipo especificado y
en ellas almacenamos los datos de nuestro problema, se
denominan variables por que su valor puede cambiar a lo
largo del programa.
Declaracin De Variables
En C Hay que declarar todas las variables antes de usarlas. Cada
variable tiene un tipo
La declaracin es:
tipo nombre ;
Ejemplo:
int pepe; /* tipo de variable: int y nombre de la variable: a */
float b;
double c,d; /* tipo de las variables: double y nombres de las
variables: c y d */
char x;
Asignacin De Valores
En C es posible asignar a
varias variables un solo valor
ejemplo:

a = b = c = 7;
x = y = n = 34;
p = d = m = 56.8;
k = i = 23;
Para la asignacin de valores se
utiliza el signo ( = ) igual, por
ejemplo:

A = 5;
B = 4;
X = 43.453;
Se puede declarar la variable e inicializarla al mismo tiempo, por
ejemplo:
int x = 5, y = 1;
Hay que tener cuidado con lo siguiente:
int x, y = 20;
mbito De Variable
Segn el mbito de las variables pueden ser utilizadas
desde cualquier parte del programa o nicamente en la
funcin donde han sido declaradas
LOCALES: Cuando se declaran dentro de una funcin
GLOBALES: Son conocidas a lo largo de todo el programa, y se
pueden usar desde cualquier parte del cdigo. Mantienen sus
valores durante toda la ejecucin
DE REGISTRO se guardan en registros internos del
microprocesador, acceso a ellas es ms directo y rpido. (solo aplica
para variables locales). Sintaxis: register tipo nombre_variable
ESTTICAS mantiene su valor entre una llamada y otra sin por ello
perder su mbito (variables locales) Sintaxis: static tipo
nombre_variable
EXTERNAS para ser usada en mdulos que nos interese sin perder su
valor (variables globales) Sintaxis: extern tipo nombre_variable
Tipos de Datos
El Tipo de dato int se almacenan nmeros enteros (sin
decimales).
unsigned int numero; // entero sin signo
int nota = 10; // entero con signo
Beneficios: sin signo me permite almacenar un numero de 0 y 65535
(2
16
), con signo entre -32768 al 32767
Cuando el ahorro de memoria es muy importante la podemos
decalrar:
short numero;
short int numero;
El Tipo de dato char
Tipo char sirven para almacenar caracteres
Para declarar una
variable de tipo char
hacemos:
char letra;
char a, b, caracter;
Asignarle el valor, se puede
escribir:
char letra = A;
o
letra = 65; /* Esto es as
porque el cdigo
ASCII de la letra 'A'
es el 65. */
letra = 'A';
printf( "El nmero ASCII de la letra %c es: %i.", letra, letra );
El Tipo de dato long
long int numero_grande;
o, ya que la palabra clave int puede omitirse en este caso,
long numero_grande;
4 bytes (32 bits) para almacenarlos
unsigned long numero_positivo_muy_grande;
El Tipo de dato float
Contienen parte entera y una parte fraccionaria o decimal, se
almacena en 4 bytes (32 bits)
Declaracin de una variable de tipo
float:
float numero;
Para imprimir valores tipo float Usamos
%f.
float num=4060.80;
printf( "El valor de num es : %f", num );
Si queremos escribirlo en
notacin exponencial usar %e:
float num = 4060.80;
printf( "num : %e", num );
Que da como resultado:
num es: 4.06080e003
El Tipo de dato double
Las variables tipo float tienen un rango y sobre todo una
precisin muy limitada insuficiente para la mayor parte de los
clculos tcnicos y cientficos.
Se soluciona con el tipo double, que utiliza 8 bytes (64 bits) para
almacenar una variable

Las variables tipo double se declaran de forma anloga a las
anteriores:
double numero_real_grande;
Conversin de tipos
k = (int) 1.7 + (int) masa;
Const
Se puede utilizar el cualificador const en la declaracin de una
variable para indicar que esa variable no puede cambiar de valor
Su sintaxis es:
const tipo nombre=valor_entero;
const tipo nombre=valor_entero.valor_decimal;
const tipo nombre=carcter;
Por ejemplo:
const int i=10;
const double x[] = {1, 2, 3, 4};
#define
Pueden ser utilizados para definir valores numricos
constantes
Estas constantes se definen de la manera siguiente:
#define nombre_de_la_constante valor_de_la_constante
#define nombre_de_la_constante Cadena
Las constantes se suelen escribir en maysculas slo se
puede definir una constante por fila. No se pone ";"
Podemos definir una constante usando el valor de otras. Por supuesto
las otras tienen que estar definidas antes
Ejercicio : Cual ser el resultado del siguiente
programa?
Ejercicios
Escribir un programa que pida por teclado dos resistencias y calcule
y presente la resistencia equivalente en paralelo
(Req=(R1*R2)/(R1+R2)).
Suponiendo que pi = 3.1416. Escribe un programa que pida al
usuario que introduzca el radio, y presente por pantalla el clculo
del permetro de la circunferencia (2*pi*r), el rea del crculo
(pi*r
2
), y el volumen de la esfera (V = 4*pi*r
3
/3).
Estructuras Condicionales
Condicionales Simples
Sentencia if
if ( condicin )
sentencia(s);
Construccin if - else
if ( condicin )
sentencia
else
sentencia
Realizar un programa que simule una clave de acceso
Ejercicios
Realice un programa que determine el pago a realizar por la
entrada a un espectculo donde se pueden comprar slo hasta
cuatro entrada, donde al costo de dos entradas se les
descuenta el 10%, al de tres entrada el 15% y a la compra de
cuatro tickets se le descuenta el 20 %.
Variables: Numero de estradas, valor entrada
Construccin if else if - ...
Estructura Condicional Multiple
Construccin switch
Supongamos un programa que entre la nota de un alumno por el
teclado y nos diga su calificacin. Podramos utilizar estructuras if
de la manera siguiente:
La estructura Caso..que es la ms indicada cuando se han de
ejecutar diferentes accione que dependen del valor que tiene
una nica variable.
Qu salida producir el cdigo siguiente,
cuando se mete en un programa completo y
primera_opcion vale 1?, Y si primera_opcion
vale 2?
Escribe un da de la semana
Ejercicios
Ingresar la categora y el sueldo de un trabajador
y calcular el aumento correspondiente
teniendo en cuenta la siguiente tabla. Imprimir
la categora del trabajador y el nuevo sueldo.
Hacer un algoritmo usando un elemento de seleccin, donde se
solicite al usuario dos nmeros y preguntar que operacin aritmtica
quiere realizar:

SELECCIONE SOLO UNA OPCIN 1-4
Opcin 1 Suma
Opcin 2 Resta
Opcin 3 Divisin
Opcin 4 Multiplicacin
Opcin default Verifique su seleccin.
Ejercicios
while
Permite repetir una serie de acciones mientras se
verifica una condicin la sintaxis es:
Primero se evala la expresin si sta es falsa el control
pasa directamente a la instruccin siguiente, pero si es
verdadera entonces se ejecuta el cuerpo del laso while
devolviendo el control al principio del mismo.
Ejemplo 1: Imprimir los numero desde el caro
hasta el diez.
Ejemplo 2: Lee nmeros enteros hasta que se
introduzca el valor hasta que se introduzca el
valor 0.
Qu imprimir el siguiente programa?
Ejercicio:

Construya las sentencias de cdigo que
hagan lo siguiente:
a. Incremente el valor de la variable x en
10.
b. Incremente la variable x en 1.
c. Asigne el doble de la suma de a y b a c.
d. Asigne a mas el doble de b a c.

Considere el siguiente cdigo de programa

a. Cual es la salida del programa si n=0?
b. Cual es la salida del programa si n=1?
c. Cual es la salida del programa si n=3?

Qu imprimir el siguiente programa?
Cul es la salida del siguiente bucle?
do while
El laso do es muy similar al laso while solo que while
verifica la expresin y luego ejecuta el cuerpo del laso
en cambio el laso do ejecuta el cuerpo del laso y luego
verifica la expresin.
Ejemplo:
Muestra un
men si no
se pulsa 4
Programa que pide un numero y suma desde
el hasta el cero.
Bucle for
Ejemplo 1: Contar hasta diez.
Contar desde diez hasta 1
Visualizar dos tablas de multiplicar en pantalla
Ejercicios
Control de bucles
break
break provoca que se termine la ejecucin de una
iteracin
continue
Se utiliza dentro de un bucle. Cuando el programa
llega a una sentencia CONTINUE no ejecuta las
lneas de cdigo que hay a continuacin y salta a la
siguiente iteracin del bucle.
Goto
La sentencia goto (ir a) nos permite hacer un salto a
la parte del programa que deseemos
Realice un programa que escriba los nmeros
del 1 al 10 menos el 5
Ejemplo goto
Funciones
Una funcin es una entidad formada por un grupo
de sentencias destinadas a hacer un trabajo
concreto. Los objetivos bsicos de la utilizacin de
funciones son tres:
a. Evitar repeticiones de cdigo
b. Organizacin del
programa
c. Independencia
Estructura de las funciones
a. Definicin de funcin
void borrar (void)
b. Llamar a la funcin
Para llamar a la funcin sonido se utiliza la misma sintaxis que
cuando es llama cualquier funcin de C,
como por ejemplo printf(), getche() o clrscr(), es decir, el
nombre de la funcin seguido de parntesis
El void inicial significa que la funcin no
devuelve nada, y el void que va entre el
parntesis, que la funcin no recibe ningn
parmetro
Declaracin de funciones
Parmetros, Argumentos
Una funcin puede ser llamada con cero o ms argumentos.
return expresin:
Mediante la palabra reservada return, se devuelve el valor de la
funcin, en este caso representado por expresin
Funcin sin argumentos que no devuelve nada
Funcin con argumentos, no devuelve ningn valor
Funcin con argumentos que devuelve un valor
El siguiente programa calcula el cubo de los nmeros del 1
al 5 utilizando una funcin definida por el usuario
Vectores
Un vector es una porcin de memoria que es utilizada para
almacenar un grupo de elementos del mismo tipo y se
diferencian en el ndice.77
Declaracin De Vectores
Un vector se declara:
Tipo_ de_dato nombre_del_vector [ dimensin ];
Inicializacin De Vectores
Los elementos de un vector son accedidos por ndices que van
desde 0 hasta N-1 para un vector de N elementos.
Los elementos de un vector pueden ser inicializados en la misma
declaracin:
Matrices
Ejercicios
Realizar una funcin llamada par, que toma un nmero
entero como parmetro , y devuelve 1 si es par o
devuelve 0 si es impar.
NOTA: Para saber si un nmero entero es par, al dividirlo
entre 2 su resto debe ser 0.
Ayuda

while (numero >= 10)
{
suma += numero % 10;
numero /= 10;
}
Crear una funcin que reciba un nmero cualquiera y
que devuelva como resultado la suma de sus dgitos. Por
ejemplo, si el nmero fuera 1231 la suma sera 7.
Taller temas visto en clase de los temas Funciones, Vectores y
Matrices
Adjuntar en la plataforma el documento que incluya la evidencia o respuesta de cada
uno de los puntos del taller
Escribir un programa que haga el producto de dos
matrices 3x3. El programa debe incluir un
procedimiento que lea las matrices, una funcin que
haga el producto y otro procedimiento que escriba el
resultado
Ejercicios
Ayuda:

You might also like