• Nenhum resultado encontrado

Inicialmente temos os comentários, o de várias linhas são delimitados por /* */. E o de uma única linha começa com // e vai a até o fim da linha.

Constantes em C são valores que não mudam no programa, são definidas como se segue:

#define NomeDaConstante ValorDaConstante

Não tem ponto e vírgula no final. Exemplos:

#define PI 3.1415926535 // constante PI = 3.1415926535 #define DUZIA 12

#define AUTOR “Brauliro Gonçalves Leal” #define LETRA ‘a’

É uma tradição dos programadores C usar nomes de constantes em maiúsculo, dessa forma elas se destacam no programa-fonte e são rapidamente identificadas como tal.

Os programadores são livres para criar e dar nomes às suas constantes. A Biblioteca Padrão da linguagem C possuem muitas constantes, algumas delas serão vistas neste curso.

Variáveis são nomes que os programadores criam para guardar valores, elas podem mudar durante o programa, daí ter esse nome, meio óbvio. O nome de uma variável segue algumas regras que são: possuem letras e números, as letras devem ser do alfabeto inglês, iniciar com letra, possuir uma ou mais letras, não pode conter espaços.

A Linguagem C distingue entre letras maiúsculas e minúsculas. O comando abaixo declaram duas varáveis diferentes:

int x, X;

A variável X é diferente da variável x.

Por convenção, as palavras reservados de C são grafados em letras minúsculas, como main, printf, include, exceto as constantes, que costumam ser grafadas em maiúsculas. Saiba mais no site da wikipedia ou faça um busca na web.

Pode ter vários tipos de valores, como letras, texto e números. Os números podem ser inteiros ou fracionários, reais ou complexos.

Pesquise na web: como dar nomes a constantes, variáveis e nomes em programas escritos em C

Para dar conta desta variedade de possibilidades, a linguagem C possui vários tipos para se adequarem à realidade.

Para representar letras tem o tipo char, declarado assim:

char letra; letra = ‘a’;

ou

char letra = ‘a’;

A variável letra pode receber valores que significam letras, que são delimitados por aspas simples.

Pode-se declarar e atribuir valores iniciais para várias variáveis do tipo char, como abaixo:

char c, ch = ‘l’, x = ‘x’, sexo = ‘F’;

Exemplo 9.1 - Lendo char do teclado e escrevendo-a na tela

#include <stdio.h> int main ( void ){ char c;

printf("Digite a latra : " ); scanf("%c", &c );

printf("Letra digitada: %c", c ); return 0;

}

Ao executar este programa, digite o caractere e tecle ENTER.

Se for digitado mais de uma letra será lida apenas a primeira pois a Linguagem C desprezando os caracteres restantes.

A leitura de uma string pode ser feita pela função scanf utilizando %c para indicar que c é uma variável do tipo char.

scanf( “%c”, &c );

É necessário o caractere de controle & para leitura de char.

O tipo char é o menor tipo de Linguagem C, ocupa um byte (1 B) na memória, usado para representar caracteres em geral. O código ASCII é usado para representar números, letras, símbolos e caracteres de controle.

ASCII em inglês é American Standard Code for Information Interchange, em português é Código Padrão Americano para o Intercâmbio de Informação. É um código binário (cadeias de bits: 0s e 1s) que codifica um conjunto de 128 sinais: 95 sinais gráficos (letras do alfabeto latino, sinais de pontuação e sinais matemáticos) e 33 sinais de controle.

O código C a seguir gerar os caracteres ASCII, de 32 a 126 – os mais comuns.

//--- #include <stdio.h>

//--- int main( void ){

char c;

printf( "\n---" ); printf( "\n Decimal ASCII " ); printf( "\n---" ); for( c = 32; c < 127; c++ ){ printf( "\n %4d %6c", c, c ); } printf( "\n---" ); return 0; } //---

Saiba mais no site da wikipedia ou faça um busca na web.

O tipo string é utilizado para manipular textos com mais de um caractere. É similar ao char mas como pode-se textos de diversos tamanhos é necessário especificar o tamanho. Para que a máquina identifique o fim do texto na

A marca de fim é 0000 0000, o byte nulo, denominado null, representado por \0, como indicado na Tabela 9.1, ou seja uma string é um pacote constituído pelo seu texto + null.

Tabela 9.1 - Representações de uma string C incluindo seu texto e a marca de seu fim de texto

Tamanho máximo do texto 0000 0000

Tamanho máximo do texto null

Tamanho máximo do texto \0

Exemplo 9.2 - Abaixo estão declarados uma string e um caractere.

char nome[35] = “Joao da Silva”, sexo = ‘M’;

A string nome pode possuir cadeias de até 34 caracteres pois o último é reservado para o

null, a marca de fim da string. A linguagem C coloca automaticamente o null nas

declarações de strings com atribuição de valor.

Note que string requer aspas duplas para delimitar início e fim. A variável sexo possui apenas um caractere e com valor inicial M. Note que caractere requer aspas simples para delimitar início e fim.

Nem sempre a linguagem C coloca automaticamente o null em strings, há operações em que o programador precisa assumir o controle e acrescentar as maracas de fim de string via código.

