Você está na página 1de 39

2014

CTI UNESP

Prof Ktia Lvia Zambon


Adaptao- Apostila de Ling. C da Prof Ariane Scarelli

Identifique sua apostila


Nome: __________________________________
Turma:

51B

SUMRIO
1

INTRODUO .......................................................................................................................................................... 1
1.1
NVEL ......................................................................................................................................................... 1
1.2

PORTABILIDADE .................................................................................................................................... 1

1.3

LINGUAGEM ESTRUTURADA ............................................................................................................. 1

DESENVOLVIMENTO DE PROGRAMAS ........................................................................................................... 1


2.1
PROCESSO .............................................................................................................................................. 1
2.2. ESTRUTURA DOS PROGRAMAS ............................................................................................................. 2

4
5

FUNO printf ........................................................................................................................................................ 3


3.1
SEQUNCIAS DE ESCAPE ................................................................................................................... 3
3.2

CDIGOS PARA IMPRESSO FORMATADA .................................................................................. 4

3.3

ESPECIFICADORES DE COMPRIMENTO E PRECISO ............................................................... 4

VARIVEIS ............................................................................................................................................................... 6
OPERADORES ........................................................................................................................................................ 7
5.1
OPERADORES ARITMTICOS ............................................................................................................ 7
5.2

OPERADORES DE INCREMENTO E DECREMENTO ..................................................................... 8

5.3

OPERADORES ARITMTICOS DE ATRIBUIO .......................................................................... 10

5.4

OPERADORES RELACIONAIS .......................................................................................................... 11

5.5

OPERADORES LGICOS ................................................................................................................... 11

5.6

OPERADOR DE ENDEREO (&) ....................................................................................................... 11

5.7

OPERADOR CONDICIONAL (?) ......................................................................................................... 12

5.8

OPERADOR DE CONVERSO DE TIPO (cast) .............................................................................. 13

5.9

ENCADEAMENTO DE EXPRESSES .............................................................................................. 13

5.10

PRECEDNCIA DOS OPERADORES ............................................................................................... 13

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

Diretiva #include .................................................................................................................................. 26

12 FUNES getch E getche ................................................................................................................................. 26


13 FUNES getchar E putchar ......................................................................................................................... 27
14 MANIPULAO DE STRINGS............................................................................................................................ 27
14.1 FUNES gets E puts ......................................................................................................................... 29
14.2

FUNO strcpy ..................................................................................................................................... 29

14.3

FUNO strcat ...................................................................................................................................... 30

14.4

FUNO strlen ...................................................................................................................................... 30

14.5

FUNO strcmp .................................................................................................................................... 31

15 COMANDO switch ................................................................................................................................................ 32


16 APNDICES............................................................................................................................................................ 34
APNDICE A Tipos de Dados em C .............................................................................................................. 34
APNDICE B Device Driver ANSI.SYS ......................................................................................................... 35
APNDICE C Tabela de Rotinas de Manipulao de String ..................................................................... 37

INTRODUO

poder adaptar para um dado computador softs


escritos para um computador diferente). Durante

A linguagem C foi desenvolvida por Dennis

muito tempo C foi fornecida com o sistema

Ritchie em 1972, baseada na linguagem BCPL

operacional UNIX, mas com a popularidade dos

(Basic

micros, muitas implementaes foram feitas e a

Linguagem de Programao Combinada) e na

partir de 1983 o Comit Americam National

linguagem B, com a finalidade de reescrever o

Standards Institute (ANSI) - Instituto Nacional

sistema operacional UNIX. No entanto C no est

Americano de Padres - foi reunido com a

presa ao UNIX ou a qualquer outro sistema

finalidade de padronizar a linguagem C.

Combined

Programming

Language

operacional ou mquina.
A linguagem C possui a reputao de ser
uma linguagem de programao de sistemas

1.3

LINGUAGEM ESTRUTURADA

porque ela til para escrever compiladores e


sistemas operacionais, mas pode ser usada

Uma linguagem estruturada tem como

tambm para escrever a maioria dos programas

caracterstica a compartimentalizao, que a

em muitos domnios diferentes.

capacidade da linguagem de seccionar e esconder


do resto do programa todas as informaes e
instrues

1.1

NVEL

necessrias

somente

em

um

determinado bloco.

C chamada de linguagem de mdio


nvel, pois combina caractersticas de linguagem

DESENVOLVIMENTO DE PROGRAMAS

de baixo nvel e de alto nvel.


Baixo nvel: possui a funcionalidade e o

2.1

PROCESSO

poder do ASSEMBLY como manipulao de bits,


bytes e endereos de memria.

Alto nvel: oculta detalhes da arquitetura

de

desenvolvimento

de

programas em C envolve quatro passos:

do computador, aumentando desse modo a


eficincia da programao utilizando comandos de

processo

1. Criao ou edio do programa


utilizando um editor

fcil entendimento.

2. Compilao
3. Linkedio
4. Execuo

1.2

PORTABILIDADE
O compilador C um programa que
A

medida

da

garante que seu arquivo-fonte no est violando

converter

um

qualquer regra de C. Se o arquivo no contm

programa que processa num computador ou

nenhum erro, o compilador cria um arquivo

sistema operacional para processar em outro

intermedirio com a extenso OBJ. Se o seu

facilidade

portabilidade
com

que

se

uma
pode

