You are on page 1of 13

SINTAXIS DEL LENGUAJE

Visual C y C++

PALABRAS RESERVADAS DEL LENGUAJE C: auto break case char const continue default do double else return extern float for goto if int long register return short signed size of static

LENGUAJE ESTRUCTURADO: Tcnicamente un lenguaje estructurado es aquel que permite declarar procedimientos y funciones dentro de otros procedimientos de esta forma se extiende los conceptos de globalidad y permite el manejo de las siguientes estructuras. 1. Estructuras secuenciales 2. Estructuras alternativas 3. Estructura repetitivas COMPILACIN DE UN PROGRAMA : E l lenguaje C posee interiormente un conjunto de funciones y programas para llevar a cabo las tareas necesarias mas comunes Creacin del programa: Para lo que utiliza un editor que generalmente vienen incorporado. Compilacin del programa: consiste en la traduccin del programa fuente en programa objeto, si existe algn error de sintaxis ser mostrado. Enlazado del programa: consiste en la incorporacin al programa fuente de todas las funciones de la biblioteca del lenguaje.

Scanf
(Programa fuente) #include stdio.h { Scanf ( ) }

Compilacion 100100111000
(Traduccin) enlazado (Programa objeto)

Bibliotecas del

Programacin

TIPOS DE DATOS Son las formas diversas de representacin tanto de constantes como de variables en el lenguaje C. Existen 5 tipos de datos: 1. 2. 3. 4. 5. Char Int Float Double Void

TIPO CHAR.-representa todos los caracteres definidos por el cdigo ASCII.

TIPO INT.- es un nmero exacto que carece de parte fraccionaria por lo que no tiene el punto decimal. El INT puede tener enteros con signo o sin signo.

- Enteros Con Signo int signed int short int signed short int long int signed long int

2 n 1 -1
-32768 0 +32768 0 Trabaja con palabras de 16 bits. Ejemplo: 34=100010

2161 -1
15

Programacin

- Enteros Sin Signo.- son los tipos de datos unsigned int unsigned short int unsigned long int Los cuales pueden ser solo positivos y cero.

65535

Se utiliza el entero sin signo para representar nmeros de mayor magnitud positivos. Se utilizan nmeros enteros sin signo para: Para asegurar que el valor de una variable nunca sea negativo. Para tener mayor rango de nmeros positivos. Para acceder direcciones de memoria. Para usar variables de este tipo como contadores. TIPO FLOAT: corresponde a los nmeros reales que abarcan un mayor rango que los enteros. Para almacenar un tipo float se divide en dos partes: Parte fraccionaria y Parte del Exponente. Un tipo float utiliza 32 bits, de los cuales un bit utiliza para el signo, 7 bits para el exponente y los 24 siguientes para la mantisa o fraccin. Esto permite una precisin de 6 cifras decimales con un rango de:

-3.4*e

38

3.4*e

38

0.1085*10

normalizado

+ 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0

TIPO DOUBLE: son los mismos nmeros de punto flotante pero con mayor precisin, El tipo double utiliza 64 bits, los nmeros que se representan en la parte fraccionaria y exponencial ya que puede representar 10 dgitos de precisin y tiene un exponente 1.7e108. 287543.467 0.287543467

TIPO VOID: es un tipo sin valor y se utiliza para declarar explcitamente una funcin que no devuelve valor alguno, o para establecer que la funcin no tiene parmetros, crear punteros genricos. TIPO Carcter CLASIFICACION Char Unsigned char Signed char Int Unsigned int Signed int Short int Unsigned short int Signed short int TAMAO EN BITS 8 8 8 16 16 16 16 16 16 RANGO MINIMO -128 a 127 0 a 255 -128 a127 -32768 a 32767 0 a 65535 Igual que int Igual que int 0 a 65535 Igual que short int

Entero

Programacin

Lons int Signed lons int Unsigned lons int Punto flotante Float Double Long double

32 32 32 32 64 80

-2147483648 a 2147483647 Igual que long int 0 a 4294967295 3.4 e-38 a 3.4 e+38 6 digitos de posicin 1.7 e-308 a 1.7 e+308 10 digitos de precision 3.4 e-4932 a 1.1 e+4.932 10 digitos de precision Sin valor

Sin tipo

Void

CONSTANTES Y VARIABLES CONSTANTE: Es un valor fijo que no puede ser alterado por el programa estas constantes son de cualquier tipo y la forma en que se representa depende de su tipo 1. CONSTANTES CHAR: Es un nico carcter que normalmente corresponde al cdigo ASCII va encerrado entre apostrofes Un carcter que no se puede introducir desde el teclado puede ser introducido por medio de: Secuencias de escape El numero de cdigo ASCII

