A maior rede de estudos do Brasil

Grátis
120 pág.
ApostilaANSI-C

Pré-visualização | Página 3 de 27

zero. 
 Esse programa chama a função printf(), passando a string "Botafogo 
Campeão\n" como argumento. É por causa do uso da função printf() pelo 
programa que devemos incluir o arquivo-cabeçalho stdio.h. A função printf() 
neste caso irá apenas colocar a string na tela do computador. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
13 
A função system(“pause”); como o próprio nome diz interrompe o sistema e exibe 
na tela a mensagem “Pressione qualquer tecla para continuar...” , obrigando o 
usuário a seguir a instrução especificada na mensagem para prosseguir. Essa 
função está definida no arquivo cabeçalho stdlib.h. 
 
 
ATIVIDADES 
 
1.1 Execute o programa apresentado a seguir e descreva o seu funcionamento: 
 
#include <stdio.h> 
#include <stdlib.h> 
 
/***************************************************************************** 
Programa 02 
Este programa. 
 
******************************************************************************/ 
 
int main () 
 
{ 
 int Anos, Meses; /*Declaracao de variáveis*/ 
 float Dias; 
 printf ("Quantos anos voce tem?\n\n"); /*Entrada de Dados*/ 
 printf ("\n"); 
 scanf ("%d",&Anos); 
 Meses = Anos * 12; /*Conversao Anos -> Meses*/ 
 Dias = Anos * 365.25; /*Conversao Anos -> Dias*/ 
 
 printf ("\n\nVoce ja viveu %d em meses e %f em dias.\n",Meses,Dias); 
 system(“pause”); 
 return 0; 
} 
 
Dica:Dica:Dica:Dica: 
 
� Se você não entendeu algum detalhe do programa, leia o guia de Aula 
Prática 2. 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
14 
 
AULA PRÁTICA 02 
 
 
OBJETIVO: 
 
� Estudar função em C. 
� Estudar os seguintes tipos de dados: caractere e string. 
� Estudar comandos de entrada e saída: getche, getch, gets, scanf e printf. 
 
 
 
INTRODUÇÃO 
 
Todos nós já sabemos o que é uma função e também o que é uma variável. Só 
não foi possível perceber, a princípio, que main é uma função e que int é um tipo 
de variável pois a sintaxe da linguagem C é diferente da linguagem Pascal. 
 
Nesta aula estudaremos alguns tipos de dados em C, como o caractere e a string. 
Em Pascal aprendemos os tipo integer e real que são tipos numéricos 
semelhantes aos tipos int e float existentes em C. Além disto, estudaremos alguns 
comandos de entrada e saída. No fundo veremos que a sintaxe varia, mas os 
conceitos são os mesmos. Afinal, comprovamos através dos dois programas 
executados na aula anterior que função e variável possuem a mesma definição 
nas duas linguagens, não é mesmo? 
 
 
FUNÇÃO EM C 
 
A unidade fundamental da linguagem C é a função. Um programa pode possuir 
várias funções, mas obrigatoriamente possui a função main. A função main 
estabelece o início e o final do programa, main significa principal. Quando é 
definida uma função obrigatoriamente é definido o seu tipo, ou seja, o valor que a 
função retorna. O tipo da função está declarado antes do nome da mesma. Após o 
nome da função estão definidos os parâmetros, eles estão entre parênteses e 
separados por virgulas. As chaves delimitam o início e o fim da função, ou seja, o 
corpo da função. Elas substituem o Begin e o End do PascaL, lembra-se? 
 
Atenção:Atenção:Atenção:Atenção: 
 
� O nome da função principal deve ser escrito com letras minúsculas: main. 
� A linguagem C é case sensitive. Isto é considera letras minúsculas e letras 
maiúsculas diferentes, portanto Main, MAIN e main são palavras distintas. 
 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
15 
 
A sintaxe de uma função em C é a seguinte: 
 