computador ou sistema operacional (significa


Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

programa violar

uma das

regras

de C, o

compilador gera um erro de sintaxe.

Onde:
/* */

Comentrios

main() Nome ou local de incio do programa;


Processo:

Smbolos agrupadores;

{ }

printf Comando a ser executado.


COMPILADOR

ARQUIVO .C

Observaes:
ARQUIVO .OBJ

no h formato especfico para digitao


das linhas de um programa;

Arquivo(s) de
biblioteca(s)
.LIB

LINKEDITOR

convencionou-se o uso de endentao


(torna o programa mais legvel);

distingue

letras

maisculas

de

minsculas;

os parnteses que seguem a palavra main


so obrigatrios;

ARQUIVO .EXE

todas as instrues devem estar dentro


dos colchetes que iniciam e terminam a
funo e so executadas na ordem em

2.2. ESTRUTURA DOS PROGRAMAS

que aparecem;
nome-da-funo(lista-de-argumentos)

declarao da lista-de-argumentos

comando do programa (exceto comandos

Incio

de repetio: while/do-while/for);

.
.bloco de declaraes

uma funo pode receber qualquer nome,


desde que no seja um j existente;

deve-se colocar ponto-e-vrgula aps cada

Fim da funo

a colocao de comentrios em C: /* para


abrir e */ para fechar, sendo que tudo o
que

estiver

entre

os

mesmos

ser

ignorado pelo compilador; // indicam que


Primeiro Programa em C - exemplo:

tudo o que estiver direita das barras ser


ignorado;

/* Primeiro exemplo de prg em linguagem C */

o incio lgico do programa identificado

# include <stdio.h>

pela funo main(), independentemente da

# include <conio.h>

sua posio fsica dentro do programa.

main()
{
printf (Primeiro programa em C);
getche();
}

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

FUNO printf

Definio:

funo

Segundo Programa em C - exemplo:

printf

usada

para

apresentar informaes no vdeo.

/* Segundo exemplo de prg em linguagem C */


# include <stdio.h>
# include <conio.h>

Sintaxe:

main()

printf(expresso-de-controle,lista-de-argumentos)

{
printf(Meu nome: escreva aqui seu nome\n);

onde:

printf(Idade: escreva aqui sua idade\n);

expresso-de-controle: cdigos especiais de

printf(Estudo ou estudei em: escreva aqui sua

controle (sequncias de escape) e/ou cdigos

escola);

para impresso formatada.

getche():

lista-de-argumentos: separados por vrgula

3.1

SEQUNCIAS DE ESCAPE

EXERCCIOS - printf

Sequncias de escape so uma srie de

Exerccio 1: Faa um programa para apresentar

caracteres usados para manipular a tela e o

no vdeo informaes sobre 2 jogos que voc

teclado.

conhece. Dados como nome do jogo, empresa


fabricante

Sequncia

Resultado

ano

de

criao

devem

ser

considerados, alm de outras que voc julgue


relevante. Cada informao deve ser apresentada

de Escape
\a

Caractere de beep

em uma linha e entre um jogo e outro deve-se

\b

Caractere de Backspace

pular duas linhas. Utilize vrios printfs para

\n

Caractere de mudana de linha

apresentar as informaes.

\r

Caractere de return (enter)

\t

Caractere de tab horizontal

\\

Caractere de barra invertida

Caractere de aspas simples

Caractere de aspas duplas

\?

Caractere de interrogao

Exerccio 2: Refaa o exerccio anterior com as


mesmas configuraes (pular as linhas) mas utilize
somente 1 printf.

Exerccio 3: Faa um programa que apresente no


vdeo os seguintes dados:

Nome de uma cidade e o estado que voc


conheceu e que seja diferente da que voc
mora;

Emita um beep e mude de linha

Nome de um local (cidade, estado e pas) que

Consulte o APNDICE B para tabela com device driver


ANSI.SYS.
Prof Ariane Scarelli / Katia Livia Zambon

voc gostaria de conhecer.


Linguagem C

Exerccio 4: Escreva um programa que apresente

Terceiro Programa em C - exemplo:

no vdeo 5 estados do Brasil e suas capitais. Cada


informao deve estar em uma linha.

/* Terceiro exemplo de prg em linguagem C */


# include <stdio.h>

Exerccio 5: Faa um programa que imprima o

# include <conio.h>

nmero e nome do colega da posio anterior

main()

sua na lista de chamada, seu nmero e seu nome

e o nome do colega que ocupa a posio posterior

printf(Valor 10 em Decimal %d \n,10);

na lista. Utilize 3 comandos printf pulando uma

printf(Valor 10 em Hexadecimal %x \n,10);

linha a cada nome.

printf(Valor 10 em Hexadecimal %X \n,10);

Exemplo:

printf(Valor 10 em Octal %o \n,10);

09 meu colega

printf(Resultado

10 meu nome

de

2*3*5

igual

a:

%d,2*3*5);

11 outro colega

getche();
}

3.2

CDIGOS PARA IMPRESSO


FORMATADA

Cdigo de

Resultado

Formatao
%c

Apresenta um nico caractere

%s

Apresenta uma cadeia de


caracteres

%d

Apresenta nmero inteiro na

3.3

base decimal
%f

COMPRIMENTO E PRECISO

Apresenta nmero decimal na


base decimal

%x ou %X

Apresenta nmero na base


hexadecimal

%o

ESPECIFICADORES DE

Apresenta nmero na base

Em muitos casos preciso que os


programas

exibam

as

sadas

num

formato

determinado. Isso pode ocorrer especificando um


tamanho mnimo de campo para exibir o valor.

octal
%u

%%

Apresenta nmero na base

Quarto Programa em C - exemplo:

decimal sem sinal

/* Quarto exemplo de prg em linguagem C */

Apresenta o caractere %

# include <stdio.h>
# include <conio.h>
main()

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

%04d

0003

Preenche

com

printf("Sem especificacao = %f", 3.3);

zeros p/ completar o

printf("\nCom uma casa decimal = %1.1f", 3.3);

tamanho do campo

printf("\nOutras
\n%6.4f

especificacoes:

\n%6.2f

\n%8.4f", 12.3456, 12.345, 12.3456);

printf("\nResultados = %d

%d", 3+4, 3-4);

getche();

EXERCCIOS printf com valores

}
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.

Exerccio 7: Faa um programa que mostre o ano


atual e o ano de seu nascimento. Calcule e mostre
Outros exemplos
Valor Especifi-

sua idade.
Sada

Nota

cador
5

%3.3d

%3.2d

Exerccio 8: Faa um programa que apresente o


005

05

Deixa 2 zeros p/

seu peso atual (em Kg) e a sua altura(em metros).

indicar preciso p/ 3

Neste caso, para indicar as casas decimais

dg.

necessrio utilizar o ponto decimal e no a vrgula.

Deixa

espao

p/

preencher o campo;

Mostre o resultado do clculo indicando o seu


IMC.

um zero p/ indicar
preciso

p/

dois

dgitos
555

555

%3.3d

555

%7.5d

00555

Exerccio 9: Escreva um programa para informar

nmero mnimo de

a largura e o comprimento de um cmodo em

dgitos

metros. Pode utilizar nmeros reais (com ponto

Valor

contm

Dois

espaos

deixados p/ atingir o

decimal).

Apresente

sua

rea

em

metros

quadrados.

tamanho do campo;

-5

%d

-5

dois zeros p/ indicar

Exerccio 10: Faa um programa que calcule para

a preciso de cinco

o cmodo do exerccio 7 a potncia de iluminao

dgitos

necessria para o ambiente. Sabe-se que para

Mostra
negativo

valor

cada metro quadrado so necessrios 18W de


potncia. Apresente o resultado no comando
printf.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

Exerccio 11: Escreva um programa para mostrar

Tipo

Valor Armazenado

o valor total de um bem material (pode ser um

int

Inteiros de -32.768 a + 32.767

carro, um celular ou outro bem) e tambm o

float

nmero de parcelas que a pessoa vai pagar este

Ponto flutuante com 6 ou 7


dgitos de preciso

bem sem juros. Apresente o total de cada parcela.

char
double

Exerccio 12: Escreva o resultado dos seguintes

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);

As variveis em C podem ser formados por letras,


nmeros e sublinhado, sendo o primeiro caractere
obrigatoriamente uma letra ou sublinhado.

Letras maisculas e minsculas so diferentes (a


lingaugem C case-sensitive). Os 32 primeiros
caracteres so significativos.

g) printf (A\tB\tC);
h) printf(XXXAB\rC);

Quinto Programa em C - exemplo:

/* Quinto exemplo de prg - variveis */


4

VARIVEIS

/* Prg do IMC com variveis */


#include <stdio.h>

Uma varivel definida como um espao de


memria reservado para armazenar um tipo de
dado que identificado atravs de um nome. Essa

#include <conio.h>
main()
{

varivel pode, em tempos diferentes, receber

int inum_chamada=40;

diferentes valores.

float fpeso=86.2;
float faltura=1.70;

A definio de varivel consiste em:

identificar o seu tipo;

definir seu nome.

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

Exemplo: int var1;

%3.1f",inum_chamada,fpeso,faltura,fIMC);
getche();

Obs.: obrigatrio definir todas as variveis

utilizadas no programa
2

Tipos Bsicos de Variveis :

Tabela completa no APNDICE A.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

OPERADORES

Exerccio 15: Para o programa apresentado


abaixo, d os resultados dos comandos printf

5.1

OPERADORES ARITMTICOS

(indique

se

houve

mudana

de

linha

na

apresentao dos resultados)


Operador

Significado

Atribuio

Soma

Subtrao

Multiplicao

Diviso

#include <stdio.h>
#include <conio.h>
main()
{
float div_result;
float mult_result;

Mdulo (devolve o resto da diviso

float soma_result;

entre inteiros)

float sub_result;
int div_modulo;
div_result = 25 / 3;
div_modulo = 25 % 3;

EXERCCIOS variveis numricas

mult_result = 3 * 2.5;
soma_result = div_result + mult_result;

Exerccio 13: Faa um programa que declare

sub_result = mult_result - div_result;

duas variveis do tipo int, atribua valores distintos

printf(Divisao float %f Divisao inteira %d

para estas variveis e mostre:

Multiplicacao

A soma dos dois valores;

div_modulo,mult_resul);

A diferena entre eles;

A multiplicao entre eles;

soma_result, sub_result);

A diviso entre eles. O segundo valor no deve

printf(Adicao

%f\n,
%f

div_result,
Subtracao

%f\n,

ser zero.

Exerccio 14: Faa um programa no qual sejam

Exerccio 16: Elabore um programa que execute

declaradas duas variveis do tipo int, uma varivel

as instrues abaixo:

do tipo float e sejam atribudos valores quaisquer

Declare 3 variveis do tipo float (uma para

(que voc vai inventar). A seguir, mostre um

armazenar a cotao do dlar, outra para

resultado em cada linha para as operaes:

guardar um valor em moeda nacional e

A soma dos dois valores inteiros;

outra para fazer o clculo da converso)

O dobro do primeiro valor inteiro somado com o

dobro do segundo valor inteiro;

O valor float multiplicado por 6.5;

A soma dos trs valores.

Atribua para a primeira o valor do dlar (no


dia de hoje)

Atribua para a segunda um valor em reais


(que se deseja saber quanto ser em
dlares)

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

Faa o clculo da converso de reais para

5.2

OPERADORES DE INCREMENTO E
DECREMENTO

dlares na terceira varivel

Apresente como resultado o valor do dlar


no dia de hoje, o montante em reais e o

Operador

valor convertido utilizando as variveis na

++

Incrementa de 1 seu operando

impresso.

--

Decrementa de 1 seu operando

Significado

Os operadores de incremento podem trabalhar nos


Exerccio 17: Elabore um programa em que sejam

modos pr-fixado e ps-fixado, onde:

declaradas 2 variveis do tipo float e a elas


atribudos as notas de 2 provas (os valores

ps-fixado: o operador aparece aps o nome da

devero estar no intervalo de 0 a 10). Calcule e

varivel. O valor da varivel incrementado aps

mostre a mdia com 1 casa decimal.

ser utilizado.

Exerccio 18: Elabore um programa que declare

Exemplo:

k = 2;

uma varivel do tipo inteiro, atribua um valor a ela,

b = k++;

calcule e mostre:

printf(%d %d, k, b);

o quadrado do valor inteiro;

o dobro deste nmero;

a diviso entre o quadrado e dobro

Resultado: k=3 b=2

deste nmero
pr-fixado: o operador aparece antes do nome da
Exerccio 19: Elabore um programa que declare

varivel. O valor incrementado antes de ser

uma varivel do tipo float que indique uma

utilizada.

temperatura em graus Celsius. Transforme-a em


Farenheit e Kelvin e apresente os trs valores,

Exemplo:

como no exemplo:

k = 2;
b = ++k;

Temperatura em Celsius: 100

printf(k=%d b=%d, k, b);

Temperatura em Farenheit: 212


Temperatura em Kelvin: 373.15

Exerccio 20: Elabore um programa que declare

Resultado: k=3 b=3

Exemplo:

m = 4;

uma varivel do tipo float e atribua um valor

n = 2 * m++;

indicando a o preo de um produto. Calcule e

printf(m=%d n=%d, m, n);

mostre este valor com um reajuste de 10% e com


um desconto de 10%. Exemplo:

Resultado: m=5 n=8

Valor do produto: R$ 125.00


Valor com reajuste: R$ 137.50
Valor com desconto: 112.50
Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

Exemplo:

21.b)

m = 4;

int a = 7;

n = 2 * ++m;

int b = 4;

printf(m=%d n=%d, m, n);

int c;
a = a++ - b;

Resultado: m=5 n=10

b - -;
c = a + b;
Valor final de a = ______

funcionamento

bsico

do

operador

de

decremento similar ao operador de incremento.

Observaes:

Valor final de b = ______


Valor final de c = ______

21.c)

