Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução à Linguagem C Neste tópico abordaremos a estrutura básica de um programa em C, os tipos de dados escalares, as funções de entrada e saída e o operadores aritméticos 2 Linguagem de programação Uma linguagem qualquer é um conjunto de palavras, números e operadores e regras de sintaxe que devem ser obedecidas para exprimir uma determinada ação Código fonte: programa escrito na linguagem original e que precisa ser traduzido para poder ser executado Código objeto ou executável: resultado da tradução quando usamos um compilador 3 Compilador vs. interpretador Tradução Interpretada Compilada Opera só com código FONTE A partir do FONTE gera o OBJETO Linguagem de programação Compilador Interpretador Linguagem de Máquina Execução de todo o programa Executa a instrução e volta CÓDIGO FONTE TRADUTOR CÓDIGO OBJETO EXECUÇÃO 4 Introdução à linguagem C A linguagem C surgiu em 1971, projetada por Denis Ritchie Utilizada para aplicações científicas e desenvolvimento de software básico Influenciou várias linguagens de programação atuais C++, Java, PHP, C# 5 Uma linguagem compilada A partir do código fonte gera-se um código objeto ou executável O código executável do C é conhecido por ser muito eficiente (execução rápida) 6 Estrutura básica de um programa em C Um programa em C consiste em uma ou várias funções Forma geral das funções em C: tipo nomedafunção ([listadeparâmetros]) { comandos } Tipo do valor de retorno da função Informações passadas à função (opcional) Os blocos de instruções são delimitados por {} 7 A estrutura básica de um programa em C A função main() Todo programa em C deve possuir pelo menos uma função chamada main Se um programa for constituído de uma única função esta será a main() Esta função é a primeira a ser executada, é o programa principal int main() { ... return 0; } Por convenção a função main() devolve 0 para indicar uma execução bem sucedida 8 Estrutura de um programa simples /* Estrutura básica de um programa em C */ #include <stdio.h> int main() { // declaração de variáveis // entrada de dados // processamento dos dados de entrada // impressão da saída return 0; } Um bloco de comentários aparece entre /* e */ Uma linha de comentários aparece após // 9 Primeiro programa em C /* ola.c */ #include <stdio.h> int main() { printf("Olá, mundo!\n"); return 0; } Os comandos em C terminam com ; Uma exceção são os comandos que iniciam um bloco de instruções O código fonte de um programa em C de ser gravado em um arquivo com extensão .c 10 Compilando o programa Para compilar o programa utilizando o compilador GNU gcc no Linux abra um terminal (Ctrl+Alt+t) e digite na pasta aonde você salvou o código fonte em C: gcc o executável fonte Por exemplo: gcc o ola ola.c Gera um código executável com o nome ola 11 Executando o programa Para executar o programa no terminal faça: ./executável Por exemplo: ./ola 12 IDE's gratuitas para desenvolvimento em C DevC++: Windows (descontinuado) Code::Blocks: Windows, Linux e Mac CodeLite: Windows, Linux e Mac Eclipse: Windows, Linux e Mac NetBeans: Windows, Linux e Mac 13 Tipos de dados em C Todo programa manipula dados Esses dados são armazenados na memória principal do computador O programa faz referência a esses dados através de variáveis Toda variável em C tem um tipo, que determina que tipo dado e faixa de valores ela pode armazenar 14 Tipos de dados em C Existem 7 tipos de dados básicos em C: Tipo Tamanho Faixa _Bool 8 bits 0 ou 1 char 8 bits -128 a 127 int 32 bits -2.147.483.648 a 2.147.483.647 long long 64 bits -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 float 32 bits 3,4x10-38 a 3,4x1038 double 64 bits 1,7x10-308 a 1,7x10308 void 0 sem valor A faixa de valores pode variar de acordo com o compilador. Definidas em limits.h e float.h 15 Tipos de dados em C Modificadores de tipo (short, long, unsigned) Tipo Tamanho Faixa unsigned char 8 bits 0 a 255 unsigned int 32 bits 0 a 4.294.967.295 short int 16 bits -32.768 a 32.767 unsigned long int 32 bits 0 a 4.294.967.295 unsigned short int 16 bits 0 a 65.535 long int 32 bits -2.147.483.648 a 2.147.483.647 unsigned long long 64 bits 0 a 18.446.744.073.709.551.615 long double 96 bits 3,4 x 10-4932 a 1,1 x 10+4932 16 Nomes de variáveis Devem começar sempre por uma letra ou o caractere de sublinhar (_), os demais podem ser letras, números ou caracteres de sublinhar Não pode conter espaços e acentuação Uma variável não pode ter o mesmo nome de uma palavra-chave em C Letras minúsculas e maiúsculas são diferentes: Peso, PESO, peso, PeSo 17 Palavras-chaves em C auto break case char const continue default do double else restricted return short signed sizeof static struct switch typedef union enum extern float for goto if inline int long register unsigned void volatile while _Bool _Complex _Imaginary 18 Exercício Quais dos nomes baixo são nomes válidos de variáveis em C abaixo? ( ) _kbytes ( ) 2nota ( ) hot-dog ( ) não ( ) taxa de juros ( ) R$ ( ) int 19 Declarando variáveis Sintaxe: tipo listadevariáveis; Exemplos: int peso, idade; float altura, salario; char opcao; 20 Operador de atribuição Para atribuir um valor a uma variável, utiliza-se o operador = Por exemplo: int a, b, c; a b c Memória principal ? ? ? As variáveis em C não são inicializadas 21 Operador de atribuição Para atribuir um valor a uma variável, utiliza-se o operador = Por exemplo: int a, b, c; a = 10; b = c = 0; a b c Memória principal 10 0 0É possível atribuir o mesmo valor a várias variáveis na mesma instrução 22 Inicialização de variáveis É possível combinar uma declaração de variável com o operador de atribuição #include <stdio.h> int main(){ int evento = 5; char corrida = 'C'; float tempo = 27.25; ... return 0; } O separador de casas decimais em C é o ponto (.) e não a vírgula (,) Caracteres são representados entre apóstrofos (') 23 A função printf() Uma das funções de saída usadas em C Não é um comando e sim uma função definida no arquivo de cabeçalho stdio.h Para usar a printf() em um programa em C é preciso incluir este arquivo Nós incluímos um arquivo de cabeçalho em um programa em C através da diretiva #include: #include <nomedoarquivo> 24 A função printf() Entre os parênteses da função printf() são colocadas as informações que desejamos que sejam exibidas no vídeo A sintaxe da função printf() é a seguinte: printf("expressãodecontrole", listadeargumentos); A lista de argumentos é opcional 25 A função printf() Códigos de C para controle de fluxo do texto e caracteres especiais Códigos Especiais Significado \a Alerta. Soa o beep do sistema. \b Retrocesso. Retrocede um espaço.. \n Nova linha. Posiciona o curso no início da nova linha. \r Retorno de cursor (CR). Posiciona o cursor no início da linha atual; não avança para a próxima linha. \t Tabulação. Move o cursor para a próxima de tabulação. \v Tabulação vertical. \" Aspas. Imprime um caractere de aspas duplas. \\ Barra.Imprime um caractere de barra invertida. %% Imprime um único % 26 A função printf() Códigos para impressão formatada Código Tipo de Dados Formato %c char ou int Caractere %d int ou char Inteiro decimal %i int ou char Inteiro %Ld ou %lld long long Decimal %e float ou double Notação científica %f float Ponto flutuante %lf double Ponto flutuante %o int ou char Octal %s char[] Cadeia de caracteres %x int ou char Hexadecimal 27 A função printf() Códigos para tipos com modificadores Código Tipo de Dados Formato %Lf long double Ponto flutuante %lu unsigned long int Decimal %ld long int Decimal %u unsigned int Decimal %hd short int Decimal 28 A função printf() Tamanhos de campos na impressão É possível estabelecer o tamanho mínimo para a impressão de um campo printf("Os alunos são %6d.\n", 350); printf("%10.3f\n", 3456.78); Os campos podem ser alinhados à esquerda ou a direita printf("%10.2f %10.2f %10.2f\n", 8.0, 15.3, 584.13); printf("%10.2f %10.2f %10.2f\n", 8.0, 15.3, 584.13); 29 A função printf() Complementando com zeros a esquerda #include <stdio.h> int main() { printf("%04d\n", 21); printf("%06d\n", 21); printf("%06.2f\n", 21.0); return 0; } 30 A função scanf() Uma das funções de entrada da linguagem C Permite ler dados formatados do teclado Sintaxe: scanf("expressãodecontrole", listadeargumentos); 31 A função scanf() Expressão de controle Indica como devem ser interpretados os dados de entrada Utiliza os mesmos códigos de impressão formatada da printf() 32 A função scanf() Lista de argumentos Lista dos endereços de memória das variáveis que irão receber os dados de entrada Os nomes das variáveis são precedidas por & & é um operador que obtém o endereço de memória de uma variável 33 Exemplo do uso da scanf() #include <stdio.h> int main() { float peso; // pedo em Kg int altura; // altura em cm printf("Informe seu peso (Kg) e altura (cm): "); scanf("%f %d", &peso, &altura); printf("Você pesa %.2f Kg e mede %d cm\n", peso, altura); return 0; } 34 Expressões aritméticas Operadores aritméticos Símbolo Operação + Soma - Subtração * Multiplicação / Divisão % Módulo (resto da divisão inteira) 35 O operador de divisão: / Se os operandos forem inteiros, o resultado é o quociente inteiro da divisão Se pelo menos um dos operandos for float ou double, o resultado é um float ou double 36 O operador de divisão: / #include <stdio.h> int main() { printf("%d / %d = %d\n", 5, 2, 5 / 2); // 5 / 2 = 2 printf("%d / %.1f = %.1f\n", 5, 2., 5 / 2.); // 5 / 2.0 = 2.5 return 0; } 37 Expressões aritméticas Prioridade dos operadores aritméticos A ordem de prioridade pode ser quebrada com o uso dos parênteses Prioridade Operadores 1o *,/ e % 2o + e - 38 Expressões aritméticas Prioridade dos operadores y = 30 12 / 4 + 2 * 3; y = 33 y = (30 12) / (4 + 2) * 3 y = 9 39 Funções da biblioteca matemática (math.h) Função Descrição Exemplo sqrt(x) Raiz quadrada de x sqrt(900.0) é 30.0 exp(x) Função exponencial ex exp(1.0) é 2.718282 log(x) Logaritmo natural de x log(2.718282) é 1.0 log10(x) Logaritmo na base 10 de x log10(1.0) é 0.0 ceil(x) Arredonda x para o menor inteiro maior que x ceil(9.2) é 10.0 ceil(9.8) é 10.0 floor(x) Arredonda x para o maior inteiro menor que x floor(9.2) é 9.0 floor(9.8) é 9.0 pow(x,y) x elevado à potência y (xy) pow(2,5) é 32.0 40 Constantes da biblioteca matemática (math.h) Além de funções matemáticas, a math.h possui também a definição de algumas constantes, tais como π (M_PI) e o número de Euler e (M_E) 41 Referências PRATA, Stephen. C Primer Plus. 5. ed., Sams, 2005. SCHILDT, Herbert. C Completo e Total. 3. ed., Makron Books, 1997. DEITEL, H.M.;DEITEL, P.J.. C - Como Programar. 6. ed., Pearson, 2011. MIZRAHI, V.V.. Treinamento em Linguagem C. 2. ed., Pearson, 2008. Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41
Compartilhar