Buscar

Apostila de Linguagem C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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.

Outros materiais