int a = 2;
int b = 5;

Formatos vlidos para os operadores de

int c = 1;

incremento e decremento:

b = a++ * b++;

++variavel

variavel++

--variavel

variavel--

c = ++c + a + b;
Valor final de a = ______
de

Valor final de b = ______

decremento tm precedncia de execuo em

Valor final de c = ______

Os

operadores

de

incremento

relao aos operadores aritmticos.

Esses operadores s podem ser utilizados em


variveis

nunca

com

expresses

21.d)

int a = 4;
int b = 6;

ou

int c;

constantes.

c = ++a * b - -;
Valor final de a = ______
EXERCCIOS operadores

Valor final de b = ______

incremento/decremento

Valor final de c = ______

Exerccio 21: Para as variveis declaradas e com

21.e)

int a = 4;

os valores atribudos, d os valores finais que

int b = 6;

esto sendo solicitados:

int c;

21.a)

c = - - b * - - a;

int a = 10;
int b = 5;

Valor final de a = ______

int c;

Valor final de b = ______

a++;

Valor final de c = ______

++b;
c = a + b;

21.f)

int a = 4;

Valor final de a = ______

int c = 2;

Valor final de b = ______

int d;

Valor final de c = ______

d = 2 * a++ - (- - c);

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

Valor final de a = ______

valor *= 5; // valor = valor * 5

Valor final de c = ______

printf(Apos a multiplicacao %d\n, valor);

Valor final de d = ______

21.g)

int a = 4;
int d;
d = - - a * - - a;

Valor final de a = ______


Valor final de d = ______

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)

Os operadores aritmticos de atribuio


apresentados abaixo, agilizam a execuo de
determinados clculos j que executam de uma
nica vez uma atribuio e uma expresso
aritmtica.

Exemplos:

As expresses com esses operadores

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

produzem um cdigo de mquina mais eficiente j


que so mais compactas.
EXERCCIOS operadores de atribuio

Exerccio 22: D os resultados das operaes:


Comando

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);

Prof Ariane Scarelli / Katia Livia Zambon

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

Exerccio 23: Fornecidos os valores para as

5.5

OPERADORES LGICOS

variveis a, b e c, obter o resultado das


expresses e variveis envolvidas. Considere que

Operador

em cada item os valores de a, b, c voltam aos

&&

Funo

Exemplo

Lgico E (AND)

valores originais

&& freq > 75)


||

a=2