<Tipo_da_função> <Nome_da_função> ( <Parâmetro_1>, <parâmetro_2> ... , 
 <parâmetro_N>) 
{ 
 <Comando_em _C>; 
 <Comando_em _C>; 
 ....................... 
 <Comando_em _C>; 
} 
 
 
CARACTERES 
Os caracteres são um tipo de dado: char. O C trata os caracteres ('a', 'b', etc ...) 
como sendo variáveis de um byte (8 bits). Os inteiros (ints) têm um número maior 
de bytes. Dependendo da implementação do compilador, eles podem ter 2 bytes 
(16 bits) ou 4 bytes (32 bits). Char pode também ser usado para armazenar 
valores numéricos inteiros, desde que eles ocupem um byte. Você se lembra do 
código ASCII (Código Padrão Americano para Troca de Informações)? Em ASCII 
cada caractere corresponde a um código de oito bits. Para indicar um caractere de 
texto usamos apóstrofes. Veja um exemplo de programa que usa caractere: 
#include <stdio.h> 
#include <stdlib.h> 
 
/***************************************************************************** 
Programa 03 
Este programa imprime na tela um caractere e o código ASCII 
correspondente ao mesmo. 
 
******************************************************************************/ 
int main () 
{ 
 char Ch; 
 Ch='A'; 
 printf ("O caractere %c corresponde ao numero %d em ASCII.",Ch, Ch); 
 printf("\n\n"); 
 system(“pause”); 
 return(0); 
} 
 
Na realidade sabemos que o valor de uma variável só pode ser armazenado no 
computador em números binários (zeros e uns), então o tipo de dado impresso na tela 
dependerá do tipo estabelecido pelo programador. Estabelecendo-se %c é impresso 
um caractere e %d é impresso um número inteiro. 
 
Muitas vezes queremos ler um caractere fornecido pelo usuário. Para isto 
podemos utilizar a função scanf(), empregada no Programa 02, lembra-se? Ou 
 
CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS 
Departamento de Ensino do 2o grau - Coordenação de Eletrônica 
Disciplina: Laboratório de Introdução a Programação 
Professora: Rosângela Fátima da Silva 
 
 
16 
então usamos as funções getch() e getche(), quando estamos trabalhando em 
ambiente DOS ou Windows. Ambas retornam o caractere pressionado. getche() 
imprime o caractere na tela antes de retorná-lo e getch() apenas retorna o 
caractere pressionado sem imprimi-lo na tela. Ambas as funções podem ser 
encontradas no arquivo de cabeçalho conio.h. Geralmente estas funções não 
estão disponíveis em ambiente Unix (compiladores cc e gcc), pois não fazem 
parte do padrão ANSI. Neste caso elas podem ser substituídas pela função 
scanf(), porém sem as mesmas funcionalidades. Eis um exemplo que usa a 
função getch(). 
 
#include <conio.h> 
#include <stdio.h> 
#include <stdlib.h> 
 
/***************************************************************************** 
Programa 04 
Este programa usa a função getch() para ler um caractere 
que foi introduzido através do teclado pelo usuário. 
Esta função requer o arquivo cabeçalho conio.h 
 
******************************************************************************/ 
int main () 
{ 
 char Ch; 
 printf ("Pressione uma tecla.\n"); 
 Ch= (char)getch(); 
 printf ("Voce pressionou a tecla %c.\n\n",Ch); 
 system("pause"); 
 return(0); 
} 
 
 
STRINGS 
Uma string é um conjunto de caracteres. Para armazenar um caractere utilizamos 
um espaço de memória de 8 bits. Se quisermos armazenar uma string com quatro 
caracteres é necessário utilizar um vetor, ou seja, quatro espaços de memória de 
8 bits. No C uma string é um vetor de caracteres terminado com um caractere 
nulo. O caractere nulo é um caractere com valor inteiro igual a zero (código ASCII 
igual a 0). O terminador nulo também pode ser escrito usando a convenção de 
barra invertida