Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 12

Linguagem C

Primeiros Passos
Professores Castilho e Grégio
Breve Introdução
A linguagem de programação (de sistemas) C:

● Desenvolvida nos anos 1970 por D. Ritchie e K. Thompson no Bell Labs


● Assume que o programador sabe o que está fazendo
● Permite realizar tarefas de baixo nível do sistema
● Possibilita a escrita de código eficiente

1988: Kernighan & Ritchie, The C Programming Language [LIVRO]


O Padrão C
● ISO/IEC 9899 (http://www.iso-9899.info/wiki/The_Standard)
● Define a linguagem e é autoridade no comportamento dela em relação à
diferentes implementações (versões do padrão)

https://www.jetbrains.com/lp/devecosystem-2020/c/
Alô, mundo!
#include <stdio.h>

/* programa hello.c */

int main(void) {

puts("Alô, mundo!");

return 0;

}
Compilação e Execução
$ gcc hello.c

$ ls

a.out hello.c

$ ./a.out

Alô, mundo!
Diretivas do Pré-Processador
A diretiva #include se comporta como se o cabeçalho incluído (header) fosse
substituído pelo seu conteúdo naquela mesma posição:
● Permite o acesso/chamada das funções declaradas no cabeçalho!
● Exemplo: <stdio.h> contém as declarações para as funções de I/O
(entrada e saída) padrão em C, como a puts e a printf();
● Documentação:
○ <stdio.h> -> man stdio
■ Onde? /usr/include/
○ printf -> man 3 printf
■ apropos printf
○ https://www.cplusplus.com/reference/cstdio/
A Função main
● É chamada no início do programa (startup)
● Define o ponto de entrada principal para o programa
○ Execução em um dado ambiente, invocado da linha de comando ou de outro programa

int main(void) {

● int: tipo do valor de retorno


● void: indica que a função não aceita argumentos
Valores de Retorno
Após executar o “corpo” da função e completar a tarefa do programa, pode-se sair
com a instrução return:

● return 0;
○ Devolve um inteiro (“0”) para o ambiente de execução ou quem invocou o programa…
● return EXIT_SUCCESS;
○ Mesmo resultado, mas é uma macro definida como abaixo:
○ Cada ocorrência de EXIT_SUCCESS é substituída por um 0, que é então devolvido a quem
executou o programa, após chamada da Função main.
Blocos de comandos
int main(void) {

// --- instruções ---

● Definem um conjunto de instruções a serem executadas em sequência


(programação procedural);
● { e } denotam início e fim de um bloco, respectivamente.
● Pode-se “aninhar” blocos dentro de outros blocos, observando-se a correta
delimitação de seu início e fim.
Editor/IDE

https://www.jetbrains.com/lp/devecosystem-2020/c/
Leitura Recomendada
● The C Programming Language

● Effective C

● ISO/IEC 9899:2017
○ https://web.archive.org/web/20181230041359if_/http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf
● SEI/CERT C Coding Standard
○ https://resources.sei.cmu.edu/downloads/secure-coding/assets/sei-cert-c-coding-standard-2016-v01.pdf
Exercício
● Faça um programa em que, dados os valores de entrada a, b, e c, calcule as
raízes de uma equação de grau 2 (fórmula de Bhaskara).

● Dicas:
○ Encontre uma função na stdio.h que permita ler valores de entrada e armazenar em variáveis
○ Procure pela biblioteca de matemática e use a função de raiz quadrada
○ Aprenda a imprimir formatado com a função printf

Você também pode gostar