Você está na página 1de 37

Introdução ao Uso da Linguagem

de Programação C

Marcelo N. Kapp
A Linguagem C: Considerações
• É uma linguagem de alto nível, genérica. Foi desenvolvida por
programadores para programadores, tendo como meta
características de flexibilidade e portabilidade.

• O C é uma linguagem que nasceu juntamente com o advento


da teoria de linguagem estruturada e do computador pessoal.

• Assim, tornou-se rapidamente uma linguagem “popular”


entre os programadores. O C foi usado para desenvolver o
sistema operacional UNIX, e hoje está sendo usada para
desenvolver novas linguagens, entre elas a linguagem C++ e
Java.
2
C: Normas Gerais: Conjunto de
Caracteres Válidos
• Um programa-fonte em C é um texto não formatado escrito
em um editor de textos usando um o conjunto padrão de
caracteres ASCII. A seguir estão os caracteres utilizados em C:
• a b c d e f g h i j k l m n o p q r s t u
v w x y z
• A B C D E F G H I J K L M N O P Q R S T U
V W X Y Z
• 1 2 3 4 5 6 7 8 9 0
• + - * / \ = | & ! ? # % ( ) { } [ ] _ ‘ “
. , : < >

3
C: Normas Gerais (cont.)
• Formação de identificadores: Ao contrário de outras linguagens, C faz
distinção na capitalização dos identificadores de variáveis usados em um
programa, i.e., os identificadores soma, Soma e SOMA são distintos para o
compilador C.

• Comentários: podem ser escritos em qualquer lugar do texto para facilitar


a interpretação do algoritmo. Para que o comentário seja identificado
como tal, ele deve ter um /* antes e um */ depois.
• Exemplo: /* esta e´ uma linha de comentário em C */

4
C: Normas Gerais (cont.)
• Diretivas de Compilação : são comandos que são processados durante a
compilação do programa. Estes comandos são genericamente chamados
de diretivas de compilação e informam ao compilador C quais são as
constantes simbólicas usadas no programa e quais bibliotecas devem ser
anexadas ao programa executável.

• A diretiva #include diz ao compilador para incluir na compilação do


programa outros arquivos. Geralmente estes arquivos contem bibliotecas
de funções ou rotinas do usuário.

• A diretiva #define diz ao compilador quais são as constantes simbólicas


usadas no programa.

5
Esqueleto básico
#include <stdio.h> /*diz ao pré-processador para ler o arquivo stdio.h
(biblioteca para entrada e saída de dados) e inseri-lo no programa fonte*/

int main() {

return 0;
}
Processo geral
1) Criar um arquivo texto para conter o código fonte de um programa.
Exemplo: Abra um terminal e tecle: gedit programa.c

1) Entre com o código. Por exemplo, o esqueleto básico de programa


apresentado anteriormente:
#include <stdio.h>
int main() {
return 0;
}

3) Salve o arquivo.

4) Em um terminal, compile o programa utilizando o compilador gcc:


gcc programa.c -o executavel

5) Execute o programa gerado no terminal. Para isto: ./executavel


•Entrada e saída de dados: existem várias maneiras de fazer a
leitura e escrita de informações. Por exemplo:

– printf é uma função de escrita na tela e


– scanf é uma função de leitura de teclado.

8
Processo geral
1) Utilizando o esqueleto básico de programa apresentado anteriormente,
a saída do programa deve ser a frase: Estou aprendendo a Linguagem C!

#include <stdio.h>
int main() {
printf(“Estou aprendendo a Linguagem C!”);
return 0;
}

2) Salve o arquivo.

3) Compile o programa novamente:


gcc arquivo_fonte.c -o arquivo_executavel

4) Execute o programa gerado no terminal. Para isto: ./arquivo_executavel


Elementos Básicos da
Linguagem C

Prof. Marcelo N. Kapp


Sumário

• Variáveis e Constantes
• Operadores (lógicos e relacionais)
• Controle de fluxo
• Exemplos com expressões aritméticas, lógicas e de
decisão.
• Exercícios