if (media > 6

b=3

Lgico OU (OR)

c=4

if ( idade == 16
|| serie > 9)

Lgico de negao if (! valor > 100)

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;

Os operadores relacionais de C so usados para

fazer comparaes. So eles:

Operador

Funo

Exemplo

5.6

OPERADOR DE ENDEREO (&)

>

Maior que

a>b

<

Menor que

a+b<c

>=

Maior ou igual a

a >= b

dividida

<=

Menor ou igual a

a <= 0

chamadas posies de memria. Cada posio de

==

Igual

a == b

memria capaz de armazenar uma unidade

!=

Diferente

!= 0

chamada byte. Todas as variveis criadas no

A memria do computador internamente


em

unidades

de

armazenamento

programa so armazenadas em posies de


memria e a elas nos referenciamos atravs de
um nome (ex.: valor).

Observaes:

A expresso a = b atribui o valor de b para a

O operador de endereo permite trabalhar

varivel a. A expresso a == b testa se as

diretamente sobre a posio de memria, assim se

variveis a e b so iguais. Um erro comum

utilizarmos uma varivel precedida do operador &

usar um nico sinal de igual como operador

teremos o endereo do primeiro byte onde a

relacional.

varivel est armazenada.

Os

operadores

aritmticos

precedncia que a dos

tm

maior

relacionais. Isto

Exemplo:

significa que sero avaliados antes.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

11

main()

max = (a > b) ? a: b;

min = (a < b) ? a: b;
printf (Max = %d Min = %d, max, min);

int valor = 400;


printf(valor: %d e endereco: %u,valor, &valor);

Outro Exemplo:
5.7

main()

OPERADOR CONDICIONAL (?)

{
O operador condicional (?) utilizado para

int a=10, b=5;

simplificar e resumir expresses condicionais.

printf (Max = %d Min = %d, (a > b) ? a: b,


(a < b) ? a: b);
}

Sintaxe:

(expresso) ?
De uma maneira geral expresses do tipo:

expresso_verdadeira : expresso_falsa

if (condio)
expresso_1;

Se expresso verdadeira, o resultado da


else

operao expresso_verdadeira. Se expresso

expresso_2;

for falsa, o resultado ser expresso_falsa.


Quando o compilador C encontra o operador
condicional,

ele

avalia

a primeira

das

trs

expresses. Se o resultado verdadeiro, o

Podem ser simplificadas substituindo-se pelo


operador condicional.

compilador avalia a segunda expresso, que ,


ento, o resultado dessa operao. Se a primeira

Ento, no exemplo:
if (a>0)

expresso falsa, ento a terceira expresso

b=-150;

avaliada, e seu resultado a sada da operao.


else

b=150;

Exemplo:
main()
Teremos:

b = a > 0 ? -150 : 150;

int max, min, a=10, b=5;


Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

12

5.8

OPERADOR DE CONVERSO DE TIPO

Exemplo:

(cast)

x = (a = 2 , a + 3);

O operador cast executa uma converso forada


de tipo, convertendo uma expresso de um tipo

Neste exemplo, a varivel x receber o valor 5.

para outro especificado dentro dos parnteses.

Sintaxe: (cast) expresso;

5.10

Exemplos:

Se operadores de diferentes nveis de precedncia

a = (int) (a+b);

PRECEDNCIA DOS OPERADORES

ocorrerem no mesmo comando, as operaes so


calculadas na ordem de precedncia (da mais alta

No exemplo acima, um cast para converter a soma

para a mais baixa.

de a e b para um valor int foi usado.


Operadores - Precedncia (alta para baixa)
#include <stdio.h>
main ()

()

++ -- + - * & ! ~ (type) sizeof


int num;

* / %

float f;

+ -

num=10;

== !=

f = (float) num / 7;

&

printf ("%f",f);

|
&&

No exemplo acima, um cast para converter a

||

varivel num de int para float foi usado, em

?:

seguida, fez-se a diviso por 7.

= += -= *= /= %= &= ^= |= <<= >>=


,

5.9

ENCADEAMENTO DE EXPRESSES

O operador , (vrgula) determina uma lista de


expresses

que

sequencialmente.

deve

ser

executada

O valor retornado por uma

expresso com o operador , sempre dado pela


expresso mais direita.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

13

FUNO scanf

dias = anos * 365;


printf(Sua idade em dias e: %d , dias);

Esta funo permite ler dados formatados atravs


do teclado. considerada o complemento da

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.

acessar pelo teclado valores tipo string, pois ela


no aceita espao em branco em uma sequncia
de caracteres. A funo gets() mais indicada e
veremos adiante.

Sintaxe: scanf (cdigo de formatao, endereo


da varivel);

Exemplo: se for digitado COLGIO TCNICO, o


resultado ser COLGIO.

Cdigo de formatao para scanf


Cdigo de

Resultado

EXERCCIOS com funo scanf

formatao
%c

Ler um nico caractere

Exerccio 24: Escreva um programa para ler dois

%d

Ler um nmero inteiro na base

valores do tipo int (utilizar a funo scanf). Calcular

decimal

Ler uma sequncia de

resultados.

%s

produto

destes

nmeros

imprimir

os

caracteres
%f

%o

Ler um nmero em ponto

Exerccio 25: Escreva um programa que acesse

flutuante

(leia com a funo scanf) trs nmeros do tipo

Ler um nmero inteiro na base

float e imprima a mdia aritmtica.

octal
%x

Ler um nmero inteiro na base

Exerccio 26: Elabore um programa que receba o

hexadecimal

valor do raio de uma esfera (tipo float). Calcule e


apresente o volume e a rea da esfera, baseandose nas frmulas dadas. Utilize para pi o valor

Exemplo:

constante de 3.14.
AREA 4R 2
4
VOLUME R 3
3

/* Exemplo utilizando a funo scanf */


#include <stdio.h>
#include <conio.h>

Exerccio 27: Faa um programa que receba o

main()

ano de nascimento de uma pessoa e o ano atual,

calcule e mostre:
int anos, dias;

a idade dessa pessoa em anos;

printf(Digite sua idade em anos: );

quantos dias esta pessoa j viveu;

scanf(%d, &anos);

quantos anos essa pessoa ter em 2025

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

14

Exerccio 28: Um trabalhador deseja calcular seu

COMANDO if

salrio lquido. Para isto, faa um programa que


receba o nmero de horas que ele trabalhou no

Utilizado na tomada de deciso baseado no

ms e o valor do salrio mnimo de hoje. Calcule e

resultado verdadeiro ou falso da expresso.

mostre o salrio a receber seguindo as regras


abaixo:

Sintaxe: if (condio de teste)

o valor da hora trabalhada 1/24 do salrio

instruo;
else

mnimo;
o salrio bruto calculado considerando o

instruo;

nmero de horas trabalhadas multiplicado pelo


valor da hora trabalhada;
o imposto equivale a 5% do salrio bruto;

Considerando

o salrio lquido a receber equivale ao salrio

Code.org, veja o exemplo abaixo:

as

tarefas

desenvolvidas

bruto menos o imposto


Code.org: Fase 9 Quebra-cabea 11
Exerccio 29: Faa um programa para calcular o
custo de uma viagem de automvel. Para isto
receba o total de quilmetros percorridos e o valor
pago nos pedgios. Admita que o carro utilize o
combustvel etanol, que custa R$ 1.89 e o
consumo do veculo de 8.5 km/l. Apresente o
custo total da viagem.

Litros = qtde_km/8.5
Total combustvel = Litros * 1.79
Total viagem = Total combustvel + total
pedgios

Exerccio 30: Faa um programa que leia o


nmero total de eleitores de um municpio, o
nmero de votos brancos, nulos e vlidos. Calcular
e escrever o percentual que cada um representa
em relao ao total de eleitores.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

15

no

Exemplo: if sem else

Exemplo: if-else-if

if (valor > 0)

main()

printf (valor positivo maior que cem);

{
valor = 50;
if (valor <= 100)
{

Exemplo: if - else

if (valor < 10)


printf(valor menor que 10);

if (valor > 0 )
printf(Nmero positivo);

else

else
printf(Nmero negativo ou nulo);

printf(valor maior que 100);


}

Exemplo: if-else

Exemplo: if-else-if

if (teste != 1)

int andar = 3;

if (andar == 1)
ax = 0;
bx += 1;

printf(Primeiro andar artigos esportivos);


else if (andar == 2)
printf(Segundo andar moda feminina);

}
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

valor inteiro e apresentar uma mensagem que


indique se o nmero maior que 100 ou menor

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

informados valores iguais) e escrever o maior


deles.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

16

Exerccio 33: Faa um programa para ler o ano

Exerccio

38:

de nascimento de uma pessoa, calcular sua idade

transformar

e escrever uma mensagem que diga se ela poder

Fahrenheit para Celsius. C = 5 / 9 * (F - 32)

ou no votar nas eleies deste ano.

Escreva

um

programa

para

temperatura

fornecida

em

se temp. em Celsius for menor ou igual a zero,


imprimir Frio rtico !;

Exerccio 34: Faa um programa que leia um

imprimir Muito frio !;

nmero inteiro e apresente uma mensagem

indicando se este nmero par ou mpar.


Dica: Utilize o operador % que retorna o resto da
diviso entre inteiros e verifique se o resto zero.

se temp. em Celsius de 01 a 12 graus,

se temp. em Celsius de 13 a 23 graus,


imprimir Clima ameno !;

se temp. em Celsius de 24 a 32 graus,


imprimir Calor !;

Exerccio 35: Faa um programa que leia o placar

de um jogo de futebol (os gols de cada time, um


valor em cada varivel do tipo int). Informe se

se temp. em Celsius de 35 a 40 graus,


imprimir Calor trrido !;

Qualquer outro valor, imprimir Sem registro !;

houve empate ou se a vitria foi do 1 ou do 2


time.
Exerccio 39: Em uma competio de saltos
Exerccio

36:

Joo

Pescador

comprou

um

ornamentais, 6 (seis) juzes informam notas reais

microcomputador para controlar o rendimento

variando de 0 a 10. A nota final do atleta deve

dirio de seu trabalho. Toda vez que ele traz um

excluir a maior e a menor nota dos juzes e

peso de peixes maior que o estabelecido pelo

composta pela soma das quatro demais notas.

regulamento de pesca (50 quilos) deve pagar uma

Faa um programa que l do usurio as seis notas

multa de R$ 4,00 por quilo excedente. Joo

dos juzes e informa a nota final do atleta (a soma

precisa de um programa que leia o peso de peixes

das notas excluindo a menor e a maior delas).

e verifique se h excesso, mostrando a quantidade


de quilos excedidos e o valor da multa que Joo

Exerccio 40: Escreva um programa que leia a

dever pagar. Caso contrrio, mostrar uma

idade de 2 homens e 2 mulheres (considere que a

mensagem de que no houve excesso.

idade dos homens ser sempre diferente, assim


como das mulheres). Calcule e escreva a soma

Exerccio 37: Faa um programa que leia o nome

das idades do homem mais velho com a mulher

do cliente e a quantidade de energia eltrica

mais nova, e o produto das idades do homem mais

consumida em KW. Considerando o preo do KW

novo com a mulher mais velha.

de R$ 0,50, determinar o valor a ser pago,


sabendo que se o valor for inferior a R$ 30,00 o

Exerccio 41: Leia a velocidade mxima permitida

consumidor recebe um desconto de 10% em sua

em uma avenida e a velocidade com que o

conta, caso contrrio, recebe um desconto de 5%

motorista estava dirigindo nela e calcule e

(comando if). Apresentar o nome do cliente e o

apresente a multa que uma pessoa vai receber,

valor a ser pago.

sabendo que so pagos:

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

17

a) 50 reais se o motorista estiver ultrapassar em


at

10km/h

velocidade

permitida

(ex.:velocidade mxima: 50km/h; motorista a

Exerccio 45: Faa um programa que receba o


cdigo de um produto e o classifique de acordo
com a tabela abaixo:

60km/h ou a 56km/h);
b) 100 reais, se o motorista ultrapassar de 11 a 30

Cdigo

Classificao

km/h a velocidade permitida.

Alimento no perecvel

c) 200 reais, se estiver acima de 31km/h da

2a4

Alimento perecvel

velocidade permitida.

5a6

Vesturio

7a9

Higiene pessoal

10 a 15

Utenslios e utilidades

Exerccio 42: Escreva um programa que leia o


valor de 3 ngulos de um tringulo e escreva se o
tringulo acutngulo,retngulo ou obtusngulo.

domsticas
Qualquer outro cdigo

