Você está na página 1de 12

Escola Profissional de Desenvolvimento Rural de Abrantes

Curso: Educação e Formação de Adultos (EFA) – NS


Ano Escolar 20010/2011
(Portaria N.º 230/2008, de 7 de Março)

Área de Competências: FT 0782

Formador: Ricardo Carvalho

Curso de Informática – Sistemas


0782 – Programação C/C++ - estrutura básica

Lista de Programas em linguagem C

Programa 1................................................................................................................................. 2

Programa 2................................................................................................................................. 2

Programa 3................................................................................................................................. 3

Programa 4................................................................................................................................. 3

Programa 5................................................................................................................................. 4

Programa 6................................................................................................................................. 4

Programa 7................................................................................................................................. 6

Programa 8................................................................................................................................. 7

Programa 9................................................................................................................................. 7

Programa 10............................................................................................................................... 8

Programa 11............................................................................................................................... 8

Programa 12............................................................................................................................... 9

Programa 13............................................................................................................................. 10

Programa 14............................................................................................................................. 11

QUALIFICAR É
Programa 1

/*#############################################################################
Título: O meu primeiro programa
Nome: Ricardo Carvalho
Descrição: Programa básico
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main ()
{

printf("Este é o meu primeiro programa");


system("PAUSE");
}

Programa 2

/*#############################################################################
Name: Programa 2
Author: Ricardo
Description: Declaração de variáveis
#############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main ()
{
/*declaração de variáveis*/

int idade; /* tipo inteiro */


float medida; /* tipo real */
double distancia;
char letra; /* tipo caractere */
char nome[] = "António Rosa"; /* tipo string */

/* atribuição de valores */

idade = 20;
medida = 1.77;
distancia = 45.33;
letra = 'A';

printf("O meu nome é %s. ",nome); /* mostrar uma string */


printf("Começa com a letra %c\n",letra); /* mostrar uma letra */
printf("O segundo nome começa com a letra %c.\n",nome[8]);
printf("Tenho %d anos de idade e meço %.2f metros.\n\n",idade,medida);
printf("\t\tDiáriamente faço uma caminhada de %f km.", distancia);

QUALIFICAR É
printf("\n\n");
system("PAUSE");

Programa 3

/*##############################################################################
Name: Programa 3
Author: Ricardo Carvalho
Description: Especificadores de formato da função printf()
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main ()
{
/* inteiros */
printf("%d %d %10d\n",1,2,3);
printf("%10d\n",1);
printf("%-10d\n",1);
/* reais */
printf("%f %.2f %.3f %4f %10.2f\n",999.999,999.999,999.999,999.999,999.999);
/* caracteres */
printf("%c %c %c %c\n",'a','b','c','1');
/* strings ou cadeia de caracteres */
printf("%s %s %10s\n","ontem","hoje","amanhã");

printf("%d %d %% %f %c %s\n",1,100,0.5,'A',"hoje");

printf("\n\n");
system("PAUSE");

Programa 4

/*##############################################################################
Name: Programa 4
Author: Ricardo Carvalho
Description: Entrada de dados com a função scanf() 1
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main ()
{
// declaração de variáveis

int valor1 = 0 , valor2 = 0; // iniciação de variáveis


float valor3 = 0.0 , valor4 = 0.0; // iniciação de variáveis

QUALIFICAR É
printf("Valores inicias:\n\tValor 1 = %d\tValor 2 = %d",valor1,valor2);
printf("\n\nInsira dois valores:");
scanf("%d %d",&valor1,&valor2);
printf("\n\nValores finais:\n\tValor 1 = %d\tValor 2 = %d",valor1,valor2);

printf("\n\n");
system("PAUSE"); //pausar o programa até que alguma tecla seja pressionada

system("cls"); //limpar o ecrã

printf("Valores inicias:\n\tValor 3 = %.2f\tValor 4 = %.2f",valor3,valor4);


printf("\n\nInsira dois valores:");
scanf("%f %f",&valor3,&valor4);
printf("\n\nValores finais:\n\tValor 3 = %.2f\tValor 4 = %.2f",valor3,valor4);

printf("\n\n");
system("PAUSE");
}

Programa 5

/*##############################################################################
Name: Programa 5
Author: Ricardo Carvalho
Description: Entrada de dados com a função scanf() 2
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main ()
{

char nome[40]; /* uma string de 40 caracteres */


/* Solicitação de entrada de dados */
printf ("Por favor , como se chama?\n");
scanf("%s", nome); // para strings não se utiliza o &
printf ("Olá %s, tudo bem? \n", nome );
system("PAUSE");

