Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduo Programao C
Introduo Programao C
Exemplo de um Programa
// Exemplo de programa em C // Isto uma linha de comentrio void main() { int a; // declara a varivel "a" a = 3 + 2; // soma 3 com 2 }
Um programa em C composto por um conjunto de Funes. A funo pela qual o programa comea a ser executado chama-se main. Aps cada cada comando em C deve-se colocar um ; (ponto-e-vrgula). Um programa em C deve ser Identado para que possa ser lido com mais facilidade.
Identificadores
So os nomes que podem ser dados para variveis e funes. Para a escolha destes nomes necessrio seguir alguams regras: Um identificador deve iniciar por uma letra ou por um "_" (underscore); A partir do segundo caracter pode conter letras, nmeros e underscore; Deve-se usar nomes significativos dentro do contexto do programa; C uma linguagem case-sensitive, ou seja, faz diferena entre nomes com letras maisculas e nomes com letras minsculas. Peso e peso so diferentes; Costuma-se usar maisculas e minsculas para separar palavras: "PesoDoCarro"; Deve ser diferente dos comandos da linguagem; Deve ter no mximo 31 caracteres (no caso do TurboC); Pode conter nmeros a partir do segundo caracter; Exemplos: Idade, Contador, PesoDoCarro, Usuario_1, CorDaPagina, RaioDoCirculo
Variveis
Uma varivel uma possio de memria que pode ser identificada atravs de um nome. Podem ter seu contedo alterado por um comando de atribuio. Aps a atribuio mudam de valor.
int a,b, SomaGeral; a = 3; // a recebe o valor 3 b = a * 2; // b recebe o dobro do valor de a
www.inf.pucrs.br/~pinho//IntroC.htm
1/8
19/04/2011 c = a + b + 2; // c recebe 11
Introduo Programao C
Tipos de Variveis
Todas as variveis em C tem um tipo; Cada tipo define os valores que a varivel pode armazenar; Cada tipo ocupa uma certa quantidade de nemria. Tipo char int float double Tamanho 1 byte 2 bytes 4 bytes 8 bytess Valores Vlidos letras e smbolos: 'a', 'b', 'H', '^', '*','1','0' de -32767 at 32767 (apenas nmeros inteiros) de -3.4 x 10 at +3.4 x 10 de -1.7 x 10
308 38 +38
at +1.7 x 10
+308
Declarao de Variveis
Todas as variveis tem que ser declaradas antes de serem usadas; No h uma inicializao implcita na declarao
// Exemplo de programa em C #include <stdio.h> // Arquivo de cabealho (header) void main() { int contador; // declaraes simples float PrecoDoQuilo; double TaxaDeCambio; char LetraDigitada; int IdadeManoel, IdadeJoao, IdadeMaria; // Pode colocar mais de uma varivel na // na mesma linha double TaxaDoDolar, TaxaDoMarco, TaxaDoPeso, TaxaDoFranco;
....... }
www.inf.pucrs.br/~pinho//IntroC.htm
2/8
19/04/2011
TaxaDoPeso = 1.75, TaxaDoFranco = 0.2; ....... }
Introduo Programao C
Constantes
Constantes so identificadores que no podem ter seus valores alterados durante a execuo do programa. Para criar uma constante existe o comando #define que, em geral colocado no incio do programa-fonte. Exemplos
#define #define #define #define LARGURA_MAXIMA 50 NRO_DE_DIAS_DA_SEMANA 7 NRO_DE_HORAS_DO_DIA 24 VALOR_DE_PI 3.1415 // No se coloca ponto-e-vrgula aps o valor
Strings
Uma String uma seqncia de caracteres entre aspas duplas: "exemplo de uma string em C".
A funo printf
A funo printf exibe um ou mais dados na tela. Para tanto ele deve receber pelo menos dois parmetros, separados por vrgula: um string de formato que define, atravs de caracteres especiais, os tipos dos dados a serem impressos e suas posies na linha de impresso; um dado a ser impresso. Este dado pode ser qualquer um dos dados visto anteriormente. Por exemplo: printf("%s","teste"); "%s" : a string de formato "teste" : o dado a ser impresso. A string de formato define quais os tipos dos dados a serem impressos. O smbolo %s ser substitudo pelo dado que vem aps a vrgula. Os dados definem quais os valores a serem impressos. Se for necessrio, um string de formato pode definir que mais de um dado ser impresso. Para tanto, dentro da string de formato deve haver mais de um %, um para cada dado a ser impresso. Neste caso, os dados devem vir aps a string de formato separados por vrgulas.
www.inf.pucrs.br/~pinho//IntroC.htm 3/8
19/04/2011
Introduo Programao C
Por exemplo: printf("%s %s","teste1", "outra string"); Isto ir imprimir o string teste1 deixar 1 espao em branco e imprimir ao lado o string outra string, assim : teste1 outra string
#include <stdio.h> // Necessrio para usar a funo printf // A funo printf exibe um ou mais dados na tela
void main () { printf("%s","Isto uma string ....\n"); // note o '\n' no final da string; printf("%s","Outra string ...."); printf("%s","Terceira string\n"); //Depois de Executar o programa, tecle ALT-F5 para ver o resultado na tela }
Exerccio Experimente colocar um '\n' entre os %s na string de formato. printf("%s\n%s","teste1", "outra string");
void main () { clrscr(); // Limpa a tela printf("%s", UNIVERSIDADE); // Imprime o nome representado pela constante getch(); // espera que o usurio pressione uma tecla }
19/04/2011
Introduo Programao C
// No momento da execuo sinal %d vai // ser substitudo pelo valor da // varivel Contador
NroDeAndares = 7; AlturaPorAndar = 3; printf("Altura Total do Prdio: %d metros", NroDeAndares*AlturaPorAndar); // No momento da execuo sinal %d vai ser substitudo // pelo valor da multiplicao getch(); } // espera que o usurio pressione uma tecla
clrscr();
// Limpa a tela
www.inf.pucrs.br/~pinho//IntroC.htm
5/8
Media = (NotaDaP1 + NotaDaP2) / 2.0; printf("Mdia Final : %f", Media); // No momento da execuo sinal %f vai ser substitudo // pelo valor da varivel Media com SEIS casas decimais // Mdia Final : 7.400000 getch(); // espera que o usurio pressione uma tecla }
Media = (NotaDaP1 + NotaDaP2) / 2.0; printf("Mdia Final : %6.3f", Media); // No momento da execuo sinal %6.3f vai ser substitudo // pelo valor da varivel Media // Mdia Final : 7.400 getch(); } // espera que o usurio pressione uma tecla
Regras para impresso de um nmero real o nmero de casas decimais sempre respeitado. Se for preciso, zeros sero acrescetados direita do nmero o tamanho total significa o nmero de caracteres do nmero inclundo o ponto decimal e um eventual sinal de menos (-), se for o caso; Se a soma do nmero de caracteres da parte inteira, mais o ponto decimal, mais a parte fracionria, mais um eventual sinal de menos ainda for menor do que o tamanho total especificado no formato, ento, espaos em branco sero acrescentados esquerda da parte real do nmero. Se a soma do nmero de caracteres da parte inteira, mais o ponto decimal, mais a parte fracionria, mais um eventual sinal de menos for maior do que o tamanho total especificado no formato, ento, apenas o nmero de casas
www.inf.pucrs.br/~pinho//IntroC.htm 6/8
19/04/2011
Introduo Programao C
Alinhamento de nmeros DIREITA Nos exemplos anteriores os nmeros ficavam sempre alinhados a partir da esquerda. Experimente colocar um sinal de menos logo depois do sinal de % e veja o que acontece.
printf("%-7.3f\n", Numero);
char Nome[30];
29
caracteres.
19/04/2011
// Exemplo com strings #include <stdio.h> #include <conio.h> #include <string.h> void main() { char Nome[30]; clsrscr();
Introduo Programao C
strcpy(Nome, "Jose da Silva"); // atribui "Jose da Silva" para a varivel Nome printf("O funcionrio %s foi tranferido", Nome); // no lugar de %s aparecer o // contedo da varivel Nome getch(); }
Operadores Aritmticos
- sinal de menos (unrio) *,/ multiplicao e diviso % mdulo (reto da diviso) +,- soma e subtrao Menor precedncia (avaliado depois) Maior precedncia (avaliado antes)
Exerccio
Crie um progama que organize os dados em uma tabela conforme o exemplo a seguir. Os dados das clulas em amarelo deve ser informados atravs de atribuies dentro do programa. Procure usar somente os %f para definir o formato e a posio dos dados. No tente preencher os espaos com brancos. Por exemplo, use
printf ("%10d, QuantidadeDeBananas);
ou invs de
printf(" %d", QuantidadeDeBananas);
Quantidade
R$ R$ R$
www.inf.pucrs.br/~pinho//IntroC.htm
8/8