11
Variáveis
• Uma das necessidades mais comuns em programação é
guardar dados.

• Variáveis são:
•simplesmente pedaços da memória que armazenam um
certo valor (um número, um texto por exemplo) e que têm
um nome!!!

12
Variáveis
1) Nomes de variáveis começam com uma letra ('A'..'Z', 'a'..'z') ou
pelo underscore ('_');

2) Após podem ser seguidos dígitos, letras e underscores;

3) Porém, evitar o uso do '_' no primeiro caractere do identificador


de uma variável, pois este tipo de identificadores é de uso do
sistema;

4) Normalmente ao declarar-se uma variável, esta será inicializada


com zero. Não se deve, no entanto, contar que isto sempre seja
verdadeiro, portanto inicializa-se sempre as variáveis.

13
Variáveis
· Aqui estão alguns exemplos de nomes de identificadores corretos e
incorretos:

Correto Incorreto
Count 1Count

Test23 Olá!Aqui

high_balance high...balance

14
Variáveis
• Tipos
Números inteiros – 1, 25, 374, 9835, etc
int var_inteira;

Números de ponto flutuante – 1.56524


float var_real;
double var_real;

Caracteres – 'a', '7', 'A', 'G', '+', '%', etc


char var_char ;
15
Variáveis

16
Exemplo com Variáveis Inteiras
1) Programa que imprima a soma de dois números inteiros:
#include <stdio.h>
int main() {
int a;
int b;
int soma;
a=9;
b=11;
soma=a+b;
printf(“Soma: %d!”, soma);
return 0;
}
2) Salve o arquivo.
3) Compile o programa novamente:
gcc programa.c -o executavel
4) Execute o programa gerado no terminal. Para isto: ./executavel
Exemplo com Leitura de Entrada com
Variáveis Inteiras
1) Programa que leia do teclado dois números inteiros e imprima o
resultado da multiplicação:
#include <stdio.h>
int main() {
int a;
int b;
int resultado;
scanf(“%d”,&a);
scanf(“%d”,&b);
resultado=a*b;
printf(“Resultado: %d!”, resultado);
return 0;
}
2) Salve o arquivo.
3) Compile o programa novamente:
gcc programa.c -o executavel
4) Execute o programa gerado no terminal. Para isto: ./executavel
Constantes

• Diretiva: #define var_char;

• Exemplo:
#define PI 3.1415926536
int main(){
float area_do_circulo, raio;
raio=3.8;
area_do_circulo=(raio*raio)*PI;
}
19
Sumário

• Bibliotecas
• Variáveis e Constantes
• Operadores (lógicos e relacionais)
• Controle de fluxo
• Exemplos com expressões aritméticas, lógicas e de
decisão.
• Exercícios

20
Operadores
• Um operador é:
- Símbolo que diz ao compilador para realizar
manipulações matemáticas e lógicas específicas.

• A linguagem C possui 3 classes principais de


operadores:
– Aritméticos,
– Relacionais
– Lógicos

21
Operador de Atribuição
• O operador “=” atribui um valor ou resultado de uma
expressão contida a sua direita para a variável
especificada a sua esquerda.

• Exemplos:

a = 10;
b = c * valor + 12;
a = b = c = 1; /*Aceita associação sucessiva de valores*/

22
Operadores Aritméticos
• São aqueles que operam sobre números e expressões,
resultando valores numéricos.

Operador Ação

+ Adição
- Subtração
* Multiplicação
/ Divisão
% Módulo da divisão
- Sinal negativo
23
Uso de Parênteses
l Adicionais ou redundantes não causará erros ou diminuirá
a velocidade de execução de uma expressão.

l É estimulado o uso de parênteses para tornar clara e exata


a ordem de avaliação.

l Qual das duas expressões seguintes é mais fácil de ler?


x=y/3-24*temp-127; /*ou*/
x = ((y/3) – (34*temp)) – 127;

24
Operadores Relacionais
• Operam sobre expressões, resultando valores lógicos de
TRUE (verdadeiro) ou FALSE (falso).

