2. PRINCIPIOS DE PROGRAMACIÓN ESTRUCTURADA EN C Estructura general de un programa en C: Directivas de encabezado Declaración de variables y constantes globales Definiciones generales función_1(parámetros) { Declaración de variables locales; Bloques de sentencias; } función_2(parámetros) { Declaración de variables locales; Bloques de sentencias; } main() { Declaración de variables locales; Bloques de sentencias; } Para familiarizarse con algunas notaciones de C es bueno comenzar con un programa sencillo: #include<stdio.h> #include<conio.h> /*Primer programa*/ main() { printf("Hola mundo \n"); getch(); } Este programa lo único que hace es mostrar en pantalla la frase “hola mundo”. Ahora se explicará lo que hace cada línea del programa. Las dos primeras líneas del programa: #include<stdio.h> #include<conio.h> Hacen parte de las directivas de encabezado. Aquí se pide que carguen las librerías que se necesiten. Una librería no es más que un conjunto de funciones especializadas. Hay librerías para hacer uso de funciones matemáticas, funciones que trabajan con cadenas de caracteres etc… En este caso se estarían cargando las librerías stdio.h (librería estándar de C que contiene las funciones básicas) y conio.h (que contiene algunas funciones que mejoran la presentación de los programas). La línea: /*Primer programa*/ Empieza con ‘/*’ y termina con ‘*/’ indicando que es un comentario. Esto sirve a los programadores para documentar los programas y mejorar su legibilidad. Al ejecutarse el programa los comentarios no hacen que la computadora realice ninguna acción. La línea: main() Hace parte de todo programa de C. Los paréntesis indican que main es un bloque constructivo del programa conocido como función. Los programas en C tienen una o más funciones y una de ellas siempre será main. Todos los programas hechos en C se comienzan a ejecutar en la función main. La llave izquierda { siempre inicia el cuerpo de una función. Una llave derecha } indica el fin de la función. El par de llaves y la porción entre ambas se conoce como bloque. La línea: printf(“Hola mundo /n”); Le dice a la computadora que muestre en pantalla la cadena de caracteres que se encuentra entre comillas. Toda la línea incluyendo a printf, sus argumentos dentro de los paréntesis y el punto y coma (;) se denomina enunciado. Todo enunciado debe terminar con punto y coma (;). printf es una función de la librería stdio.h. La línea: getch(); Hace que, una vez se ejecute el programa, el computador espere que el usuario presione unas tecla. Si no se pusiera el programa se ejecutaría rápidamente y mostraría la frase en fracciones de segundo sin darle tiempo al usuario de verla en pantalla. Esta función es de la librería conio.h. Para escribir programas en C, es muy importante conocer las reglas de sintaxis mostradas anteriormente y al menos las funciones básicas de su biblioteca estándar. Como se ve según la estructura general de un programa en C: Directivas de encabezado Declaración de variables y constantes globales Definiciones generales función_1(parámetros) { Declaración de variables locales; Bloques de sentencias; } función_2(parámetros) { Declaración de variables locales; Bloques de sentencias; } main() { Declaración de variables locales; Bloques de sentencias; } Es necesario declarar las variables según los valores que vayan a guardar. En la siguiente tabla se observan los rangos que pueden tomar los distintos tipos de variables que se declaren: Tipos de variables TIPO NOMBRE RANGO DE VALORES char -128..127 int -32768..32767 long int 2.147.438.648..2.147.483.647 float +/-1E-37..+/-1E38 double +/-1E-307..+/-1E308 long double +/-1E-4932..+/-1E4932 CARACTER char CÓDIGO ASCII VACÍO void - ENTEROS REALES Las instrucciones que definen el tipo de variable se encuentran en la segunda columna de la tabla: char, int, ,long int, float, double, long double, char y void Con respecto a los nombres de las variables en C hay que tener en cuenta lo siguiente: “En lenguaje C, a la hora de asignar un nombre a un elemento de un programa, se debe tener en cuenta que todo identificador debe cumplir las siguientes reglas de sintaxis: Consta de uno o más caracteres. El primer carácter debe ser una letra o el carácter subrayado (_), mientras que, todos los demás pueden ser letras, dígitos o el carácter subrayado (_). Las letras pueden ser minúsculas o mayúsculas del alfabeto inglés. Así pues, no está permitido el uso de las letras 'ñ' y 'Ñ'. No pueden existir dos identificadores iguales, es decir, dos elementos de un programa no pueden nombrarse de la misma forma. Lo cual no quiere decir que un identificador no pueda aparecer más de una vez en un programa. De la segunda regla se deduce que un identificador no puede contener caracteres especiales, salvo el carácter subrayado (_). Es importante resaltar que las vocales no pueden llevar tilde ni diéresis.”1 A continuación un ejemplo sencillo que muestra la suma de dos números: #include<stdio.h> #include<conio.h> /*Programa para sumar dos números*/ main() { int a,b,suma; /*Declaracion de variables*/ printf("Ingrese el primer numero \n"); scanf("%d", &a); /*Se lee el primer numero que ingresa el usuario*/ printf("Ingrese el segundo numero \n"); scanf("%d", &b); /*Se lee el segundo numero que ingresa el usuario*/ 1 http://www.carlospes.com/sintaxis_ansi_c/identificadores.php suma=a+b; /*Se realiza la suma*/ printf("La suma es: %d \n",suma); /*Se muestra el resultado de la suma*/ getch(); } La función scanf se encarga de leer los datos ingresados por el usuario desde el teclado: scanf("%d", &a); En el argumento %d le indica al computador que se va a guardar un dato de tipo int, por su parte &a indica que se va a guardar en la variable a. Con respecto a los demás operadores aritméticos y los operadores relacionales que se usan en C se tiene: Operadores aritméticos: Operadores relacionales: Operadores lógicos: En el siguiente capítulo se explicarán las estructuras de control de C.