Programa 6

/*##############################################################################
Name: Programa 6
Author: Ricardo Carvalho
Description: Trocar dados entre variáveis
##############################################################################*/

#include <stdio.h>

QUALIFICAR É
#include <stdlib.h>
#include <string.h>

main ()
{
//declarar variáveis
int valor_inteiro1, valor_inteiro2;
float valor_real1, valor_real2;
char letra1, letra2;
char palavra1[10], palavra2[10];

//variáveis auxiliares para efectuar a troca


int aux1;
float aux2;
char aux3;
char aux4[10];

printf("\nInsira um valor inteiro (1): ");


scanf("%d",&valor_inteiro1);
printf("\nInsira um valor inteiro (2): ");
scanf("%d",&valor_inteiro2);

//trocando
aux1= valor_inteiro1;
valor_inteiro1 = valor_inteiro2;
valor_inteiro2 = aux1;

printf("\nTrocando os dados:");
printf("\n\tValor 1:%d",valor_inteiro1);
printf("\n\tValor 2:%d",valor_inteiro2);
printf("\n");

printf("\nInsira um valor real (1): ");


scanf("%f",&valor_real1);
printf("\nInsira um valor real (2): ");
scanf("%f",&valor_real2);

//trocando
aux2= valor_real1;
valor_real1 = valor_real2;
valor_real2 = aux2;

printf("\nTrocando os dados:");
printf("\n\tValor 1:%f",valor_real1);
printf("\n\tValor 2:%f",valor_real2);
printf("\n");

printf("\nInsira uma letra (1): ");


scanf(" %c",&letra1);
printf("\nInsira uma letra (2): ");
scanf(" %c",&letra2);

//trocando
aux3= letra1;
letra1 = letra2;
letra2 = aux3;

printf("\nTrocando os dados:");
printf("\n\tLetra 1:%c",letra1);
printf("\n\tLetra 2:%c",letra2);

printf("\nInsira uma palavra (1): ");


scanf("%s",palavra1); //não é preciso do &

QUALIFICAR É
printf("\nInsira uma palavra (2): ");
scanf("%s",palavra2);

//trocando
//Para trocar strings é necessário usar a função strcpy, que copia strings
strcpy(aux4, palavra1);
strcpy(palavra1,palavra2);
strcpy(palavra2,aux4);

printf("\nTrocando os dados:");
printf("\n\tPalavra 1:%s",palavra1);
printf("\n\tPalavra 2:%s",palavra2);

printf("\n");
system("PAUSE");

Programa 7

/*##############################################################################
Name: Programa 7
Author: Ricardo Carvalho
Description: Entrada e Saída de caracter individual com as funções getchar() e
putchar()
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main()
{
char letra;

printf("Digite 3 letras seguidas: ");


letra = getchar();
printf("\nA primeira letra que digitou foi: ");
putchar(letra);
letra = getchar();
printf("\nA segunda letra que digitou foi: ");
putchar(letra);
letra = getchar();
printf("\nA terceira letra que digitou foi: ");
putchar(letra);

printf("\n\n");
system("PAUSE");

QUALIFICAR É
Programa 8

/*##############################################################################
Name: Programa 8
Author: Ricardo Carvalho
Description: Entrada de caractere individual com a função getch() e getche()
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main()
{
char letra1, letra2, letra3;

printf("Com getch() os caracteres não aparecem enquanto pressiona nas


teclas.\n");
printf("Digite 3 letras: ");
letra1 = getch();
letra2 = getch();
letra3 = getch();

printf("\nAinda se lembra das letras?");


getch(); //também pode servir para fazer uma pausa
printf("\nForam estas? = %c %c %c\n",letra1,letra2,letra3);

system("PAUSE");
system("cls");

printf("Já com getche() aparecem.\n");


printf("Digite 3 letras: ");
letra1 = getche();
letra2 = getche();
letra3 = getche();

printf("\nAinda se lembra das letras?");


getch(); //também pode servir para fazer uma pausa
printf("\nForam estas? = %c %c %c",letra1,letra2,letra3);

printf("\n\n");
system("PAUSE");

Programa 9

/*##############################################################################
Name: Programa 9
Author: Ricardo Carvalho
Description: Entrada e saída de dados com gets() e puts()
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

QUALIFICAR É
main(){

char nome[40];

puts("Introduza o seu nome:");


gets(nome);
printf("O seu nome é: %s",nome);

printf("\n\n");
system("PAUSE");
}

Programa 10

/*##############################################################################
Name: Programa 10
Author: Ricardo Carvalho
Description: Diferença entre getchar(), getche() e getch()
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main(){

char letra;

printf("Leitura de um único caractere com getchar(), getche() e getch()\n\n");


printf("Insira uma letra e pressione ENTER: ");
letra = getchar();
printf("A letra é '%c'.\n",letra);
printf("\nInsira uma letra sem pressionar ENTER: ");
letra = getche();
printf("\nA letra é '%c'.\n",letra);
printf("\nInsira uma letra sem pressionar ENTER: ");
letra = getch();
printf("\nNão apareceu, mas a letra é '%c'.\n",letra);

printf("\n\n");
system("PAUSE");
}

Programa 11

/*##############################################################################
Name: Programa 11
Author: Ricardo Carvalho
Description: Operadores aritméticos - regra de 3 simples
##############################################################################*/

#include <stdio.h>

QUALIFICAR É
#include <stdlib.h>

main ()
{
float qtdtotal, qtdparcial, resultado;

qtdtotal = qtdparcial = resultado = 0; //iniciação das variáveis a zero

printf("====Regra de 3 simples: cálculo da percentagem equivalente\n\n ======");


puts("Insira a quantidade total:");
scanf("%f",&qtdtotal);
puts("Insira a quantidade da parcela:");
scanf("%f",&qtdparcial);

//cálculo

resultado = qtdparcial/qtdtotal * 100;

printf("\n A percentagem equivalente à parcela é: %.2f %%", resultado);

printf("\n\n");
system("PAUSE");

Programa 12

/*##############################################################################
Name: Programa 12
Author: Ricardo Carvalho
Description: Operadores aritméticos - total de receitas e despesas 1º trimestre
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>

main ()
{
float valor, receita, despesa;

valor = receita = despesa = 0;

printf("Receitas e Despesas 1 trimestre\n\n");


printf(">Insira as receitas:");

printf("\n\t Janeiro: ");


scanf("%f",&valor);
receita = receita + valor; //igual a receita += valor;

printf("\n\t Fevereiro: ");


scanf("%f",&valor);
receita = receita + valor;

printf("\n\t Março: ");


scanf("%f",&valor);
receita = receita + valor;

printf("\n>Insira as despesas:");

QUALIFICAR É
printf("\n\t Janeiro: ");
scanf("%f",&valor);
despesa = despesa - valor; //igual a despesa -= valor;

printf("\n\t Fevereiro: ");


scanf("%f",&valor);
despesa = despesa - valor;

printf("\n\t Março: ");


scanf("%f",&valor);
despesa = despesa - valor;

valor = receita + despesa;

printf("Total de receita: %f\n", receita);


printf("Total de despesa: %f\n", despesa);
printf("Balanço: %f\n", valor);

printf("\n\n");
system("pause");
}

Programa 13

/*##############################################################################
Name: Programa 13
Author: Ricardo Carvalho
Description: Operadores incrementais: sequência de números;
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

main ()
{
int i=0;

printf("Contagem crescente: ");


i++; //ou i=i+1;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);
i++;
printf("%d ",i);

QUALIFICAR É
getch();

printf("\n\nContagem decrescente: ");

printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);
printf("%d ",i--);

printf("\n\n");
system("pause");

Programa 14

/*##############################################################################
Name: Programa 14
Copyright:
Author: Ricardo Carvalho
Description: Operadores relacionais + estrutura do
##############################################################################*/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

main ()
{
char opcao;

do{
printf("=== Primeiro caso === \n\n");
printf("Pressione uma tecla: ");
opcao = getche();
//quando se mostra um char como um inteiro ele devolve o seu valor da
// tabela ASCII
printf("\nCorrespondente valor decimal segundo a tabela ASCII:
%d\n\n",opcao);

}while(opcao!=27); //a variável é do tipo char mas está associado a um valor


(ASCII)

printf("\nA tecla de saída é o Esc.\n\n");

opcao=0;

do{
printf("=== Segundo caso === \n\n");
printf("Pressione uma tecla: ");
opcao = getche();

QUALIFICAR É
//quando se mostra um char como um inteiro ele devolve o seu valor da
// tabela ASCII
printf("\nCorrespondente valor decimal segundo a tabela ASCII:
%d\n\n",opcao);

}while(opcao==0); //a variável é do tipo char mas está associado a um valor


(ASCII)

printf("\nA tecla de saída é qualquer uma.");

printf("\n\n");
system("pause");
}

QUALIFICAR É