invlido

Observaes:
a) Tringulo retngulo: possui um ngulo reto (90
graus)
b) Tringulo

obtusngulo:

possui

um

ngulo
8

obtuso (ngulo maior que 90 graus)

COMANDO for

c) Tringulo acutngulo: possui 3 ngulos agudos


Utilizado quando h necessidade de repetir a

(ngulo menor que 90 graus)

execuo de instrues por uma quantidade de


Exerccio 43: Elaborar um programa para ler os

vezes.

trs lados de um tringulo, verificar se formam um


tringulo (cada lado tem que ser menor que a

Sintaxe: for ( var1 = inicio; teste-fim; incremento )


intruo(es);

soma dos outros dois) e identificar o tipo de


tringulo: equiltero => 3 lados iguais, issceles
=> 2 lados iguais, escaleno => 3 lados diferentes.
Onde:
Exerccio 44: Faa um programa que auxilie o
clculo para o aumento no salrio de jogadores de
futebol. Leia o salrio atual, calcule o aumento e

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

contador que controla a quantidade de vezes que


o conjunto de instrues ser repetido.

mostre o novo salrio.


Salrio atual

var1 = inicio inicializa com determinado valor o

teste-fim especifica a condio de trmino da


estrutura.

incremento

define

de

quanto

incrementado o contador de repeties, a cada


passagem.

Prof Ariane Scarelli / Katia Livia Zambon

ser

Linguagem C

18

EXERCCIOS comando for

Code.org: Fase 19 Quebra-cabea 2

Exerccio 46: Faa um programa que apresente


na tela 100 vezes a frase: Eu ADORO estudar no
CTI, utilizando o comando for.

Exerccio 47: Faa um programa que apresente


os valores de 1 a 100 na tela, incrementando de
um em um com o comando for.

Exerccio 48: Apresente na tela os valores de 1 a


500 incrementando de 10 em 10.

Exerccio 49: Faa um programa que apresente


os valores de 100 a 0 na tela, decrementando de
um em um com o comando for.

Exerccio 50: Digite e teste o programa abaixo


verificando o uso do comando for e sua execuo.

main()
{
Visualizao das instrues:

char maiusc, minusc;


printf(Maiuscula\tMinuscula\n);
for( minusc = a, maiusc = A; maiusc <= F;
maiusc++, minusc++)
printf(%c\t\t%c\n, maiusc, minusc);
}

Exemplo: incrementando de 10 em 10
for

(int

contador

1;

contador

obs.: se o corpo do lao for contiver mais de uma


<=

300;

instruo, deve-se usar chaves.

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);

Prof Ariane Scarelli / Katia Livia Zambon

ao comando for e a outra o final. Invente uma


frase e repita o nmero de vezes do incio at o
final lido.

Linguagem C

19

Exerccio 52: Faa um programa para mostrar os

COMANDO do-while

nmeros pares de 0 a 200.


No comando do-while o teste de condio de
Exerccio 53: Faa um programa que leia uma

trmino

varivel do tipo int maior que zero e apresente os

obrigando assim a execuo das instrues pelo

nmeros mpares de 1 a esta varivel.

menos uma vez.

Exerccio 54: Faa um programa que leia um

Sintaxe:

executado

no

fim

da

estrutura,

valor do tipo int e apresente a tabuada deste


nmero lido. Exemplo de apresentao:

do
{

Valor lido: 4

instruo(es);

Tabuada do nmero: 4

}while( teste );

4x0=0
4x1=4
4x2=8

Exemplo: incrementando de 1 em 1 (comando

........

for)

4 x 10 = 40

for( int a = 0; a <= 10; a++ )


printf(%d \n, a);

Exerccio 55: Faa um programa para acessar


y

dois nmeros pelo teclado (x e y) e calcular x .

Exerccio 56: Faa um programa que leia dois

Exemplo: incrementando de 1 em 1 (comando

nmeros inteiros (x e y) e calcule seu produto, sem

do-while)

utilizar o operador de multiplicao (*).

int a =0;
do

Exerccio 57: Faa um programa que determine o

quadrado de um nmero positivo atravs do

printf (%d \n,a);

seguinte mtodo: "o quadrado de um nmero

a++;

positivo n igual soma dos n primeiros nmeros

}while (a <= 10);

mpares". Por exemplo, o quadrado de 3 9 = 1 +


3 + 5, e o de 6 36 = 1 + 3 + 5 + 7 + 9 + 11.
Exemplo:
Exemplo: Digite o nmero a ser elevado ao

/* Prg para apresentar e selecionar uma opo de

quadrado: 8

menu */
#include <stdio.h>

O quadrado de 8 64.

#include <conio.h>
main()
{

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

20

int x;

Exerccio 60: Faa um programa que leia um

printf(1 - Equao do 2 grau\n);

valor inteiro e mostre a tabuada deste nmero com

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

todos os nmeros inteiros de 1 a 100.

Exerccio 62: Faa um programa para mostrar


Exemplo:

todos os nmeros inteiros pares de 1 a 200.

/* Prg para apresentar um valor de 1 a 10 */


#include <stdio.h>

Exerccio 63: Desenvolva um programa para

#include <conio.h>

apresentar todos os valores inteiros mpares

main()

situados na faixa de 100 a 200.

{
int cont=1;

Exerccio

64:

Elaborar

um

programa

para

do

apresentar o os 20 primeiros nmeros inteiros (de

0 a 20).
printf(\nValor de cont = %d,cont);
cont++;

Exerccio 65: Faa um programa para calcular e

}while( cont <= 10 );

apresentar a soma dos 20 primeiros nmeros

getche();

inteiros.

}
Exerccio 66: Elaborar um programa para ler um
conjunto de valores inteiros at que se digite o
EXERCCIOS comando do-while

valor zero. Calcular e mostrar a soma e a


quantidade de valores lidos.

Exerccio 58: Faa um programa que escreva na


tela 10 vezes a mensagem: Eu adoro estudar no

Exerccio 67: Elaborar um programa para ler um

CTI !!!

nmero que indicar o tamanho do conjunto de


valores a ser lido (iTam). Deixe o usurio digitar

Exerccio 59: Faa um programa para ler um valor

valores inteiros at atingir esta quantidade iTam.

inteiro. Aps a leitura, imprimir o valor lido 5 vezes

Apresente a soma dos valores lidos.

multiplicando por 10, por 20, por 30, por 40 e por


50.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

21

Exerccio

68:

Construir

um

programa

para

apresentar todos os nmeros divisveis por 4 que

a mdia, o menor valor e o maior valor dos n


valores reais lidos.

sejam menores que 20 iniciando do valor 1.

Exerccio 69: Teste de consistncia de dados.

Exerccio 73: Elaborar um programa que leia dois

Fazer um programa que leia um valor inteiro no

nmeros inteiros. Aps a leitura, apresentar um

intervalo de 0 a 10. Se o valor no estiver neste

menu para o usurio para a escolha da operao

intervalo, d uma mensagem e retorne para

a ser realizada, como segue abaixo. Aps a

acessar um novo nmero at que o nmero lido

realizao da operao desejada, voltar a ler

esteja no intervalo. Quando o nmero lido for

novos nmeros at que a opo 6 do menu seja

vlido, apresent-lo na tela multiplicado por 100.

selecionada.
1. Soma dos valores

Exerccio 70: Faa um programa para calcular a

2. Diferena entre o maior e o menor

quantidade de dinheiro que um fumante gasta em

valor

10 dias. Entre com o nmero de cigarros que ele

3. Multiplicao dos valores

fumou por dia (faa isto para 10 dias, utilizando o

4. Soma do dobro de cada valor

do-while e armazenando os valores, somando-os).

5. Soma dos quadrados de cada valor

Solicite ao usurio que digite o preo do mao de

6. Fim

cigarros e divida por 20 para saber qual o valor


unitrio. Multiplique pelo valor totalizado de 10

Exerccio

74:

Elaborar

um

programa

para

dias e apresente uma mensagem (que voc vai

apurao da eleio de um determinado colgio.

criar) contendo o total de cigarros, a mdia de

O menu deve apresentar as seguintes opes:

cigarros por dia e o valor que ele gastou nestes 10


dias.

0. Encerra apurao
1. Voto para o candidato A

Exerccio 71: Faa um programa para ler uma

2. Voto para o candidato B

sequencia de nmeros positivos e seguido pela

3. Voto para o candidato C

leitura de um nmero negativo. O programa deve

4. Voto em branco

parar de ler nmeros quando o usurio entrar com

5. Voto nulo

um

nmero

negativo

