programando en c o c++2012
TRANSCRIPT
-
8/18/2019 Programando en C o C++2012
1/30
Programando en C oC++
Compilador gcc o g++
-
8/18/2019 Programando en C o C++2012
2/30
Programa.
Un programa en sentido informático está
constituido por un conjunto de instrucciones
que se ejecutan ordinariamente de modo
secuencial, es decir, cada una a continuaciónde la anterior.
-
8/18/2019 Programando en C o C++2012
3/30
Programa Todo programa C, desde el más pequeño hasta el más complejo, tiene
un programa principal que es con el que se comienza la ejecución delprograma. Este programa principal es tami!n una función, pero unafunción que está por encima de todas las demás.
Esta función se llama main"# $ tiene la forma siguiente "la palara %oides opcional en este caso#&
%oid main "%oid#
' sentencia() sentencia(* ...
as lla%es '... constitu$en el modo utilizado por el lenguaje C paraagrupar %arias sentencias de modo que se comporten como unasentencia -nica "sentencia compuesta o loque#. Todo el cuerpo de lafunción dee ir comprendido entre las lla%es de apertura $ cierre.
-
8/18/2019 Programando en C o C++2012
4/30
Palabras claves del C. El C es un lenguaje mu$ conciso, con muchas menos palaras
cla%e que otros lenguajes. continuación se presenta la lista de las /*
palaras cla%e del 012 C, para las que más adelante se dará detalle de su significado "algunos
compiladores añaden otras
palaras cla%e, propias de cada uno de ellos. Es importantee%itarlas como identificadores#& uto doule int struct 3rea4 else long s5itch Case enum register t$pedef
Char e6tern return union Const float short unsigned Continue for signed %oid 7efault goto sizeof %olatile 7o if static 5hile
-
8/18/2019 Programando en C o C++2012
5/30
Constantes En C e6isten distintos tipos de constantes&
1. Constantes numéricas. 1on %alores num!ricos, enteros o de puntoflotante. 1e permiten tami!n constantes octales "n-meros enteros enase 8# $ he6adecimales "ase )9#.
*. Constantes carácter. Cualquier carácter indi%idual encerrado entreapóstrofos "tal como :a:, :;:, :#:, :+:, etc.# es considerado por C como unaconstante carácter, o en realidad como un n-mero entero pequeño"entre < $ *==, o entre >)*8 $ )*?, seg-n los sistemas#.
E6iste un código, llamado código 1C22, que estalece unaequi%alencia entre cada carácter $ un %alor num!rico correspondiente.
/. Cadenas de caracteres. Un conjunto de caracteres alfanum!ricosencerrados entre comillas es tami!n un tipo de constante del lenguajeC, como por ejemplo& @espacio@, @Esto es una cadena de caracteres@,etc.
A. Constantes simbólicas. as constantes simólicas tienen un nomre"identificador# $ en esto se parecen a las %ariales. 1in emargo, nopueden camiar de %alor a lo largo de la ejecución del programa. En Cse pueden definir mediante el preprocesador o por medio de la palaracla%e const. En C++ se utiliza preferentemente esta segunda forma.
-
8/18/2019 Programando en C o C++2012
6/30
Tipos de datos
-
8/18/2019 Programando en C o C++2012
7/30
Caracteres tipo char
as %ariales carácter "tipo char# contienen un -nico carácter $ sealmacenan en un $te de memoria "8 its#. En un it se puedenalmacenar dos %alores "< $ )#B
La declaración de variables tipo carácter puede tener la forma& char nomreB char nomre), nomre*, nomre/B
1e puede declarar más de una %ariale de un tipo determinado en unasola sentencia. 1e puede tami!n inicializar la %ariale en ladeclaración.
Por ejemplo, para definir la %ariale carácter letra $ asignarle el %alor
a, se puede escriir& char letra = aB
partir de ese momento queda definida la %ariale letra con el %alorcorrespondiente a la letra a.
-
8/18/2019 Programando en C o C++2012
8/30
Variables Una %ariale entera "tipo int# se declara, o se
declara $ se inicializa en la forma& unsigned int numero int nota = 1!
E6iste la posiilidad de utilizar enteros con un rango
ma$or si se especifica como tipo long en sudeclaración& long int numero"grande
;a que la palara cla%e int puede omitirse en este
caso, long numero"grandeB as %ariales tipo float se declaran de la forma&
float numero(realB
-
8/18/2019 Programando en C o C++2012
9/30
Constantes carácter.
-
8/18/2019 Programando en C o C++2012
10/30
OPERADORES ART!"TCOS
os operadores aritm!ticos son los más sencillos deentender $ de utilizar. Todos ellos son operadoresinarios. En C se utilizan los cinco operadoressiguientes& #uma$ % &esta$ ' (ultiplicación$ ) *ivisión$ + &esto$
Todos estos operadores se pueden aplicar aconstantes, %ariales $ e6presiones. El resultado esel que se otiene de aplicar la operacióncorrespondiente entre los dos operandos.
-
8/18/2019 Programando en C o C++2012
11/30
#os operadores relacionales
son los siguientes$
-gual ue o identico ue$ == (enor ue$ / (a0or ue$ (enor o igual ue$ /= (a0or o igual ue$ = *istinto ue$ 2=
Todos los operadores relacionales son operadores
inarios "tienen dos operandos#, $ su forma general esla siguiente&
e3presion1 operador e3presion4
-
8/18/2019 Programando en C o C++2012
12/30
Comentarios
os comentarios en C se pueden hacer utilizando +) comentario)+ o ++.
5jemplo
%ariale() %ariale(*B +) En esta lDnea seasigna a %ariale() el %alor contenido en%ariale(* )+
%ariale() %ariale(*B ++ En esta lDnea se asignaa
++ %ariale() el %alor
++ contenido en %ariale(*
-
8/18/2019 Programando en C o C++2012
13/30
#ibrer$as en C El lenguaje C lo hace por medio de funciones
preprogramadas que se %enden o se entregan junto con elcompilador.
Estas funciones están agrupadas en un conjunto delirerDas de código ojeto, que constitu$en la llamadalirerDa estándar del lenguaje.
a llamada a dichas funciones se hace por medio de ladirecti%a del preprocesador 6include.
a lectura $ escritura "o entrada $ salida# de datos serealiza por medio de stdio 7standard input+output8.
5jemplo$ 6include /stdio.h
-
8/18/2019 Programando en C o C++2012
14/30
Sentencia %
Esta sentencia de control permite ejecutar o
no una sentencia simple o compuesta seg-n
se cumpla o no una determinada condición.
Esta sentencia tiene la siguiente formageneral&
if 7e3presion8
sentenciaB ' si son mas de *sentencias
-
8/18/2019 Programando en C o C++2012
15/30
Sentencia % else
1E0TE0C2 2 ... E1E Esta sentencia permite realizar una
ifurcación, ejecutando una parte u otra del
programa seg-n se cumpla o no una ciertacondición. a forma general es la siguiente&
if "e6presion#
sentencia()B ' si son mas de *
else
sentencia(*B ' si son mas de *sentencias
-
8/18/2019 Programando en C o C++2012
16/30
Sentencia % else m<iple Esta sentencia permite realizar una ramificación m-ltiple, ejecutando
una entre %arias partes del programa seg-n se cumpla una entre ncondiciones. a forma general es la siguiente&
if "e6presion()#sentencia()B
else if "e6presion(*sentencia(*Belse if "e6presion(/#
sentencia(/Belse if "...#
...
Felsesentencia(nBG
' si son mas de * sentencias
-
8/18/2019 Programando en C o C++2012
17/30
Sentencia S'itch a sentencia que se %a a descriir a continuación desarrolla una función
similar a la de la sentencia if ... else con m-ltiples ramificaciones, aunquecomo se puede %er presenta tami!n importantes diferencias. a formageneral de la sentencia s5itch es la siguiente&s5itch "e6presion# '
case e6presion(cte()& sentencia()B rea4Bcase e6presion(cte(*& sentencia(*B rea4B
...case e6presion(cte(n& sentencia(nB rea4(nBFdefault&
sentenciaBG
' si son mas de * sentencias
-
8/18/2019 Programando en C o C++2012
18/30
(&cles
demás de ifurcaciones, en el lenguaje Ce6isten tami!n %arias sentencias quepermiten repetir una serie de %eces laejecución de unas lDneas de código.
Esta repetición se realiza un n-merodeterminado de %eces, o ien hasta que secumpla una determinada condición de tipológico o aritm!tico.
as tres construcciones del lenguaje C pararealizar ucles son el 9hile, el for 0 eldo...9hile.
-
8/18/2019 Programando en C o C++2012
19/30
Sentencia )hile
Esta sentencia permite ejecutar
repetidamente, mientras se cumpla una
determinada condición, una sentencia o
loque de sentencias. a forma general escomo sigue&
5hile "e6presion(de(control#
sentenciaB
' si son mas de * sentencias
-
8/18/2019 Programando en C o C++2012
20/30
Sentencia *or 1E0TE0C2 HI
or es quizás el tipo de ucle mas %ersátil $
utilizado del lenguaje C. 1u forma general es la
siguiente&
for "inicializacionB e6presion(de(controlB
actualizacion#
sentenciaB
Ejemplo&
pe
-
8/18/2019 Programando en C o C++2012
21/30
Sentencia Do )hile 1E0TE0C2 7H ... LM2E
Esta sentencia funciona de modo análogo a 5hile, con
la diferencia de que la e%aluación de
e6presion(de(control se realiza al final del ucle,
despu!s de haer ejecutado al menos una %ez lassentencias entre lla%esB !stas se %uel%en a ejecutar
mientras e6presion(de(control sea true. a forma
general de esta sentencia es&
dosentenciaB
5hile"e6presion(de(control#B
-
8/18/2019 Programando en C o C++2012
22/30
Vectores Un arra$ "tami!n conocido como arreglo,
%ector o matriz# es un modo de manejar una
gran cantidad de datos del mismo tipo ajo
un mismo nomre o identificador. Nor
ejemplo, mediante la sentencia&doule aF)
-
8/18/2019 Programando en C o C++2012
23/30
!atrices. as matrices se declaran de forma análoga, con
corchetes independientes para cada suDndice.a forma general de la declaración es&
tipo nombre:numero"filas;:numero"columnas;
donde tanto las filas como las columnas senumeran tami!n a partir de
-
8/18/2019 Programando en C o C++2012
24/30
*&nciones de entrada ,salida. a función printf78 imprime en la unidad de salida
"el monitor, por defecto#, el te6to, $ las constantes $%ariales que se indiquen. a forma general de estafunción se puede estudiar %iendo su prototipo&
int printf7
-
8/18/2019 Programando en C o C++2012
25/30
Caracteres de conversi-n para la %&nci-n print%/.
-
8/18/2019 Programando en C o C++2012
26/30
*&nci-n scan%/ a función scanf78 es análoga en muchos aspectos a
printf"#, $ se utiliza para leer datos de la entradaestándar "que por defecto es el teclado#.
a forma general de esta función es la siguiente&
scanf7
-
8/18/2019 Programando en C o C++2012
27/30
Caracteres de conversi-n para la %&nci-nscan%/
-
8/18/2019 Programando en C o C++2012
28/30
Nor ejemplo, para leer los %alores de dos
%ariales int $ doule $ de una cadena de
caracteres, se utilizarDan la sentencia&
int nB doule distanciaB
char nomreF*
-
8/18/2019 Programando en C o C++2012
29/30
mportante para programar.
Todos los programas son diferentes no ha$
uno igual.
Macer los programas en lápiz $ despu!s
programar. irerDas de C tarea uscar lirerDas $
funciones en C.
-
8/18/2019 Programando en C o C++2012
30/30
CO!P#A 0 E1EC2TA E3#324
Suarda tu programa en un archi%o.
1al%a tu programa con un nomre.c
Ejemplo suma.c
ra la consola $ %a$ase a la ruta o al
archi%o donde sal%o su programa.
CHN2I CH0 SCC H S++.