• Nenhum resultado encontrado

linguagemC-aula01

N/A
N/A
Protected

Academic year: 2021

Share "linguagemC-aula01"

Copied!
41
0
0

Texto

(1)

Estrutura de Dados

Linguagem C – Aula 1

Ricardo Oliveira

(2)

Forma de um Programa em C

C é case-sensitive

As palavras reservadas são em

minúsculas

else é palavra reservada, mas ELSE ou

Else não

Um programa em C consiste de uma ou

mais funções

(3)

Forma de um Programa em C

declarações globais

tipo_devolvido main(lista de parâmetros) {

seqüência de comandos }

tipo_devolvido f1(lista de parâmetros) {

seqüência de comandos }

...

tipo_devolvido fN(lista de parâmetros) {

(4)

Um Primeiro Programa

#include <stdio.h>

/* Um Primeiro Programa */

int main ()

{

printf (“Olá Mundo!\n”);

return(0);

(5)

Outro Programa

#include <stdio.h> int main (){

int Dias; /* Declaração de Variáveis */        float Anos;

printf (“Digite o número de dias: "); /* Entrada de Dados */

scanf ("%d",&Dias);

Anos=Dias/365.25;  /* Conversão Dias->Anos */         printf ("\n\n%d dias equivalem a %f

anos.\n",Dias,Anos); return(0);

(6)

O que faz o seguinte programa?

#include <stdio.h>

int main()

{

int x;

scanf("%d",&x);

printf("%d",x);

return(0);

(7)

Introdução às Funções

Bloco de código de programa que pode

ser usado diversas vezes em sua

execução

 O programa fica mais legível, mais bem

estruturado

 Um programa em C consiste de várias

funções colocadas juntas

Uma função possui argumentos e

(8)

Introdução às Funções

#include <stdio.h>

int square (int x) /* Calcula o quadrado de x */ { printf ("O quadrado e %d",(x*x));

return(0); }

int main ()         { int num;

printf ("Entre com um numero: "); scanf ("%d",&num);

printf ("\n\n"); square(num);

(9)

Função com Múltiplos Argumentos

#include <stdio.h>

int mult (float a, float b,float c) /* Multiplica 3 numeros */         { printf ("%f",a*b*c); return(0); } int main ()         {   float x,y;    x=23.5;      y=12.9;       mult (x,y,3.87); return(0);        

(10)

Retornando Valores

Indica-se, antes do nome da função, o

seu tipo de retorno

O que retornar é indicado pela palavra

reservada return

Uma função que não indica o seu tipo de

retorno usará um inteiro

(11)

Retornando Valores

#include <stdio.h>

float prod (float x,float y) { return (x*y);

}

int main () { float saida;

saida=prod (45.2, 0.0067);

printf ("A saida e: %f\n",saida); return(0);

(12)

Forma Geral de uma Função

tipo_de_retorno nome_da_função

(lista_de_argumentos)

{

código_da_função

}

(13)

Introdução Básica às Entradas e

Saídas

Caracteres (‘a’, ‘b’, ‘x’, etc.)

Tipo de dados char

Variáveis de 1 byte (8 bits)

O tipo char também pode armazenar

um número inteiro

 Código ASCII correspondente ao

(14)

Exemplo de Uso de Caracteres

#include <stdio.h> int main () {

char Ch; Ch='D';

printf ("%c",Ch); /*Imprime D na tela*/ printf ("%d",Ch); /* Imprime o caractere como inteiro (68) */

(15)

Funções getch() e getche()

Funções para ler um caractere digitado

getch() apenas retorna o caractere digitadogetche() imprime na tela o caractere, antes

de retornar

São encontradas no arquivo de cabeçalho

conio.h

Não pertencem ao padrão ANSI

(16)

Strings

Vetor de caracteres terminado com um

caractere nulo (código ASCII = 0)

 O caractere nulo também pode ser representado por ‘\0’

Formato geral:

char nome_da_string [tamanho];

(17)

Strings

Para ler uma string fornecida pelo

usuário, pode-se usar a função gets()

 O terminador nulo é colocado quando

(18)

Strings - Exemplo

 #include <stdio.h>

int main () {

char string[100];

printf ("Digite uma string: "); gets (string);

printf ("\n\nVoce digitou %s",string); return(0);

(19)

Strings - Índices

Pode-se acessar caracteres aleatórios

dentro de um string

 Usa-se índices

str[1] = 'a';

Acessa a segunda letra do string str

 O índice sempre começa em 0

(20)

Strings - Índices

#include <stdio.h> int main() { char str[10] = "Joao"; printf("\n\nString: %s", str); printf("\nSegunda letra: %c", str[1]); str[1] = 'U';

printf("\nAgora a segunda letra eh: %c", str[1]);

(21)

Entradas e Saídas – printf()

Forma geral:

printf (string_de_controle,

lista_de_argumentos);

A string de controle descreve tudo o que

vai ser exibido na tela

Os códigos de controle (%) indicam a

(22)

Entradas e Saídas – printf()

Alguns códigos de controle

Código Significado

%d Inteiro

%f Float

(23)

Entradas e Saídas – printf()

 Exemplos de printf()

printf ("Teste %% %%") -> "Teste % %" printf ("%f",40.345) -> "40.345"

printf ("Um caractere %c e um inteiro

%d",'D',120) -> "Um caractere D e um inteiro 120"

printf ("%s e um exemplo","Este") -> "Este e um exemplo"

(24)

Entradas e Saídas – scanf()

Formato geral:

scanf

(string-de-controle,lista-de-argumentos);

Pede dados ao usuário

Os argumentos substituem os códigos de

controle

É importante colocar o & antes das

(25)

Variáveis

Nomes de variáveis

 Deve começar com letra ou sublinhado (_)  Seguem letras, números ou sublinhado

 Não devem ser palavras reservadas ou

nomes de funções nem do programador, nem de bibliotecas do C

(26)

Tipos do C

 5 tipos básicos: int, char, float, void, double

 void: tipo vazio ou “tipo sem tipo”

 double: ponto flutuante com o dobro de precisão

 4 modificadores de tipo: signed, unsigned,

short, long

 Todos se aplicam a int

(27)
(28)

Declaração e Inicialização de

Variáveis

Forma geral:

tipo_da_variável lista_de_variáveis;

Variáveis podem ser globais, locais ou de

lista de parâmetros

Não podem ter o mesmo nome:

 Duas variáveis globais

(29)

Declaração de Variáveis

#include <stdio.h> int contador;

int func1(int j) {/* aqui viria o código da funcao...*/} int main() {

char condicao; int i;

for (i=0; i<100; i=i+1) {        /* Bloco do for */

float f2;        func1(i);}

(30)

Declaração de Variáveis

Declarações de variáveis em C devem ser feitas em

início de bloco de código int main() {

int i; int j; j = 10;

int k = 20; /* Esta declaração de variável não é válida, pois não está sendo feita no início do

(31)

Incialização de Variáveis

Forma geral:

tipo_da_variável nome_da_variável = constante;

Exemplos

char ch='D';         int count=0;         float pi=3.141;

(32)

Constantes

Constantes dos tipos básicos do C

char: ‘b’, ‘\n’, ‘\0’ int: 2, 32000, -130 long int: 100000, -467 short int: 100, 30 unsigned int: 50000, 34568 float: 0.0, 23.7, -12.3e-10

(33)

Constantes

Constantes hexadecimais e octais

Constantes hexadecimais: 0xEF, 0x12A4

Constantes octais: 03212, 034215432

 No C, 025 é diferente de 25 

Constantes strings

 Ex: “Joao”

(34)

Constantes

Constantes de barra invertida \n – Nova linha

\t – Tabulação horizontal (tab) \” – Aspas

\’ – Apóstrofo \0 – Nulo

\\ – Barra invertida

\a – Sinal sonoro (beep)

(35)

Operadores Aritméticos

 Operadores Aritméticos:

+ Soma (inteira e ponto flutuante)

- Subtração ou Troca de sinal (inteira e ponto flutuante)

* Multiplicação (inteira e ponto flutuante) / Divisão (inteira e ponto flutuante)

% Resto de divisão (de inteiros)

(36)

Operadores Aritméticos

Operadores de incremento pré-fixados e

pós-fixados

x = 23; y = x++;  x = 24 e y = 23 x = 23; y = ++x;

(37)

Operador de Atribuição

O operador de atribuição é o =

São expressões válidas:

x=y=z=1.5; /* Expressão 1 */

if (k=w) ...    /* Expressão 2 */

Cuidado com a expressão 2

 Não está havendo comparação

(38)

Operadores

Qual o resultado das variáveis x, y e z

depois da seguinte seqüência de

operações?

int x,y,z;         x=y=10;         z=++x;         x=-x;         y++;        

(39)

Operadores Relacionais e

Lógicos

Operadores Relacionais > Maior do que >= Maior ou igual a < Menor do que <= Menor ou igual a == Igual a != Diferente de  Operadores Lógicos

&& AND (e)

(40)

Modeladores (cast)

Um modelador é aplicado a uma

expressão. Ele força a mesma a ser de

um tipo especificado. Sua forma geral é:

(41)

Modeladores (cast)

#include <stdio.h> int main ()         {         int num;         float f;         num=10;         f=(float)num/7;          printf ("%f",f);         return(0);        

Referências

Documentos relacionados

Finalizando a entrevista, Custódio Fampa declara: “Que- ro agradecer muito ao senhor Arnaldo Pereira, por que quando fui para São Paulo, em 1992, não tinha condições de pagar

A sintaxe de chamada ou acesso à funções membro é semelhante a sintaxe de acesso aos dados membro com exceção dos parênteses que contém a lista de argumentos da função, mesmo

desconto diferenciado para as operações identificadas como day trade durante o processo de tarifação para os mercados Vista, Fracionário, Exercício e Leilão; • Diretos:

&#34;PROCESSO DE RECICLO DE CATALISADORES HOMOGÊNEOS EM SISTEMAS LÍQUIDOS BIFÁSICOS CONTENDO POLÍMERO E SOLVENTES ORGÂNICOS&#34;, caracterizado 5 pelo fato de prever um meio

No presente estudo 75 pacientes eram portadores de prótese dentária, porém 14 apresentaram quadro clínico compatível com queilite angular, totalizando 19%; um (4%) apresentou a

Detectar mutações associadas à resistência primária aos ARVs e subtipos do HIV-1 no gene pol de isolados de pacientes HIV+/Aids atendidos no Laboratório Central e de

Figura 5.4 Influência da concentração inicial de substrato sobre a velocidade inicial da reação de obtenção do octanoato de n-pentila em n- hexano, catalisada pela

Realiza Passos progressivos em “Posição Fechada” em frente sem volta ou virando até ¼ de volta para a esquerda ou para a direita, mantendo a posição relativa com o