Sei sulla pagina 1di 9

Lenguaje C

C es un lenguaje de programación originalmente desarrollado por Dennis


Ritchie entre 1969 y 1972 en los Laboratorios Bell,2 como evolución del anterior
lenguaje B, a su vez basado en BCPL.

Al igual que B, es un lenguaje orientado a la implementación de Sistemas


operativos, concretamente Unix. C es apreciado por la eficiencia del código que
produce y es el lenguaje de programación más popular para crear software de
sistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje de tipos de datos estáticos, débilmente tipificado, de medio


nivel, ya que dispone de las estructuras típicas de los lenguajes de alto nivel pero,
a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo
nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan
mezclar código en ensamblador con código C o acceder directamente
a memoria o dispositivos periféricos.
La primera estandarización del lenguaje C fue en ANSI, con el estándar X3.159-
1989. El lenguaje que define este estándar fue conocido vulgarmente como ANSI
C. Posteriormente, en 1990, fue ratificado como estándar ISO (ISO/IEC 9899:1990).
La adopción de este estándar es muy amplia por lo que, si los programas creados
lo siguen, el código es portable entre plataformas y/o arquitecturas.

Estructura básica de lenguaje C

1. Estructura básica de un programa en dev c++


2. Estructura básica #include <iostream.h> Instrucciones declarativas #include <stdlib.h>
[declaración de variables globales] int main() Función Principal { Aquí inicia el programa
Cuerpo del programa(Instrucciones ) } Aquí finaliza el programa
3. Estructura básica Un programa en C++ se caracteriza por tener en su código una
cabecera indispensable: main( ) #include ------ Archivo de cabecera [declaración de variables
globales] int main ( ) ------ Cabecera de función, nombre de la función { … ------ Sentencias
de la función. } tipo func1( ) { … } tipo func2( ) { … }
4. Archivo de cabecera • #include <librería_solicitada> • La parte del #include se refiere a la
biblioteca de funciones que vamos a utilizar. Es decir para llamar a una biblioteca en
particular debemos hacer lo siguiente: • #include <librería_solicitada> • El estándar de C++
incluye varias bibliotecas de funciones, y dependiendo del compilador que se esté usando,
puede aumentar el número.
5. Archivo de cabecera • Existen archivos de cabecera estándar muy utilizados, por ejemplo:
#include<iostream.h> contiene las funciones de ingresar y mostrar datos. #include<math.h>
contiene las funciones matemáticas comunes. #include<time.h> contiene las funciones para
tratamiento y conversión entre formatos de fecha y hora. #include<conio.h>: contiene los
prototipos de las funciones, macros, y constantes para preparar y manipular la consola en
modo texto en el entorno de MS-DOS®.
6. Archivo de cabecera #include<stdio.h>: contiene los prototipos de las funciones, macros,
y tipos para manipular datos de entrada y salida. #include<stdlib.h>: contiene tipos, macros
y funciones para la conversión numérica, generación de números aleatorios, búsquedas y
ordenación, gestión de memoria y tareas similares. #include<string.h>: contiene los
prototipos de las funciones y macros de clasificación de caracteres.
7. Declaración de variables globales • Una variable es un espacio reservado en el ordenador
para contener valores que pueden cambiar durante la ejecución de un programa. • Los tipos
determinan cómo se manipulará la información contenida en esas variables. • El tipo nos
dice a nosotros y al compilador cómo debe interpretarse y manipularse la información binaria
almacenada en la memoria de un ordenador.
8. Declaración de variables globales • Una variable global es aquella que se define fuera del
cuerpo de cualquier función, normalmente al principio del programa, después de la definición
de los archivos de biblioteca (#include), de la definición de constantes simbólicas y antes de
cualquier función. El ámbito de una variable global son todas las funciones que componen
el programa, cualquier función puede acceder a dichas variables para leer y escribir en ellas.
Es decir, se puede hacer referencia a su dirección de memoria en cualquier parte del
programa.
9. Cabecera de función • Una funcion es un conjunto de instrcciones que se la puede llamar
desde el programa principal o desde otras funciones. • Todo programa en C++ comienza
con una función main(), y sólo puede haber una. • Los paréntesis que le siguen contienen lo
que se le va a mandar a la función. • En caso de colocarla palabra “void”, que significa vacío,
se esta indicando que a la función main no se le está mandando nada, podría omitirse el
void dentro de los paréntesis, el compilador asume que no se enviará nada. La llave que se
abre significa que se iniciará un bloque de instrucciones.
10. Cabecera de función • Sintaxis para la declaración de una función: • Prototipo de función
nombre de la función ( parámetros ); • Prototipo de la función: sirve para indicar que va a
retornar la función, si va a retornar un entero, un double, un char, o simplemente no retorna
nada ( void ). Esto es obligatorio • Parametros: son los datos que le enviamos a la funcion
para que con ellos posiblemente desarrolle algo que necesitemos. Esto es opcional. •
Ejemplo: • void ingresar(); • int suma_enteros ( int, int ); • float suma_numeros ( float, float );
11. Cuerpo del programa(Instrucciones ) • La definición del cuerpo de la función está formada
por un bloque de sentencias o instrucciones, que esta encerrado entre llaves { }. Las
sentencias, también llamadas instrucciones: a) definen la lógica de un programa o
subprograma (subrutina), b) manipulan los datos para producir el resultado deseado por el
usuario del programa
12. Cuerpo del programa(Instrucciones ) Instrucciones declarativas: Sirven para declarar
librerias, variables, constantes, arreglos , punteros, estructuras… Ejemplo: #include <time.h>
short contador Instrucciones de asignación: Sirven para dar valores a las variables, y llevan
éste formato: nombre_variable = expresión ; Ejemplo: x = a + 5
13. Cuerpo del programa(Instrucciones ) Instrucciones repetitivas: Sirven para repetir una
condición N veces, siempre y cuando la condición sea verdadera. Instrucciones de entrada
y salida de datos: El lenguaje C++ no tiene palabras reservadas para ingresar o mostrar
datos, para ello usan recursos que se encuentran en las librerías. Instrucciones selectivas:
Son mediante las cuales podemos ejecutar diferentes acciones, como resultado de una
expresión que estemos evaluando en ese momento y pueden ser: – Las selectivas simples
– Las selectivas dobles – Las selectivas múltiples
14. tipo func1( ) Las funciones deben declararse. Una definición contiene además las
instrucciones con las que la función realizará su trabajo, es decir, su código.La sintaxis de
una definición de función es: [extern|static] <tipo_valor_retorno> <identificador>
(<lista_parámetros>) { [sentencias] } El identificador de la función. Es el nombre de la función.
Una lista de declaraciones de parámetros entre paréntesis. Los parámetros de una función
son los valores de entrada (y en ocasiones también de salida).
15. tipo func1( ) Opcionalmente, una palabra que especifique el tipo de almacenamiento,
puede ser extern o static. El tipo del valor de retorno, si no se establece, será int por defecto,
aunque en general se considera una mala técnica de programación omitir el tipo de valor de
retorno de una función.

