(Parte 1 de 11)

Curso de Linguagem C

Curso de Linguagem C

Rodolfo Jardim de Azevedo

Instituto de Computação UNICAMP

Programação Estruturada nA linguagem C é uma linguagem estruturada em bloco simples. Uma característica distintiva de uma linguagem estruturada em bloco é a compartimentalização de seu código e de seus dados, que é a habilidade de uma linguagem tem de seccionar e esconder do resto do programa todas as instruções necessárias para a realização de uma determinada tarefa.

Declaração de variáveis nVariáveis devem ser declaradas antes de serem usadas, permitindo assim, que o compilador saiba de antemão informações como tipo e espaço gasto em memória podendo fazer checagem durante o processo de compilação.

Funções - Blocos de código nUtilizando funções, é possível esconder parte do código e variáveis, evitando assim, que sejam gerados efeitos colaterais em outras partes do programa. Desta forma, é necessário saber apenas o que as rotinas fazem, e não como elas fazem.

Laços nOs programas passam a maior parte do tempo repetindo tarefas até que uma condição seja satisfeita (ou um número fixo de vezes). Desta forma, fica mais fácil a programação e eliminam-se os inconvenientes gerados por vários gotos espalhados pelo programa.

Testes de condições nNuma linguagem estruturada, os testes de condições são amplamente utilizados, tanto como controle de laços, quanto para execuções condicionais de blocos de código.

Curso de Linguagem C

A linguagem C nSurgiu nos anos 70 de uma linguagem chamada

B. Criada por Dennis Ritchie. Embora houvessem poucas divergências entre as primeiras implementações em nível de códigofonte, foi desenvolvido o padrão ANSI sendo assim, qualquer programa C ANSI pode ser compilado em qualquer compilador C ANSI não importando a máquina na qual o programa vá ser executado. Por isso, quando se quer portabilidade, a escolha acaba recaindo sobre a linguagem C.Linguagem feita para programadores nAo contrário do que possa parecer, nem todas as linguagens foram feitas para programadores. C é virtualmente única, porque ela foi criada, influenciada e testada em campo por programadores. Ela oferece ao programador exatamente o que ele quer: poucas restrições e queixas, código rápido e eficiência. Por isso ela é a linguagem mais popular entre os programadores profissionais altamente qualificados.

Sensível ao caso nA linguagem C é sensível ao caso, isto quer significa que letras maiúsculas e minúsculas são tratadas como caracteres separados.

Programa exemplo

/* Este é o primeiro programa */ #include <stdio.h> main() { printf(“Alo mundo\n”); nEste é um exemplo bem simples, mas que mostra alguns componentes básicos que existem nos programas feitos em C. Nele vemos:

/* Este é o primeiro programa */ nEsta linha é um comentário. #include <stdio.h> nIndica a inclusão de arquivos dentro do programa atual (neste caso, o arquivo stdio.h). Normalmente são arquivos cabeçalhos contendo declarações de tipos e protótipos de funções. Serão vistos mais tarde.

Curso de Linguagem C main()

nTodo programa em C tem que ter a função main, é na primeira linha desta função que o programa começa a ser executado e quando a última linha for executada, o programa será encerrado.

printf(“Alo mundo\n”);

nChamada a uma função em C. A função printf é utilizada para imprimir uma mensagem na tela, neste caso, a mensagem Alo mundo que é chamado de parâmetro passado à função.

Blocos de código nPor ser uma linguagem estruturada, a linguagem C permite a criação de blocos de código. Um bloco de código é um grupo de comandos de programa conectados logicamente que o computador trata como uma unidade. Para criar um bloco de código, coloque uma seqüência de comandos entre chaves, como pode ser visto no programa exemplo, as linhas 5, 6 e 7 representam um bloco de código.

Ponto e vírgula nO ponto e vírgula é um terminador de comandos, por isso, todos os comandos devem ser terminados por um. Desta forma, podemos ter vários comandos numa mesma linha sendo cada um terminado com um ponto e vírgula.

Curso de Linguagem C

Chaves nTodo bloco de código escrito em C deve vir entre chaves. Não é necessário colocar um ponto e vírgula depois de fechar chaves pois cada comando dentro do bloco já possui o seu terminador.

Comentários nNa linguagem C, os comentários são delimitados por /* e */ como pode ser visto na primeira linha do programa anterior. Não é permitido colocar comentários aninhados. Os comentários podem vir em qualquer posição do programa e não apenas em linhas separadas. Eles também podem começar em uma linha e terminar em outra.

