Академический Документы
Профессиональный Документы
Культура Документы
CTI UNESP
51B
SUMRIO
1
INTRODUO .......................................................................................................................................................... 1
1.1
NVEL ......................................................................................................................................................... 1
1.2
PORTABILIDADE .................................................................................................................................... 1
1.3
4
5
3.3
VARIVEIS ............................................................................................................................................................... 6
OPERADORES ........................................................................................................................................................ 7
5.1
OPERADORES ARITMTICOS ............................................................................................................ 7
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
6
FUNO scanf ...................................................................................................................................................... 14
7
COMANDO if .......................................................................................................................................................... 15
8
COMANDO for ....................................................................................................................................................... 18
9
COMANDO do-while............................................................................................................................................. 20
10 COMANDO while ................................................................................................................................................... 23
11 O PR-PROCESSADOR C .................................................................................................................................. 25
11.1 Diretiva #define .................................................................................................................................... 25
11.2
14.3
14.4
14.5
INTRODUO
(Basic
Combined
Programming
Language
operacional ou mquina.
A linguagem C possui a reputao de ser
uma linguagem de programao de sistemas
1.3
LINGUAGEM ESTRUTURADA
1.1
NVEL
necessrias
somente
em
um
determinado bloco.
DESENVOLVIMENTO DE PROGRAMAS
2.1
PROCESSO
de
desenvolvimento
de
processo
fcil entendimento.
2. Compilao
3. Linkedio
4. Execuo
1.2
PORTABILIDADE
O compilador C um programa que
A
medida
da
converter
um
facilidade
portabilidade
com
que
se
uma
pode
Linguagem C
programa violar
uma das
regras
de C, o
Onde:
/* */
Comentrios
Smbolos agrupadores;
{ }
ARQUIVO .C
Observaes:
ARQUIVO .OBJ
Arquivo(s) de
biblioteca(s)
.LIB
LINKEDITOR
distingue
letras
maisculas
de
minsculas;
ARQUIVO .EXE
que aparecem;
nome-da-funo(lista-de-argumentos)
declarao da lista-de-argumentos
Incio
de repetio: while/do-while/for);
.
.bloco de declaraes
Fim da funo
estiver
entre
os
mesmos
ser
# include <stdio.h>
# include <conio.h>
main()
{
printf (Primeiro programa em C);
getche();
}
Linguagem C
FUNO printf
Definio:
funo
printf
usada
para
Sintaxe:
main()
printf(expresso-de-controle,lista-de-argumentos)
{
printf(Meu nome: escreva aqui seu nome\n);
onde:
escola);
getche():
3.1
SEQUNCIAS DE ESCAPE
EXERCCIOS - printf
teclado.
Sequncia
Resultado
ano
de
criao
devem
ser
de Escape
\a
Caractere de beep
\b
Caractere de Backspace
\n
apresentar as informaes.
\r
\t
\\
\?
Caractere de interrogao
# include <conio.h>
main()
Exemplo:
09 meu colega
printf(Resultado
10 meu nome
de
2*3*5
igual
a:
%d,2*3*5);
11 outro colega
getche();
}
3.2
Cdigo de
Resultado
Formatao
%c
%s
%d
3.3
base decimal
%f
COMPRIMENTO E PRECISO
%x ou %X
%o
ESPECIFICADORES DE
exibam
as
sadas
num
formato
octal
%u
%%
Apresenta o caractere %
# include <stdio.h>
# include <conio.h>
main()
Linguagem C
%04d
0003
Preenche
com
zeros p/ completar o
tamanho do campo
printf("\nOutras
\n%6.4f
especificacoes:
\n%6.2f
printf("\nResultados = %d
getche();
}
Exerccio 6: Faa um programa que mostre um
nmero inteiro positivo em uma linha e em outra
linha um nmero inteiro menor que o anterior.
Calcule e mostre a diferena entre eles. O clculo
dever ser realizado no prprio comando printf.
sua idade.
Sada
Nota
cador
5
%3.3d
%3.2d
05
Deixa 2 zeros p/
indicar preciso p/ 3
dg.
Deixa
espao
p/
preencher o campo;
um zero p/ indicar
preciso
p/
dois
dgitos
555
555
%3.3d
555
%7.5d
00555
nmero mnimo de
dgitos
Valor
contm
Dois
espaos
deixados p/ atingir o
decimal).
Apresente
sua
rea
em
metros
quadrados.
tamanho do campo;
-5
%d
-5
a preciso de cinco
dgitos
Mostra
negativo
valor
Linguagem C
Tipo
Valor Armazenado
int
float
char
double
Caracteres (ASCII)
Ponto flutuante com 13 ou 14
dgitos de preciso
comandos printf:
a) printf(Linguagem C\a Linguagem C\a);
b) printf(AB\b\bC);
c) printf(Comandos do DOS residem no C:\\DOS)
d) printf(\Fique alerta !\ gritou o menino);
e) printf(%d + %d = %d, 3, 4, 3 + 4);
f) printf (A\nB\nC);
g) printf (A\tB\tC);
h) printf(XXXAB\rC);
VARIVEIS
#include <conio.h>
main()
{
int inum_chamada=40;
diferentes valores.
float fpeso=86.2;
float faltura=1.70;
float fIMC;
fIMC=fpeso/(faltura*faltura);
printf("O IMC da pessoa de numero %d que
tem peso %4.1f e altura %4.2f eh igual a
%3.1f",inum_chamada,fpeso,faltura,fIMC);
getche();
utilizadas no programa
2
Linguagem C
OPERADORES
5.1
OPERADORES ARITMTICOS
(indique
se
houve
mudana
de
linha
na
Significado
Atribuio
Soma
Subtrao
Multiplicao
Diviso
#include <stdio.h>
#include <conio.h>
main()
{
float div_result;
float mult_result;
float soma_result;
entre inteiros)
float sub_result;
int div_modulo;
div_result = 25 / 3;
div_modulo = 25 % 3;
mult_result = 3 * 2.5;
soma_result = div_result + mult_result;
Multiplicacao
div_modulo,mult_resul);
soma_result, sub_result);
printf(Adicao
%f\n,
%f
div_result,
Subtracao
%f\n,
ser zero.
as instrues abaixo:
Linguagem C
5.2
OPERADORES DE INCREMENTO E
DECREMENTO
Operador
++
impresso.
--
Significado
ser utilizado.
Exemplo:
k = 2;
b = k++;
calcule e mostre:
deste nmero
pr-fixado: o operador aparece antes do nome da
Exerccio 19: Elabore um programa que declare
utilizada.
Exemplo:
como no exemplo:
k = 2;
b = ++k;
Exemplo:
m = 4;
n = 2 * m++;
Linguagem C
Exemplo:
21.b)
m = 4;
int a = 7;
n = 2 * ++m;
int b = 4;
int c;
a = a++ - b;
b - -;
c = a + b;
Valor final de a = ______
funcionamento
bsico
do
operador
de
Observaes:
21.c)
int a = 2;
int b = 5;
int c = 1;
incremento e decremento:
b = a++ * b++;
++variavel
variavel++
--variavel
variavel--
c = ++c + a + b;
Valor final de a = ______
de
Os
operadores
de
incremento
nunca
com
expresses
21.d)
int a = 4;
int b = 6;
ou
int c;
constantes.
c = ++a * b - -;
Valor final de a = ______
EXERCCIOS operadores
incremento/decremento
21.e)
int a = 4;
int b = 6;
int c;
21.a)
c = - - b * - - a;
int a = 10;
int b = 5;
int c;
a++;
++b;
c = a + b;
21.f)
int a = 4;
int c = 2;
int d;
d = 2 * a++ - (- - c);
Linguagem C
21.g)
int a = 4;
int d;
d = - - a * - - a;
Outros exemplos:
5.3
OPERADORES ARITMTICOS DE
ATRIBUIO
Operao de
Operao
Atribuio
Equivalente
j += 2
j=j+2
m *= k + 2
m = m * (k + 2)
d /= 256
d = d / 256
e %= 3
e=e%3
l -= r * 4
l = l - (r * 4)
Exemplos:
Operao de
Operao
Atribuio
Equivalente
a += 5
a=a+5
a -= 2
a=a-2
a *= 7
a=a*7
a /= 3
a=a/3
Exemplo:
main()
Resultado
a = 15 - 2 * 3
a = (15 - 2) * 3
a = 5 * 9 / 15
int valor = 100;
printf(Valor inicial %d\n, valor);
valor /= 10; // valor = valor / 10
printf(Apos a divisao %d\n, valor);
valor -= 5; // valor = valor - 5
printf(Apos a subtracao %d\n, valor);
a = (5 + 2) * 5;
a=5+2*5
a = (3 + 5 + 2) * 2
a = (3 + 5) + 2 * 2
a = (3 + 5 * 2) * 2
Linguagem C
10
5.5
OPERADORES LGICOS
Operador
&&
Funo
Exemplo
Lgico E (AND)
valores originais
a=2
if (media > 6
b=3
Lgico OU (OR)
c=4
if ( idade == 16
|| serie > 9)
23.a) c += 10 - a++
23.b) b *= 2 + ++c
23.c) c /= 2 + a
Exemplo:
23.d) b - = 1* c
if (var1 == 0 || var2 == 0)
{
printf(Resultado: %d, res);
5.4
OPERADORES RELACIONAIS
var1 = 1;
var2 = var1;
Operador
Funo
Exemplo
5.6
>
Maior que
a>b
<
Menor que
a+b<c
>=
Maior ou igual a
a >= b
dividida
<=
Menor ou igual a
a <= 0
==
Igual
a == b
!=
Diferente
!= 0
unidades
de
armazenamento
Observaes:
relacional.
Os
operadores
aritmticos
tm
maior
relacionais. Isto
Exemplo:
Linguagem C
11
main()
max = (a > b) ? a: b;
min = (a < b) ? a: b;
printf (Max = %d Min = %d, max, min);
Outro Exemplo:
5.7
main()
{
O operador condicional (?) utilizado para
Sintaxe:
(expresso) ?
De uma maneira geral expresses do tipo:
expresso_verdadeira : expresso_falsa
if (condio)
expresso_1;
expresso_2;
ele
avalia
a primeira
das
trs
Ento, no exemplo:
if (a>0)
b=-150;
b=150;
Exemplo:
main()
Teremos:
Linguagem C
12
5.8
Exemplo:
(cast)
x = (a = 2 , a + 3);
5.10
Exemplos:
a = (int) (a+b);
()
* / %
float f;
+ -
num=10;
== !=
f = (float) num / 7;
&
printf ("%f",f);
|
&&
||
?:
5.9
ENCADEAMENTO DE EXPRESSES
que
sequencialmente.
deve
ser
executada
Linguagem C
13
FUNO scanf
getche();
}
funo printf.
Obs.: A funo scanf no apropriada para
A posio de memria onde o valor acessado por
scanf ser armazenado indicado diretamente
pelo endereo da varivel.
Resultado
formatao
%c
%d
decimal
resultados.
%s
produto
destes
nmeros
imprimir
os
caracteres
%f
%o
flutuante
octal
%x
hexadecimal
Exemplo:
constante de 3.14.
AREA 4R 2
4
VOLUME R 3
3
main()
calcule e mostre:
int anos, dias;
scanf(%d, &anos);
Linguagem C
14
COMANDO if
instruo;
else
mnimo;
o salrio bruto calculado considerando o
instruo;
Considerando
as
tarefas
desenvolvidas
Litros = qtde_km/8.5
Total combustvel = Litros * 1.79
Total viagem = Total combustvel + total
pedgios
Linguagem C
15
no
Exemplo: if-else-if
if (valor > 0)
main()
{
valor = 50;
if (valor <= 100)
{
Exemplo: if - else
if (valor > 0 )
printf(Nmero positivo);
else
else
printf(Nmero negativo ou nulo);
Exemplo: if-else
Exemplo: if-else-if
if (teste != 1)
int andar = 3;
if (andar == 1)
ax = 0;
bx += 1;
}
else
else if (andar == 3)
printf(Terceiro andar moda masculina);
{
ax += 1;
bx = 0;
else
printf(Andar invalido);
}
EXERCCIOS comando if / if-else
Exemplo: if-else-if
Exerccio 31: Escreva um programa para ler um
if (valor > 0 )
printf(Nmero positivo);
else
if (valor > 0 )
que 100.
printf(Nmero negativo);
Exerccio 32: Faa um programa para ler 2
else
printf(Valor nulo);
valores
inteiros
(considere
que
no
sero
Linguagem C
16
Exerccio
38:
transformar
Escreva
um
programa
para
temperatura
fornecida
em
36:
Joo
Pescador
comprou
um
Linguagem C
17
10km/h
velocidade
permitida
60km/h ou a 56km/h);
b) 100 reais, se o motorista ultrapassar de 11 a 30
Cdigo
Classificao
Alimento no perecvel
2a4
Alimento perecvel
velocidade permitida.
5a6
Vesturio
7a9
Higiene pessoal
10 a 15
Utenslios e utilidades
domsticas
Qualquer outro cdigo
invlido
Observaes:
a) Tringulo retngulo: possui um ngulo reto (90
graus)
b) Tringulo
obtusngulo:
possui
um
ngulo
8
COMANDO for
vezes.
Aumento
R$ 2.300,00
20%
R$ 2.300,01 R$ 4.500,00
15%
R$ 4.500,01 R$ 7.000,00
10%
Acima de R$ 7.000,00
5%
R$ 0,00
incremento
define
de
quanto
ser
Linguagem C
18
main()
{
Visualizao das instrues:
Exemplo: incrementando de 10 em 10
for
(int
contador
1;
contador
300;
contador+=10)
printf(comando para desenhar linha \n);
Exerccio 51: Faa um programa que leia duas
variveis do tipo int, uma deve indicar o incio par
Exemplo: incrementando de 1 em 1
for(int a = 0; a <= 10; a++ )
printf(%d \n, a);
Linguagem C
19
COMANDO do-while
trmino
Sintaxe:
executado
no
fim
da
estrutura,
do
{
Valor lido: 4
instruo(es);
Tabuada do nmero: 4
}while( teste );
4x0=0
4x1=4
4x2=8
........
for)
4 x 10 = 40
do-while)
int a =0;
do
a++;
quadrado: 8
menu */
#include <stdio.h>
O quadrado de 8 64.
#include <conio.h>
main()
{
Linguagem C
20
int x;
printf(2 - Polinmio);
o formato do exemplo:
do
5x0=0
5x1=1
printf(Digite a opo);
....
scanf(%d, &x);
5 x 10 = 50
}while( x != 1 && x != 2 );
Exerccio 61: Faa um programa para mostrar
#include <conio.h>
main()
{
int cont=1;
Exerccio
64:
Elaborar
um
programa
para
do
0 a 20).
printf(\nValor de cont = %d,cont);
cont++;
getche();
inteiros.
}
Exerccio 66: Elaborar um programa para ler um
conjunto de valores inteiros at que se digite o
EXERCCIOS comando do-while
CTI !!!
Linguagem C
21
Exerccio
68:
Construir
um
programa
para
selecionada.
1. Soma dos valores
valor
6. Fim
Exerccio
74:
Elaborar
um
programa
para
0. Encerra apurao
1. Voto para o candidato A
4. Voto em branco
5. Voto nulo
um
nmero
negativo
(condio
de
parada,
negativos.
Linguagem C
22
candidato para se
apresentar? Sim
assim
que
programa
adivinhar
valor
perguntas
valor
imaginado
no
for
candidato para se
apresentar? No
Exerccio 76: Fazer um programa que leia uma
sequncia de 8 notas dadas pelos juzes de um
Agora,
teremos
vrios
candidatos
Condiciona
repetio
de
determinadas
atendida (verdadeira).
instruo(es);
encerra
quanto
no
houver
mais
while)
int a =0;
while (a <= 10)
Exemplo:
{
printf (%d \n,a);
a++;
};
Linguagem C
23
do-while)
int a =0;
do
Exerccio
80:
transformao
Reescreva
de
Farenheit
programa
para
de
Celsius
a++;
(2) Saque
int cont = 1;
(3) Depsito
(4) Sair
printf(%d\n, cont++);
O saldo inicial dever ser R$ 0,00 e a cada saque
ou depsito, o saldo dever ser atualizado.
Exemplo:
Outro exemplo (while):
Digite a opo: 1
Saldo: R$ 0,00
main()
{
Digite a opo: 3
int cont = 1;
Digite a opo: 2
if (cont % 2 == 1)
printf(%d\n, cont);
cont++;
Digite a opo: 1
Saldo: R$ 65,00
}
Digite a opo: 4
Programa Encerrado !!!
Prof Ariane Scarelli / Katia Livia Zambon
Linguagem C
24
11.1
Diretiva #define
Exemplo:
Exemplo:
#define PI 3.14159
12
main()
15
18
float raio;
21
float area;
24
27
scanf(%f, &raio);
30
area = 4 * PI * r * r;
33
11 O PR-PROCESSADOR C
Exemplo:
chamadas diretivas.
main()
var = 60;
{
int var;
scanf(%d, &var);
if( var )
ERRO;
}
2. Macro
compilao.
Linguagem C
25
Exemplo:
Permitem
acessar
um
nico
caractere
pelo
float b = 1.5;
printf(Soma
dos
quadrados:
%f\n,
QUAD(a) + QUAD(b));
}
Sintaxe:
var1 = getch()
var2 = getche()
11.2
Diretiva #include
Exemplo:
/* utilizao das funes getch() e getche() */
Causa
incluso
de
um
programa-fonte
#include <conio.h>
main()
existente no compilador C.
{
printf(\ndigite
#include <stdio.h>
um
caractere
(para
ou
while( ( ch = getch() ) != \r )
#include stdio.h
{
printf(\n digitado = %c, ch);
printf(\ndigite
um
caractere
(para
printf(\n\nContinua ? (s/n): );
no diretrio corrente.
Observao:
Linguagem C
26
putchar(ch);
}
pelo usurio.
Exerccio 84: Escreva um programa que conte a
quantidade de caracteres e de palavras de uma
frase digitada pelo usurio.
14 MANIPULAO DE STRINGS
Exerccio 85: Escreva um programa que solicite
3
Toda
alfabtica. Exemplo:
sequncia
de
caracteres
entre
aspas
Digite 2 caracteres: c f
| m | | C | \0|
Sintaxe:
var = getchar()
putchar(var)
Exemplo:
Sintaxe:
char var[tamanho]
Exemplo:
char nome[35];
/* utilizando getchar() */
#include <stdio.h>
main()
char teste[5];
{
char ch;
Prof Ariane Scarelli / Katia Livia Zambon
27
teste[0]
alfabeto[ind] = letra;
teste[1]
alfabeto[ind] = \0;
teste[2]
teste[3]
putchar( alfabeto[ind] );
}
teste[4]
*/
main()
Observaes:
char letra;
(\0);
int ind;
putchar()
exibe
caractere,
at
que
ind++ )
alfabeto[ind] = letra;
alfabeto[ind] = \0; // para indicar fim da
string
}
Observaes:
Exemplo:
char descr[30];
ind;
scanf(%s, descr);
#include <stdio.h>
main()
{
char alfabeto[27], letra;
int ind;
for( letra = A, ind = 0; letra <= Z; letra++,
ind++ )
Linguagem C
28
14.1
digitao
podem
ser
corrigidos
usando-se
retrocesso.
Sintaxe: gets(var);
Observao:
Sintaxe: puts(var);
14.2
FUNO strcpy
Exemplo:
char nome[30];
gets(nome);
puts(Caro amigo(a), );
puts(nome);
Exemplo:
#include <stdio.h>
#include <string.h>
main ()
{
char str1[100];
Linguagem C
29
char str2[100];
14.4
FUNO strlen
char str3[100];
printf ("Entre com uma string: ");
gets (str1);
FUNO strcat
Exemplo:
#include <stdio.h>
#include <string.h>
main ()
int tamanho;
char str [100];
Exemplo:
#include <stdio.h>
gets (str);
#include <string.h>
main ()
Linguagem C
30
14.5
FUNO strcmp
no arquivo string.h.
strings.
retorna no-zero.
Exerccio 95: Escreva um programa que leia uma
Exemplo:
#include <stdio.h>
#include <string.h>
main ()
gets (str1);
strchr().
EXERCCIOS string
Sendo o nmero formado por: abcd
a * 2 + b * 3 + c * 4 + d * 5 = soma
Linguagem C
31
15 COMANDO switch
caso
nenhuma
das
demais
satisfaa a expresso.
Exemplo:
/* Mostra vogais */
main()
{
char letra;
Sintaxe:
switch( expresso )
switch( letra )
{
case constante_1:
instrues;
break;
break;
case constante_2:
break;
instrues;
break;
break;
.....
case constante_n:
break;
intrues;
break;
break;
default:
}
instrues;
}
OU
Onde: expresso: deve ser um valor inteiro ou
caractere;
switch( letra )
case 'A':
case 'E':
case 'I':
}
Linguagem C
32
REFERNCIAS
calculadora
com
as
operaes
Victorine
V.
Treinamento
matemticas.
Observao:
operao desejada;
em
Linguagem C
33
16 APNDICES
APNDICE A Tipos de Dados em C
O C tem 5 tipos bsicos: char, int, float,
double, void. O double o ponto flutuante duplo
e pode ser visto como um ponto flutuante com
muito mais preciso. O void um tipo especial
que significa vazio em ingls.
Tipo
char
unsigned
char
signed
char
int
unsigned
int
signed int
short int
unsigned
short int
signed
short int
long int
signed
long int
unsigned
long int
float
double
long
double
N
bits
8
8
Inicio
-128
0
Intervalo
Fim
127
255
-128
127
16
16
-32.768
0
32.767
65.535
16
16
16
-32.768
-32.768
0
32.767
32.767
65.535
16
-32.768
32.767
32
32
-2.147.483.648
-2.147.483.648
2.147.483.647
2.147.483.647
32
4.294.967.295
32
64
80
3,4E-38
1,7E-308
3,4E-4932
3.4E+38
1,7E+308
3,4E+4932
maior
preciso.
importante
Linguagem C
34
Manipulando o Vdeo
Sequncia
\x1B[2J
esquerdo.
\x1B[#;#H Define linha e
\x1B[#A
\x1B[#B
\x1B[#C
Move o cursor #
printf(\x1B[3A);
Move o cursor #
printf(\x1B[10B);
Move o cursor #
printf(\x1B[6C);
Move o cursor #
printf(\x1B[11D);
colunas
esquerda
CONFIG.SYS.
\x1B[s
printf(\x1B[s);
Retorna o cursor
printf(\x1B[u);
posio
anterior
Limpa at o final
printf(\x1B[K);
da linha atual
Salva posio
atual do cursor
\x1B[2J
\x1B[u
Onde: \x
colunas direita
\x1B[#D
Exemplo:
coluna do cursor
linhas abaixo
printf(\x1B[5;10H)
linhas acima
printf(\x1B[2J);
canto superior
Limpa tela e
posiciona no
Exemplo
de Escape
Funo
\x1B[#m
Define cor de
printf(\x1B[41m);
primeiro plano e
fundo
main()
Utilizando Cores
{
printf(\x1B[2J);
}
Valor
30
Preto
31
Vermelho
32
Verde
33
Laranja
34
Azul
35
Magenta
Linguagem C
35
36
Ciano
37
Branco
Valor
Cor de Fundo
XP, Vista.
40
Preto
41
Vermelho
42
Verde
43
Laranja
44
Azul
45
Magenta
46
Ciano
47
Branco
Exemplo:
main()
Passos:
1
Reinicie o computador
printf(\x1B[31mVERMELHO\x1B[37mBRA
NCO\x1B[34mAZUL);
}
Linguagem C
36
das
principais
atividades
de
muitos
minsculas
strnset
especificado
strpbrk
segunda
strrchr
letra na string
Descrio
strcat
strchr
strcmp
strcmpi
strcpy
strset
strspn
strerror
stricmp
strtod
strtol
strtoul
outra
strcspn
strupr
strlen
strlwr
strncat
strncmp
strncpy
strnicmp
Linguagem C
37