Instrucciones de entrada y salida

Entrada y Salida estándar en C++ Un programa en C++ puede realizar operaciones


de entrada y salida de varias formas distintas. A continuación describiremos lo que
se conoce como flujos. Un flujo de entrada no es más que la serie de entradas que
alimentan un ordenador para que el programa las utilice. En esta sección
supondremos que la entrada proviene del teclado. Asimismo, un flujo de salida es
la serie de salidas que el programa genera. En esta sección supondremos que las
salidas se envían a la pantalla de un terminal. Salidas con cout Los valores de
variables se pueden enviar a la pantalla empleando cout. Es posible enviar a la
pantalla cualquier combinación de variables y cadenas. Por ejemplo: cout <<
num_dulces << “dulces\n”; Esta instrucción le dice a la computadora que despliegue
dos cosas: el valor de la variable num_dulces y la cadena “dulces\n”.

Entrada con cin cin es el flujo de entrada estandar. Supondremos que la entrada
estandar es el teclado. Veamos un ejemplo: cin >> num_pasteles; En la sentencia
anterior lo que hacemos es leer un dato introducido por teclado y almacenarlo en
una variable ‘num_pasteles’. Entrada y Salida de caracteres Todos los datos se
envian como caracteres. Cuando un programa envía a la salida el número 10, en
realidad lo que envía son los dos caracteres ‘1’ y ‘0’. Qué la computadora interprete
el número 10 o los caracteres ‘1’ y ‘0’ depende del programa. C++ ofrece algunos
recursos para la entrada y salida de datos de caracteres.
Cuales son los los operadores aritmeticos logicos y relacionales en c++

2.2.OPERADORES ARITMÉTICOS Los operadores aritméticos se usan para