Palavras reservadas nComo todas as outras linguagens de programação, C consiste em palavras reservadas e em regras de sintaxe que se aplicam a cada palavra reservada. Uma palavra reservada é essencialmente um comando, e na maioria das vezes, as palavras reservadas de uma linguagem definem o que pode ser feito e como será feito. O padrão ANSI C especifica as seguintes palavras reservadas:

Palavras reservadas auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static whileVariáveis, constantes, operadores e expressões nPor ser uma linguagem estruturada, em

C, as variáveis devem ser declaradas antes de serem usadas, permitindo assim, que o compilador faça checagens em tempo de compilação.

Identificadores nIdentificadores são nomes usados para se fazer referência a variáveis, funções, rótulos e vários outros objetos definidos pelo usuário. Um identificador pode ter de um a vários caracteres. O primeiro deve ser uma letra ou um sublinhado, e os caracteres subseqüentes deve serm letras, números ou um sublinhado.

Curso de Linguagem C

Tipos de dados nEm C, existem 5 tipos de dados básicos: caracter, inteiro, ponto flutuante, ponto flutuante de dupla precisão e sem valor. As palavras reservadas para declarar variáveis destes tipos são char, int, float, double e void respectivamente. Veja na tabela a seguir o espaço gasto por cada um destes tipos assim como seus limites em máquinas IBM PC compatíveis.

Tipos de dados

TipoExtensãoem bits Escala char8-128 a 127 int16-31768 a 32767 float323.4E-38 a 3.4E+38 double641.7E-308 a 1.7E308 void0sem valor

Modificadores de tipo nCom exceção de void, os tipos de dados básicos têm vários modificadores que os precedem. O modificador é usado para alterar o significado do tipo-base para que ele se adapte da maneira mais precisa às necessidades das várias situações. Eis aqui uma lista dos modificadores: signed, unsigned, long, short. Os dois primeiros modificadores indicam a existência ou não de sinal enquanto os outros dois são relativos ao tamanho de memória necessário para armazenar o valor de um elemento deste tipo.

Modificadores de tipo

TipoExtensão em bits char 8 int 16 short int16 long int32 float 32 short float32 long float64 double 64 short double64 long double80

Declarando variáveis nUma declaração de variável deve seguir a seguinte regra:

tipo lista_variáveis; nonde tipo deve ser um tipo válido em C e lista_variáveis pode consistir em um ou mais identificadores separados por vírgula.Exemplos de declaração de variável nint i, j, l; nshort int si; nunsigned int ui; n long inteiro_grande; ndouble balanco, lucro, prejuizo;

Curso de Linguagem C

Onde declarar? nExistem 3 lugares em um programa C onde as variáveis podem ser declaradas.

Variável global nO primeiro lugar é fora de todas as funções, incluindo a função main(). A variável decalrada dessa maneira é chamada variável global e pode ser usada em qualquer parte do programa.

Variável local nO segundo lugar é dentro de uma função. Estas variáveis são chamadas variáveis locais e podem ser usadas somente pelos comandos que estiverem na mesma função.

Parâmetro (argumento) nO último lugar onde as variáveis podem ser declaradas é na declaração dos parâmetros formais de uma função, embora as variáveis aqui declaradas sejam utilizadas para receber os argumentos quando a função é chamada, eles podem ser utilizados como outra variávei qualquer.

Programa exemplo:

/* soma os números de 0 a 9 */ int soma;/* Variável global */ main() { int cont;/* Variável local */ soma = 0;/* inicializa variável soma */ for (cont = 0; cont < 10; cont ++) { total(cont); display(); }

Função total()

/* acumula no total parcial */ total(x) int x;/* Parâmetro formal */ { soma = x + soma; }

Curso de Linguagem C

Função display() display() { int cont;/* Variável local */ /* esta variável cont é diferente daquela declarada em main() */ for(cont = 0; cont < 10; cont ++) printf(“-”); printf(“A soma atual é %d”, soma); }

Comentários nNeste exemplo, qualquer função do programa pode acessar a variável global soma. Porém total() não pode acessar diretamente a variável local cont em main(), que deve passar cont como um argumento. Isto é necessário porque uma variável local só pode ser usada pelo código que está na mesma função na qual ela é declarada. Observe que cont em display() é completamente separada de cont em main(), novamente porque uma variável local é conhecida apenas pela função na qual ela é declarada.

(Parte 1 de 11)

Comentários