Professional Documents
Culture Documents
Introduo
Por que programar ? Quando o homem necessita do auxilio do computador para executar algumas tarefas. O Que um programa ? Conjunto de instrues de uma determinada linguagem atravs das quais, um computador executa algumas tarefas.
Prof. William Pelissari- 2
Introduo
O Que uma linguagem ? Uma linguagem consiste de um conjunto de palavras reservadas e regras de sintaxe que possibilita criar programas de computadores.
Exemplos de Cdigos: C
Pseudo-cdigo leia(num) para n de 1 at 10 passo 1 faa tabnum*n imprima(tab) fim-para; C scanf(&num); for(n=1;n<=10;n++){ tab=num*n; printf(\n %d, tab); };
So linguagens com foco na mquina, ou seja, utiliza instrues detalhadas que controla os circuitos internos do computador. Usualmente so genricamente chamadas de linguagens de mquina, Assembly ou de linguagem de montagem.
Vantagens: Maior velocidade de processamento e ocupam menor espao na memria. Desvantagens: Pouca portabilidade, ou seja, o cdigo gerado para um tipo de processador no serve para outro.
So linguagens voltadas para que haja uma maior interao entre o homem e a mquina.
Vantagens: So compiladas ou interpretadas, tm maior portabilidade podendo ser executados em vrias plataformas com pouqussimas modificaes. Desvantagens: So mais lentas e ocupam mais memria.
Histrico
e K. Thompson nos Laboratrios Bell nos anos 70.Derivadas de duas linguagens anteriores chamadas BCPL e B.
Inicialmente para mquinas com o sistema operacional Tornou-se uma das mais importantes e populares nos Foi projetada para o desenvolvimento de programas
UNIX.
ltimos dias.
estruturados e modulares.
Prof. William Pelissari- 12
Histrico
Nos anos seguintes, a popularidade da linguagem C aumentou consideravelmente, aumentando tambm o surgimento de ferramentas de desenvolvimento. Inicialmente, muitas implementaes do C no traduziam fielmente a definio original, o que gerou alguns problemas de incompatibilidade A portabilidade proposta pela definio original ficou bastante comprometida.
Introduo
O Padro ANSI Buscando uma padronizao na definio da linguagem C, a American National Standard Institute (ANSI), desenvolveu um padro hoje bastante utilizado no mundo da linguagem C, chamado de C padro ANSI ou C ANSI. Quase todas as ferramentas de desenvolvimento da linguagem C atuais, seguem este padro.
Compiladores x Interpretadores
A nica linguagem que o computador entende a linguagem de mquina. Programas escritos em um linguagem de alto nvel, devem ser traduzidos para a linguagem de mquina. Os Programas que fazem esta traduo, classificam em: - INTERPRETADORES - COMPILADORES
Compiladores x Interpretadores
Os INTERPRETADORES, traduzem o cdigo fonte em linguagem de mquina atravs da interpretao de cada instruo feita a medida que o software executado. Necessitam de um componente interpretador presente na mquina. Os COMPILADORES, por sua vez, traduzem o cdigo fonte em linguagem de mquina atravs da gerao de um programa .OBJ, que aps ser linkeditado, torna-se um arquivo executvel. Em C os programas so compilados.
Outras funes podem ser definidas pelo programador ou preencher a funo main, porm em um programa executvel em C, a funo main deve sempre existir.
Uma funo deve conter : - Um header que consiste do nome da funo - Uma lista de argumentos entre parnteses.
Letras minsculas e maisculas no so equivalentes Note que cada expresso dentro do bloco deve
em C.
10
Exemplo de um programa em C #include <stdio.h> /* programa que imprime: Boa Noite */ void main () { printf("Boa Noite"); }
11
Ferramenta de Desenvolvimento
12
Questionrio 1
Questionrio 1
No programa abaixo, existem alguns erros, com a ajuda do compilador, tente descobri-los #include <stdiox.h> #include <conio.h> Main () ( printf("Boa Noite"); getch(); )
Prof. William Pelissari- 26
13
Regra de identificao
Todas as letras maisculas de A a Z e as minsculas de a a z , os dgitos de 0 a 9 e alguns caracteres especiais, podem ser utilizados na criao de cdigos em C.
Os nomes de variveis, funes e matrizes em C, obedecem a regra de que voce pode usar letras e nmeros, porem o primeiro digito deve ser apenas uma LETRA ou o caracter especial undescore (_).
Regra de identificao
14
Regra de identificao
Um identificador de nome pode ter mais de 32 caracteres, porem somente os 32 primeiros sero reconhecidos.
Algumas implementaes do C, reconhece apenas os 8 (oitos) primeiros, assim os nomes : taxa_dia e taxa_diaria, nestes sistemas no tem diferenca, pois o compilador reconhece apenas os oitos primeiros caracteres.
Prof. William Pelissari- 29
Palavras reservadas
auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while
So apenas 32 palavras reservadas que no podem ser utilizadas para outro propsito
Prof. William Pelissari- 30
15
Tipos de Dados
Em C existem 5 tipos vlidos:
tipo Palavra Reservada Quant. Bit Bytes Faixa
8 16 32 64 0
1 2 4 8 0
-128 a 127 -32768 a 32767 3.4E-38 a 3.4E+38 1.7E-308 a 1.7E+308 Sem valor
Tipos de Dados
Modificadores de Tipos Com exceo do tipo void, os demais tipos podem ter alguns modificadores. Um modificador usado para alterar o significado do tipo para adequ-los melhor s necessidades do programador.
16
Tipos de Dados
Os modificadores so : signed, unsigned, long e short Exemplo de utilizao: Se uma varivel declarada como char ela ocupa 8 bit e tem a faixa de valores de -128 a 127, mais se o modificador unsigned colocado antes da palavra char, ela continua ocupando 8 bits, mais sua faixa de valores vai de 0 a 255.
Prof. William Pelissari- 33
Os dados inteiros so caracterizados pelos nmeros positivos ou negativos que no seja fracionrio. Em C referenciamos este tipo de dados com os seguintes identificadores :
Tipo do Inteiro Qt.Bit Faixa
16 32 16 32
17
Os dados reais so caracterizados pelos nmeros positivos, negativos, inteiros e os fracionrios. Em C referenciamos este tipo de dados com os seguintes identificadores :
Qt.Bit Faixa
Tipo do Inteiro
32 64 128
Os dados caracteres so caracterizados pelas sequencias de letras, nmeros e simbolos especiais delimitados por ( ) . Em C referenciamos este tipo de dados pelo identificadores : char podendo armazenar de 0 at 255 caracteres
18
Na linguagem C no existe o tipo de dados booleano , ou seja, no existe o valor lgico false ou true de forma predefinida. Em C qualquer valor igual a 0 (zero), considerado como valor lgico falso e qualquer valor diferente de 0 (zero), considerado como valor lgico verdadeiro.
Constantes
Constantes so valores que permanecem fixos e na linguagem C temos 4 tipos bsicos de constantes: Inteiras ponto-flutuante caracteres string (cadeia de caracteres)
19
Constantes numricas
As constantes do tipo Inteiras e de ponto-flutuante, representam nmeros. As constantes do tipo Inteiras podem ser escritas em trs sistemas de numerao, sendo : decimal (base 10) octal (base 8) hexadecimal (base 16)
Uma constante inteira decimal pode ser formada por qualquer combinao dos dgitos de 0 a 9. Se tem mais de dois dgitos, o primeiro no pode ser zero. Ex.: 5 13 230 540
Prof. William Pelissari- 39
Constantes numricas
Uma constante inteira octal pode ser formada por qualquer combinao dos dgitos de 0 a 7 e o primeiro deve ser zero. Ex.: 0 013 0656 0540 Uma constante inteira hexadecimal pode ser formada por qualquer combinao dos dgitos de 0 a 9 e de A a F (maisculas ou minsculas). Deve sempre iniciar com 0x ou 0X. Ex.: 0x 0x1 0xABC 0xabc
Normalmente a magnitude de uma constante inteira : Decimal = 32767 Octal = 07777 Hexa = 0x7FFF
Prof. William Pelissari- 40
20
Constantes numricas
As constantes do tipo ponto-flutuante um nmero na base 10 que contem casas decimais e/ou um expoente. Ex.: 0. 0.5 1.3 230.323 .540e2
Observe que o caracter que separa a casa decimal um ponto e no uma virgula Para representar um nmero com expoente, trocamos a base 10 pela letra e. Assim para representar 2 x 10, teremos: 200. ou 2e2 ou 2e+2 ou 2E2 ou 2.0e+2
Constantes caracteres
As constantes do tipo caracter consiste em um simples caracter colocado entre apstrofos. Ex.: A x 5 $
Uma constante de caracter tem valores inteiros correspondentes a um conjunto de caracteres especificos. Normalmente os computadores utilizam o conjunto de caracteres ASCII, onde cada caracter representado por uma combinao de 7 bits, Representando assim 2e+7 = 128 diferentes caracteres. Desta forma, cada constante de caracter, tem um valor inteiro correspondente.
Prof. William Pelissari- 42
21
Constantes caracteres
Caracter Valor Caracter Valor Caracter Valor Caracter Valor
A B C D E F G H I J K L
65 66 67 68 69 70 71 72 73 74 75 76
M N O P Q R S T U V W X
77 78 79 80 81 82 83 84 85 86 87 88
a b c d e f g h i j k l
0 1 2 3 4 5 6 7 8 9 DEL ESC
48 49 50 51 52 53 54 55 56 57 127 27
Constantes string
As constantes do tipo string consiste em um conjunto de caracteres colocados entre aspas. Ex.: Prof. William vasco So Luis Boa Noite !!! 235-2234 2*(I+3)/J
Algumas seqncias de caracteres podem ser includas dentro da string para possibilitar a formatao. Ex.: Esta a primeira linha\n e esta a segunda linha
Prof. William Pelissari- 44
22
Seqncia de escape
Alguns caracteres especiais e os no-imprimveis, so expressos como uma seqncia de escape. Uma sequencia de escape sempre comea co uma barra invertida (\) seguida por um caracter. Alguns comandos em C, so representados desta forma. Ex.:
Caracter Nova linha (line feed) FD Campainha (bell) Tabulao horizontal Tabulao vertical Aspas () Apstrofo () Interrogao (?) Barra invertida (\) Nulo (null) Seqncia de escape \n \a \t \v \ \ \? \\ \0 Valor ASCII 10 07 09 11 34 39 63 92 00
Prof. William Pelissari45
Variveis
As variveis so o aspecto fundamental em qualquer linguagem de computador.
Uma varivel nada mais que um espao de memria reservado para armazenar um certo tipo de dado. Uma
23
Declarao de Variveis
Declarar uma varivel significa reservar um espao em memria para um determinado tipo de dados e indicar que o contedo daquele espao, ser referenciado pelo o nome da varivel. Uma declarao de varivel consiste em um tipo seguido do nome da varivel. Exemplo: int num; char a; // uma varivel do tipo int // uma varivel do tipo char
Declarao de variveis: Para serem usadas, as variveis precisam ser declaradas de modo que o compilador possa reservar espao na memria para o valor a ser armazenado. A forma geral de uma declarao : tipo lista_de_variaveis; Exemplos: int i; unsigned int a, b, c; double salario;
24
Durante a declarao da varivel Ex.: int i=0, j=10; Durante execuo de uma a funo
Tipos de Variveis
O tipo de uma varivel informa a quantidade de memria, em bytes, que ela ir ocupar e a forma como o seu contedo ser armazenado.
Os tipos de dados bsicos do C visto anteriormente devem ser utilizados para prototipar uma varivel conforme a necessidade do programa.
25
Nomes de Variveis
Voc pode usar quantos caracteres quiser para um nome de varivel com o primeiro caracter sendo obrigatoriamente um letra ou sublinhado(_). Uma varivel no pode ter o mesmo nome de uma palavra reservada do C e no dever ter o mesmo nome de uma funo. Na linguagem C, maisculas e minsculas tem tratamento diferenciado, assim, cont, Cont e CONT so trs variveis distintas.
Prof. William Pelissari- 51
int a; a = (8+2)/2;
A atribuio de uma varivel do tipo char, pode ser feita de duas formas: - Atribuindo uma constante de caracter:
char b = A;
Atribuindo o cdigo ASCII correspondente antecedido pela barra invertida:
-
char b = \65
Prof. William Pelissari- 52
26
27
28
Nesta prxima tela voc escolhe o compilador (O GNU GCC Compiler j vai estar selecionado, pois definimos ele como padro). Aqui tambm voc escolhe se quer que o Code::Blocks crie as configuraes de debug e release, bem como os locais onde ele ir armazenar os executveis gerados (por padro na subpasta bin) e os arquivos objeto (por padro na subpasta obj). Deixe como est e clique Finish. Seu projeto foi criado. Vamos navegar um pouco no Code::Blocks e ver onde so definidas as principais propriedades do projeto.
29
Configurando Bibliotecas
Para utilizar bibliotecas externas e engines voc vai precisar informar ao Code::Blocks onde procurar pelos cabealhos (.h) e pelas bibliotecas (.a, .dll) que faro parte do seu projeto. Para fazer isto, v no menu Project >> Build options... A primeira aba, Compiler settings, lista basicamente as opes do compilador, e permite utilizar #defines ao nvel de todo o projeto. Na aba Linker settings onde voc vai informar quais bibliotecas sero linkadas ao seu projeto. Em Link libraries basta clicar em Add para adicionar as bibliotecas (libs). Basta os nomes, sem extenso, j que o caminho para elas voc vai informar em outra aba. Na aba Search directories onde voc vai informar onde o Code::Blocks ir encontrar os arquivos.
Conhecendo o Ambiente
A aba Compiler onde devem estar as pastas que contm os cabealhos (.h) que voc ir utilizar. Basta clicar em Add e ir adicionando as pastas. A aba Linker onde ficam as pastas que contm os arquivos .a e .dll que sero linkados ao seu projeto. Note que ao lado esquerdo voc tem o nome do seu projeto e os nomes das configuraes (no caso Debug e Release). Todas as modificaes que voc fizer nas abas mostradas, afetaro apenas a configurao que estiver selecionada, ou afetaro todo o projeto se o nome do projeto estiver selecionados. Isto importante, pois alguns cabealhos e bibliotecas so nicas para qualquer configurao, e portanto mais fcil setar ao nvel do projeto. Outras so separadas em debug e release, portanto devem ser definidas de forma diferentes para cada configurao. Clique Cancel para sair desta tela.
30
Conhecendo o Ambiente
Outra tela que vale uma visita indo no menu Project >> Properties... Aqui voc pode mudar o ttulo do seu projeto, e alterar outras configuraes. Clique na aba Build targets. Aqui voc modifica os modos de compilao (ou build targets), que na maioria dos casos sero Debug e Release. Em Type voc define o tipo de aplicao (console, GUI (com janelinha), ou se uma DLL ou uma biblioteca o que voc est desenvolvendo). Em Output filename voc define o nome e local do executvel resultante. No vou entrar em detalhes para no alongar muito. Clique em Cancel. Let's code!
Conhecendo o Ambiente
Let's code! Clique no menu File >> New >> Empty file. Quando o Code::Blocks perguntar se deseja adicionar o arquivo ao seu projeto, clique Yes. Uma janela para salvar o arquivo ir aparecer. Salve como main.cpp. Na tela seguinte, ele ir lhe perguntar em quais configuraes deseja adicionar este arquivo. Clique em Select all, OK. Digite o cdigo abaixo no arquivo main.cpp: #include <stdio.h> /* programa que imprime: Ol Mundo */ void main() {
printf(Ol Mundo!);
31
Conhecendo o Ambiente
Ajuste o cdigo no arquivo main.cpp, conforme abaixo: #include <stdio.h> /* programa que imprime: Ol Mundo */ void main() {
printf(Ol Mundo!); getch();
Comandos do Ambiente
Para compilar e executar o programa, a barra de ferramentas do Code::Blocks oferece algumas opes: Build: (Ctrl+F9) Compila (constri) o programa. Run: (Ctrl+F10) Executa o programa j compilado. Build and run: (F9) Faz os dois passos acima. Compila o programa, e se no houver erros j o executa. Rebuild: (Ctrl+F11) Recompila todo o programa, mesmo os arquivos que j foram compilados antes. Clique em Build and run. Se o programa foi compilado e executou corretamente, sua configuraao est ok.
32
33
Converso de tipos
Algumas vezes o compilador faz uma converso automtica quando vai atribuir um valor de uma expresso a uma varivel. Ex.: sendo: void main() { float f1,f = 21.45; char c1,c = 'A'; int i1,i = 10; i1 = f; // i1 receber printf("%d\n",i1); f1 = i; // f1 receber printf("%f\n",f1); c1 = i; // c1 receber printf("%d\n",c1); i1 = c; // i1 receber printf("%d\n",i1); getch(); }
Prof. William Pelissari- 67
Converso de tipos
O Programador pode forar a converso. Ex.: sendo:
void main() { int a = 65; float x = 2.1, y = 8.95, z; char c; c = (char)a; printf("Valor de c ( %c ) --> %d\n", c,c); c = (char)(a + (int)x); printf("Valor de c ( %c ) --> %d\n", c,c); z = (float)((int)x * (int)y); printf("Valor de z ( %f ) --> %d\n", z,z); z = (float)((x * y)); printf("Valor de z ( %f ) --> %d\n", z,z); getch(); }
Prof. William Pelissari- 68
34
Entrada e Sada Para que exemplos possam ser construdos, necessitamos conhecer um pouco sobre entrada e sada de dados. Um programa que no fornece resultados nem pede valores para operar no deve ter grande utilidade. A entrada de dados ser feita pelo teclado e a sada poder ser vista na tela do computador. Com isto, possvel resolver problemas bastante interessantes.
Biblioteca Padro Para termos acesso biblioteca que contm as funes, macros e variveis que facilitam a entrada e sada de dados, o programa deve conter a declarao #include <stdio.h> no incio do programa. Normalmente os programadores usam os smbolos menor (<) e maior (>), mas possvel a alternativa #include "stdio.h"
35
Sada - A Funo printf A funo printf permite que dados sejam escritos na tela do computador. O formato de uso simples e bastante flexvel, permitindo que os dados possam ser apresentados de diversas maneiras.
Sada - A Funo printf O programa abaixo imprime o valor da varivel ano. #include <stdio.h> #include <conio.h> // Biblioteca de entrada e sada main() { ARGUMENTO int ano = 2012; // Declarei ano como inteiro e ja defini seu valor. printf( Estamos no ano %d ", ano ); getch(); } CONTROLE Na tela do computador ser impresso: Estamos no ano 2012;
Prof. William Pelissari72
36
Sada - A Funo printf O controle, que deve aparecer sempre entre " ", define como sero impressos os argumentos. Neste controle podem existir dois tipos de informaes: caracteres comuns e cdigos de formatao. Os caracteres comuns, como no exemplo (Estamos no ano) so escritos na tela sem nenhuma modificao. Os cdigos de formatao, aparecem precedidos por um % e so aplicados aos argumentos na ordem em que aparecem.
Prof. William Pelissari73
Cdigos de Formatao
Deve haver um cdigo de formatao para cada argumento. O cdigo %d indica que o valor armazenado em ano deve ser impresso na notao inteiro decimal.
Cdigo %c %d %i %e %f %o %s %u %x %% Comentrio Caractere simples Inteiro decimal com sinal Inteiro decimal com sinal Real em notao cientfica com e Real em ponto flutuante Inteiro em base octal Cadeia Caracteres Inteiro decimal sem sinal Inteiro em base hexadecimal (letras minsculas) Imprime o caracter %
Prof. William Pelissari74
37
Sada justificada
Um sinal de menos para especificar que o argumento deve ser tabulado a esquerda no seu campo de impresso pode ser acrescentado. Exemplo a seguir ilustra os dois tipos de justificao. Observe main() { int ano = 2012; printf("Justificado a esquerda Ano = %-8d\n", ano); printf("Justificado a direita Ano = %8d\n", ano); getch(); }
Especificador de Preciso
O especificador de preciso consiste de um ponto que separa o nmero que define o tamanho do campo do nmero que especifica o mximo nmero de dgitos a serem impressos a direita do ponto em um nmero do tipo float ou double #include <stdio.h> #include <conio.h> Observe main() { float r = 1.0/3.0; printf("O resultado e = %9.5f\n", r); getch(); }
Prof. William Pelissari76
38
Cdigos de Formatao
Ao executar o exemplo verifique que \n no impresso. A barra inclinada chamada de seqncia de escape, indicando que o prximo caracter no para ser impresso mas representa caracteres invisveis, por exemplo. Alguns destes caracteres so:
Cdigo \n \t \b \f \0 Descrio Passa para uma nova linha Tabulao Retorna um caracter Salta uma pgina Caracter nulo
Entrada - A Funo scanf A funo scanf pode ser utilizada para entrada de dados a partir do teclado. Esta funo equivalente funo printf e seu formato : Syntax: scanf(controle, arg1, arg2, ...); Uma diferena fundamental existe entre as duas funes que os argumentos da funo scanf so os endereos das variveis que iro receber os valores lidos e no, como em printf, as prprias variveis.
39
Entrada - A Funo scanf A indicao que estamos referenciando um endereo e no a varivel se faz pelo operador &. Por exemplo, o comando scanf("%d %d", &a, &b) espera que dois valores inteiros sejam digitados no teclado. O primeiro armazenado na varivel a e o segundo em b.
Cada varivel a ser lida, dever ser precedida pelo caracter & Para seqncia de caracteres (%s), o caracter & no dever ser usado.
40
Entrada - A Funo scanf int main() { int numero; char string[30]; printf("Digite uma string: "); scanf("%s",string); printf("Digite um numero: "); scanf("%d",&numero); printf("A string digitada foi: \t%s\n", string); printf("O numero digitado foi: \t%d\n", numero); }
Prof. William Pelissari81
Lendo e Imprimindo Caracteres Para ler e escrever caracteres do teclado as funes de entrada e sada mais simples so getchar e putchar que esto na biblioteca stdio.h #include <stdio.h> #include <conio.h> main() { char c; int i; printf("Entre com um caracter entre 0 e 9.\n"); c = getchar(); printf("O caracter lido foi o "); putchar(c); getch(); } Prof. William Pelissari82
41
Lendo e Imprimindo Caracteres Na definio original da funo getchar a entrada armazenada at que a tecla ENTER seja apertada. Com isto caracteres ficam em um buffer esperando para serem tratados. Em ambientes onde necessrio tratar o caracter imediatamente esta funo pode no ser til. Muitos compiladores incluem funes para permitir entrada interativa de dados. As duas funes mais comuns so getch e getche e seus prottipos podem ser encontrados na biblioteca <conio.h>.
42
Lendo e Imprimindo Strings Um string em C um vetor de caracteres. Para usar strings preciso primeiro definir um espao para armazen-los. Para isto preciso declarar o tamanho e o tipo do vetor. Por exemplo: char nome[40];
Quando definir o tamanho do vetor observar que todo string em C termina com o caracter null ('\0'), que automaticamente inserido pelo compilador.
Portanto o vetor nome pode armazenar no mximo 39 caracteres.
Prof. William Pelissari85
Lendo e Imprimindo Strings Exemplo : #include <stdio.h> #include <conio.h> void main ( ) { char nome[40]; puts("Por favor, qual o seu nome."); scanf("%s", nome); printf(Em que posso ajuda-lo %s?\n", nome); getch(); }
43
Expresses e Operadores
Adio:
Expresso1 + expresso2
Expresses e Operadores
Subtrao:
Expresso1 - expresso2
As duas expresses so avaliadas, depois a subtrao realizada, e o valor obtido o valor da expresso.
- Expresso A semntica de (-expresso) a mesma do que (0 - expresso).
Prof. William Pelissari88
44
Expresses e Operadores
Multiplicao:
Expresso1 * expresso2 As duas expresses so avaliadas, depois a multiplicao realizada, e o valor obtido o valor da expresso.
Expresses e Operadores
Diviso:
Expresso1 / expresso2 Diferente das outras linguagens, em C o / designa ao mesmo tempo a diviso dos inteiros e dos reais.
45
Expresses e Operadores
Diviso:
Caso os dois operandos inteiros sejam positivos, o sistema arredonda o resultado da diviso : 7 / 2 retorna 3 Caso os dois operandos inteiros sejam de sinal diferentes, o
-7 / 2 ou 7 / -2
O Mdulo % Expresso1 % Expresso2 As duas expresses devem retornar valores de tipo inteiro O mdulo retorna o resto da diviso inteira.
7 % 2 retorna 1
Caso um dois operadores sejam negativo, o sinal do mdulo depende da implementao, mas geralmente o sinal do primeiro 7 %2 -7 % 2 7 % -2 retornam 1 retornam -1 retornam 1
Prof. William Pelissari92
46
Operador && || !
47
Operador &
o operador de endereamento (ponteiro): Ele permite apontar qualquer varivel: &a o endereo da varivel a
Incremento x = x + 1; x++; ++x; s+=i; z = y++; z = ++y; /* s=s+i*/ /* z=y e depois y++ */ /* y++ e depois z = y (novo) */
48
Decremento
/* isto decrementa y */ /* isto decrementa y */ /* isto decrementa y */ /* s=s-i*/ /* z =y e depois y- - */ /* y-- e depois z=y (o novo)*/
Condicional (IF) if (b >= 3.0) a = 2.0; else a = 10.5; Igual a : a = (b >= 3.0 ? 2.0 : 10.5 ); c = (a > b ? a : b); c = (a > b ? b : a); /* c=maior(a,b) */ /* c=menor(a,b) */
49
Questionrio 2
Baseado no que foi visto em sala de aula, faa: Escreva um programa que declare variveis do tipo inteiro, char e float, inicializando-as, e imprima os seus valores. Faa um programa capaz de ler um valor real e escreve-lo com apenas uma casa decimal.
Questionrio 2
Sabendo que os argumentos da funo "printf" podem ser expresses (a+b, a/b, a*b...), e no somente argumentos, faa um programa capaz de ler um valor inteiro X e imprimir na tela o cubo, o quadrado e a metade de X. Ex.: para X= 6, imprimir Cubo = 18; Quadrado = 36; Metade = 3.
50
Exerccios
Escreva um programa que leia 3 nmeros reais e imprima a mdia aritmtica destes nmeros. Escreva um programa que leia uma temperatura em graus Celsius e apresenta o valor em Fahrenheit. (Formula: F = (9 X C + 160)/5) Escreva um programa que leia uma temperatura em graus Fahrenheit e apresenta o valor em Celsius. (Formula: C = (F -32) * (5/9)
Exerccios
Escreva um programa que leia 3 nmeros reais e se a soma dos 3 nmeros for maior do que 50 imprima a mdia aritmtica destes nmeros, seno imprima a soma. Escreva um programa que leia uma temperatura em graus Celsius e se a temperatura for maior do que 38 graus escreva Temperatura muito quente, se for menor do que 10 graus escreva Temperatura muito fria, e para a temperatura entre 11 e 37 graus escreva Temperatura Normal.
51
Exerccios
1) Faa um algoritmo que, dada a idade de um nadador, classifique-o em uma das seguintes categorias: infantil A = 5 - 7 anos. infantil B = 8 - 10 anos. juvenil A = 11 - 13 anos. juvenil B = 14 - 17 anos. senior = maiores de 18 anos.
Exerccios
2 - Suponha-se que em um mercado exista apenas os produtos a, b e c. O produto a vale R$10,00, o b R$ 5,25 e o c R$ 20,00. Um cliente comprou: 5 produtos a, 3 produtos b e 7 produtos c. Faa um programa que calcule o valor da conta deste cliente e a imprima na tela. (valor com apenas duas casas depois da vrgula).
Prof. William Pelissari104
52
Exerccios
3 - Faa um programa que calcule o salrio lquido de um funcionrio, onde ser informado o Valor da Hora trabalhada, o nmero de Horas trabalhadas no ms e o percentual de desconto de INSS. Deve saber qual seu salrio bruto para realizar o desconto.
Exerccios
4 - Faa um programa que leia o ano de fabricao, modelo, valor e cor de 4 carros. -Apresente a marca e cor dos veculos com valor acima de 30.000 ou ano de fabricao acima de 2001; -Apresente o veculo mais caro da cor Prata ou Preto.
53
Exerccios
5 - Um empregado recebeu 30% de aumento em seu salrio, faa um programa que leia o salrio atual, calcule o valor do acrscimo e o salrio final, apresentando esses valores para o usurio.
54