realizar cálculos y operaciones con números reales y punteros [2]. Básicamente
permiten hacer cualquier operación aritmética que se necesite. Los operadores más
comunes son [3]: Operador Acción Ejemplo Resultado - Resta X = 5 - 3 X vale 2 +
Suma X = 5 + 3 X vale 8 * Multiplicación X = 2 * 3 X vale 6 / División X = 6 / 3 X vale
2 % Módulo X = 5 % 2 X vale 1 -- Decremento X = 1; X-- X vale 0 ++ Incremento X
= 1; X++ X vale 2 La operación modulo corresponde a obtener el residuo de la
división, de modo que al dividir 5 entre 2 tendremos como resultado 2 y como
residuo 1, por tanto 5 % 2 corresponde al 1 que sobra de la división exacta.

2.3.OPERADORES RELACIONALES “Los operadores relacionales, también


denominados operadores binarios lógicos y de comparación, se utilizan para
comprobar la veracidad o falsedad de determinadas propuestas de relación (en
realidad se trata respuestas a preguntas). Las expresiones que los contienen se
denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el
resultado, que es la respuesta a la pregunta, es siempre del tipo cierto/falso, es
decir, producen un resultado booleano. Si la propuesta es cierta, el resultado es true
(un valor distinto de cero), si es falsa será false (cero). C++ dispone de los siguientes
operadores relacionales: Operador Relación Ejemplo Resultado < Menor X = 5; Y =
3; if(x < y) x+1; X vale 5 Y vale 3 > Mayor X = 5; Y = 3; if(x > y) x+1; X vale 6 Y vale
3 <= Menor o igual X = 2; Y = 3; if(x <= y) x+1; X vale 3 Y vale 3 >= Mayor o igual X
= 5; Y = 3; if(x >= y) x+1; X vale 6 Y vale 3 == Igual X = 5; Y = 5; if(x == y) x+1; X
vale 6 Y vale 5 ¡= Diferente X = 5; Y = 3; if(x ¡= y) y+1; X vale 5 Y vale 4 Como puede
verse, todos ellos son operadores binarios (utilizan dos operandos), de los cuales,
dos de ellos son de igualdad: == y !=, y sirven para verificar la igualdad o
desigualdad entre valores aritméticos o punteros. Estos dos operadores pueden
comparar ciertos tipos de punteros, mientras que el resto de los operadores
relacionales no pueden utilizarse con ellos. Cualquiera que sea el tipo de los
operandos, por definición, un operador relacional, produce un bool (true o false)
como resultado, aunque en determinadas circunstancias puede producirse una
conversión automática de tipo a valores int (1 si la expresión es cierta y 0 si es falsa).
En las expresiones relacionales E1 E2, los operandos deben cumplir alguna de las
condiciones siguientes: E1 y E2 son tipos aritméticos.E1 y E2 son punteros a
versiones cualificadas o no cualificadas de tipos compatibles.

2.4.OPERADORES LÓGICOS “Los operadores lógicos producen un resultado


booleano, y sus operandos son también valores lógicos o asimilables a ellos (los
valores numéricos son asimilados a cierto o falso según su valor sea cero o distinto
de cero). Por el contrario, las operaciones entre bits producen valores arbitrarios.
Los operadores lógicos son tres, dos de ellos son binarios y el último (negación) es
unario: Operador Acción Ejemplo Resultado && AND Lógico A && B Si ambos son
verdaderos se obtiene verdadero(true) || OR Lógico A || B Verdadero si alguno es
verdadero ! Negación Lógica !A Negación de a 2.4.1. AND lógico Devuelve un valor
lógico true si ambos operandos son ciertos. En caso contrario el resultado es false.
La operatoria es como sigue: El primer operando (de la izquierda) es convertido a
bool. Para ello, si es una expresión, se evalúa para obtener el resultado (esta
computación puede tener ciertos efectos laterales). A continuación, el valor obtenido
es convertido a bool cierto/falso siguiendo las reglas de conversión estándar. Si el
resultado es false, el proceso se detiene y este es el resultado, sin que en este caso
sea necesario evaluar la expresión de la derecha (recuérdese que en el diseño de
C++ prima la velocidad). Si el resultado del operando izquierdo es cierto, se continúa
con la evaluación de la expresión de la derecha, que también es convertida a bool.
Si el nuevo resultado es true, entonces el resultado del operador es true. En caso
contrario el resultado es false.
Función main

