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) miprograma.c COMPILADOR 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*/ printf("hola, me llamo Federico Garcinuño y me gusta el C"); Comentario : /*..*/ Se cargan las 2 librerías principales: Dónde se encuentran la definición de las instrucciones. Aquí empieza el programa principal. Main() entre estas dos llaves escribimos todas las instrucciones..
4. Entrada salida. EDM. Introducción al lenguaje C _ 2 scanf MI PROGRAMA printf 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*/ int a; Comentario : /*..*/ Se cargan las 2 librerías principales: Dónde se encuentran la definición de las instrucciones. 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 ); 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.
5. Variables y constantes. EDM. Introducción al lenguaje C _ 3 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,... int a; char car; float numero; /... /... 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: #define pi 3.1316 #define saludo hola clase /... /... Las constantes se definen con #define después de los includes. No es necesario poner = ni tampoco ; al final Se han definido las constantes pi cuyo valor es 3.1416, y la variable saludo cuyo valor es hola clase. Estas dos constantes se podrán utilizar a lo largo del programa sin que cambie su valor. 6. Tipos de variables. Tipo Descripción Bits Rango de valores Especificador(%) short Enteros cortos con signo 16 [-32.768, 32.767] hd,hi ushort Enteros cortos sin signo 16 [0, 65.535] hud,hui, hux,hux,huo char Carácter 8 [-127, 128] c uchar Carácter sin signo 8 [0, 255] uc int Enteros normales 32 [-2.147.483.648, 2.147.483.647] d, i uint Enteros normales sin signo 32 [0, 4.294.967.295] ud, u, x, X, o long Enteros largos 64 [-9.223.372.036.854.775.808, ld, li 9.223.372.036.854.775.807] ulong Enteros largos sin signo 64 [0-18.446.744.073.709.551.615] ul float Reales con 7 dígitos de precisión 32 [1,5 10-45 - 3,4 10 38 ] f, g, G, e, E double Reales de 15-16 dígitos de [5,0 10-324 - 1,7 10 308 ] 64 precisión f, g,g, e, E Reales de 28-29 dígitos de [1,0 10-28 - 7,9 10 28 ] decimal 128 precisión lf string Cadenas de caracteres Variable El permitido por la memoria s
Programa 5.c: Pide dos números por teclado e imprime su suma. EDM. Introducción al lenguaje C _ 4 /*Programa_5.c: Suma de dos numeros*/ Comentario : /*..*/ Se cargan las 2 librerías principales: Dónde se encuentran la definición de las instrucciones. Aquí empieza el programa principal. 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)
7. Datos numéricos y cadenas de caracteres. EDM. Introducción al lenguaje C _ 5 PROGRAMA Flujo desde el origen Flujo hacia el destino ORIGEN 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 y. Muéstralos en pantalla reservando 15 espacios para cada uno de la siguiente forma: SUMA PRODUCTO RAIZ + * 2 2 N 1 + N 2 (Con un decimal) Programa 14: Pide tres números reales:,, 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: LETRAS NÚMEROS CUADRADOS L1 L2 L3 N3 (Con dos decimales) () 2 () 2 (N3) 2 (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);