TEMA_1 - ies luis de lucena

Anuncio
EDM. Introducción al lenguaje C _ 1
1. Lenguajes de programación.
•
•
•
Lenguajes de alto nivel: Lenguajes orientados al problema. Instrucciones sencillas,
más próximas al usuario: Lenguaje C, C++, Java, HTML. Los ficheros son del tipo:
“nombre.c”
Lenguaje ensamblador: Lenguaje orientado a la máquina. Instrucciones más
complejas. (cada micro tiene uno diferente). Los ficheros son del tipo: “nombre.asm”
Lenguaje máquina: Es el que entiende el micro, formado por ceros y unos. Los
ficheros son del tipo: “nombre.hex”.
2. Compilador.
Traduce el lenguaje de alto nivel (en C por ejemplo) o el ensamblador a lenguaje
máquina (ceros y unos).
Programa en L. de alto nivel.
(PROGRAMA FUENTE)
COMPILADOR
miprograma.C
Programa en L. máquina.
(PROGRAMA OBJETO)
miprograma.OBJ
LINKADOR (ENLAZADOR)
PROGRAMA EJECUTABLE
miprograma.EXE
3. Mi primer programa.
/*Programa_1.c: Muestra mi nombre por pantalla*/
→ Comentario : /* …..*/
#include <stdio.h>
#include <conio.h>
→ Se cargan las 2 librerías
principales: Dónde se encuentran
la definición de las instrucciones.
main ()
{
printf("Hola, me llamo Federico Garcinuño y me gusta el C");
getch();
}
→ Aquí empieza el programa
principal.
Main()
{…… entre estas dos llaves
escribimos todas las
instrucciones……..
}
EDM. Introducción al lenguaje C _ 2
4. Entrada – salida.
scanf
printf
MI
PROGRAMA
•
scanf(..): Esta función sirve para introducir datos en el programa.
scanf("%d %f %c", &a, &b, &c);
•
printf (..): Con esta función se imprimen datos en la pantalla.
printf("a = %d, b = %g, c = %c", a, b, c);
printf("Me llamo Alberto y soy de Torija");
Ejemplo 2: Pide un dato por pantalla y a continuación escribes dicho dato en pantalla.
Apunta los comentarios que creas y mejora dicho programa para que presente mejor los
datos.
/*Programa_2.c: Entrada salida de datos*/
→ Comentario : /* …..*/
#include <stdio.h>
#include <conio.h>
→ Se cargan las 2 librerías
principales: Dónde se encuentran
la definición de las instrucciones.
main ()
{
int a;
→ Aquí empieza el programa
principal.
printf("Introduce una variable entera ");
scanf(“%d”,&a);
printf("La variable que has introducido es %d",a);
printf("Gracias por utilizar este programa tan util”);
getch();
}
Ejemplo 3: Guardarlo como “Programa_3”. Sumar dos números enteros e imprimir el
resultado en pantalla.
Ejemplo 4: Guardarlo como “Programa_4”. Pedir tres números enteros por pantalla,
imprimir dichos números al revés y mostrar su suma.
EDM. Introducción al lenguaje C _ 3
5. Variables y constantes.
Las variables son datos que pueden modificar su valor a lo largo de la ejecución del
programa.
Distintos tipos de variables: Enteras, tipo carácter, reales, cadena de caracteres, ...
main ()
{
int a;
char car; float numero;
/.....................
/........................
getch();
→ Las variables normalmente se definen después de la llave “{“.
→ Se han definido tres variables: “a” de tipo entera, “car” de tipo
carácter y “numero” de tipo real.
→ Con la barra “/” también podemos poner comentarios en
nuestro programa, pero de una sola línea.
}
Las constantes son datos que no se pueden modificar nunca. Se definen en la
cabecera del programa:
#include <stdio.h>
→ Las constantes se definen con “#define” después de los
#include <conio.h>
includes.
#define pi 3.1316
→ No es necesario poner “=” ni tampoco “;” al final
#define saludo “hola clase”
→ Se han definido las constantes “pi” cuyo valor es 3.1416, y la
main ()
variable “saludo” cuyo valor es “hola clase”.
{
→ Estas dos constantes se podrán utilizar a lo largo del
/.....................
programa sin que cambie su valor.
/........................
getch();
}
6.
Tipos de variables.
Tipo
Descripción
Bits
Rango de valores
Especificador(%)
short
ushort
char
uchar
Enteros cortos con signo
Enteros cortos sin signo
Carácter
Carácter sin signo
16
16
8
8
hd,hi
hud,hui, hux,huX,huo
c
uc
int
Enteros normales
32
uint
Enteros normales sin signo
32
long
Enteros largos
64
ulong
Enteros largos sin signo
64
[-32.768, 32.767]
[0, 65.535]
[-127, 128]
[0, 255]
[-2.147.483.648,
2.147.483.647]
[0, 4.294.967.295]
[-9.223.372.036.854.775.808,
9.223.372.036.854.775.807]
[018.446.744.073.709.551.615]
[1,5×10-45 - 3,4×1038]
[5,0×10-324 - 1,7×10308]
float
Reales con 7 dígitos de precisión 32
Reales de 15-16 dígitos de
double
64
precisión
Reales de 28-29 dígitos de
[1,0×10-28 - 7,9×1028]
decimal
128
precisión
Variable El permitido por la memoria
string Cadenas de caracteres
d, i
ud, u, x, X, o
ld, li
ul
f, g, G, e, E
f, g,G, e, E
lf
s
EDM. Introducción al lenguaje C _ 4
Programa 5.c: Pide dos números por teclado e imprime su suma.
/*Programa_5.c: Suma de dos numeros*/
→ Comentario : /* …..*/
#include <stdio.h>
#include <conio.h>
→ Se cargan las 2 librerías
principales: Dónde se encuentran
la definición de las instrucciones.
main ()
{
→ Aquí empieza el programa
principal.
→
getch();
}
Programa 6.c: Pide tres números por teclado e imprime su media aritmética.
/*Programa_6.c: Media de tres numeros*/
(Anota los comentarios)
→
Programa 7.c: Pide un numero entero, otro real y un carácter. Imprime la suma de los dos
números (n1 + n2 = resultado) en una línea y el carácter leído en otra. Procura centrarlo lo
máximo que puedas en la pantalla.
(Anota los comentarios)
→
EDM. Introducción al lenguaje C _ 5
7.
Datos numéricos y cadenas de caracteres.
Flujo desde el origen
ORIGEN
PROGRAMA
Flujo hacia el destino
DESTINO
FLUJO: Intermediario entre el origen y el destino. Existen dos flujos:
- stdin “Standard input”: teclado
- stdout “Standard output”: pantalla
Cuando se leen datos o escriben en la pantalla, dichos datos se guardan
temporalmente en un “buffer” intermedio:
TECLADO
BUFFER
CPU
Hasta que no se pulsa “enter” no son asignados los datos a las variables, mientras
tanto permanecen en el “buffer”.
Si leemos un dato cualquiera y a continuación, leemos un dato de tipo char, no leerá
adecuadamente este segundo dato y será necesario:
LIMPIAR EL BUFFER fflush(stdin)
8.
Entrada y salida con formato.
Entrada (stdin)
scanf("%d %f %c", &a, &b, &c);
scanf("%d, %f ,%c", &a, &b, &c);
scanf("%d :%f :%c", &a, &b, &c);
Salida (stdout)
printf("a = %d, b = %g, c = %c", a, b, c);
Flags que se pueden utilizar: (-, +, #, ancho, precisión)
printf("\n \t\t la variable a = %+8.2f", a);
printf("\n\n\n") ;
EDM. Introducción al lenguaje C _ 6
Programa 8: Pide tres datos, un entero, un real y un caracter y los imprime, de tes modos
diferentes :
a) separados por espacios.
b) Separados por comas.
c) Separados por :
programa 9 : Pide un número decimal e imprime dicho número y su valor hexadecimal y
octal.
Programa 10 : Pide un número hexadecimal e imprime su valor decimal.
Programa 11 : Escribe los datos siguientes con el mismo formato :
Programa 12 : Presentar los siguientes datos en pantalla de esta forma:
Para ello definir las siguientes variables : char car; int a, b, c; float x, y, z;
Dar inicialmente los siguientes vlores a las variables :
car = 'C'; a = 20; b = 350; c = 4995;
x = 34.5; y = 1234; z = 1.248;
La segunda fila de resultados x,y,z: 126.50 246.80 2.50 se obtienen mediante las
fórmulas : x+y, y/5, z*2.
El « valor resultante « : 1283.088 se obtiene mediante la fórmunla : z =z* (x + y)
NOTA : Si antes del próximo miércoles entregas los 10 programas realizados, se
contabilizará para nota de evaluación en el apartado: « actividad examen 4 ». Me fijaré
especialmente en este último. Los programas tendrán al menos un comentario inicial
explicando lo que hace. Los nombres de los ficherors serán : programa_01.ccp,
programa_02.ccp, ...programa_10.ccp.
EDM. Introducción al lenguaje C _ 7
Programa 13: Pide dos números enteros N1 y N2. Muéstralos en pantalla reservando 15
espacios para cada uno de la siguiente forma:
SUMA
PRODUCTO RAIZ
N1
N2
N1 N1
N2 N2
N1+N2
N1*N2
N12 + N 2 2
(Con un decimal)
Programa 14: Pide tres números reales: N1, N2, N3 y tres letras: L1, L2, L3. Reserva 5
espacios para las letras y 25 para los números. Muéstralos de la siguiente forma:
NÚMEROS CUADRADOS
LETRAS
L1
L2
L3
N1 (N1)2
N2 (N2)2
N3 (N3)2
(Con dos decimales) (Con dos decimales)
9. Carácter fin de fichero.
ctrl. + Z Cuando la función “scanf()” trata de leer un carácter fin de fichero, retorna la
constante EOF.
printf(“ \n introduce dato ”);
r=scanf(“%g”,&dato);
if (r==EOF) printf(“Has introducido fin de fichero”);
10. Limpiar la pantalla.
#include <stdlib.h>
….
System(“cls”);
A la función “system” se le puede pasar cualquier orden del sistema operativo.
11. Leer y escribir un carácter mediante otras funciones
distintas.
char car;
printf(“ \n introduce carácter ”);
car=getchar();
// scanf(“%c”,&car);
printf(“ \n El carácter leido es %c y su valor ascii es %d”,car,car);
putchar(‘\n’);
putchar(‘f’);
putchar(car);
Descargar