c_pag_13_46
TRANSCRIPT
-
8/22/2019 C_pag_13_46
1/34
unIDADE I
COnCEITOS InICIAIS
Objetivos de Aprendizagem
Conhecerosconceitos iniciaisdeprogramao,da linguagemCeaestruturadeum programa em C.
Estudar ostiposdedados,variveis,constantes,expresseseoperadores. Entendercomorealizaratribuio,entradaesadadedados.
Plano de Estudo
A seguir, apresentam-se os tpicos que voc estudar nesta unidade:
LinguagemC
ConceitosIniciaisdeProgramao
EstruturadeumProgramaemC
Identifcadores
TiposdeDados
PalavrasReservadas
Variveis
Constantes
ExpresseseOperadores
FunesIntrnsecas
-
8/22/2019 C_pag_13_46
2/34
Atribuio
EntradadeDados
SadadeDados
Construindoumprograma
-
8/22/2019 C_pag_13_46
3/34
15
InTRODuO
Nesta primeira unidade, voc ser introduzido ao universo da Linguagem de Programao C,
uma linguagem poderosa e que tem se tornado cada vez mais popular.
Primeiramente, voc conhecer o histrico da linguagem C, suas caractersticas, pontos fortes
e fracos e compiladores disponveis para essa linguagem. Estudar os conceitos bsicosrelacionados programao que possibilitam entender como um cdigo-fonte convertido
em um programa executvel. Alm disso, ter contato com a interface do compilador que
adotaremos na construo de nossos programas.
Estudaremos a estrutura bsica de um programa em C e os elementos que a compe. Ao
construir nossos programas precisamos guardar algumas informaes do problema. Para
isso, veremos o conceito de variveis e constantes e sua sintaxe em C. Conheceremos os
tipos de dados disponveis na linguagem, expresses e operadores, funes intrnsecas e
como utiliz -los em nossos programas. Para obter dados dos usurios, mostrar mensagens e
resultados de processamento estudaremos as funes relacionadas entrada de dados, que
nos permitem interagir como usurio; comando de atribuio que possibilita atribuir valor s
variveis; e funes de sada de dados que permitem o envio de mensagens e exibio dos
resultados do processamento.
Ao final desta unidade, voc ter adquirido conhecimento sobre a estrutura de um programa,
variveis, constantes, palavras reservadas da linguagem C, expresses e operadores, funes
intrnsecas, comando de atribuio, funo de entrada de dados e funo de sada de dados.
Com esses conceitos voc saber construir os primeiros programas em C. Vamos l?
-
8/22/2019 C_pag_13_46
4/34
16
LInGuAGEM C
A linguagem C foi concebida e implementada, inicialmente, para o sistema operacional UNIX, na
dcada de 70 por Dennis Ritchie nos Laboratrios Bell da companhia AT & T (KERNINGHAN;
RITCHIE, 1988).
C uma linguagem de programao de propsito geral, com uma sintaxe muito compacta e
que permite a combinao de operadores de diferentes tipos. Alm disso, no est vinculada
a um hardware especfico ou qualquer outro sistema. De modo que fcil escrever programas
que sero executados sem mudanas em qualquer mquina que suporta C (KERNINGHAN;
RITCHIE, 1988).
Segundo Rocha (2006), a principal caracterstica da linguagem C que ela combina as
vantagens de uma linguagem de alto nvel com a eficincia da linguagem de montagem
assembly. Em C possvel realizar operaes aritmticas sobre ponteiros e operaes sobre
palavras binrias.
Podemos dizer que esta liberdade oferecida pela linguagem C uma faca de dois gumes, pois
ao passo que permite com que programadores experientes escrevam cdigos mais compactos
Fonte:SHuTTE
RSTOCK.C
OM
-
8/22/2019 C_pag_13_46
5/34
17
e eficientes, possibilita que programadores inexperientes realizam construes sem sentido,
as quais so aceitas como vlidas pelo compilador. Deste modo, ao construir programas
utilizando C devemos ficar atento s construes da linguagem (ROCHA, 2006).
Ascencio e Campos (2010) destacam que durante alguns anos, o padro da linguagem C foi
fornecido com a verso do sistema operacional UNIX. No entanto, com a popularizao dos
microcomputadores foram criadas vrias implementaes da linguagem C o que ocasionouvrias discrepncias. Em 1983, o ANSI (American National Standards Institute) criou um
comit para definir um padro que guiasse todas as implementaes da linguagem C.
Na literatura podemos encontrar diversos compiladores C, sendo os principais: GCC, Dev C++,
C++ Builder, Turbo C e Visual C#. Em nossa disciplina de Algoritmos e Lgica de Programao
II adotaremos o Turbo C (Figura 1).
Figura 1- Interface Turbo C
-
8/22/2019 C_pag_13_46
6/34
18
COnCEITOS InICIAIS DE PROGRAMAO
A programao inicia-se com a escrita do programa (cdigo-fonte) e encerra com a gerao
de um programa executvel. A escrita do programa deve ser realizada em um editor de textos.
Aps a criao do programa temos que compil-lo. O processo de compilao analisa o cdigo
e o converte para um cdigo objeto, que a verso em linguagem de mquina do programa. Se
o programa possui chamada s funes de bibliotecas, o lincador (ligador) rene o programa
objeto com as bibliotecas referenciadas e gera o cdigo executvel (ROCHA, 2006).
A Figura 2 ilustra o processo de criao de um programa, desde a criao do cdigo-fonte at
a gerao de um programa executvel.
Cdigo-Fonte Compilador
Bibliotecas
Programa - objeto
Ligador
Programa - executvel
Figura 2 - Etapas para a criao de um programa
Fonte: adaptado de Rocha (2006)
Em nossa disciplina escreveremos nossos programas utilizando o Turbo C (Figura 1). Na Figura
3 so mostrados os menus em que as operaes compilar, ligar e executar so realizadas.
-
8/22/2019 C_pag_13_46
7/34
19
Figura 3 - Turbo C
ESTRuTuRA DE uM PROGRAMA EM C
Kerninghan e Ritchie (1988) destacam que a nica maneira de aprender uma nova linguagem
de programao escrevendo programas nela. Com isto, para entender a estrutura de um
programa em C, vamos construir nosso primeiro programa Hello, world (Quadro 1).
Quadro 1 - Programa HelloWorld
# include
main()
{
printf(Hello, World);
return (0);
}
-
8/22/2019 C_pag_13_46
8/34
20
Fique tranquilo!! Vamos analisar o programa acima linha a linha e entender o que cada um
destes elementos significa.
Na primeira linha temos a instruo #include , que indica ao compilador que deve
incluir o contedo do arquivo pr-definido chamado de stdio.h. Este arquivo chamado de
arquivo de cabealho e contm declaraes de funes para entrada e sada de dados.
Portanto, no podemos esquecer de inserir esta linha em nossos programas.
Em seguida, temos a instruo main (), que identifica uma funo denominada main. Os
programas em C so formados por chamadas de funo. Obrigatoriamente, todo programa
deve possuir uma funo main, a qual chamada quando o programa executado. Note que
o contedo da funo delimitado por chaves, de modo anlogo ao incio e fim do algoritmo.
Isto quer dizer que o contedo entre as chaves ser executado sequencialmente quando o
programa for executado.
Dentro das chaves temos duas instrues, a primeira dela printf, que uma funopreviamente definida no arquivo de cabealho stdio.h que imprime na tela a sequncia de
caracteres Hello, World. A ltima linha, return (0), indica o valor de retorno da funo. No
caso 0, indica que o programa terminou sem erros. Observe que ao final de cada instruo h
um ponto e vrgula, isto , todos os comandos em C terminam com ;.
Agora que vimos cada um dos elementos, voc deve estar se perguntando como executar
isso. Para visualizar nosso programa precisamos escrever o cdigo no Turbo C, conforme
Figura 4. Observe que alm do cdigo apresentado no Quadro 1, h outras informaes que
esto entre /* */. Este comando utilizado para escrever comentrios em nosso cdigo, isto ,
o compilador desconsidera qualquer coisa que esteja entre estes dois pares de smbolos. Um
comentrio pode ter mais de uma linha.
Os comentrios so textos que podem ser inseridos com o objetivo de document-lo. Em
nossos programas adotaremos como padro a escrita de comentrios. Eles nos auxiliam a
-
8/22/2019 C_pag_13_46
9/34
21
entender o funcionamento dos programas.
Figura 4 - Primeiro programa em C Cdigo
Aps escrever o cdigo do programa temos que compil-lo (ALT + F9). neste momento que
sero realizadas as verificaes de sintaxe. E para visualizar o resultado do programa basta
execut-lo. No caso do Turbo C podemos ir ao menu Run ou pressionar as teclas Ctrl + F9.
Ao executar o cdigo temos como resultado a impresso na tela da cadeia de caracteres Hello,
World, conforme pode ser visualizado na Figura 5.
-
8/22/2019 C_pag_13_46
10/34
22
Figura5-PrimeiroprogramaemCSada
A estrutura geral de um programa em C apresentada no Quadro 2.
Quadro 2 - Estrutura geral de um programa em C
main()
{
conjunto de instrues;
return (0);
}
-
8/22/2019 C_pag_13_46
11/34
23
IDEnTIFICADORES
Os identificadores consistem nos nomes que utilizamos para representar variveis, constantes,
tipos, funes e rtulos do programa. Um identificador uma sequncia de uma ou mais
letras, dgitos ou sublinhas, que comea com uma letra ou sublinha. Em geral, evita-se iniciar
um identificador com sublinhas, pois este tipo de notao reservado para o compilador
(PAPPAS; MURRAY, 1991).
A linguagem C case sensitive, isto , o compilador considera letras maisculas e minsculascomo caracteres distintos. Os comandos em C s podem ser escritos em minsculos, seno
o compilador ir interpret-los como variveis. O Quadro 3 apresenta alguns exemplos de
identificadores vlidos e invlidos.
Fonte:SHuTTERS
TOCK.C
OM
-
8/22/2019 C_pag_13_46
12/34
24
Quadro 3 - Exemplo de identificadores
Identificadores vlidos Identificadores invlidos
A 2
a b@
media media idadealtura2 x*y
media_idade #media
x36 idade!
Devemos lembrar que em C o identif icador A no o mesmo que o identificador a, cada um
um identificador nico.
TIPOS DE DADOS
Na linguagem C as informaes podem ser representadas por sete tipos bsicos: char, int,
float, double, enum, void e pointer(PAPPAS; MURRAY, 1991).
O tipo char composto por caracteres simples e strings (cadeia de caracters). O tipoint
so dados numricos que no possuem componentes decimais ou fracionrios. O tipo float,
valores em ponto flutuante, so nmeros que tm componente decimal ou fracionrio. O
tipo double so valores em ponto flutuante de preciso dupla, que apresentam alcance mais
extenso. O tipo enum, dados enumerados, possibilitam os tipos definidos pelo usurio. O tipovoid significa valores que ocupam 0 bits e no possuem valor algum. O tipo pointerrepresenta
um tipo especial, que no contm informao, mas sim, uma localizao de memria que
contm o dado verdadeiro.
A partir dos tipos bsicos podem ser definidos outros tipos de dados utilizando modificadores.
No Quadro 4 so apresentadas informaes relativas faixa de valores e o tamanho
-
8/22/2019 C_pag_13_46
13/34
25
aproximado dos tipos de dados. Observe que foram aplicados os modificadores unsigned,
short e long aos tipos bsicos.
O modificadorunsigned utilizado para declarar os tipos como sem sinal, duplicando assim
a gama de valores que pode ser representado. O modificador short reduz a capacidade de
armazenamento, enquanto o modificadorlong aumenta a capacidade.
Quadro 4 - Tipos de dados e faixa de valores
Fonte: Ascencio; Campos (2010)
Ascencio e Campos (2010) apontam que a faixa de valores e o tamanho podem variar de
acordo com o compilador. Os valores descritos acima esto em conformidade com o padro
ANSI.
-
8/22/2019 C_pag_13_46
14/34
26
PALAvRAS RESERvADAS
As palavras reservadas, tambm conhecidas como palavras-chave, so identificadores que
possuem uso especfico para a linguagem C, ou seja, tm significados especiais.
No Quadro 5 so destacadas as palavras reservadas da linguagem C. Lembre-se: no
podemos utilizar como identificador uma palavra reservada.
Quadro 5 - Palavras reservadas da linguagem C
Fonte: Pappas; Murray (1991)
-
8/22/2019 C_pag_13_46
15/34
27
vARIvEIS
Em nossos programas precisamos armazenar algumas informaes e para isto utilizamos as
variveis. Uma varivel um espao na memria principal do computador que pode conter
diferentes valores a cada instante de tempo (LOPES; GARCIA, 2002).
Na linguagem C as variveis so declaradas aps a especificao de seus tipos. Sendo os
tipos mais utilizados: int, float e char. Note que em C no existe o tipo de dados boolean, pois
considera verdadeiro qualquer valor diferente de 0. Alm disso, no h um tipo especial para
armazenar cadeia de caracteres (strings), sendo utilizado um vetor contendo vrios elementos
do tipo char(ASCENCIO; CAMPOS, 2010).
A sintaxe para declarao de variveis dada por:
identificador;
No Quadro 6 so apresentados exemplos de declarao de variveis. Atente para o fato de
que a declarao de variveis seguida de ; . Observe, tambm, que podemos declarar em
uma mesma linha diversas variveis do mesmo tipo.
Quadro6-Exemplosdedeclaraodevariveis
-
8/22/2019 C_pag_13_46
16/34
28
COnSTAnTES
Uma constante armazena informaes que no variam com o tempo, ou seja, o seu contedo
um valor fixo. Em C podemos definir constantes por meio da seguinte sintaxe:
#define valor
Observe que na definio de constantes no utilizamos o ; no final.
EXPRESSES E OPERADORES
As expresses esto diretamente relacionadas ao conceito de frmula matemtica, em que um
conjunto de variveis e constantes relaciona-se por meio de operadores (LOPES; GARCIA,
2002).
As expresses aritmticas so aquelas em que o resultado consiste em um valor numrico.Desta forma, apenas operadores aritmticos e variveis numricas (inteiro e real) podem ser
utilizadas em expresso desse tipo.
O Quadro 7 apresenta os operadores aritmticos da linguagem C, destacando suas
representaes e forma de uso.
Quadro 7 - Operadores aritmticos
-
8/22/2019 C_pag_13_46
17/34
29
Em C temos, tambm, os operadores aritmticos de atribuio (Quadro 8) que so utilizados
para representar de maneira sinttica uma operao aritmtica, seguida de uma operao de
atribuio (ASCENCIO; CAMPOS, 2010).
Quadro8-Operadoresmatemticosdeatribuio
Fonte: adaptado de (ASCENCIO; CAMPOS, 2010)
As expresses relacionais referem-se comparao entre dois valores de um tipo bsico. Os
operadores relacionais so destacados no Quadro 9, em que possvel visualizar o operador,
smbolo associado e forma de uso.
-
8/22/2019 C_pag_13_46
18/34
30
Quadro 9 - Operadores relacionais
Fonte: adaptado de (ASCENCIO; CAMPOS, 2010)
As expresses lgicas so aquelas cujo resultado consiste em um valor lgico verdadeiro oufalso. Neste tipo de expresso podem ser usados os operadores relacionais, os operadores
lgicos ou expresses matemticas.
No Quadro 10 so descritos cada um dos operadores lgicos: conjuno, disjuno e negao.
-
8/22/2019 C_pag_13_46
19/34
31
Quadro 10 - Operadores lgicos
Fonte:adaptado de (LOPES; GARCIA, 2002)
Em uma expresso podemos ter mais de um operador. Em situaes que h um nico operador
a avaliao da expresso realizada de forma direta. Quando h mais de um operador
necessria a avaliao da expresso passo a passo, ou seja, um operador por vez. No Quadro
11 apresentado um resumo com os principais operadores da linguagem C, destacando desde
a precedncia mais alta at a mais baixa, e descreve como cada operador est associado
(esquerda para direita ou direita para esquerda). Cabe ressaltar, que os operadores entre
linhas tm a mesma precedncia.
-
8/22/2019 C_pag_13_46
20/34
32
Quadro11-NveisdePrecednciadeOperador
Operador Descrio Associa pela Precedncia
()
++ --
!
&
*
/
%
Incremento/decremento
+
-
=
==
!=
&&
Vrgula
Atribuio
||
?:
Expresso de funo
Negao
Endereo
Multiplicao
Diviso
Resto
Adio
Subtrao
Menor que
Menor ou igual
Maior que
Maior ou igual
Igual
Diferente
Conjuno (E lgico)
Disjuno (Ou lgico)
Condicional
,
=, %=, +=, - =, *=, /=,
>>=,
-
8/22/2019 C_pag_13_46
21/34
33
FunES InTRnSECAS
As funes intrnsecas so frmulas matemticas prontas que podemos utilizar em nossos
programas. O Quadro 12 apresenta as principais funes da linguagem C, destacando o
comando associado, um exemplo e o que ela faz.
Quadro12-FunesintrnsecasdalinguagemC
Funo Exemplo Objetivo
ceil
ceil(x)
cos cos(x)
exp exp(x)
abs abs(x)
floor floor(x)
log log(x)
log10 log10(x)
modf z=modf(x,&y)
pow pow(x,y)
sin sin(x)
sqrt sqrt(x)
tan tan(x)
M_PI M_PI
Arredonda um nmero real para cima. Por exemplo, cel(2.3) 3.
Calcula o cosseno de x. O valor de x deve estar em radianos.
Obtm o logaritmo natural e elevado potncia x.
Retorna o valor absoluto de x.
Arredonda um nmero real para baixo. Por exemplo,floor(2.3) 2.
Retorna o logaritmo natural de x.
Retorna o logaritmo de base 10 de x.
Decompe o nmero real armazenado em x em duas partes:y recebe a parte fracionria e z a parte inteira.
Calcula a potncia de x elevado a y.
Calcula o seno de x.
Calcula a raiz quadrada de x.
Calcula a tangente de x.
Retorna o valor de
Fonte: Ascencio; Campos (2010)
Fonte:SH
uTTERSTOCK.C
OM
-
8/22/2019 C_pag_13_46
22/34
34
ATRIBuIO
O comando de atribuio usado para conceder valores ou operaes a variveis. O smbolo
utilizado para a atribuio = (sinal de igualdade). A sintaxe para atribuio dada por:
identificador = expresso
O identificador representa a varivel a qual ser atribudo um valor e o termo expresso o
que ser atribudo, podendo ser uma expresso aritmtica ou lgica. Alguns exemplos do uso
do comando de atribuio podem ser visualizados no Quadro 13.
Quadro 13 - Exemplos de atribuio
Note que na linguagem C os caracteres so representados entre apstrofos () e as cadeias
de caracteres entre aspas ().
-
8/22/2019 C_pag_13_46
23/34
35
EnTRADA DE DADOS
A entrada de dados permite receber os dados digitados pelo usurio. Os dados recebidos so
armazenados em variveis. Na linguagem C existem diversas funes para entrada de dados,
algumas delas so cin, gets e scanf(Quadro 14) (ASCENCIO; CAMPOS, 2010).
Os comandos gets e scanfarmazenam toda a cadeia de caracteres at que seja pressionada
a tecla ENTER. J o comando cin armazena os caracteres at que seja encontrado um espao
em branco.
Quadro 14 - Exemplos de entrada de dados
Fonte: adaptado de (ASCENCIO; CAMPOS, 2010)
Fonte:SHuTTERSTOCK.C
OM
-
8/22/2019 C_pag_13_46
24/34
36
A funo scanf a mais utilizada, sendo sua sintaxe dada por:
scanf(expresso de controle, lista de argumentos);
O argumento expresso de controle deve ser escrito entre aspas e contm os especificadores
de formato (Quadro 15) que indicam como os dados digitados devem ser armazenados. No
argumento lista de variveis, as variveis devem ser separadas por vrgulas e cada uma delas
deve ser precedida pelo operador de endereo (&). As usadas para receber valores por meio
da funo scanfdevero ser passadas pelos seus endereos. O operador de endereo indica
o endereo da posio de memria para a varivel (ROCHA, 2006).
Na leitura de cadeias de caracteres (strings) no se utiliza o operador de endereo (&), pois o
identificar do vetor j o endereo do primeiro elemento do vetor.
Quadro 15 - Especificadores de formato
Cdigo Significado
%c Leitura de um nico caractere
%d Leitura de um nmero decimal inteiro.
%i Leitura de um decimal inteiro.
%u Leitura de um decimal sem sinal.
%e Leitura de um nmero em ponto flutuante com sinal opcional.
%f Leitura de um nmero em ponto flutuante com ponto opcional.
%g Leitura de um nmero em ponto flutuante com expoente opcional.
%o Leitura de um nmero em base octal.
%s Leitura de uma string.
%x Leitura de um nmero em base hexadecimal.
%p Leitura de um ponteiro.
Fonte: adaptado de (ROCHA, 2006)
-
8/22/2019 C_pag_13_46
25/34
37
Tomemos como exemplo, ler uma varivel que armazena a idade, o uso da funo scanfdeve
ser realizado do seguinte modo:
scanf(%d, &idade);
Para utilizar os comandos de entrada de dados necessrio incluir a biblioteca stdio.h,
utilizando o comando #include ;
SADA DE DADOS
A sada de dados permite mostrar dados aos usurios. Na linguagem C utilizamos a funo
printfpara exibir resultados do processamento e mensagens. A sintaxe desta funo :
printf(expresso de controle, lista de argumentos);
O argumento expresso de controle pode conter mensagens que sero exibidas na tela e osespecificadores de formato que indicam o formato que os argumentos devem ser impressos.
A lista de argumentos pode conter identificadores de variveis, expresses aritmticas ou
lgicas e valores constantes.
Alm dos especificadores de formato podemos utilizar cdigos especiais na sada de dados.
Esses cdigos so apresentados no Quadro 16.
-
8/22/2019 C_pag_13_46
26/34
38
Quadro 16 - Cdigos especiais
Cdigo
\n Nova linha
\t Tab
\b Retrocesso
\ Aspas
\\ Contrabarra
\f Salta pgina de formulrio
\0 Nulo
Significado
Fonte: adaptado de (PAPPAS; MURRAY, 1991)
O programa (Figura 6) apresenta alguns exemplos de uso da funo printf. Para facilitar o
entendimento verifique o que exibido em vdeo para cada uma das instrues.
Figura 6 - Entendendo a funo printf Cdigo
-
8/22/2019 C_pag_13_46
27/34
39
A sada obtida com a execuo do programa da Figura 6 apresentada na Figura 7. Como
podemos observar as mensagens foram impressas em tela sem quebra de linha. Para imprimir
cada mensagem em uma linha devemos utilizar o comando especial (\n). Este cdigo pode ser
visualizado na Figura 8.
Figura7-EntendendoafunoprintfSada
Ao comparar os cdigos da Figura 6 e Figura 8 podemos observar que foi inserido o cdigo
especial \n na funo printf. Esse cdigo responsvel por posicionar o cursor em uma nova
linha. Com isto, temos que a sada a impresso de cada mensagem em uma linha, como
pode ser visualizado na Figura 9.
-
8/22/2019 C_pag_13_46
28/34
40
Figura 8 - Entendendo a funo printf - Cdigo
Figura9-Entendendoafunoprintf-Sada
-
8/22/2019 C_pag_13_46
29/34
41
Se voc ficou com dvidas quanto ao funcionamento do printf, fique tranquilo!!! Veremos mais
casos de aplicao desta funo.
COnSTRuInDO uM PROGRAMA
Vamos elaborar um programa que leia nome, idade e altura de uma pessoa e exiba nome,
idade, altura e ano de nascimento da pessoa. Para facilitar o entendimento sobre o problema
vamos estrutur-lo em trs partes: Entrada Processamento e Sada.
Na entrada de dados temos que obter os dados de nome, idade e altura. Cada um desses
dados precisa ser armazenado em uma varivel e na leitura deles utilizaremos a funo scanf.
Como processamento temos que calcular o ano em que a pessoa nasceu que ser dado pelo
ano atual menos a idade da pessoa. E como sada devemos enviar para a tela o nome, idade,
altura e ano de nascimento. Para mostrar essas informaes no vdeo utilizaremos a funo
printf.
Fonte:SHuTTERSTOCK.C
OM
-
8/22/2019 C_pag_13_46
30/34
42
Agora que entendemos o problema podemos partir para a construo do programa. Voc se
recorda da estrutura bsica de um programa em C? Nosso programa deve ter uma funo
main e as instrues tm que estar ente os colchetes.
Os valores obtidos na entrada de dados precisam ser armazenados em variveis. Qual o
tipo de cada varivel? O nome uma cadeia de caracteres, deste modo precisamos de uma
varivel do tipo char. A varivel altura do tipo float e idade do tipo int.
O Quadro 17 apresenta o cdigo para o programa acima descrito.
-
8/22/2019 C_pag_13_46
31/34
43
Quadro 17 - Programa em C
#include /* insere o conteudo do arquivo stdio.h */
main()
{ /* declaracao das variaveis */
int idade, ano;float altura;
char nome[30];
/*entrada de dados */
printf (Digite o seu nome: ); /*mensagem ao usuario */
scanf (%s, nome); /* leitura do nome */
printf (Digite a idade:); /*mensagem ao usuario */
scanf (%d, &idade); /* leitura da idade */
printf (Digite a altura: );/*mensagem ao usuario */
scanf (%f, &altura); /* leitura da altura*/
/* processamento */
ano = 2012 - idade; /*calculo do ano de nascimento */
/*saida de dados */
printf ( \nO nome e : %s, nome);
printf ( \nA altura e : %f, altura);
printf ( \nA idade e : %d, idade);
printf (\nO ano de nascimento e : %d , ano);
return (0);
}
-
8/22/2019 C_pag_13_46
32/34
44
Os resultados da execuo do programa podem ser visualizados na Figura 10. Observe
que inicialmente os dados foram obtidos do usurio e, em seguida, apresentados. Na sada
de dados as variveis do tipo float podem ser formatadas em relao ao nmero de casas
decimais a ser apresentado. Ao imprimir uma varivel do tipo float utilizando a funo printf
o padro completar o nmero com zeros direita, at que fique com seis casas decimais
(Figura 8).
Figura10-ProgramaemC-Sada
No entanto, podemos formatar de um modo diferente usando junto com o especificador de
formato o nmero de casas decimais que desejamos. O Quadro 18 apresenta o mesmoprograma com formatao para a impresso da varivel altura com 2 casas decimais. Na
funo printfao utilizar o especificador de formato inserimos um ponto e o nmero de casas
decimais desejado.
-
8/22/2019 C_pag_13_46
33/34
45
Quadro 18 - Programa em C
#include /* insere o conteudo do arquivo stdio.h */
main()
{ /* declaracao das variaveis */
int idade, ano;float altura;
char nome[30];
/*entrada de dados */
printf (Digite o seu nome: ); /*mensagem ao usuario */
scanf (%s, nome); /* leitura do nome */
printf (Digite a idade:); /*mensagem ao usuario */
scanf (%d, &idade); /* leitura da idade */
printf (Digite a altura: );/*mensagem ao usuario */
scanf (%f, &altura); /* leitura da altura*/
/* processamento */
ano = 2012 - idade; /*calculo do ano de nascimento */
/*saida de dados */
printf ( \nO nome e : %s, nome);
printf ( \nA altura e : %.2f, altura);
printf ( \nA idade e : %d, idade);
printf (\nO ano de nascimento e : %d , ano);
return (0);
}
-
8/22/2019 C_pag_13_46
34/34
46
A Figura 11 apresenta o resultado obtido com a formatao da sada para a varivel real altura.
Figura11-ProgramaemC-SadaFormatada
COnSIDERAES FInAIS
Nesta unidade, voc deu os primeiros passos no aprendizado sobre a Linguagem de
Programao C, conhecendo as caractersticas, pontos fortes e fracos, e como o cdigo que
escrevemos se torna um programa executvel.
Conhecemos a estrutura bsica de um programa em C, que possui uma funo main, que
chamado quando o programa executado. Vimos que o contedo da funo delimitado por
chaves e o contedo entre elas executado de modo sequencial. Alm disso, estudamos queao final das instrues devemos inserir a funo return (0), que o programa terminou sem
erros e que todos os comandos terminam com ponto e vrgula.
Aprendemos como documentar nossos cdigos inserindo comentrios os quais so escritos
entre /* */ e podem ter mais de uma linha. Entendemos as regra para a nomeao de
identificadores.
Estudamos os sete tipos bsicos de dados (char, int, float, double, enum, void e pointer),
operadores e funes intrnsecas disponveis na linguagem C. Em relao aos tipos de dadosvimos que eles podem gerar outros tipos a partir da aplicao dos modificadores unsigned,
short e long.