Secuencia de Escape: Son caracteres especiales que deben usar la barra invertida y luego su cdigo en lugar del equivalente ASCII.

CDIGO \n \b \f \r \t \v \ \ \\ \0 \a

SIGNIFICADO Salto de lnea Retroceso (Backspace) Salto de Pgina Retorno de Carro Tabulacin horizontal Tabulacin Vertical Comillas Apstrofe Barra Invertida Nulo Alerta o pito

Nmero del Cdigo ASCII: Indica el carcter correspondiente, se puede tambin trabajar en Octal o en Hexadecimal. Ej: \94 en decimal \07 en octal \0*12 en hexadecimal

Programacin

Ej:

char signo; signo= + signo =\43 Equivalente en hexadecimal.

CONSTANTE ENTERA: especifican nmeros enteros, es decir sin parte fraccionaria, pueden utilizar el sufijo U o L que significa sin signo o long. 243 -8000 7 -100 unsigned long

U L

18U 2300L

CONSTANTE DE PUNTO FLOTANTE: requieren de punto decimal seguidos de los nmeros de la parte fraccionaria, tambin puede utilizar notacin cientfica, puede trabajar con los sufijos: F float L long 23.47 125*10 125e02 7.8f 0.00005678l CONSTANTE DE CADENA: es otro tipo de constante, una constante cadena es una secuencia de caracteres encerrada entre comillas. Ejemplo de cadena: ESTE ES UN EJEMPLO E S 0 U N E

E A

\0

A \0 Necesita de un byte adicional para el carcter nulo \0. Ejemplo de carcter: + A

+ A

Ocupa un solo byte sin adicionar ni un byte ms.

VARIABLES Variable es un espacio de memoria en el cual se almacena una constante y cambia a lo largo del programa, las variables pueden ser de todos los tipos definidos en el lenguaje C y generalmente representan al tipo que tienen almacenado

Programacin

REGLAS PARA FORMAR IDENTIFICADORES O NOMBRE DE VARIABLES EN C Los identificadores son los nombres usados para referenciar las constantes y variables, funciones, etc., definidas por el usuario. La longitud del identificador puede variar entre uno y varios caracteres sin lmite pero los seis primeros son los ms significativos. El primer carcter siempre debe ser una letra del alfabeto ingls o el carcter de subrayado pero no puede utilizar otros tipos de caracteres especiales. En C se trabaja con letras minsculas y las maysculas se tratan en forma distinta. Un identificador no puede ser igual a una palabra reservada de C suma acum. contador suma _ total calculo1 suma total x (no dejar espacio en blanco) calculo 1 x

DECLARACIN DE VARIABLES: Todas las variables en C deben ser declaradas antes de ser usadas FORMATO: Tipo Int Float Char lista de variables a,b; x,y; sim;

El tipo debe ser cualquiera valido en C con cualquier modificador la lista de variables consiste en uno o mas identificaciones separados por comas. Existen 3 sitios donde se deben declarar las variables:

variables locales variables formales variables globales VARIABLES LOCALES: Son aquellas variables que se declaran dentro de un bloque de cdigo que generalmente son las funciones.

PARMETROS FORMALES: Cuando se trabaja con funciones se utiliza variables que aceptan valores que vienen de otras funciones a esto se les llama parmetro formales

#include "stdio.h" #include "conio.h" main() { int a,b,c; scanf( %d %d ,&a,&b); c=a+b; suma=suma+n; printf("la suma es %d\n",c); getche(); }

Programacin

VARIABLES GLOBALES: Se definen antes de la funcin main() y significa que estas variables pueden ser utilizadas por todas las funciones que trabajan con el programa

Estas variables se conocen y se usan en cualquier parte del programa y mantienen su porcin de memoria durante toda la ejecucin del programa. #include "stdio.h" #include "conio.h" int suma(intc,intd) main() { int a,b; float x,y; char sim; a=10; b=20; printf( ); suma (a,b); z=c+d; } TIPOS DE VARIABLES

VARIABLES DE CADENA: Son aquellas que almacenan cadenas de caracteres para indicar el fin de la cadena se debe utilizar el carcter nulo es por lo que el arreglo debe disponer de un elemento adicional que indica fin de la cadena

Declaracin de variables de cadena FORMATO char nombre [longitud]

