5 Apresentando a linguagem C



Documentos relacionados
Conceitos básicos da linguagem C

Curso de Linguagem C

Convertendo Algoritmos para a Linguagem C

Introdução a Computação

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

LINGUAGEM C UMA INTRODUÇÃO

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Neste artigo estudaremos os conceitos relacionados às matrizes unidimensionais (vetores) e multidimensionais.

Linguagem de Programação I

Introdução a Linguagem C

Algoritmos e Programação Estruturada

Introdução à Programação

Linguagem de Programação

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

O COMPUTADOR. Introdução à Computação

9 Comandos condicionais

1. PROLOGO ==========

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Algoritmos e Técnicas de

Algoritmo e Técnica de Programação - Linguagem C

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Capítulo 2: Introdução à Linguagem C

LINGUAGEM C. Estrutura básica de um programa

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Programação: Estruturas de seleção

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias

INF 1005 Programação I

7. Estrutura de Decisão

Variáveis e Comandos de Atribuição

2 Um Primeiro Programa em C

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Algoritmos e Programação

Linguagem de Programação I. Aula 05 Linguagem C

Introdução à Linguagem C

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

INTRODUÇÃO À LINGUAGEM C++

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

20 Caracteres - Tipo char

Programando em C++ Histórico da Linguagem C

Programação Orientada a Objeto

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

1 Funções básicas de implementação de arquivos

Curso de Programação Computadores

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90.

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

Estrutura de Dados Básica

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Conceitos Básicos da Linguagem C. Prof. Leonardo Barreto Campos 1

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À PROGRAMAÇÃO COM C/C++ Prof. Dr. Daniel Caetano

Tipo Abstrato de Dados

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Estruturas de Repetição

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores

Introdução à Engenharia ENG1000

Algoritmos e programação

Componentes da linguagem C++

Implementando uma Classe e Criando Objetos a partir dela

AULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO

TUTORIAL AMBIENTE WEB PORTUGOL

Orientação a Objetos

Estruturas de entrada e saída

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org

Estruturas de Dados. Alguns dados não costumam ser tão simples assim... Podem ser compostos por vários dados distintos

Especificação do Trabalho Prático

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

17 - Funções e Procedimentos em C Programação Modular

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

INF 1007 Programação II

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti

O Processo de Programação

Universidade Federal de Rondônia Técnicas de Desenvolvimento de Programas Lista 4

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Trabalho 3: Agenda de Tarefas

CURSO DE PROGRAMAÇÃO EM JAVA

Transcrição:

5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto, uma linguagem geralmente não nasce do nada. C foi desenvolvida a partir da linguagem B, outra linguagem, agora criada por Ken Thompson com contribuições também de Dennis Ritchie. E não pára por aí: também a linguagem B foi desenvolvida a partir de outra, na verdade foi desenvolvida como uma simplificação da linguagem BCPL. Todas elas são linguagens de programação imperativas. Enquanto que a linguagem B apresentava fraca tipagem (há somente um tipo de dado, que correspondia a uma palavra de máquina) e apresentava grande foco na simplificação e baixo consumo de memória dos computadores da época, a linguagem C tornar-se-ia uma linguagem fortemente tipada e introduziria o conceito de pacotes ou arquivos-cabeçalho, como o pacote de entrada/saída padrão (conhecido como standard I/O ou stdio). 5.1 Case sensitivity Quando desenvolvendo em linguagem C, é importante lembrar que tal linguagem é case sensitive, isto é, há diferenciação entre maiúsculas e minúsculas na declaração de identificadores. Sendo assim, um identificador declarado como soma não será reconhecido façamos referência ao mesmo pela palavra SOMA ou mesmo Soma, pois o programa interpretará como se essas fossem referências para outras variáveis. O inverso também é válido: se tivermos uma constante MAX_ALUNOS declarada em nosso programa, não poderemos referenciá-la por meio de max_alunos. Tal propriedade também se aplica aos comandos da linguagem, isto é, caso tentemos referenciar o comando if como sendo IF ou mesmo If não teremos sucesso, sendo portanto muito importante termos atenção redobrada enquanto digitando nosso código-fonte. Agora, vejamos um primeiro exemplo de programa escrito na linguagem C.

5.2 Primeiro exemplo de programa em C Abaixo, um exemplo de programa bem simples: Código-fonte: Saída: #include <stdio.h> /* Nosso Primeiro Programa */ int main () { printf ("Hello world!\n"); return 0; } Hello world! tela? Que tal agora entendermos como esse código-fonte reproduziu aquela saída em 5.2.1 Analisando o programa por partes A primeira linha ( #include <stdio.h> ) é uma diretiva include e especifica ao compilador o nome de um arquivo a ser incluído no momento da compilação. Ao fazermos isso, todas as funções, variáveis, constantes e structs presentes naquele arquivo estarão disponíveis ao nosso programa em nosso exemplo, isso nos permitirá usar a função printf, declarada em stdio.h, em nosso programa. Diz-se então que stdio.h é um arquivo-cabeçalho (de onde vem a extensão.h header file ), muitas vezes chamado também de biblioteca, por ser um arquivo a armazenar funções e variáveis que poderão ser reusadas por outros códigos-fonte. A próxima linha neste programa ( /* Nosso Primeiro Programa */ ) trata-se de um comentário, isto é, uma sequência de caracteres que será ignorada pelo compilador, não fazendo parte, portanto, do código do programa em si, estando presente no códigofonte como uma forma de fazer um comentário, explicar algo a respeito de todo o programa ou sobre uma parte do mesmo. A terceira linha a ser considerada ( int main() { ) indica que estamos definindo uma função de nome main. Cada linguagem apresenta formas diferentes para determinar qual a rotina principal de um código-fonte, aquela a ser executada assim que um programa é iniciado e em C, nós fazemos isso especificando todo o código principal a