A leitura de uma string pode ser feita pela função scanf utilizando %s para indicar que nome é uma variável do tipo string.

scanf( “%s”, nome );

Não é necessário o caractere de controle & para leitura de string.

Exemplo 9.3 - Lendo string do teclado e escrevendo-a na tela

#include <stdio.h> int main ( void ){ char nome[35];

printf("Digite o nome : " ); scanf("%s", nome );

printf("Nome digitado: %s", nome ); return 0;

Ao executar este programa, digite a sequência de caractere e tecle ENTER.

Verifique que ao digitar “Joao da Silva” será lido apenas “Joao” pois a Linguagem C lerá até o caractere espaço, desprezando os caracteres restantes.

Verifique que ao digitar mais de 34 caracteres poderá ocorrer erro de entrada. Este erro é chamado de overflow, extrapolou um limite, no caso mais caracteres do que a variável pode conter.

A atribuição valores para string requer o uso da função strcpy. Seja a variável char nome[35], uma string de tamanho 34 + null. Para atribuir o valor “João da Silva” à variável nome, deve-se usar o comando:

char nome[35];

strcpy(nome,“João da Silva”); // é correto

Fazer assim:

char nome[35];

nome = “João da Silva”; // é incorreto

Fazer assim:

char nome[35] = “João da Silva”; // é correto pois está declarando e atribuindo valor à variável string

O tipo int é utilizado para manipular números inteiros. As variáveis abaixo são inteiras e z recebe o valor 234.

int x , y, z = 234;

Exemplo 9.4 - Lendo inteiros do teclado e escrevendo-a na tela

#include <stdio.h> int main ( void ){ int x; printf("Digite o valor de x : " ); scanf("%d", &x ); printf(" x = %d", x ); return 0; }

Exemplo 9.5 - Lendo inteiros do teclado e escrevendo-a na tela

#include <stdio.h> int main ( void ){ int x, y;

printf("Digite os valores de x e y : " ); scanf("%d %d", &x, &y );

printf(" x = %d", x ); printf(" y = %d", y ); return 0;

}

Ao executar este programa, digite dois números inteiros separados por espaço e tecle ENTER.

Exemplo 9.6 - Lendo inteiros do teclado e escrevendo-a na tela

#include <stdio.h> int main ( void ){ int x, y;

printf("Digite os valores de x e y : " ); scanf("%d,%d", &x, &y );

printf(" x = %d", x ); printf(" y = %d", y ); return 0;

}

Ao executar este programa, digite dois números inteiros separados por vírgula e tecle ENTER.

Qual é a diferença entre os dois últimos exemplos?

Quando usar o tipo int?

O tipo int deve ser usado sempre que for necessário o uso de números inteiros como idade, contadores, quantidades, enumeração, índices de vetores e matrizes.

O tipo float é utilizado para manipular números fracionários ou reais. As variáveis abaixo são números reais do tipo float e z recebe o valor 234.0.

float x , y, z = 234.0;

Exemplo 9.7 - Lendo float do teclado e escrevendo-a na tela

#include <stdio.h> int main ( void ){ float x; printf("Digite o valor de x : " ); scanf("%f", &x ); printf(" x = %f", x ); return 0; }

Ao executar este programa, digite o número e tecle ENTER.

Quando usar o tipo float?

O tipo float deve ser usado sempre que for necessário o uso de números reais como somas, médias, estatísticas em geral, expressões aritméticas em geral, expressões que envolve divisão.

Saiba mais no site da wikipedia ou faça um busca na web.

O tipo double é utilizado para manipular números fracionários ou reais, são úteis para cálculo de grande precisão. As variáveis abaixo são números reais do tipo double e z recebe o valor 234.0.

double x , y, z = 234.0;

Exemplo 9.8 - Lendo double do teclado e escrevendo-a na tela

#include <stdio.h> int main ( void ){ double x;

printf("Digite o valor de x : " ); scanf("%lf", &x );

Ao executar este programa, digite o número e tecle ENTER.

Valores muito grandes ou muito pequenos, expressos em notação científica, são representados em C substituindo a potência de 10 por ‘E’ ou ‘e’, por exemplo:

0.000001 = 1.0ˣ10-6 em C é 1.0E-6 ou 1.0e-6

1.000.000 = 1.0ˣ10+6 em C é 1.0E6 ou 1.0e6.

É muito comum errar o uso de tipos de entrada e saída em C. Uma maneira de verificar se houve erro na entrada de dados é imprimir os dados e certificar se as entradas são iguais às saídas.

Tabela 9.2 - Resumo da formação dos comandos de leitura e escrita dos tipos char, char[], int, float e double

Declaração Leitura Escrita

char x; scanf( “%c”, &x ); printf( “%c”, x );

char x[35]; scanf( “%s”, x ); printf( “%s”, x );

int x; scanf( “%d”, &x ); printf( “%d”, x );

float x; scanf( “%f”, &x ); printf( “%f”, x );

double x; scanf( “%lf”, &x ); printf( “%lf”, x );

arte III – Aplicações na

Engenharias

Documentos relacionados