INICIALIZACION DE VARIABLES Inicializar una variable en tiempo de compilacin asigna un valor a la vez que lo define optimizando de mejor manera la ejecucin de las sentencias EJM:

int a,=10; float x,y=0; char cedula=1713628558;

CONSTANTES SIMBOLICAS: Son nombres de variables que se definen al inicio del programa los cuales no cambian su valor durante toda su ejecucin por lo que se les llama constantes simblicas.

Formato: #define nombre valor #define PI 3.1416 main() {

Programacin

OPERADORES Un operador es el que realiza una accin sobre uno o mas datos OPERANDOS: es sobre lo que opera el operador se define cuatro clases de operadores. I. II. III. IV. Aritmticos Relacionales Lgicos A nivel de asignacin

OPERADORES DE ASIGNACIN: Formato Nombre de variable =expresin a=10; Constante a=b; Variable a=a+b Expresin

OPERADORES ARITMTICOS: Operan de izquierda a derecha y pueden aplicarse a casi todas los tipos de datos,los operadores aritmticos son

Operador Suma Resta Multiplicacion Division Residuo Incremento Decremento

accin + * / % ++ --

Programacin

Los operadores son binarios La divisin funciona de 3 maneras divisin entre numero punto flotante divisin entre nmeros enteros divisin mixta da un resultado en punto flotante o o RESIDUO: Obtiene el residuo de una divisin entera opera solo con enteros

INCREMENTO: Es un operador unario que incrementa en uno valor de su operando entero puede ser utilizado en forma de prefijo y sufijo

DECREMENTO: se comparta en forma similar al operador de incremento pero decremento en un valor de la variable

ABREVIATURAS C=c+1 Suma=suma + total Cont 0CONT 1 Acum. = acum. * porcentaje Valor = valor +(saldo * meses)/ interes c+=1 suma + total CONT 01 acum. * = porcentaje valor + =(saldo * meses)/ interes

Son operadores de actualizacin de la variable que simplifican la escritura de ciertas sentencias de asignacin, son una combinacin de operadores aritmticos binarios ordenados con el operador de asignacin en el siguiente formato

OPERADORES RELACIONALES Se emplea para hacer combinaciones entre valores del mismo tipo como enteros, flotante y caracteres, estos operadores operan de izquierda a derecha. Ejemplo: Valor =10 Saldo =5 Meses =2 Interes=0.5 Valor = valor +(saldo * meses)/ interes = 10 + (10) / 0.5 = 10 +5 = 15

OPERADOR > >= < <= == =

ACCIN Mayor que Mayor o igual que Menor que Menor o igual que Igual que Diferente que

Para la comparacin de caracteres se emplea el cdigo Ascii. Para las cadenas de caracteres no se pueden comparar solo se las puede hacer si son semejantes

Programacin

Ej: char a=a char b=b if (a>b) carcter

char nombre [10] = Nancy char apellido [10] = Espin if (nombre = = apellido) cadena X

Para comparar nmeros de punto flotante se usan nicamente los operadores > y <, porque dos nmeros de punto flotante no pueden ser iguales debido a errores de redondeo o truncamiento. Ej; a = 3.14 if(a==b) falso 0 b = 5.167 Las expresiones que utilizan los operadores relacionales devuelven el valor de uno, en el caso de verdadero y cero en el caso de falso. OPERADORES LGICOS Combinan dos o mas expresiones de relacin, en C existen 3 operadores lgicos que son: OPERADOR && || ! ACCIN AND (y) OR (o) NOT (no)

OPERACION AND (&&).- Que la respuesta ser F si alguna de las entradas son F . p 0 0 1 1 q 0 1 0 1 p^q 0 1 1 0 p 0 0 1 1 OPERACIN OR (||).- La respuesta ser F slo si las dos entradas son F. OPERACIN NOT (! ).- Es lo contrario del valor de entrada q 0 1 0 1 p &&q 0 0 0 1 p ||q 0 1 1 1 !p 1 1 0 0

En C se garantizan que las expresiones lgicas se evalan de izquierda a derecha. a = 5; b = 10; c = 7; if ((a > b)&& (a> c)) XOR U OR EXCLUSIVO

OPERADORES A NIVEL DE BITS

Programacin

Dado que el lenguaje c se utiliz para sustituir al lenguaje ensamblador, se puede necesitar tareas que trabajen con un lenguaje ensamblador, para lo cual son necesarios estos operadores a nivel de bits. Las operaciones a nivel de bits se refieren a la comprobacin, asignacin o desplazamiento de bits individuales que componen un byte o una palabra de memoria que a su vez corresponden a los tipos estndar char o int. La operacin a nivel de bits no se puede usar sobre los tipos float, double, long double y void.

