Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem C
Caro(a) aluno(a),
Neste capítulo, serão apresentados os conceitos fundamentais da lin-
guagem de programação C. O objetivo principal é que ao final do
capítulo você esteja familiarizado com as características fundamen-
tais desta linguagem espetacular. Desta forma, você será capaz de
aplicar os conhecimentos de lógica aprendidos no semestre anterior
usando C.
Desejo-lhe um ótimo estudo!
2.1 – A história de C
Licenciatura em Informática
21
Conceitos Básicos da Linguagem C
x = 0;
y = x + 2;
o “;” for omitido, o compilador gera uma mensagem de erro, para in-
formar que não foi encontrado este símbolo para indicar o fim da
instrução.
Linguagem de Programação I
22
Capítulo 2
tipo-da-variável nome-do-identificador;
Onde:
char op;
long fat;
float altura;
O tipo padrão do C é int. Isto quer dizer que é possível declarar variá-
veis do tipo int com o uso de modificadores de tipo, sem citar o tipo int,
como em long fat. Esta declaração é equivalente à long int fat.
Licenciatura em Informática
23
Conceitos Básicos da Linguagem C
Atividades:
1) O que foi entendido como “palavras reservadas” da lingua-
gem C? Escolha três palavras reservadas e explique o que eles
fazem.
2) A instrução
m=m+2
está correta? Justifique sua resposta.
3) Dê nomes para identificadores que possam representar:
a) um nome próprio
b) a idade de uma pessoa
c) o salário de um funcionário
d) a média de uma temperatura
e) a quantidade de filhos de um pai
2.8 – Constantes
Linguagem de Programação I
24
Capítulo 2
Código ‘Significado
\b Retrocesso (“back”)
\f Alimentação de formulário (“form feed”)
\n Nova linha (“new line”)
\r Retorno de carro (“carriage return”)
\t Tabulação horizontal (“tab”)
\” Aspas
\’ Apóstrofo
\0 Nulo (zero em decimal)
\\ Barra invertida
\v Tabulação vertical
\a Sinal sonoro (“beep”)
\N Constante octal (N é o valor da constante)
\xN Constante hexadecimal (N é o valor da constante)
Tabela 2: Constantes Caractere de Barra Invertida
Licenciatura em Informática
25
Conceitos Básicos da Linguagem C
2.9 – Comentários em C
Linguagem de Programação I
26
Capítulo 2
2.10 – Identação
Licenciatura em Informática
27
Conceitos Básicos da Linguagem C
Linguagem de Programação I
28
Capítulo 2
Atividades:
4) Explique a diferença entre variáveis globais e locais.
5) Reescreva o código da Figura 8, aplicando os conceitos apren-
didos sobre identação.
6) Reescreva o código da Figura 9, fazendo comentários para ex-
plicar o que acontece em cada instrução.
Licenciatura em Informática
29
Conceitos Básicos da Linguagem C
2.11.1 – Inteiros
Linguagem de Programação I
30
Capítulo 2
2.11.2 – Reais
O tipo float define um número de ponto flutuante com seis dígitos de-
cimais de precisão absoluta. O tipo double representa números de pon-
to flutuante com quinze dígitos decimais de precisão absoluta e o long
double suporta um número de ponto flutuante com quinze dígitos deci-
mais de precisão absoluta.
2.11.3 – Caracteres
Licenciatura em Informática
31
Conceitos Básicos da Linguagem C
2.12 – Operadores
nome_variável = expressão;
x = 2 + 3;
y = x;
m = n = x = 9;
o valor 9 é atribuído a m, n e x.
Linguagem de Programação I
32
Capítulo 2
Atividades:
1) Declare variáveis que sejam capazes de armazenar:
a) um nome próprio;
b) a idade de uma pessoa;
c) o salário de um funcionário;
d) a média de uma temperatura;
e) a quantidade de filhos de um pai.
Operador Ação
+ Soma (inteira e ponto flutuante)
– Subtração ou troca de sinal (inteira e ponto flutuante)
* Multiplicação (inteira e ponto flutuante)
/ Divisão (inteira e ponto flutuante)
% Resto de divisão (de inteiros)
++ Incremento (inteiro e ponto flutuante)
–– Decremento (inteiro e ponto flutuante)
Tabela 6: Operadores aritméticos da linguagem C
z++; é equivalente a z = z + 1;
z--; é equivalente a z = z – 1;
x = 16;
y = x++;
Licenciatura em Informática
33
Conceitos Básicos da Linguagem C
Ao final, tem-se y = 16 e x = 17
x = 16;
y = ++x;
Outro operador unário é –, usado para troca de sinal que não altera a
variável. Somente retorna o valor da variável multiplicado por -1.
Operador Ação
> Maior que
< Menor que
>= Maior ou igual
<= Menor ou igual
== Igual
!= Diferente (não igual)
Tabela 7: Operadores relacionais da linguagem C
Operador Ação
&& E (AND)
|| OU (OR)
! NÃO (NOT)
Tabela 8: Operadores lógicos da linguagem C
Linguagem de Programação I
34
Capítulo 2
2.13 – Expressões
As expressões
z = x * y + a / b;
z = x * (y + a) / b;
são válidas mas possuem execuções diferentes devido ao uso dos parên-
teses que alteram a precedência entre os operadores. No primeiro caso,
a multiplicação e divisão são executadas antes da soma. No segundo, a
soma é realizada e depois a multiplicação e a divisão, respectivamente.
Maior precedência () [] {}
! ~++ –– – (binário) . – (unário) (cast)
*(unário) &(unário) sizeof
*/%
+–
<< >>
<<= =>>
== !=
&
^
|
&&
||
?
= += –= *= /=
Menor precedência ,
Tabela 9: Tabela de precedência de operadores em C
Licenciatura em Informática
35
Conceitos Básicos da Linguagem C
Expressão Expressão
Original Equivalente
x = x + k; x +=k;
x = x – k; x -=k;
x = x * k; x *=k;
x = x / k; x /=k;
Tabela 10: Abreviação de expressões em C
Linguagem de Programação I
36
Capítulo 2
2.15.1 – printf()
e em
printf(“\n\tA soma %d + %d = %d\n\n”, n1, n2, resultado);
Licenciatura em Informática
37
Conceitos Básicos da Linguagem C
Código Formato
%c Caractere
%d Inteiros decimais com sinal
%i Inteiros decimais com sinal
%f Ponto flutuante
%o Octal sem sinal
%s Cadeia de caracteres (string)
%x Hexadecimal sem sinal
%p Apresenta o endereço de um ponteiro
%% Escreve o símbolo %
Tabela 11: Comandos de formato da função printf()
printf(“%06d”, m);
Linguagem de Programação I
38
Capítulo 2
2.15.2 – scanf()
scanf(“%d”, &n1);
Código Formato
%c Faz a leitura de um único caractere
%d Faz a leitura de um inteiro
%i Faz a leitura de um inteiro
%f Faz a leitura de um número ponto flutuante
%o Faz a leitura de um número octal
%s Faz a leitura de uma string
Licenciatura em Informática
39
Conceitos Básicos da Linguagem C
Atividades:
1) Verifique se as declarações abaixo, estão corretas, corrigindo as
que estiverem erradas:
a) char ch, letra;
b) long float salário;
c) float PI = 3.14;
d) int $teste;
e) char céu;
f) 18ouble 18ouble;
g) int Double;
2) Baseando-se na declaração de variáveis, indique o resultado das
sentenças lógicas:
a) int i = 5, j = 7;
b) (i > 3)
c) ( (j <= 7) && (i > 3))
d) (i != j)
e) (i == 0)
f) ((i != j) || (i == 3))
g) !(i < 8)
3) Escreva as expressões simplificadas equivalentes às expressões
abaixo:
a) i = i + 2;
b) x = x * (y + 1);
c) d = d – 3;
d) a = a / 4;
4) Explique o funcionamento das funções printf() e scanf() utili-
zadas no código-fonte apresentado na Figura 8.
Linguagem de Programação I
40
Capítulo 2
Licenciatura em Informática