(condio

de

parada,

reprocessamento). O programa deve imprimir a

Fique lendo valores at que se digite zero. Neste

soma, mdia e quantidade dos nmeros no

caso, informe os resultados apurados:

negativos.

Calcular o total de votos para cada


candidato (Candidatos A, B ou C);

Exerccio 72: Implemente um programa que deve

Calcular a quantidade de votos nulos;

ler um inteiro positivo n (quantidade de valores

Calcular a quantidade de votos em branco;

que dever ser lida) e em seguida ler n valores

Calcular o percentual de votos em branco

reais sendo que o programa deve imprimir a soma,

Prof Ariane Scarelli / Katia Livia Zambon

e nulos em relao ao total.

Linguagem C

22

Exerccio 75: Faa um programa que descubra

Digite a primeira nota: 7.9

um nmero entre 0 e 1000 imaginado pelo

Digite a segunda nota: 8.6

usurio. O programa deve fazer interaes com o

Digite a terceira nota: 5.3

usurio. A cada interao, o programa deve tomar

Sua mdia : 7.3

um nmero e perguntar para o usurio se este

Tem mais algum

candidato para se

nmero igual, menor ou maior do que o valor

apresentar? Sim

imaginado. O usurio deve responder de forma

Digite o nome da performance que o candidato ir

correta. A execuo do programa deve terminar

fazer: Melhor impossvel

assim

que

programa

adivinhar

valor

Digite a primeira nota: 8.5

imaginado pelo usurio. O programa deve imprimir

Digite a segunda nota: 15.4

o nmero imaginado e o nmero de perguntas

Nota invlida, redigite!

feitas pelo programa. Seu programa no pode

Digite a segunda nota: 10.0

fazer mais que 10 perguntas. Se atingir 10

Digite a terceira nota: 7.7

perguntas

Sua mdia : 8.7

valor

imaginado

no

for

descoberto, d uma mensagem.

Tem mais algum

candidato para se

apresentar? No
Exerccio 76: Fazer um programa que leia uma
sequncia de 8 notas dadas pelos juzes de um

Resposta final: A performance Melhor impossvel

concurso de danas (as notas devem estar no

ganhou com mdia: 8.7

intervalo de 0 a 10 e ser do tipo real). Para o


clculo da mdia, retire a maior e a menor nota e
apresente a mdia recebida pelo candidato.
10 COMANDO while
Exerccio 77: Faa uma modificao no programa
anterior.

Agora,

teremos

vrios

candidatos

Condiciona

repetio

de

determinadas

participando do concurso e cada um receber 3

instrues, enquanto uma dada condio for

notas (a mdia agora composta pelas 3 notas,

atendida (verdadeira).

no necessrio retirar a maior e a menor). No


sabemos quantos candidatos tem o concurso, mas

Sintaxe: while (teste)

a cada iterao, o usurio dever responder a

instruo(es);

pergunta: Tem mais candidatos? Sim/no e o


programa

encerra

quanto

no

houver

mais

Exemplo: incrementando de 1 em 1 (comando

candidatos. Apresente no final qual candidato

while)

ganhou o concurso (obteve maior mdia).

int a =0;
while (a <= 10)

Exemplo:

{
printf (%d \n,a);

Digite o nome da performance que o candidato ir


fazer: Dana do Tigre
Prof Ariane Scarelli / Katia Livia Zambon

a++;
};
Linguagem C

23

EXERCCIOS comando while

Exemplo: incrementando de 1 em 1 (comando


for)
for( int a = 0; a <= 10; a++ )
printf(%d \n, a);

Exerccio 78: Faa um programa que apresente


na tela 100 vezes a mensagem Eu adoro estudar
no CTI..... !!!!!

Exemplo: incrementando de 1 em 1 (comando

Exerccio 79: Escreva um programa para somar

do-while)

todos os nmeros pares num intervalo de 10 a 50.

int a =0;
do

Exerccio

80:

transformao

Reescreva
de

Farenheit

programa
para

de

Celsius

printf (%d \n,a);

imprimindo uma tabela de converso de graus, de

a++;

0 a 120 graus, com incremento de 10 graus.

}while (a <= 10);


Exerccio 81: Faa um programa que apresente
as opes de um menu para controle da conta
bancria do usurio:
(1) Consulta saldo
Outro exemplo (while):

(2) Saque

int cont = 1;

(3) Depsito

while (cont <= 100)