OPERADOR & | ^ ~

ACCIN and or or exclusivo(XOR) complemento a 1(NOT) desplazamiento a la derecha desplazamiento a la izquierda

x=5 y=127 Un & OR XOR NOT

128 0 1 0 1 1 0

64 0 1 0 1 1 0

32 0 1 0 1 1 0

16 0 1 0 1 1 0

8 0 1 0 1 1 0

4 1 1 1 1 0 1

2 0 1 0 1 1 0

1 1 1 1 1 0 1

=5 =127 =122=(127-5) =5

desplazamiento a la izquierda equivale a una multiplicacin por 2 y un desplazamiento a la derecha equivale a una divisin por 2. Valor original de x 2(recorre dos puestos a la derecha) x 2 (recorre 2 puestos a la izquierda) OTROS OPERADORES Uno de los operadores que se utiliza para hacer condiciones es el llamado operador (?). ? Es el operador condicional que abrevia la sentencia if else y se denomina expresin condicional, es un operador terciario (trabaja con 3 expresiones) cuyo formato es: FORMATO: Expresin1? Expresin 2: Expresin 3 Operador terciario Donde Expresin 1 es la pregunta o condicin, si Expresin 1 es verdadera es distinta de cero, la Expresin toma el valor de la Expresin 2. Si Expresin 1 es falsa la expresin toma el valor de Expresin 3. x= 10; y= 5; z= 0; z= (x>y)? 20:30 ; z=20; Otra forma: z= (x>y)? y*5 :y*10; z= y*5 =25 x= 0000101 =5 0000001 = 1 dividir 2
2 2

1010000 = 20 multiplicar 2 .

Programacin

z=25

PRECEDENCIA DE OPERADORES Es el orden en el que se evalan los operadores, en la siguiente tabla se muestra la precedencia de la ms alta a la ms baja prioridad, tomndose en cuenta que los operadores en la misma lnea tienen el mismo nivel de precedencia, los parntesis son operadores que aumentan la precedencia de la operacin que contienen. Los corchetes llevan a cabo la definicin de los argumentos de un arreglo y tambin pueden ser utilizados en arreglos de todas las dimensiones.

DESCRIPCIN Unario Multiplicativos Aditivos Desplazamiento Relacin AND sobre bits XOR sobre bits OR sobre bits AND lgico OR lgico Condicional Asignacin y Abreviaturas Coma

OPERADORES () [] - > ! ~ ++ -- -(tipo) * & size of * / % + < <= > >= != & ^ | && || ?: = += -= *= /= %= ,

Los operadores Unarios, Condicional y de Asignacin y Abreviaturas se evalan de derecha a izquierda. El Resto de Operadores que tienen el mismo nivel de precedencia son evaluados de izquierda a derecha, pudindose utilizar parntesis para alterar el orden de evaluacin EVALUACIN DE EXPRESIONES Una expresin est constituida por la combinacin de operandos y operadores de acuerdo a la sintaxis correspondiente y adems una expresin siempre tiene un valor. La evaluacin de las expresiones se realiza de acuerdo a la precedencia preestablecida. Existen problemas cuando la expresin tiene al operador de incremento obtenindose diferentes valores por lo que es mejor evitar el uso de este operador en expresiones de este tipo. CONVERSIONES DE TIPO Cuando en una expresin se mezclan constantes y variables de distintos tipos, todas ellas se convierten a un tipo nico que generalmente es de tipo flotante. Existen 2 formas de convertir los tipos: 1.- CONVERSIN AUTOMTICA.- se realiza la conversin automticamente de todos los operandos, al mismo tipo, la categora de los tipos est dada por su tamao de bytes el de mayor valor tiene mayor jerarqua. En cualquier operacin que aparezca 2 tipos de datos se

Programacin

convierte el operador de menor categora al de mayor, y el resultado de la operacin ser tambin del mismo tipo de los operadores mayor jerarqueria. El resultado de una sentencia de asignacin se convierte al tipo de la variable a la que se le asigna el valor de la expresin. Este resultado puede ser una promocin de tipo una prdida de rango. int a= 5; float x= 7.5; float y= 2.0; y= y+(a*x)/3 2.- MOLDES.- son ms que especificaciones concretas de tipo, evitando as conversiones automticas donde se pierde dgitos de precisin, el formato es: FORMATO: (tipo) expresin Ejemplo: y= y+(int) x/a y= 2.0 + 1 y= 3.0

Programacin

You might also like