Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Introdução A linguagem C foi implementada primeiramente por Dennis Ritchie em um computador DEC PDP-11 que utilizava o sistema operacional UNIX. Ela teve origem na linguagem B, inventada por Ken Thompson na década de 70, a qual teve origem na linguagem BCPL. As primeiras versões da linguagem C foram fornecidas com o sistema operacional UNIX. Com o advento dos microcomputadores, surgiram várias implementações da linguagem C, ocasionando algumas diferenças entre elas. Em 1983 o ANSI (órgão de padronização norte americano) estabeleceu um comitê para criar um padrão para a linguagem C, a qual ficou conhecida como ANSI C. A linguagem C é voltada principalmente para implementar softwares básicos de suporte e apoio como: sistemas operacionais, programas montadores e compiladores, editores de texto, gerenciadores de impressão, banco de dados e utilitários de modo geral. É uma linguagem considerada de médio nível, pois combina elementos de linguagem de alto nível com a funcionalidade da linguagem assembly. C permite a manipulação de bits, bytes e endereços. Uma das principais vantagens de C é sua grande portabilidade. Isso significa que fica fácil migrar um programa escrito em C de uma plataforma de Hardware e sistema operacional para outras. É uma linguagem estruturada assim como o Pascal e, a principal característica de uma linguagem estruturada é a utilização de blocos. Um bloco é um conjunto de instruções que estão ligadas logicamente. A linguagem C baseia-se no conceito de blocos construtivos. Os blocos construtivos são denominados funções. Um programa C é portanto, uma coletânea de uma ou mais funções. Assim, para escrever um programa C, primeiro deve-se criar as funções para depois juntá-las. Uma função é uma sub-rotina formada por uma ou mais declarações C, que executa uma ou mais subtarefas. 2 Estrutura Sequencial em C #include <nome_da_biblioteca> main( ) { bloco de comandos; } obs: normalmente, cada comando é finalizado com ponto e vírgula. Variável Representa uma posição de memória. Possui nome e tipo e seu conteúdo pode variar ao longo do tempo, durante a execução de um programa. Embora uma variável possa assumir diferentes valores, ela só pode armazenar um valor de cada vez. Declaração de variáveis As variáveis são declaradas após a especificação de seus tipos. Tipos de dados Finalidade int para números inteiros float para números reais (7 casas decimais) char para um caractere double para números reais (15 casas decimais) Exemplo: float x; int n2, n3; char sexo; char cidade[35]; declara uma variável chamada sexo em que pode ser armazenado um caractere. declara uma variável chamada cidade em que podem ser armazenados até 35 caracteres. Nomes de identificadores São os nomes das variáveis, das constantes, das funções, dos programas, etc. Regras: usar somente números, letras (maiúsculas ou minúsculas) e o caractere sublinhado ( _ ) o primeiro caractere deve ser sempre uma letra ou o caractere sublinhado não são permitidos espaços em branco e caracteres especiais (@, $, +, -, !, etc) não usar palavras reservadas, ou seja, palavras que pertençam a uma linguagem de programação 3 Exemplos válidos Exemplos inválidos A 5b _3 e 76 nota x-y x5 nota(3) b32 case visto_6 z@ valor ≠ Valor ≠ VALOR Exemplos de declaração de variáveis #include <iostream.h> #include <conio.h> main( ) { int valor; float salario, nota; char teste, nome[40]; ........ } Valor Lógico Na linguagem C, não existe o valor verdadeiro ou falso. Para isso deve- se usar 1 (um) ou 0 (zero) para valores lógicos. Exemplo: int vf; vf = 12 > 5; Como a expressão é Verdadeira, vf recebe o valor 1. Comando de atribuição ( = ) É utilizado para conceder valores ou operações a variáveis, sendo representado por = (sinal de igualdade). Exemplo: int x; float y; char sexo; x = 4; x = x+2; y =2.5; sexo = „F‟; caracteres são representados entre apóstrofos ( „ ) As cadeias de caracteres devem ser representadas entre aspas ( “ ) Para armazenar uma cadeia de caracteres dentro de uma variável, deve-se utilizar uma função 4 strcpy(nome, “Josefa”); nome = “Josefa”; Exemplo: #include <iostream.h> #include <string.h> main( ) { int novo, idade = 14; char palavra[25]; novo = 755; strcpy(palavra, “caridade”); } Operadores Aritméticos Operador Exemplo Comentário + x + y Soma o conteúdo de x e de y - x - y Subtrai o conteúdo de y do conteúdo de x * x * y Multiplica o conteúdo de x pelo conteúdo de y / x / y Obtém o quociente da divisão de x por y % x % y Obtém o resto da divisão de x por y O operador % só pode ser utilizado com operandos do tipo inteiro. Operador Exemplo Comentário += x +=y Equivale a x = x + y -= x -=y Equivale a x = x - y *= x *=y Equivale a x = x * y /= x /=y Equivale a x = x / y %= x %=y Equivale a x = x % y ++ x++ Equivale a x = x + 1 ++ y = ++x Equivale a x = x + 1 e depois y = x ++ y = x++ Equivale a y = x e depois x = x + 1 -- x-- Equivale a x = x - 1 -- y = --x Equivale a x = x – 1 e depois y = x -- y = x-- Equivale a y = x e depois x = x - 1 Forma incorreta! 5 Relacionais Usado para realizar comparações. Operador Exemplo Comentário == x == y O conteúdo de x é igual ao conteúdo de y != x != y O conteúdo de x é diferente do conteúdo de y <= x <= y O conteúdo de x é menor ou igual ao conteúdo de y >= x >= y O conteúdo de x é maior ou igual conteúdo de y < x < y O conteúdo de x é menor que o conteúdo de y > x > y O conteúdo de x é maior que o conteúdo de y sempre retorna verdadeiro ( 1 ) ou falso ( 0 ) Lógicos São utilizados para conectar expressões lógicas sendo geralmente utilizados em expressões condicionais. Operador Função Comentário ! negação Um expressão ! (NÃO) inverte o valor da expressão ou condição, se verdadeira inverte para falsa e vice-versa. && e Uma expressão && (E) é verdadeira se todas as condições forem verdadeiras || ou Uma expressão || (OU) é verdadeira se pelo menos uma condição for verdadeira Prioridades Na resolução de expressões aritméticas, as operações guardam uma hierarquia entre si. Precedência entre os operadores aritméticos Prioridade Operadores 1ª. parênteses mais internos 2ª. * / % 3ª. + - Em caso de empate (operadores de mesma prioridade), devemos resolver da esquerda para a direita, conforme a sequência existente na expressão aritmética. Precedência entre os operadores lógicos Prioridade Operadores 1ª. ! 2ª. && 3ª. || 6 Precedência entre todos os operadores Prioridade Operadores 1ª. parênteses mais internos 2ª. operadores aritméticos 3ª. operadores relacionais 4ª. operadores lógicos Função de Entrada (cin) é usado para receber dados digitados pelo usuário. Os dados são armazenados em variáveis. cin >> x; um valor digitado pelo usuário será armazenado na variável x. Exemplo: #include <iostream.h> main( ) { int x, y; cin >>x >>y; } Função de Entrada (gets) é usado quando se deseja digitar uma cadeia caracteres contendo espaços em branco. Exemplo: #include <conio.h> main( ) { char nome[40]; gets(nome); ........ } Função de Entrada (scanf) As variáveis que serãolidas devem ser precedidas do símbolo &, exceto para strings (cadeia de caracteres). scanf(“formatação”, &variável); Tipo Formatação Formatação Comentário %d ou %i usado para números inteiros %f usado para números reais %c usado para um caractere %s usado para um conjunto de caracteres Exemplo: 7 #include <stdio.h> main( ) { int x; scanf(“%d”, &x); …. } Função de Saída (cout) É utilizado para mostrar dados na tela. cout << x; Mostra o valor armazenado na variável x. cout << “Conteúdo de x = ” << x; Exemplo1: #include <iostream.h> #include <stdlib.h> main( ) { int num; cout << “Digite um número”; cin >>num; cout << num << “ foi o número digitado”; system(“pause”); } Exemplo2: #include <iostream.h> #include <conio.h> main( ) { int lado; cout << “Digite um número \n”; cin >>lado; cout << “\nValor digitado =” << lado; getch( ); } O \n faz a mudança de linha e sempre deve estar dentre aspas. Função de saída (printf) printf(“Boa Sorte!”); mostra a mensagem Boa Sorte! printf( “%d”, y); mostra o número inteiro armazenado na variável y; 8 printf(“%f ”, num); mostra o número real armazenado na variável num. Quando se deseja mostrar o valor de uma variável no printf, é necessário indicar o tipo de variável, igual a tabela apresentada na função scanf. printf(“O valor = %i”, m); mostra a mensagem O valor = e em seguida o número inteiro armazenado na variável m. printf(“%5.2f”, salario); mostra o número real armazenado na variável salario utilizando um total de cinco espaços e duas casas decimais. Comentários São textos que podem ser inseridos em programas com o objetivo de documentá-los. Eles não são analisados pelo compilador. /* ....................................... */ ou //....................................... Exercícios 1) Quais as variáveis não válidas em C? Explique o motivo. abc ah- main sal_liquido sala215 nomedaempresa 3formas ano base _a123 2) Supondo-se que as variáveis nome, prof, id e salario sejam utilizados para armazenar nome, código de profissão (no. inteiro), idade e salário de uma pessoa, escrever o conjunto de declarações necessário para criar estas variáveis e associar às mesmas nos respectivos tipos pré-definidos. 3) Agora, escreva a declaração de variáveis, escolhendo os nomes para as variáveis usadas com as seguintes finalidades: CEP, matrícula da faculdade, número de dependentes, altura, situação funcional ( aposentado/ normal/ licenciado), nível superior (sim ou não) 9 4) Determine os resultados das expressões abaixo: a) 2<5 && 18/3 == 5 b) 2<5 || 18/3 == 5 c) !(7 != 14/2 || (8+4)>6 && 7>=7) 5) Analise os seguintes programas e diga o que será impresso na tela ao serem executados: a) main( ) { int A, B; A = 1; B = 2; cout << B; B = 5; cout<<A<< “ e “<< B; } b) main( ) { int a = 3, b = 2, c; c = b + a; cout << c << “\n”; b = 1; printf(“%i %i\n”, b, c); c = b + a; printf(“%d %d % d”, a,b,c); } c) main( ) { int A = , B, C; B = 2; C = A; B = C; A = B; cout << A<<”\n”<<B<<”\n”<<C; } d) main( ) { int A , B; A = 1; B = 1 + A; A = 1 + B B = A + 1; cout<< A; A = 2 * B; cout << A<< “ ”<<B; } 6) Escreva um programa para ler um valor numérico inteiro (do teclado) e escrever o seu antecessor. 7) Elabore um programa que leia 2 valores int ( x e y) e calcule o resto da divisão de x por y. 8) Elabore um programa que leia 2 valores int (x e y) e calcule a média aritmética entre entre eles. 9) Faça um programa para ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo. Obs.: Área = ( Base * Altura ) / 2 10) Dado o Nome, preço de compra (PC) e o preço de venda (PC) de uma mercadoria, imprima o nome da mercadoria e o lucro obtido com a venda da mesma. 11) Faça um programa para solicitar a entrada de uma idade em anos e imprima a idade em dias, em horas, em minutos e em segundos. 10 12) O preço de um automóvel é calculado pela soma do preço de fábrica com o preço dos impostos (45% do preço de fábrica) e a percentagem do revendedor (28% do preço de fábrica). Faça um programa que leia o nome do automóvel e o preço de fábrica e imprima o nome do automóvel e o preço final. 13) Uma firma contrata um encanador a R$ 45,00 por dia. Crie um programa que solicite o número de dias trabalhados pelo encanador e imprima a quantia líquida que deverá ser paga, sabendo-se que são descontados 8% para imposto de renda. 14) Faça um programa que permita o usuário digitar: Nome, salário bruto e o percentual de acréscimo de um funcionário qualquer. Após, imprima no vídeo o nome digitado, salário bruto e o salário líquido. 15) Faça um programa que permita o usuário digitar: Nome, quantidade de horas trabalhadas, o valor pago por hora de trabalho e o percentual de desconto de um funcionário qualquer. Após, imprima no vídeo o nome digitado, salário bruto e o salário líquido. 16) Em uma fábrica trabalham uma quantidade X de homens e uma quantidade Y de mulheres. Faça um programa que permita o usuário digitar estas quantidades, e após a entrada destes dados imprima: Total de pessoas que trabalham nesta fábrica, o percentual de homens e o percentual de mulheres com relação ao total de funcionários.
Compartilhar