(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

/*Imprimir todos os nmeros mpares de 1 a 100 */

Saldo: R$ 0,00

main()
{

Digite a opo: 3
int cont = 1;

Valor a ser depositado: R$ 100,00

while (cont <= 100)


{

Digite a opo: 2
if (cont % 2 == 1)

Valor a ser sacado: R$ 35,00

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

Exerccio 82: Faa um programa que apresente

11.1

Diretiva #define

todos os nmeros divisveis por um valor indicado


pelo usurio, compreendidos em um intervalo que

Pode ser usada como:

tambm ser especificado pelo usurio (valor


inicial e final do intervalo sero lidos).

1. Constante simblica Substitui no corpo do


programa todas as ocorrncias da constante

Exemplo:

simblica pelo valor especificado.

Digite o valor para o divisor: 3


Digite o valor inicial do intervalo: 10

Exemplo:

Digite o valor final do intervalo: 33

/* calcula a area da esfera */

Nmeros divisveis por 3 no intervalo de 10 a 33:

#define PI 3.14159

12

main()

15

18

float raio;

21

float area;

24

printf(Digite o raio da esfera: );

27

scanf(%f, &raio);

30

area = 4 * PI * r * r;

33

printf(\nArea da esfera = %.2f, area);


}

11 O PR-PROCESSADOR C

O valor 3.14159 substituir cada ocorrncia de PI


no programa.

O Pr-processador C um programa que examina


o programa fonte em C antes da compilao e faz
certas modificaes nele, baseado em instrues

Exemplo:

chamadas diretivas.

#define ERRO printf(\nValor invalido);

Quando executa-se a seguinte linha:

main()

var = 60;

{
int var;

Solicita-se ao compilador para transformar este

printf(Entre com o valor: );

cdigo para instrues em linguagem de mquina

scanf(%d, &var);

para que o microprocessador as execute.

if( var )

As diretivas do pr-processador so instrues


para o compilador e no para o microprocessador.

ERRO;
}

Devem fazer parte do texto do programa, mas no


faro parte do programa que compilado, pois

so retiradas do texto pelo compilador antes da

2. Macro

compilao.

cada vez que a macro for executada.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

Executa o comando especificado

25

Exemplo:

12 FUNES getch E getche

#define QUAD(x) (x)*(x)


main()

Permitem

acessar

um

nico

caractere

pelo

teclado, sem a necessidade de teclar <enter>. A


int a = 2;

diferena entre as duas funes que getche

float b = 1.5;

ecoa o caractere digitado no vdeo e getch no.

printf(Soma

dos

quadrados:

%f\n,

Para usar estas funes necessrio incluir o


arquivo conio.h.

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>

(cabealho) em outro. Pode-se incluir um arquivo

main()

de cabealho criado pelo usurio ou um j

existente no compilador C.

char ch, cont;


do

Exemplo: arquivo stdio.h para us-lo:

{
printf(\ndigite

#include <stdio.h>

um

caractere

(para

encerrar tecle <enter>) );

ou

while( ( ch = getch() ) != \r )

#include stdio.h

{
printf(\n digitado = %c, ch);

Quando o nome do arquivo est definido entre os

printf(\n seguinte = %c, ch + 1);

smbolos de menor e maior, o pr-processador

printf(\ndigite

procura primeiro no diretrio especialmente criado

um

caractere

(para

encerrar tecle <enter>) );

de incluso (INCLUDE = ) que definido durante a

instalao do compilador, e depois no diretrio

printf(\n\nContinua ? (s/n): );

corrente. Se o nome do arquivo est definido entre

}while((cont = getche() ) = s || cont = S );

aspas duplas, o pr-processador procura apenas

no diretrio corrente.

Observao:

- No h ponto-e-vrgula (;) aps

qualquer diretiva do pr-processador.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

26

EXERCCIOS funes getch() e getche()

printf(digite uma letra e tecle <enter>: );


ch = getchar();

Exerccio 83: Escreva um programa que conte a


quantidade de caracteres de uma frase digitada

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

dois caracteres ao usurio e imprima o nmero de

Uma string em C definida como uma matriz do

caracteres que esto entre eles. Assuma que o

tipo char terminada pelo caractere null ('\0').

usurio digitar os 2 caracteres em ordem

Toda

alfabtica. Exemplo:

encontrada no programa considerada pelo

sequncia

de

caracteres

entre

aspas

Digite 2 caracteres: c f

compilador como sendo uma constante string.

O nmero de caracteres entre eles : 2

Cada caractere de uma string ocupa 1 byte de


memria e o ltimo caractere sempre '\0'.

Exerccio 86: Escreva um programa que conte a


quantidade de caracteres e o nmero de dgitos (0

Exemplo: "Linguagem C" = | L | i | n | g | u | a | g | e

a 9) de uma frase digitada pelo usurio.

| m | | C | \0|

Atravs da terminao '\0', as funes identificam


o fim de uma string.
13 FUNES getchar E putchar
Varivel string
A funo getchar() acessa um nico caractere pelo
teclado e espera que se tecle <enter>; a funo

A varivel que ir armazenar uma string deve ser

putchar() imprime um caractere na tela. Estas

declarada como tipo char, especificando o nmero

funes esto definidas no arquivo stdio.h.

de caracteres necessrios dentro do smbolo de


colchetes. Contudo, como o primeiro caractere

Sintaxe:

var = getchar()

reside no elemento 0, o nmero do ltimo

putchar(var)

elemento sempre o tamanho da string menos 1.

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

Consulte o APNDICE C para tabela com funes de


manipulao de string.
Linguagem C

27

teste[0]

alfabeto[ind] = letra;

teste[1]

alfabeto[ind] = \0;

teste[2]

for( ind = 0; alfabeto[ind] != \0; ind++ )

teste[3]

putchar( alfabeto[ind] );
}

teste[4]

/* Exemplo de uso de string

*/

main()

Observaes:

o segundo comando for testa repetidamente

char alfabeto[27]; // 26 letras mais o nulo

se o valor do elemento um caractere nulo

char letra;

(\0);

int ind;

for( letra = A, ind = 0; letra <= Z; letra++,

putchar()

exibe

caractere,

at

que

alfabeto[ind] contenha o caractere nulo.

ind++ )
alfabeto[ind] = letra;
alfabeto[ind] = \0; // para indicar fim da

Leitura de uma string

printf (%s, alfabeto);

Aps reservar o espao em memria para receber

string
}

a string, deve-se permitir acessar um contedo


para a mesma atravs do teclado.

Observaes:

a varivel ind reflete a posio de cada letra


dentro da string, iniciando com zero;

cada iterao da repetio incrementa letra e

Uma funo que permite esse acesso scanf().

Exemplo:
char descr[30];

ind;

scanf(%s, descr);

para exibir a string, a funo printf() no


necessita dos colchetes.
Observaes:

/* Exemplo de uso de string, usando getchar() */

pois o nome de uma string seu endereo

#include <stdio.h>
main()

inicial ( descr igual a &descr[0] );

{
char alfabeto[27], letra;
int ind;
for( letra = A, ind = 0; letra <= Z; letra++,

o operador de endereo (&) no foi utilizado

a funo scanf() identifica um espao em


branco para terminar uma entrada, assim se
digitarmos para a varivel descr o valor Disco
rgido, s ficar armazenado o valor Disco.

ind++ )

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

28

14.1

EXERCCIOS funes gets() e puts()

FUNES gets E puts

gets() - utilizada unicamente para ler uma string

Exerccio 87: Faa um programa que leia uma

pelo teclado. gets() l caracteres at encontrar o

string pelo teclado e conte a quantidade de vogais

caracteres que indica o fim da linha (\n), gerado

existentes. Imprima o resultado.

quando for digitado enter (que no far parte da


string). Ao contrrio de scanf(), a funo gets()

Exerccio 88: Faa um programa que leia uma

aceita espaos em branco na string. Os erros de

string pelo teclado e imprima quantas e quais

digitao

foram as vogais e quantos espaos em branco

podem

ser

corrigidos

usando-se

retrocesso.

Sintaxe: gets(var);

existem. Imprima os resultados.

Exerccio 89: Faa um programa que leia uma


string pelo teclado e imprima-a de trs para frente.

Observao:

quando declara-se uma string de caracteres,

Exerccio 90: Faa um programa que leia o login

deve-se tomar o cuidade de sempre colocar

de um usurio e uma senha. Verifique se a senha

uma posio a mais, pois C coloca o

est incorreta (voc deve definir no if a senha

terminador (\0) para marcar o fim da string.

correta). Se no estiver correta, utilize comando de


repetio e leia a senha novamente.

puts() - a funo complemento de gets(). Ser


utilizada quando for necessrio apresentar uma
string na tela. Pula uma linha automaticamente.

Sintaxe: puts(var);

14.2

FUNO strcpy

Copia o contedo de uma string em outra. Esta


funo est definida no arquivo string.h.

Exemplo:
char nome[30];

Sintaxe: strcpy (string_destino, string_origem);

gets(nome);
puts(Caro amigo(a), );
puts(nome);

A funo strcpy() copia a string_origem para a


string_destino.

Exemplo:
#include <stdio.h>
#include <string.h>
main ()
{
char str1[100];

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

29

char str2[100];

14.4

FUNO strlen

char str3[100];
printf ("Entre com uma string: ");
gets (str1);

Retorna o nmero de caracteres da string. Esta


funo est definida no arquivo string.h.

strcpy (str2, str1);


Sintaxe: strlen (string);

strcpy (str3, "Voce digitou a string ");


printf ("\n\n%s%s", str3, str2);

A funo strlen() retorna o comprimento da string

fornecida. O terminador nulo no contado. Isto


quer dizer que, de fato, o comprimento do vetor da
string deve ser um a mais que o inteiro retornado
por strlen().
14.3

FUNO strcat

Anexa uma string a outra. Esta funo est


definida no arquivo string.h.

Exemplo:
#include <stdio.h>

Sintaxe: strcat (string_destino, string_origem);

#include <string.h>
main ()

A string_origem permanecer inalterada e ser

anexada ao fim da string_destino.

int tamanho;
char str [100];

Exemplo:

printf ("Entre com uma string: ");

#include <stdio.h>

gets (str);

#include <string.h>

tamanho = strlen (str);

main ()

printf ("\n\nA string que voce digitou tem

tamanho %d", tamanho);


char str1[100], str2[100];

printf ("Entre com uma string: ");


gets (str1);
strcpy (str2, "Voce digitou a string ");
strcat (str2, str1);
printf ("\n\n%s", str2);
}

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

30

14.5

FUNO strcmp

Exerccio 93: Faa um programa que declare


duas strings com capacidade para 20 caracteres.

Compara duas strings. Esta funo est definida

Leia pela entrada padro a primeira string. Em

no arquivo string.h.

seguida, copie o texto da primeira string para a


segunda. Imprima no final o contedo das duas

Sintaxe: strcmp (string1, string2);

strings.

A funo strcmp() compara a string1 com a

Exerccio 94: Escreva um programa que decida

string2. Se as duas forem idnticas a funo

se uma string ou no um palndromo (ou seja, se

retorna zero. Se elas forem diferentes a funo

o inverso da string igual a ela).

retorna no-zero.
Exerccio 95: Escreva um programa que leia uma
Exemplo:

string e troque todos os caracteres por letras

#include <stdio.h>

maisculas. Verifique a funo strupr().

#include <string.h>
main ()

Exerccio 96: Fazer um algoritmo para ler uma

string e contar quantas vezes um determinado


char str1 [100], str2 [100];

caractere aparece na string. O caractere dever

printf ("Entre com uma string: ");

ser informado pelo usurio. Verifique a funo

gets (str1);

strchr().

printf ("\n\nEntre com outra string: ");


gets (str2);
if (strcmp (str1, str2) )
printf ("\n Strings so diferentes.");
else

Exerccio 97: Faa um programa para ler um


nmero inteiro com 4 dgitos exatos (no pode ser
com 3 ou 2 ou 1, por isso, leia-o como string,

printf ("\n Strings so iguais.");


}

verifique se o tamanho da string 4 e depois o


transforme em valor numrico). Calcular e mostrar
o dgito verificar do nmero lido, que obtido pelo
seguinte clculo:

EXERCCIOS string
Sendo o nmero formado por: abcd
a * 2 + b * 3 + c * 4 + d * 5 = soma

Exerccio 91: Crie um programa capaz de ler dois


nomes de pessoas e imprimi-los em ordem
alfabtica.

Clculo: resto de (soma / 11).


Se resto >= 10, ento dgito = 1, seno dgito =
resto.

Exerccio 92: Faa um programa que leia o nome


e o sobrenome de uma pessoa. Apresente o nome
completo concatenando as strings.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

31

15 COMANDO switch

A opo default (verificada primeiro),


executada

O comando switch deve ser utilizado quando

caso

nenhuma

das

demais

satisfaa a expresso.

existe a necessidade de escolher uma entre vrias


alternativas. Estrutura tipo if-else so simples de

Exemplo:

usar quando existem no mximo duas alternativas,

/* Mostra vogais */

quando essa quantidade aumenta, a estrutura

main()

comea a ficar confusa e deselegante.

{
char letra;

Sintaxe:

for( letra = 'A'; letra <= 'Z'; letra++ )

switch( expresso )

switch( letra )

{
case constante_1:

case 'A': printf("%c", letra);

instrues;

break;

break;

case 'E': printf("%c", letra);

case constante_2:

break;

instrues;

case 'I': printf("%c", letra);

break;

break;

.....

case 'O': printf("%c", letra);

case constante_n:

break;

intrues;

case 'U': printf("%c", letra);

break;

break;

default:

}
instrues;

}
OU
Onde: expresso: deve ser um valor inteiro ou
caractere;

switch( letra )

Para cada case deve haver uma constante


inteira ou caractere, que deve ser terminada

case 'A':

por dois-pontos (:), e no por ponto-e-vrgula


(;). Para cada case pode haver uma ou mais

case 'E':

instrues. No caso de vrias instrues,


estas no devem estar entre chaves;

case 'I':

Para cada case deve haver uma instruo


case 'O':

break que causa uma sada imediata do


switch. Se o break no for especificado, o

case 'U': printf("%c", letra);

programa segue executando todos os outros


casos abaixo;
Prof Ariane Scarelli / Katia Livia Zambon

}
Linguagem C

32

EXERCCIOS comando switch

Exerccio 98: Escreva um programa para contar o

REFERNCIAS

CASTRO, Andr L. F. Apostila C. [200-].

nmero de vezes que cada vogal aparece em uma


frase digitada pelo usurio e o nmero de
consoantes. Imprima os resultados.

JAMSA, Kris. Microsoft C, dicas, segredos e


truques. So Paulo: Makron Books, 1992, 701p.
MIZRAHI,

Exerccio 99: Escreva um programa para montar


uma

calculadora

com

as

operaes

Victorine

V.

Treinamento

linguagem C, curso completo. So Paulo:


McGraw-Hill, 1990. (Mdulo 1). 241p.

matemticas.
Observao:

O usurio dever digitar os valores e o tipo de

______.______. So Paulo: McGraw-Hill, 1990.


(Mdulo 2). 273p.

operao desejada;

Utilizar reprocessamento, encerrando quando


usurio digitar N pergunta "Continua ?
(S/N)";

Exerccio 100: Faa um programa no qual o


usurio dever entrar com uma das opes uma
das opes do menu para a escolha do tipo de
filme que gosta de assistir e a sua idade. Faa
esta pesquisa para 10 usurios:
(a) Comdia
(b) Romance
(c) Terror
(d) Aventura
(e) Ao
(f) Fico
Apresente no final cada gnero de filme e a mdia
das idades dos usurios para cada seleo.

Prof Ariane Scarelli / Katia Livia Zambon

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

O tipo long double o tipo de ponto


flutuante com

maior

preciso.

importante

observar que os intervalos de ponto flutuante, na


tabela acima, esto indicados em faixa de
expoente, mas os nmeros podem assumir valores
tanto positivos quanto negativos.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

34

APNDICE B Device Driver ANSI.SYS

Manipulando o Vdeo
Sequncia

Sob o DOS, o device driver (controlador de


dispositivo) ANSI.SYS fornece expanso das
capacidades da tela e teclado, utilizando um

\x1B[2J

interceptado for uma sequncia especial de


caracteres que identificam um comando para o

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

O driver ANSI.SYS deve estar instalado no

esquerda

CONFIG.SYS.
\x1B[s

printf(\x1B[s);

Retorna o cursor

printf(\x1B[u);

posio

informa que os 2 prximos

anterior

caracteres formam um valor hexadecimal.


\x1B[K

Limpa at o final

printf(\x1B[K);

da linha atual

1B[ identifica um cdigo ANSI.


2J identifica a ao (limpa a tela e posiciona o

Salva posio
atual do cursor

\x1B[2J
\x1B[u

Onde: \x

colunas direita
\x1B[#D

Exemplo:

coluna do cursor

linhas abaixo

caracteres inicializada por ESCAPE (1B em hexa)


+ [.

printf(\x1B[5;10H)

linhas acima

Os comandos para o driver ANSI.SYS so


identificados por uma sequncia especial de

printf(\x1B[2J);

canto superior

driver, ele passado para sua parte de


processamento de comando.

Limpa tela e
posiciona no

Standards Institute (ANSI).

na tela e a entrada do teclado e, se algum cdigo

Exemplo

de Escape

cdigo padronizado pelo American National

O driver ANSI.SYS intercepta toda sada

Funo

\x1B[#m

Define cor de

printf(\x1B[41m);

primeiro plano e

cursor no canto superior esquerdo do vdeo).

fundo
main()
Utilizando Cores

{
printf(\x1B[2J);
}

Prof Ariane Scarelli / Katia Livia Zambon

Valor

Cor de Primeiro Plano

30

Preto

31

Vermelho

32

Verde

33

Laranja

34

Azul

35

Magenta

Linguagem C

35

Como fazer para ativar o device driver

36

Ciano

37

Branco

ANSI.SYS no prompt de comando do Windows

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

Abra (edite) o arquivo CONFIG.NT (que


substituiu o antigo CONFIG.SYS), localizado
em c:\windows\system32

Insira a seguinte linha:


device= c:\windows\system32\ansi.sys
(ou device=
%SystemRoot%\system32\ansi.sys)

Salve o arquivo com as alteraes

Reinicie o computador

Na prxima vez que executar o prompt de


comando do Windows (CMD) ou o atalho do

Turbo C++ O driver ANSI.SYS interceptar


printf(\x1B[43mFUNDO LARANJA);

toda sada na tela e entrada do teclado

printf(\x1B[31mVERMELHO\x1B[37mBRA
NCO\x1B[34mAZUL);
}

Onde: o m minsculo a sequncia de escape


que diz ao driver ANSI que o nmero precedente
a cor escolhida para ser mostrada no vdeo, como
primeiro plano ou fundo, dependendo do valor.

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

36

APNDICE C Tabela de Rotinas de


Manipulao de String
Uma

das

principais

atividades

de

de duas strings, ignorando


diferenas entre maisculas e

muitos

minsculas
strnset

programas em C manipulao de strings. Por

da string com um caractere

exemplo, programas frequentemente precisam


comparar duas strings, pesquisar palavra em

Inicializa os primeiros n caracteres

especificado
strpbrk

Localiza o primeiro caractere da

string, anexar contedo em string. O arquivo de

primeira string que tambm est na

incluso string.h contm a declarao das funes

segunda

de manipulao de string em C. A tabela abaixo

strrchr

letra na string

apresenta a lista de rotinas:


strrev
Nome da Rotina

Descrio

strcat

Anexa uma string a outra

strchr

Pesquisa uma string pela primeira


ocorrncia de uma letra

strcmp

Compara duas strings

strcmpi

Compara duas strings. Ignorando


diferenas entre maisculas e
minsculas

strcpy

strset

strspn

Aloca memria e copia uma string

strerror

Devolve uma mensagem de erro


associada ltima chamada rotina

conjunto de caracteres da segunda


string
strstr

stricmp

Retorna um ponteiro com a


localizao da segunda string dentro
da primeira, ou NULL se a string no
existir

strtod

Converte uma string para um valor


decimal

strtol

Converte uma string para um valor


long

strtoul

da bilbioteca run-time que produziu o


erro

Retorna o primeiro caractere da


primeira string que no est no

string que est na segunda string


strdup

Define todos os caracteres de uma


string com uma letra especfica

Copia o contedo de uma string em

Devolve a primeira letra de uma

Reverte a ordem das letras em uma


string

outra
strcspn

Localiza a ltima ocorrncia de uma

Converte uma string para um valor


unsigned long

strupr

Converte uma string para maiscula

Compara duas strings, ignorando


diferenas entre maisculas e
minsculas

strlen

Retorna o nmero de caracteres da


string

strlwr

Converte uma string para minscula

strncat

Anexa n caracteres em uma string

strncmp

Compara os primeiros n caracteres


de duas strings

strncpy

Copia os primeiros n caracteres de


uma string em outra

strnicmp

Compara os primeiros n caracteres

Prof Ariane Scarelli / Katia Livia Zambon

Linguagem C

37

Você também pode gostar