Você está na página 1de 21

Tcnicas de Programao

Unidade 1 (Linguagem C)
Contedo desta unidade:

Introduo linguagem C
Variveis, constantes e expresses
Comando printf (funo de escrita)
Comando scanf (funo de leitura)
Operadores aritmticos
Exerccios (temp1.c e temp2.c)

Prof. Roberto Vichinsky

Introduo Linguagem C
A linguagem C, desenvolvida em paralelo com o UNIX,
atualmente uma das linguagens de programao mais
utilizadas. Suas principais caractersticas so:




Simples e de aprendizado fcil.


Uso amplamente difundido.
Baseada em construes simples, que usam os
recursos da mquina de forma eficiente.
Oferece recursos de modularizao necessrios ao
desenvolvimento de aplicaes de grande porte.
Disponvel em vrias plataformas.

Introduo Linguagem C
Um programa simples
O programa abaixo o clssico Alo, mundo", usado na
maioria dos textos introdutrios para descrever a "cara"
de um programa em C:

#include <stdio.h>
int main()
{
printf(Alo, mundo\n");
}

Introduo Linguagem C
O que este programa faz basicamente escrever na
sada padro a string Alo, mundo". Alguns detalhes
devem ser explicados:




#include <stdio.h> - indica que este programa deve


utilizar as definies feitas no arquivo
int main() { ...}
- corresponde ao "corpo" do
programa. a partir dele que a execuo se inicia.
printf(...) - comando que indica "escreva na tela o
texto que est entre parntesis (o dispositivo de sada
padro o monitor de vdeo).
"Alo, mundo\n" - cadeia de caracteres (string) que
ser escrita. Os caracteres "\n"
representam o
caractere newline (nova linha)

Variveis, constantes e expresses


O exemplo a seguir ilustra alguns conceitos importantes
em C:

#include <stdio.h>
int main()
{
int a,b,c,soma;
a = 1; b = 2; c = 3;
soma = a + b + c;
printf("soma = %d\n",soma);
}

Variveis
Nesse exemplo, o comando

int a, b, c, soma;
declara a, b, c e soma como variveis do tipo inteiro.
Uma varivel do tipo inteiro pode receber qualquer
valor inteiro permitido na mquina.

Variveis - Atribuio
As instrues

a = 1;

b = 2; c = 3;

so instrues de atribuio. Uma instruo de atribuio


indica que uma varivel assume ou passa a assumir o
valor de uma expresso. Nas instrues acima, as
expresses so definidas pelas constantes inteiras 1, 2 e
3. Estas instrues so executadas na ordem em que
aparecem. Ao atribuir um valor a uma varivel, o valor
anterior da mesma simplesmente perdido (uma varivel
sempre tem um nico valor.

Variveis - Atribuio
Considere-se por exemplo a sequncia de instrues
abaixo:

a = 1; a = 2; a = 3;
Aps a execuo desta sequncia de instrues, o valor
de a ser igual a 3 (a cada atribuio, o "valor anterior" da
varivel a destrudo). O valor de uma varivel pode ser
utilizado numa expresso ( soma=a+b+c ). Isso vale
tambm para a varivel esquerda do sinal de atribuio
("=").
Exemplo:

a = 1;
a = a + 2;
a = a + 3;

Variveis - Atribuio
Em C, toda instruo deve ser encerrada com um pontoe-vrgula (;). Duas ou mais instrues podem ser escritas
em uma mesma linha fsica, desde que haja um ponto-evrgula no final de cada instruo.
A sequncia abaixo:

a = 1;
a = a + 2;
a = a + 3;
equivalente a

a = 1; a = a + 2; a = a + 3;

O comando printf
O comando printf utilizado para escrever dados em
forma de texto na sada padro ou num arquivo. Por
enquanto, estamos utilizando a forma mais simples desse
comando:

printf(<sequncia de caracteres
entre aspas > , varivel_1,
varivel_2, ...);
Nesta forma, os caracteres da sequncia so escritos na
sada padro. Ao serem escritos, alguns caracteres tm
um significado especial. Por exemplo o caractere '%'
usado para indicar que o caractere seguinte um
especificador de formato, e ambos devem ser substitudos
pelo valor de uma varivel da lista de variveis.

O comando printf
Por exemplo, na instruo

printf("o valor de a : %d", a);


O par de caracteres '%d' ser substitudo pelo valor da
varivel a. O caractere 'd' indica que este valor deve ser
escrito como um nmero inteiro decimal.

O comando printf
Outro exemplo:

#include <stdio.h>
int main(){
int a,b,c;
a = 1; b = 2; c = 3;
printf("a:%d b:%d c:%d \n ",a,b,c);

}
Neste exemplo, a primeira ocorrncia de "%d" se refere
primeira varivel da lista (a), a segunda refere-se segunda
varivel (b) e assim sucessivamente. O par "\n" est sendo
utilizado para representar o caractere new line que causa a
mudana de linha na sada padro. O resultado da execuo
desse programa dever ser:
a:1 b:2 c:3

O comando scanf
No exemplo abaixo, o comando scanf usado para a
entrada de dados. Seu uso semelhante ao do printf: o
primeiro argumento uma cadeia de caracteres na qual o
par "%d" indica um valor inteiro decimal. Os valores lidos
so associados s variveis que aparecem a seguir. Os
nomes das variveis aparecem precedidos de '&'.

#include <stdio.h>
int main(){
int a,b,c;
scanf("%d %d %d", &a,&b,&c);
printf("a:%d b:%d c:%d \n",a,b,c);
}

O comando scanf


Os 'comandos' scanf e printf na verdade so funes


definidas na biblioteca stdio que internamente chamam
funes da biblioteca padro que por sua vez se utilizam
dos servios oferecidos pelo sistema operacional para
realizar as operaes de leitura e escrita.

As funes scanf e printf trabalham basicamente com


sequncias de caracteres. Elas tm a capacidade de
converter caracteres para outros tipos de dados e viceversa. Essa converso indicada na sequncia de
caracteres atravs de "especificadores de formato",
sempre precedidos de '%'. Nos exemplos apresentados
at aqui, utilizamos apenas "%d" para indicar a
converso de caracteres para inteiros (no caso de scanf)
ou de inteiros para caracteres (no caso de printf).

Operadores aritmticos
Nos exemplos anteriores, foram utilizadas expresses
aritmticas simples como "a+1", "a+b+c". Expresses so
formadas por operandos e operadores.
Operandos so valores (at o momento, inteiros), que
aparecem na expresso como constantes ou variveis.
Operadores so os sinais que indicam uma determinada
operao.
A linguagem C dispe de um grande nmero de
operadores, mas temporariamente vamos nos restringir
aos operadores aritmticos:
+ soma
- subtrao
% resto da diviso

* multiplicao
/ diviso

Operadores aritmticos


Parntesis podem ser utilizados para forar o clculo de


uma expresso numa determinada ordem. Exemplos:
a + (b / 2)
(a * 2) + 1
((((a*2) + 1)*2)+1)*2+1)

Uma expresso como a+b*c ser calculada como


a+(b*c) porque o clculo da mesma leva em conta a
precedncia entre os operadores. Em C essa
precedncia definida da seguinte forma (para os
operadores aritmticos):
+ e - menor precedncia
*, / e % maior precedncia

Exemplo 1
Converso de dias para anos:
#include <stdio.h>
int main (){
/* Declaracao de Variaveis */
int Dias;
float Anos;
/* Entrada de Dados */
printf ("Digite o nmero de dias: ");
scanf ("%d",&Dias);
/* Conversao Dias->Anos */
Anos=Dias/365.25;
printf ("%d dias equivalem a %f anos\n",Dias,Anos);
}

Exemplo 2
Clculo da rea de um crculo:
#include <stdio.h>
main() {
float a, r;
printf("Introduza o raio: ");
scanf("%f", &r);
a = 3.14159 * r * r;
printf(A rea de um crculo de raio %f %f \n",r,a);
}

Exemplo 3
O exemplo 2 tambm podia ser escrito sem a varivel a
(rea). Ficaria assim:
#include <stdio.h>
main(){
float r;
printf("Introduza o raio: ");
scanf("%f", &r);
printf("A rea de um crculo de raio %f %f\n",r,3.14159*r*r);
}

Exemplo 4
E tambm podia ser escrito assim:
#include <stdio.h>
#define PI 3.14159
main(){
float r;
printf("Introduza o raio: ");
scanf("%f", &r);
printf("A rea de um crculo de raio %f %f \n",r,PI*r*r);
}

Exerccios


Escreva um programa que transforme graus Fahrenheit


em graus Celsius.
Expresso para o clculo: C = 5*(F 32)/9
(nome do programa temp1.c)

Escreva um outro programa que transforme graus


Celsius em Fahrenheit. (nome do programa temp2.c)

Você também pode gostar