Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

linguagem C2, Notas de estudo de Engenharia Informática

só uma introdução da linguagem C para iniciantes.

Tipologia: Notas de estudo

2010

Compartilhado em 31/08/2010

felipe-memphis-8
felipe-memphis-8 🇧🇷

2 documentos

Pré-visualização parcial do texto

Baixe linguagem C2 e outras Notas de estudo em PDF para Engenharia Informática, somente na Docsity! Curso C Starter www.t2ti.com 1 Curso C Starter Apresentação O Curso C Starter foi projetado com o objetivo de ajudar àquelas pessoas que têm uma base de lógica de programação e desejam aprender a linguagem C. A estrutura do curso é formada por módulos em PDF e por mini-cursos em vídeo. O aluno deve baixar esse material e estudá-lo. Deve realizar os exercícios propostos. Todas as dúvidas devem ser enviadas para a lista de discussão que está disponível para inscrição na página do Curso C Starter no site www.t2ti.com. As dúvidas serão respondidas pelos instrutores Albert Eije, Cláudio de Barros e Miguel Kojiio, além dos demais participantes da lista. Nosso objetivo é que após o estudo do Curso C Starter o aluno tenha as noções fundamentais da linguagem C e consiga, a partir deste momento, aprofundar- se no assunto de forma autônoma e de acordo com as suas expectativas. Albert Eije trabalha com informática desde 1993. Durante esse período já trabalhou com várias linguagens de programação: Clipper, PHP, Delphi, C, Java, etc. Atualmente mantém o site www.alberteije.com e trabalha como analista de sistemas do Banco do Brasil. Cláudio de Barros é Tecnólogo em Processamento de Dados e analista de sistemas do Banco do Brasil. Miguel Kojiio é bacharel em Sistemas de Informação, profissional certificado Java e também trabalha como analista de sistemas do Banco do Brasil. www.t2ti.com 2 Curso C Starter “subscrito” ou “índice”. Colchetes são utilizados para conter o índice. Na figura acima podemos observar um trem com 8 vagões. Esse trem é o nosso vetor. Como faríamos para imprimir o número 5 de nosso vetor? Para termos acesso ao índice onde o número 5 se encontra teríamos que fazer o seguinte: printf(“%d”,vetor[4]); Ué? Mas o comando acima não vai imprimir o número 4? Não. Detalhe importante: em C e em Java um vetor sempre começa do índice zero. Portanto vetor[0] seria equivalente ao número 1, no exemplo acima. Vamos refazer nosso programa para calcular a nota de 5 alunos utilizando o conceito de vetores. #include <stdio.h> #include <stdlib.h> main() { float notas[5]; //nosso vetor com 5 posições numéricas int i; float soma = 0.0; for(i=0;i<5;i++){ printf("Digite a nota do aluno %d: ", i+1); scanf("%f",&notas[i]); } for(i=0;i<5;i++) soma = soma + notas[i]; www.t2ti.com 5 Curso C Starter printf("Media= %.2f \n",soma/5); system("PAUSE"); return 0; } Já ficou bem melhor. Nos exercícios você será convidado a melhorar o programa acima. No primeiro laço for nós inserimos os dados dentro do vetor. No segundo laço for nós pegamos cada um dos valores e acumulamos na variável soma. Por fim, dividimos soma por 5 para calcular a média dos 5 alunos. Vamos a outro exemplo: o usuário fornecerá um valor em Reais. Nosso programa deve informar o menor número de cédulas possíveis para se chegar ao valor informado. Exemplo: R$ 163,00. 1 nota de R$ 100,00 1 nota de R$ 50,00 1 nota de R$ 10,00 1 nota de R$ 2,00 1 nota de R$ 1,00 Veja como fica nosso programa: #include <stdio.h> #include <stdlib.h> main() { int notas[8] = {100, 50, 20, 10, 5, 2, 1}; int valor, qtde, i; printf("Digite o valor para o calculo das notas \n"); scanf("%d",&valor); for(i=0;i<7;i++){ www.t2ti.com 6 Curso C Starter qtde = valor / notas[i]; printf("Quantidade de notas de R$%5.d : %d \n", notas[i],qtde); valor = valor % notas[i]; } system("PAUSE"); } O programa acima faz o que é esperado. Tente entender o que está ocorrendo. Caso haja dúvidas comente sobre o mesmo na lista de discussão. Vetores Bidimensionais Algumas pessoas vão insistir que os vetores bidimensionais devem ser chamados de matrizes. Dizem que quando existe apenas uma dimensão (um colchete), aí sim é um vetor. Mas se tiver mais de uma dimensão é uma matriz. Outros, como já dito, chamam todos os vetores de matrizes. Não se preocupe com essa terminologia. Em Java essas estruturas são chamadas de Arrays (vetores). É isso que nos interessa. Para que não haja confusão, continuaremos a chamá-los de vetores apenas. Observe o código abaixo: # include <stdio.h> int main() { int t, i, M[3][4]; for (t=0; t<3; ++t) for (i=0; i<4; ++i) M[t][i] = (t*4)+i+1; for (t=0; t<3; ++t) { for (i=0; i<4; ++i) printf ("%3d ", M[t][i]); printf ("\n"); } system("pause"); www.t2ti.com 7 Curso C Starter compilado recompilado para cada arquitetura chamados bytecodes e com a filosofia "write once, run anywhere" (escreva uma vez, rode em qualquer lugar) Segurança Limitada Embutida na linguagem Compilação gcc hello.c cria um código de máquina javac Hello.java cria um bytecode que pode ser interpretado e compilado pela máquina virtual Java Compilação em join gcc main.c helper1.c helper2.c javac Main.java – quaisquer arquivos dependentes são automaticamente recompilados, se necessário hello, world #include<stdio.h> int main(void) { printf("Hello\n"); return 0; } public class HelloWorld { public static void main(String[] args) { System.out.println("Hello" ); } } Característica C Java Tipos inteiros int usualmente de 32 bit em complemento de 2 int 32 bit em complemento de 2 long usualmente de 32 bit em complemento de 2 long 64 bit em complemento de 2 Tipos ponto flutuante float usualmente 32 bit; float 32 bit double usua 64 bit double 64 bit Tipo booleano Use o int: 0 para false, qualquer outro valor para true Tem um tipo booleano (boolean) que armazena os valores true ou false Tipo char char usualmente 8 bit ASCII char 16 bit UNICODE Laços for for (i = 0; i < N; i++) for (int i = 0; i < N; i++) Declaração de arrays int my_array[] = {1,23,17,4,-5,100}; int[] a = new int[N]; www.t2ti.com 10 Curso C Starter Strings É na verdade um vetor de char terminado pelo caractere nulo ('\0') É um tipo de dado em Java. Acesso a bibliotecas #include <stdio.h> import java.io.File; Acessando uma função de uma biblioteca #include "math.h" x = sqrt(2.2); Todas as funções e nomes de variáveis são globais x = Math.sqrt(2.2); Impressão para a saída padrão printf("sum = %d", x); System.out.println("sum = " + x); Impressão formatada printf("avg = %3.2f", avg); System.out.printf("avg = %3.2f", avg) Endereço de memória Ponteiro Referência Manipulação de ponteiros *, &, + Não permitida Funções int max(int a, int b) public static int max(int a, int b) Passando por valor Tipos de dados primitivos, structs e ponteiros Todos os tipos primitivos e referências, que inclui arrays, são passados por valor Alocação de memória malloc new Desalocação de memória free Coletor de lixo automático Declaração de constantes const e #define final Gráficos Bibliotecas externas Suporte nativo null NULL null Característica C Java Convenção para nome de variáveis sum_of_squares sumOfSquares Comentários /* */ /* */ or // Convenção para nome de arquivos stack.c, stack.h Stack.java – o nome do arquivo precisar ser o mesmo da classe www.t2ti.com 11 Curso C Starter Java é uma linguagem boa de aprender. Embora não pareça, é uma linguagem fácil. O programador que aprender a programar em Java, na maioria das vezes, sente mais facilidade que um programador que já desenvolve em outra linguagem, como Clipper ou Delphi. Isso ocorre porque programar em Java significa programar com o conceito de orientação a objetos. Muitas vezes uma pessoa que programa em Delphi não utiliza os conceitos de OO, mesmo que o Delphi seja uma linguagem OO. Como tudo na vida, aprender Java exige esforço e dedicação. Estude bastantes os módulos disponibilizados no site www.alberteije.com. Assista aos mini- cursos em vídeo. Envie suas dúvidas para a lista de discussão. Exercícios 01 – Melhore o programa para calcular a média de notas dadas. No lugar de 5 notas deixe esse valor indefinido. Quem vai informar o valor é o usuário. 02 – Dados dois vetores, crie um terceiro com o produto dos elementos dos dois primeiros. 03 – Dados dois vetores bidimensionais, crie um terceiro com a soma dos elementos dos dois primeiros. 04 - Dizemos que uma matriz quadrada inteira é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos das diagonais principal e secundária são todas iguais. Exemplo: A matriz é um quadrado mágico. Dada uma matriz quadrada Anxn , verificar se A é um quadrado mágico. www.t2ti.com 12
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved