Escolar Documentos
Profissional Documentos
Cultura Documentos
LINGUAGEM C
Ano Lectivo 2012/2013
Aula Prática
OBJECTIVOS
Manipulação de variáveis e expressões em programas.
A biblioteca: stdio.h,
Atribuição a variáveis tipo char, int e float.
Escrita de expressões.
Regras de precedência.
Avaliação de expressões.
Utilização de printf, scanf, #define, const.
Edição do código fonte.
a. Utilização do Editor Notepad++
b. Utilização do Turbo C++ e do Dev-C++ e CODE BLOKS
FERRAMENTAS DO PROGRAMADOR
Objectivo do programador
- Produzir código binário para execução no computador;
- Ser produtivo, usando ferramentas adequadas;
editor: criação e modificação de programas escritos em linguagem de alto nível;
interpretador: execução do programa directamente na linguagem de alto nível;
compilador: tradução para a linguagem do computador;
ambientes integrados de desenvolvimento (IDE): integram diversas ferramentas em um único
espaço de trabalho.
Editores
Notepad++
Dev-C++
Turbo C++
Vamos então seguir, em quatro passos, um pequeno exemplo para criação do nosso primeiro programa.
É mais fácil mantermos o nosso espaço em disco organizado se criarmos uma directoria (pasta) para cada
programa no qual estejamos a trabalhar (excepção feita para programas ou projectos cujo código fonte
esteja dividido em vários ficheiros). Neste caso vamos criar uma árvore como a indicada na figura e uma
directoria chamada Exerc_0 para guardar o nosso primeiro programa.
Exercício 0
Criar o programa
Um programa começa por ser um ficheiro de texto. Utiliza um editor de texto do teu agrado (p/ex. o
Notepad++) para escrever esse texto a que é comum chamar-se código fonte. Abrir o Notepad++ e clicar
em Ficheiro / Novo, ou simplesmente Ctrl + N e escrever o programa que se segue:
#include <stdio.h>
main()
{
printf("Este é o meu primeiro programa\n");
}
Compilar o programa
Abra o programa exerc0.c com compilador Turbo C++. O compilador pega no código fonte e converte-o
num programa executável. Para compilarem o vosso código fonte usando o compilador Turbo C++.
executem o comando:
Alt + F9
Ctrl + F
Poderá encontrar na pasta Exerc_0 o código fonte exerc0.c, o ficheiro objecto exerc0.obj e ficheiro
executável exerc0.exe que poderá ser executado.
Executar o programa
D:\NomeAluno\AulaPratica\Exerc_0\exerc0.exe
Agora que já fizeram o vosso primeiro programa, utilizem um editor da vossa preferência e um
compilador para escrever e compilar os programas apresentados em baixo. Lembrem-se de que cada
programa fica num ficheiro separado, cada qual com o seu nome. Compara os programas, executa-os,
observa e comenta os resultados.
Exercício 01 – Digite o programa a seguir e salve-o com o nome de exerc01.c, na pasta Exerc_0.
Compile-o e execute-o.
#include <stdio.h>
main()
{
printf("Este é o");
printf(" meu primeiro ");
printf("programa");
printf("\n");
}
Exercício 02 – Digite o programa a seguir e salve-o com o nome de exerc02.c, na pasta Exerc_0.
Compile-o e execute-o.
#include <stdio.h>
main()
{
printf("Este é o");
printf(" meu primeiro ");
printf("programa");
printf("\n");
Exercício 03 – Digite o programa a seguir e salve-o com o nome de exerc02.c, na pasta Exerc_0.
Compile-o e execute-o.
#include <stdio.h>
main()
{
printf("Olá\n\n\n");
printf("Eu estudo na UNI-CV\n");
}
Exercício 04
Escreva um programa que lê o raio de um círculo e calcula a área e exibe o resultado calculado.
Versão 1
/* Programa para calcular a área de um circulo */
/* Autor: Daniel Lopes */
/* 28-10-2008*/
/* Versao I */
Versão 2
#include <stdio.h>
#define PI 3.14159
main()
{
float raio, area;
Versão 3
#include <stdio.h>
main()
{
const float PI = 3.14159;
float raio, area;
Exercício 05
Escreva um programa que lê dois números inteiros e calcula as quatro operações aritméticas e exibe o
resultado calculado.
Versão 1 Versão 2
main() main()
{ {
int a,b; int a,b;
} }
Exercício 06
Escreva um programa que solicita um inteiro e imprime o quadrado e o cubo.
#include <stdio.h>
#include <math.h>
main()
{
int i,x,y;
x=pow(i,2);
y=pow(i,3);
printf("\t %d \t\t %d\t\t %d\n", i,x,y);
}
Exercício 07
Escreva um programa que lê uma temperatura em graus Centígrados e apresente-a convertida em graus
Fahrenheit. A fórmula de conversão é: F = (9 * C + 160) / 5, onde F é a temperatura em Fahrenheit e C é
a temperatura em Centígrados.
/*tabela de conversão */
/* Celsius -> Fahrenheit */
/* Autor: Daniel Lopes */
/* 28-10-2008*/
/* Versao I */
#include <stdio.h>
main ()
{
int celsius, fahr;
printf("Conversão de Temperatura\n");
printf("Celsius = "); scanf("%d",&celsius);
printf ("Graus Celsius Fahreheit \n");
return(0);
}
Exercício 08
Escreva um programa que cálcula o valor da expressão Y a 2 b2 .
#include <stdio.h>
#include <math.h>
main()
{
float a,b,y;
printf("Cálculo de Y = sqrt(a^2+b^2)");
printf("\n\na = ");scanf("%f",&a);
printf("\nb = ");scanf("%f",&b);
y=sqrt(a*a+b*b);
printf("\nY = %5.2f",y);
return 0;
}
Exercício 09
a b
2
main()
{
float a,b,x,y;
printf("Cálculo de Y = (a+b)^2/x");
printf("\n\na = ");scanf("%f",&a);
printf("\nb = ");scanf("%f",&b);
printf("\nx = ");scanf("%f",&x);
y=pow((a+b),2)/x;
printf("\nY = %5.2f",y);
return 0;
}
Exercício 10
main()
{
float a,b,c,d,y;
printf("Cálculo de Y = (a+b)(c+d");
printf("\n\na = ");scanf("%f",&a);
printf("\nb = ");scanf("%f",&b);
printf("\nc = ");scanf("%f",&c);
printf("\nd = ");scanf("%f",&d);
y=(a+b)*(c+d);
printf("\nY = %5.2f",y);
return 0;
}
Exercício 11
Escreva um programa que calcula a distância entre dois pontos x e y. d ( x1 x 2) 2 ( y1 y 2) 2
#include<stdio.h>
#include<math.h>
main()
{
float x1,x2,y1,y2,d12;
printf("\n\n\nEntra P2 = (x2,y2)");
printf("\nx2=");scanf("%f",&x2);
printf("y2=");scanf("%f",&y2);
printf("\nP2=(%.1f,%.1f)",x2,y2);
d12=(sqrt(pow((x2-x1),2)+pow((y2-y1),2)));
printf("\n\nA distância entre P1( %.1f , %.1f) e P2( %.1f ,
%.1f)= %.2f",x1,y1,x2,y2,d12);
}
Exercício 12
Escreva um programa que indique qual o nº de Bytes que ocupam todos os tipos básicos em C.
#include <stdio.h>
main()
{
printf("O Tamanho em Bytes de um char = %d\n", sizeof(char));
printf("O Tamanho em Bytes de um int = %d\n", sizeof(int));
printf("O Tamanho em Bytes de um float = %d\n", sizeof(float));
printf("O Tamanho em Bytes de um double = %d\n", sizeof(double));
}
Exercício 13
Escreva um programa que solicite ao utilizador a idade, o montante a depositar e o nº de conta que se quer
realizar o depósito, declarando as variáveis como short, int e long.
#include <stdio.h>
main()
{
short int idade; /* ou short idade */
int montante;
long int n_conta; /* ou long n_conta */
Exercício 14
Escreva um programa que leia um carácter e a seguir o escreva no ecrã.
#include <stdio.h>
main()
{
char ch;
printf("Introduza um Carácter: ");
scanf("%c", &ch);
printf("O carácter introduzido foi '%c'\n",ch);
}
Exercício 15
Escreva um programa que solicite, através da função scanf, um carácter ao utilizador e em seguida
solicite outro. Depois de introduzidos ambos os caracteres, este deverá mostrar os dois caracteres lidos
entre plicas.
#include <stdio.h>
main()
{
char ch1, ch2;
Exercício 16
Escreva um programa que solicite, através da função scanf, ângulo em formato double, calcule e
apresente no ecrã os valores das funções trigonométricas.
Versão 1
#include <stdio.h>
#include <math.h>
main()
{
double angulo;
printf("Angulo = ");
scanf("%lf",&angulo);
Versão 2
#include <stdio.h>
#include <math.h>
#define PI 3.14159
#define CONV PI/180
main()
{
double angulo;
printf("Angulo = ");
scanf("%lf",&angulo);
Versão 3
#include <stdio.h>
#include <math.h>
main()
{
const float PI= 3.14159;
const float CONV = PI/180;
double angulo;
printf("Angulo = ");
scanf("%lf",&angulo);
Exercício 17
#include <stdio.h>
/* Tamanho de campos na impressão */
main()
{
printf("\n%2d",350);
printf("\n%4d",350);
printf("\n%6d",350);
}
Exercício 18
#include <stdio.h>
/* Para arredondamento: */
main()
{
printf("\n%4.2f",3456.78);
printf("\n%3.2f",3456.78);
printf("\n%3.1f",3456.78);
printf("\n%15.3f",3456.78);
}
Exercício 19
#include <stdio.h>
/* Para alinhamento: */
main()
{
printf("\n%10.2f %10.2f %10.2f",8.0,15.3,584.13);
Exercício 20
#include <stdio.h>
/*Complementando com zeros à esquerda:*/
main()
{
printf("\n%04d",21);
printf("\n%06d",21);
printf("\n%6.4d",21);
printf("\n%6.0d",21);
}
Expressões
3) As variáveis x, y e z são do tipo inteiro. Calcule o resultado de cada uma das seguintes atribuições,
sabendo que x = 4, y = 6 e z = 3:
a) x = x + y;
b) x=y/z;
c) y = x ∗ y;
d) z=y%x;
e) x = x + z ∗ y;
4) a, b e c são variáveis reais e i, j e k são variáveis inteiras. Calcule o resultado de cada uma das
seguintes atribuições, sabendo que a = 4,
a) b = 6 e i = 3
b) (a) c=a*b-i;
c) (b) k=i/4*6;
d) (c) c=b/a + 1.5
5) Faça um programa que calcule a área de um triângulo, uma vez que o utilizador deverá informar a
largura da base (b) e a altura (h). A fórmula para cálculo da área é:
base * altura
Area
2
6) Calcule a média parcial (ponderada) de um aluno de acordo com a seguinte fórmula: O utilizador
deve introduzir os valores das notas .
((nota1* 4) (nota 2*6))
media
10
7) Ler uma temperatura em graus Centígrados e apresentá-la convertida em graus Fahrenheit. A fórmula
de conversão é: F = (9 * C + 160) / 5, onde F é a temperatura em Fahrenheit e C é a temperatura em
Centígrados.
8) Calcular e apresentar o valor do volume de uma lata de óleo, introduzindo os valores da altura e o
raio, utilizando a fórmula:
Volume = 3,14159 * raio^2 * altura.
9) Ler dois valores para as variáveis A e B, efectuar a troca dos valores de forma que a variável A passe
a possuir o valor da variável B, e que a variável B passe a possuir o valor da variável. Apresentar os
valores trocados.
10) Utilizando apenas sequências de instruções, elabore um programa que calcule o total de segundos
compreendidos entre a hora de partida e a hora de chegada de um veículo. Considere que as horas são
lidas no formato hh/mm/ss e dizem respeito ao mesmo dia.
12) Faça um programa que calcule a taxa de IUR dado o salário ilíquido.
14) Faça um programa que determine a área de um rectângulo dados os dois lados.
15) Faça um programa que determine a área de um círculo e o perímetro dado o raio.
16) Escreva um programa que solicite ao utilizador dois inteiros e apresente o resultado da realização das
operações aritméticas tradicionais.
17) Escreva um programa que solicite um determinado número de segundos, e em seguida indique
quantas horas, minutos e segundos esse valor representa.
18) Escreva um programa em que solicite um determinado número real e mostre qual a sua parte inteira e
a sua parte decimal.
19) Escreva um programa que solicite ao utilizador uma determinada data e a mostre em seguida no
formato dd/mm/aaaa.
20) Escreva um programa que solicite ao utilizador uma determinada data e a mostre em seguida no
formato aaaa-mm-dd.
21) Escreva um programa em C que solicite ao utilizador dois inteiros e apresente o resultado da
realização das operações aritméticas tradicionais.
22) Implemente um programa que solicite ao utilizador dois inteiros e, em seguida, aplique todos os
operadores relacionais do C aos inteiros lidos. O programa deverá ter um output semelhante a:
Introduza 2 inteiros: 4 6
O resultado de 4 == 6 : 0
O resultado de 4 > 6 : 0
……..