Operador Ação

> Maior

>= Maior ou igual

< Menor
<= Menor ou igual
== Igual
!= Diferente

Atenção!
• Não existem os operadores relacionais: “=<“, “=>“ e “<>“.
• Não confunda a atribuição (“=“) com a comparação (“==“).
25
Operadores Lógicos
• Resultam e operam sobre valores lógicos de TRUE
(verdadeiro) ou FALSE (falso):

Operador Ação

&& e (and)
|| ou (or)
! negação
• se (a == b) && (b == c)

• se (a == b) || (b == c)
26
Sumário
• Bibliotecas
• Variáveis e Constantes
• Operadores (lógicos e relacionais)
• Controle de fluxo
• Exemplos com expressões aritméticas,
lógicas e de decisão.
• Exercícios

27
Controle de fluxo
Os comandos de controle de fluxo podem ser divididos em 2
grupos principais:

l Instruções condicionais;

l Estrutura de repetição;

28
Controle de Fluxo - Instruções condicionais

Instruções:

lif – else
l se - senão

29
Controle de Fluxo - Instruções condicionais - if

Funcionamento:

if (condição)
Executa instrução para condição verdadeira;
else
Executa instrução para condição falsa;

30
Controle de Fluxo - Instruções condicionais - if
#include<stdio.h>
int main()
{
int num1,num2,soma;
printf("Digite o primeiro valor inteiro a ser somado:");
scanf("%d",&num1);
printf("Digite o segundo valor inteiro a ser somado:");
scanf("%d",&num2);
soma=num1+num2;
printf("Soma: %d ",soma);
if ((soma%2)==0)
printf("numero par \n");
else
printf("numero impar \n");
return 0;
}31
Controle de Fluxo - Instruções condicionais - if

A linguagem C padrão também permite o uso de ifs alinhados, obedecendo à


forma:

if(condição1)
Instrução1;
else
If(condição2)
Instrução2;
else
if(condição3)
Instrução3;
else
Instrução4;
32
Estruturas de Repetição

As estruturas de repetição são utilizadas para que um


conjunto de instruções seja executado até que ocorra
uma certa condição.

Dois comandos importantes:


l for
l while

33
Estruturas de Repetição - for
Sintaxe do laço:
for (inicialização; condição; incremento)
Comando_a_ser_repetido;

Na inicialização é atribuído um valor para variável que controla o laço,


a condição determina quando o laço deve ser encerrado e por ultimo
temos o quanto a variável controladora é incrementada.
Exemplo simples:
#include<stdio.h>
void main()
{
int n;
for (n=1; n<=10; n++)
printf("n=%d\n",n);
}
34
Estruturas de Repetição - While
Sintaxe do laço:
while (condição)
Comando_a_ser_repetido;

Exemplo simples:
#include<stdio.h>
int main(){
int n1, resposta;
resposta=0;
while(resposta==0){
printf("Digite valor de n1(inteiro):\n");
scanf("%d",&n1);
resposta=n1%2;
}
return 0;
35
}
Ferramentas

l IDE (Integrated Development Environment) Codeblocks

l Online
l Repl.it
l https://www.onlinegdb.com/

36
Bibliografias
lVieira, N. J. Introdução aos Fundamentos da Computação, Pioneira
Thomson, 2006.
Murdocca, M. J. , Heuring V. P., Introdução a Arquitetura de
l

Computadores, Campus Editora, 2001.


lRoss, K. W., Kurose, James F. Redes de Computadores e a
Internet: Uma Abordagem Top-Down, Addison-Wesley, 2006.
lSílvia F. S. Componentes Funcionais do Computador – Notas de
aula, disponível em <http://www.ic.uff.br/~aconci/componentes.html>
, Acesso em março de 2011.
lBogorny, Vania, Introdução à Programação - Notas de Aula,
Disponível em <http://www.inf.ufrgs.br/~vbogorny>. Acessado em
julho de 2011.

37

Você também pode gostar