La función main se define de la misma forma que cualquier función en C, pero tiene
una peculiaridad lo suficientemente fuerte como para que haya que dedicar un
apartado entero a hablar de ella: hay que definirla siempre. La función main es un
ingrediente que debe encontrarse en todos los programas escritos en lenguaje C,
sin excepciones. Define, valga la redundancia, la función principal del programa,
esto es, su cometido. Todo programa está hecho para resolver un problema y la
función main se encarga de dirigir el algoritmo que da solución al mismo. Es
importante hacer énfasis en que main DIRIGE. Dediquemos unos instantes a
reflexionar sobre ello.
Cuáles son las instrucciones cíclicas y condicionales y cuál es la sintaxis
Estructuras Condicionales
La estructura condicional if ... else

En la gran mayoría de los programas será necesario tomar decisiones sobre qué
acciones realizar. Esas decisiones pueden depender de los datos que introduzca el
usuario, de si se ha producido algún error o de cualquier otra cosa.

La estructura condicional if ... else es la que nos permite tomar ese tipo de
decisiones. Traducida literalmente del inglés, se la podría llamar la estructura "si...si
no", es decir, "si se cumple la condición, haz esto, y si no, haz esto otro".

Un ejemplo sencillo sería el siguiente (no se trata de un programa completo, sino


tan sólo una porción de código):
if (edad < 18)
printf("No puedes acceder.\n");
else
printf("Bienvenido.\n");

Este código de ejemplo dice que si el valor de la variable edad es menor que 18se
imprimirá "No puedes acceder.\n", mientras que en caso contrario se imprimirá
"Bienvenido.\n".
Como se ve en el ejemplo, la estructura de un condicional es bastante simple:
if (condición) {
sentencias_si_verdadero;
} else {
sentencias_si_falso;
}
La estructura condicional switch ... case

La estructura condicional switch ... case se utiliza cuando queremos evitarnos las
llamadas escaleras de decisiones. La estructura if nos puede proporcionar,
únicamente, dos resultados, uno para verdadero y otro para falso. Una estructura
switch ... case, por su parte, nos permite elegir entre muchas opciones. Ejemplo:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int dia;
printf("que número de día de la semana es?");
scanf("%d",&dia);
switch(dia) {
case 1 :
printf("Lun, Lunes");
break;
case 2 :
printf("Mar, Martes");
break;
case 3 :
printf("Mier, Miercoles");
break;
case 4 :
printf("Jue, Jueves");
break;
case 5 :
printf("Vie, Viernes");
break;
case 6 :
printf("Sab, Sabado");
break;
case 7 :
printf("Dom, Domingo");
break;
default :
printf("No existe");
}
return 0;
}
Estructuras Ciclicas While, Do-While, For.
While.-

Un ciclo while tiene una condición del ciclo, una expresión lógica que controla la
secuencia de repetición.

La posición de esta condición del ciclo es delante del cuerpo del ciclo y significa que
un ciclo while es un ciclo de preverificación
de modo que cuando se ejecuta el mismo, se evalúa la condición antes de que se
ejecute el cuerpo del ciclo.
Sintaxis
while ( condición )
estatuto;
Si se requiere realizar más de un estatuto se deben utilizar llaves.
while ( condición )
{
bloque de estatutos;
}

Aquí se ejecuta el (los) estatuto (s) mientras la condición es verdadera; al


momento de ser falsa termina el ciclo.
Si la condición es falsa la primera vez nunca se ejecuta(n) el (los) estatuto(s).
DO – WHILE

El estatuto do-while se utiliza para especificar un ciclo condicional que se ejecuta al


menos una vez. Este ciclo se

presenta en algunas circunstancias en las que se ha de tener la seguridad de que


una determinada acción se

ejecutara una o más veces, pero al menos una vez.

Sintaxis do estatuto; while ( condición );


do
{
bloque de estatutos;
}
while ( condición ); // nota que lleva ;
Si se requiere realizar más de un estatuto se deben utilizar llaves.
Se realizan los estatutos y se verifica la condición, mientras sea verdadera se sigue
ejecutando;

al momento de ser falsa termina el ciclo. •Dado que la condición se revisa al final
del ciclo el (los) estatuto(s) se realizan al menos una vez a diferencia del while.
For.-

El bucle for o ciclo for es una estructura de control en la que la pc nos muestra el
como programar si es que nosotros queremos porgramar un robot B-bot , en este
se puede indicar el modo en la que se puede indicar el número minimo de
iteraciones. Está disponible en casi todos los lenguajes de programación
imperativos.
Ejemplo en C++
1. include<stdio.h>
2. include<conio.h>
int main() {
int vector[10], i;
for(i = 0; i < 10; i++)
{
vector[i] = i;
printf("%d ",i);
}
getch ();
return 0;
}

Potrebbero piacerti anche