"> Foro - [Programación en C] Introducción y Fundamentos. en Lenguajes de programación - Page 1 of 1
Julio 27, 2021, 07:35:27 am
Visitante


Autor Tema:  [Programación en C] Introducción y Fundamentos.  (Leído 2606 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Diciembre 24, 2017, 12:20:48 am

xog1999


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Antes de nada, mandar un saludo a todos aquellos que estáis leyendo esto. Abro este nuevo tema porque me gustaría compartir con vosotros conocimientos de C básicos; enteros, carácteres, funciones, estructuras, la función main, punteros, argumentos de función y un gran etc.

Para hacer más fácil la inmersión a este tema, voy a usar una leyenda:

[!]Importante.
[?]Nota.
[&]Opinión personal.
[~]En proceso.

Índice
Spoiler para ocultar:
1: Instalación y variables.
  • 1: Instalación y variables.
  • 1.a: Programa y compilador
  • 1.b: Compilador MinGW. Instalación y uso.
  • 2.a: Precompilador y función main.
  • 2.b: Variables
2: Operadores aritmétricos y lógicos.
  • 3: Operadores aritmétricos.
  • 4: Operadores lógicos.
1: Instalación y variables.
Spoiler para ocultar:
[!] Este articulo va enfocado al S.O Windows.

1.a: Programa y compilador

Hay bastantes programas para editar código. Incluso, se puede utilizar el bloc de notas, pero este no va ser el caso.

Programas: Code Blocks, Sublime Text, Notepad++, Eclipse C++, Dev C++, ...
Compilador: en este caso, utilizaremos el compilador MinGW.

[!] Para utilizar este compilador es necesario saber un poco de CMD.
[?] Hay programas que ya tienen el compilador incluido, pero programas cómo, Sublime Text, Notepad++ no poseen el compilador integrado.
[&] En mi caso, escribo código en Sublime Text y lo compilo con MinGW.

Aquí ya entras en juego tú. ¿Qué programas quieres utilizar?, eres libre de elegir lo que quieras y lo que mejor se adapte a ti.

1.b: Compilador MinGW. Instalación y uso.

[!] Esta parte es para los que quieren utilizar un compilador externo al programa.
Instalación del compilador: Iremos a la página http://www.mingw.org/ y le daremos a "Download Installer" que está situado arriba a la derecha.
Una vez instalado, tendremos que añadir en el PATH la ruta del compilador para poder manejar los comandos en CMD.
[!] Es importante añadir esto, así que prestar atención o no funcionara el comando "gcc" en el CMD.

Iremos a Inicio>Click derecho en Equipo>Propiedades>Configuración avanzada del Sistema>Variables de entorno>En variables del Sistema buscamos Path>Editar.

Una vez llegues hasta aquí, vamos a introducir la ruta del bin de nuestro compilador. Es importante que no haya ningun espacio después del ;. Introducimos la ruta, en mi caso: "C:\MinGW\bin".

Para hacer esto más visible, adjunto unas imágenes:
Spoiler para ocultar:

Si está todo correcto, al ejecutar el comando gcc en CMD, te dira "no input files."

2.a: Precompilador y función main.

Ya estamos apunto de escribir nuestro propio código. Antes que nada, saber lo que es la precompilación y la función main, que obviamente se llama así porque es la función principal de un programa.

En este caso, el codigo de precompilación que vamos a ver es:
Código: [Seleccionar]
#include <libreria.h> ó #include "libreria.h"
[!] "#include <libreria.h> se utiliza cuando la libreria se situa en la carpeta del compilador".
[!] "#include "libreria.h" se utiliza cuando la libreria se situa donde estamos trabajando nuestro programa".

Ya es la hora, abrimos nuestro editor de código y vamos a ello.

[&] Guardamos en la ruta deseada nuestro archivo con la extencion .c
[!] Al estar escribiendo código en C, se tienen que guardar los archivos cómo <nombre_del_archivo.c>.

Código: [Seleccionar]
#include <stdio.h>

int main(){

    return 0;
}

[!] A partir de ahora, todo lo que escribas en C siempre, con algunas excepciones, va a acabar con ;.

Felicidades, has escrito tu primer programa, pero este programa, ¡no hace nada!.
¿Así que no hace nada?, te explico. La primera línea que lee el ordenador es "#include <stdio.h>", esto le indica que todo el código que se situe en stdio.h es precompilado por nuestro programa. Da la casualidad que nuestra función main "int main(){}" está definida en esa librería, entonces nuestro programa entra a esa función y ejecuta lo que hay dentro. En este caso no ejecuta nada y devuelve 0, "return 0;" es decir, el programa se ha ejecutado correctamente.

Para acabar vamos a imprimir algo por pantalla, lo típico.

Código: [Seleccionar]
#include <stdio.h>

int main(){
     printf("Esto es un ejemplo.");
          return 0;
}

[!] Una vez tengamos nuestro código, vamos al CMD y nos dirijimos a la ruta donde hemos guardado nuestro archivo ".c".
[!] Utilizar comandos DIR y CD para saber en todo momento dónde estamos y dónde movernos.

Cuando ya tengamos localizado nuestro archivo .c, ejecutaremos el siguiente comando:
Código: [Seleccionar]
gcc -o nombre_del_ejecutable nombre_del_archivo.c
[?] Puedes ejecutar el programa escribiendo el nombre del ejecutable.

Con esto, ya hemos hecho un programa que imprime como salida un texto.

2.b: Variables

Podemos definir una varíable como algo que varía durante el transcurso del programa, no es del todo cierto, porque hay variables que son constantes y no se modifican.

Las variables pueden ser:

int: 4 bytes de memoria. Almacena numeros enteros +/-.
char: 1 byte de memoria. Almacena un solo carácter.
double: 8 bytes de memoria. Almacena números con decimales.
float: 4 bytes de memoria. Almacena números decimales.

[?] Programa para saber la memoria que ocupa cada tipo de varible.
Spoiler para ocultar:
Código: [Seleccionar]
#include <stdio.h>

int main(){
printf("\nEntero (int): %i bytes\n",sizeof(int));
printf("Caracter (char): %i bytes\n",sizeof(char));
printf("Decimal (float): %i bytes\n",sizeof(float));
printf("Decimal (double): %i bytes\n",sizeof(double));
return 0;
}

[!] Para escribir código de manera eficiente, utiliza la memoria que necesites.

Declaración:
Para declarar una variable es necesario especificar el tipo y el nombre de la variable:
  • tipo_variable nombre_variable;
    Código: [Seleccionar]
    int mi_variable_entera;
    float mi_variable_flotante;
    char mi_caracter;
Asignación:
Para darle valor a una variable se utiliza el operador '='.
  • nombre_variable = valor;
    Código: [Seleccionar]
    int mi_variable;
    mi_variable = 10;


Con este paso, hemos asignado el número 10 a la variable 'mi_variable'.

[!] Se puede asignar un valor a la variable en su declaración.
Código: [Seleccionar]
int variable = 5;
Función printf():
Para poder imprimir el contenido de una variable se utiliza:
Código: [Seleccionar]
int variable = 8;
printf("El valor de variable es : %d",variable);

%d dento de la cadena de texto(la cadena de texto es lo que contiene las ""), indica que se va imprimir un decimal. Para imprimir nuestra variable, hay que separar mediante una coma (,) e introducir el nombre de nuestra variable.
printf("Nuestra variable es: %d",nombre_de_variable);
  • int :        %d
  • char :      %c
  • float :      %f
  • double :   %f

[?] Programa: Declaración, asignación e Imprime los valores de las variables.
Spoiler para ocultar:
Código: [Seleccionar]
#include <stdio.h>

int main(){

int entero = 6;
char caracter = 'a';
float flotante = 1.687;
double doble = 2.19;

printf("\nEl valor entero es : %d\n",entero);
printf("El caracter es : %c\n",caracter);
printf("El valor flotante es : %f\n",flotante);
printf("El valor doble es : %f\n",doble);

return 0;
}

  • \n :        Salto de línea
  • \t :         Tabulador horizontal
  • \0 :        Carácter nulo
  • \r :         Enter / Retorno de carro
[!] Hay muchísimo más, pero al tratarse de una guía básica, solamente vamos a ver estos.
2: Operadores Aritmétricos y lógicos.
Spoiler para ocultar:
3: Operadores aritmétricos.
  • Suma: +
  • Resta: -
  • Multiplicación: *
  • División: /
  • Resto: %
Código: [Seleccionar]
int x, y, z;Suma : Realizar la suma es sencillo en C, podemos sumar a nuestra variable números enteros <x+6;> ó sumarle otras variables <x + y;>. Daros cuenta que, al sumarle un entero a la variable, el resultado se almacena en x. Es obvio, pero ¿Qué pása con la suma de dos variables?, ¿Dónde se almacena el resultado?. Hay dos posibles soluciones:
  • += : <x += y>, esta operación equivale a : <x = x + y>
  • Crear otra variable: <x + y = z>.
Resta : Es básicamente lo mismo que hemos visto antes, pero, en este caso, restando.
  • -= : <x -= y>, esta operación equivale a : <x = x - y>
  • Crear otra variable: <x - y = z>.
Multiplicación :
  • *= : <x *= y>, esta operación equivale a : <x = x * y>
  • Crear otra variable: <x * y = z>.
División :
  • /= : <x /= y>, esta operación equivale a : <x = x / y>
  • Crear otra variable: <x / y = z>.
[!] Si el resultado de la división es un número con decimales, el tipo de variable se cambiará por float o double.

Resto :
  • %= : <x %= y>, esta operación equivale a : <x = x % y>
  • Crear otra variable: <x % y = z>.

4: Operadores lógicos.

  • Y lógico: &&
  • O lógico: ||
  • Negación: !=
  • Igualdad: ==
  • Mayor / Mayor Igual: > / >=
  • Menor / Menor Igual: < / <=
Los operadores lógicos obtienen su resultado mediante las tablas de verdad.

Y lógico (&&) :
  • 1 && 1 / TRUE && TRUE = 1 / TRUE.
  • 0 && 1 / FALSE && TRUE = 0 / FALSE
  • 1 && 0 / TRUE && FALSE = 0 / FALSE
  • 0 && 0 / FALSE && FALSE = 0 / FALSE

En resumen: Y lógico solamente va a ser verdadero cuando ambos operadores sean 1 / TRUE.

O lógico (||) :
  • 1 || 1 / TRUE || TRUE = 1 / TRUE.
  • 0 || 1 / FALSE || TRUE = 1 / TRUE
  • 1 || 0 / TRUE || FALSE = 1 / TRUE
  • 0 || 0 / FALSE || FALSE = 0 / FALSE

En resumen: O lógico va ser verdadero cuando al menos uno de los operadores sea 1 / TRUE y va ser falso cuando los dos operadores sean 0 / FALSE.

Negación (!=) :
  • 1 != 1 / TRUE != TRUE = 0 / FALSE.
  • 0 != 1 / FALSE != TRUE = 1 / TRUE
  • 1 != 0 / TRUE != FALSE = 1 / TRUE
  • 0 != 0 / FALSE != FALSE = 0 / FALSE

En resumen: La negación solamente va a ser verdadera cuando el primer operador sea contrario al segundo.

Igualdad (==) :
  • 1 == 1 / TRUE && TRUE = 1 / TRUE.
  • 0 == 1 / FALSE && TRUE = 0 / FALSE
  • 1 == 0 / TRUE && FALSE = 0 / FALSE
  • 0 == 0 / FALSE && FALSE = 1 / TRUE

En resumen: Igualdad va a ser verdadera cuando ambos operadores sean iguales.

Mayor (>) / Mayor Igual (>=) :
  • 1 > 1 = 0 / FALSE
  • 0 >1  = 0 / FALSE
  • 1 > 0 = 1 / TRUE
  • 0 > 0 = 0 / FALSE
  • 1 >= 1 = 1 / TRUE
  • 0 >= 1  = 0 / FALSE
  • 1 >= 0 = 1 / TRUE
  • 0 >= 0 = 1 / TRUE

Mayor (<) / Mayor Igual (<=) :
  • 1 < 1 = 0 / FALSE
  • 0 < 1 = 1 / TRUE
  • 1 < 0 = 0 / FALSE
  • 0 < 0 = 0 / FALSE
  • 1 <= 1 = 1 / TRUE
  • 0 <= 1 = 1 / TRUE
  • 1 <= 0 = 0 / FALSE
  • 0 <= 0 = 1 / TRUE

Ejercicios: Tema 1 y 2.
Spoiler para ocultar:
Ejercicio 1: Realiza un programa que imprima por pantalla los siguientes valores: 7, -5, 87.9789, K.
Ejercicio 2: Realiza un programa que sume dos valores enteros y que imprima el resultado.
Ejercicio 3: ¿Para qué sirven los operadores lógicos?, Clasificalos. (Sin mirar el tema).
Ejercicio 4: ¿Es x=7 mayor que 7?, ¿Y z= 6 mayor o igual a 6?.
Ejercicio 5: ¿Hay algún fallo en este programa?
Código: [Seleccionar]
#include <stdiio.h>

int main(){
   char x = '5';
   printf("El valor de x es : %c",x);
   return 0;
}


Linkback: https://minecraftmin.net/index.php?topic=15424.0
« Última modificación: Marzo 04, 2018, 04:31:09 pm por xog1999 »





Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

xx
[I] Programación orientada a objetos basada en clases. Introducción.

Iniciado por Alfomega

2 Respuestas
1997 Vistas
Último mensaje Septiembre 21, 2014, 01:37:15 pm
por KubsonESP
xx
¿El mejor lenguaje de programación?

Iniciado por Diego_wwe

3 Respuestas
2834 Vistas
Último mensaje Julio 06, 2015, 10:15:56 pm
por Alfomega
xx
Curso de programacion en C Bloque 1.1: ¿Como empezar?

Iniciado por Chock

1 Respuestas
1465 Vistas
Último mensaje Julio 25, 2014, 01:18:46 pm
por Alfomega
xx
No sabes nada de programacion? :( Yo te doy algunas bases para que entiendas <3

Iniciado por wililitorta

0 Respuestas
1508 Vistas
Último mensaje Febrero 26, 2015, 05:44:26 am
por wililitorta