El Lenguaje C: Elementos Básicos
Lenguaje de programación Conjunto de reglas sintácticas y semánticas que nos sirven para escribir programas. Sintaxis: especifica el como deben formarse las instrucciones válidas para el leguaje. Semántica: especifica el significado de estas instrucciones.
Tipos Debe ser traducido a lenguaje máquina Lenguaje de alto nivel: Cercano al programador, independiente de la arquitectura. Lenguajes de bajo nivel: Estrechamente ligado a la arquitectura del procesador. Debe ser traducido a lenguaje máquina PROGRAMA OBJETO 101100111001100011100111000111001100111100111110110101 PROGRAMA FUENTE Imprime “Dame dos números” Leer a, b a+b
¿QUÉN TRADUCE? ENSAMBLADOR COMPILADOR Lenguajes de bajo nivel Lenguajes de alto nivel ENSAMBLADOR COMPILADOR
COMPILACIÓN COMPILADOR Análisis Síntesis #include <stdio.h> main(){ int a,b,s; printf("Ingresa dos números enteros:"); scanf("%d,%d",&a,&b); s=a+b; printf(“suma=%d”,s); } 100011110 011110111 100011101 111100111 10110111 Programa fuente: ejemp.c LIGADOR Biblioteca de subprogramas 10011 11111 00111 11101 Programa objeto: ejem.obj Programa ejecutable: ejem.exe Análisis: Se revisa el programa fuente en busca de errores sintácticos o semánticos, de acuerdo a las reglas del lenguaje. Síntesis: Se lleva acabo la generación de código máquina y la optimización del mismo.
Coceptos básicos VARIABLE CONSTANTE OPERADOR EXPRESION
Variables. Una variable es un espacio de memoria donde se puede almacenar un valor que será utilizado en el programa nombre o identificador Tipo estado
Tipos de dato Enteros Numéricos Simples Decimales Lógicos (verdadero o falso) Alfanuméricos (caracteres) Estructurados Arreglos Unidimensionales Multidimensionales Estructuras
Constantes Datos cuyo valor se establece en tiempo de compilación y no puede variar durante la ejecución de un programa. En un programa pueden aparecer constantes de dos tipos: literales y simbólicas.
Operadores Artefacto (ó símbolo) que representa a una acción (operación) que actúa sobre los dato. Los operadores binarios son aquello asociados con operaciones que actúan sobre dos datos (operandos) Los operadores unarios se asocian a operaciones que solo actúa sobre un dato
Expresiones Una expresión puede ser un número: 3.1416, 3. una variable: x, y , total una constante: TAM, N. una combinación de operadores y operandos (variables y/ó contantes): x+3 3*TAM Toda expresión al ser evaluada produce un valor.
Tipos de expresiones Las expresiones se dividen en dos tipos de acuerdo al tipo de datos que devuelven cuando son evaluados. Expresiones numéricas: el resultado de la evaluación es un número. Expresiones booleanas:el resultado de la evaluación es un valor booleano (verdadero o falso).
Directivas Instrucciones hacia el programa compilador No generan código No son instrucciones que formen parte de nuestro algoritmo En C siempre empiezan con el símbolo # Ejemplos: #define, #include
LENGUAJE C Lenguaje estructurado Desarrollo a principios de los 70’s por Dennis Ritchie, para escribir sistemas operativos y otros programas de sistema. Considerado de nivel medio Lenguaje muy eficiente y esta estandarizado.
SINTAXIS DEL LENGUAJE C
Reglas para identificadores Se pueden integrar por letras y dígitos pero es necesario que el nombre “siempre” comience con una letra. El carácter de subrayado ( _) es el único carácter especial que puede utilizarse. En el lenguaje se distingue entre letras mayúsculas y minúsculas. Los nombres de las variables no pueden contener espacios en blanco, ni acentos.
Palabras reservadas asm continue float register struct volatile auto default for return switch while break do goto short typedef case double if signed union char else int sizeof unsigned const enum long static void
Tipos de dato en C Tipos simples Tipo Descripción Ejemplo Rango char Capaz de contener un carácter del conjunto de caracteres ASCII. ´a´ ´C´ ´3´ Símbolos del código ASCII 0…255 int Enteros 1024 -258 -32,7688 … 32,767 float Número de punto flotante de precisión normal. 10.5 -11.6 3.4*(10 ) … 3.4*(10 ). double Punto flotante de doble precisión 0.00045 -0.55236 1.7 * (10 ) … 1.7 * (10 )
Modificadores al tipo Tipo Descripción Ejemplo Rango long Entero de mayor capacidad 262144 -2147483648 … 2147483647 short Entero corto -10 -128 … 127 unsigned int Enteros sin signo. 65520 0…65535
Declaración de variable Toda variable debe ser previamente declarada para poder utilizarse Sintaxis tipo identificador; tipo identificador1 , identificador2, … , identificadorN ;
Ejemplos: Declaración Descripción float costo; El costo de un artículo puede ser un número con decimales por lo tanto, declaramos la variable de tipo flotante y el nombre que le damos nos indica que dato se almacena. Unsigned int totalAlumnos; La cantidad de alumnos en un grupo siempre es un número entero positivo. char inicial_nombre; Declaramos una variable inicial_nombre para almacenar la primera letra del nombre de un alumno la cual es obviamente de tipo carácter.
Variables en memoria: PALABRA DE MEMORIA CELDA DE MEMORIA Dirección Contenido 01 02 03 04 05 06 07 08 09 … 51 52 53 54 102 103 104 105 PALABRA DE MEMORIA CELDA DE MEMORIA DIRECCION DE MEMEORIA costo totalAlumnos inicial_nombre
Constantes literales en C Numéricas Enteros: 2006, -38 Enteros Largos: Generalmente valores mayores a 32,000; se le agrega los sufijos l o L por ejemplo: 123456789L. Enteros sin Signo: Se agrega el sufijo U o u así por ejemplo podemos escribir: 123456789LU. Flotantes: 14324.983 o 3.1416 o en representación exponencial (e-n), por ejemplo: 1.1434E2 o 1.1432e-5. También se ocupan los sufijos f o F y l o L para especificar los tipos double.
Constantes enteras en otras bases Constate: Representada en: Valor: 020 Octal 16 0x10 hexadecimal
Constantes de tipo Caracter Internamente se representan en ascii Siempre debe ir entre apóstrofes, por ejemplo: ‘x’, ‘A’. Secuencias de escape Secuencias de escape ‘\n’ Salto de línea ‘\t’ Tabulador ‘\b’ Espacio hacia atrás ‘\f’ Salto de página ‘\”’ Comillas ‘\\’ Barra invertida
Constantes simbólicas en C Utilizando la directiva #define Sintaxis: #define identificador valor_constante Ejemplo: #define PI 3.1416 Declarando una constante Sintaxis: const tipo identificador = valor_constante; Ejemplo:const float PI = 3.1416 ;
Asignación de variables Una asignación afecta el estado de las variables, es decir modifica su contenido Operador de asignaci0n “=” nombre_variable = valor; Ejemplos: hombres = 20; mujeres = 10; totalAlumnos = hombres + mujeres;