ser executado dentro de uma função main. A palavra int especifica o tipo de retorno da função declarada, neste caso, a função main retornará um inteiro. A função main é delimitada por um par chaves ( { e } ), que determinam onde começa e termina a sequência de instruções a ser executada. Dentro daquelas chaves, as instruções serão executadas sequencialmente, exceto no caso de instruções de controle e repetição, que poderão alterar um pouco o fluxo das instruções. Na próxima linha ( printf("hello world!\n"); ) começamos a ação de verdade. Como foi dito anteriormente, a função printf é uma função da biblioteca stdio e tem como finalidade imprimir texto formatado em tela. Neste exemplo, estaremos imprimindo somente a mensagem Hello world! e efetuando uma quebra de linha ao final ( \n ). E por fim, na próxima linha ( return 0; ) encerramos a execução de nossa função main, retornando um valor inteiro como a sua assinatura requer (neste caso, estaremos retornando o valor zero). Estudemos agora outro programa escrito em C, agora um pouco mais complexo. 5.3 Segundo exemplo de programa em C Código-fonte: #include <stdio.h> int main () { /* Declaracao de variaveis */ int dias; float anos; /* Entrada de Dados */ printf ("Entre com o numero de dias: "); scanf ("%d", &dias); anos = dias/365.25; /* Saida de Dados */ printf ("\n\n%d dias equivalem a %f anos.\n", dias, anos); } return 0;

Saída: Entre com o numero de dias: 300 300 dias equivalem a 8.821355 anos. Mais uma vez, analisemos linha por linha de nosso código-fonte. 5.3.1 Analisando o programa por partes As duas primeiras linhas ( #include <stdio.h> e int main () { ) já foram comentadas no exemplo anterior: tratam-se da diretiva include e da assinatura da função principal. A terceira linha ( /* Declaracao de variaveis */ ) trata-se de um comentário para nos avisar que iniciará agora a seção de declaração de variáveis. Nas duas próximas linhas ( int dias; e float anos; ), então, estamos a declarar as duas variáveis que necessitaremos em nosso programa: a variável dias, que será do tipo int e, portanto, somente poderá receber valores inteiros, e a variável anos, que será do tipo float, sendo assim uma variável de ponto flutuante e, portanto, aceitando receber valores com casas decimais. Em todo programa que criarmos na linguagem C, precisaremos sempre declarar as variáveis antes de podermos utilizar a mesma. Vale lembrar que, por diversas razões, é uma boa prática incluir a declaração das variáveis sempre no início do bloco de código onde as mesmas serão utilizadas, antes de outros comandos. A seguir teremos um novo comentário ( /* Entrada de Dados */ ) avisando-nos que as próximas linhas são utilizadas para a requisição e leitura da entrada de dados, que neste exemplo trata-se do número de dias. As duas próximas linhas ( printf ("Entre com o numero de dias: "); e scanf ("%d", &dias); ) encarregam-se então de imprimir a mensagem Entre com o numero de dias: na tela e em seguida ler (scanf) o valor entrado pelo usuário formatado como um número inteiro ( %d ) e armazená-lo na variável dias. Percebamos que o segundo parâmetro de scanf apresenta o símbolo & junto à variável dias. O & é um operador utilizado para retornar o endereço da variável, sendo assim, o que scanf receberá como parâmetro é o endereço da variável na qual queremos armazenar o valor que o usuário irá informar. Observemos também que há uma vírgula separando os dois parâmetros passados em scanf. Na próxima linha ( anos = dias/365.25; ) realizamos algum cálculo: pegamos o número armazenado na variável dias, dividimos por 365.25 e armazenamos na variável anos. Outra forma de dizer isso é: atribuímos a anos o valor de dias dividido por 365.25.

Já quase no final de nosso programa, temos um comentário ( /* Saida de Dados */ ) especificando que a próxima linha imprimirá a saída desejada e a impressão da mesma ( printf ("\n\n%d dias equivalem a %f anos.\n", dias, anos); ). Perceba que, agora, nosso printf recebe três parâmetros, em vez de somente um, como nos casos anteriores. O primeiro parâmetro é a string formatada, que especifica como as informações devem ser impressas. Os parâmetros seguintes são as variáveis, cujos valores serão incluídos na ordem em que devem aparecer na string. Sendo assim, o %d especifica que deverá se incluído naquela posição da string o valor do segundo parâmetro, formatado como um int. Já o %f especifica que ali será incluído o valor do próximo argumento, formatado como um floating. E, por fim, temos o retorno do valor da função main ( return 0; ), encerrando assim a mesma.