Ed Lab01 C
Ed Lab01 C
Carregando o notebook
Editar em célula de código
Editor
Compilação
Comandos auxiliares (rm -rf ./* e ls –l)
A linguagem C foi criada por Dennis Ritchie, em 1972, no centro de Pesquisas da Bell
Laboratories
O C é uma linguagem de propósito geral, sendo adequada à programação estruturada. No
entanto é mais utilizada escrever compiladores, analisadores léxicos, bancos de dados,
editores de texto, etc..
A linguagem C pertence a uma família de linguagens cujas características são: portabilidade,
modularidade, compilação separada, recursos de baixo nível, geração de código eficiente,
confiabilidade, regularidade, simplicidade e facilidade de uso
ESPECIFICAÇÕES DA LINGUAGEM
·Linguagem compilada
·Linguagem de médio nível
·Linguagem multiplataforma (Há compiladores para Unix, Linux, Windows e para outros
sistemas operacionais).
·Linguagem Estruturada
·Linguagem para programadores
·Linguagem poderosa (utilizada em microprocessadores e para desenvolvimento de drivers
para periféricos de computador)
Sintaxe
ESPECIFICAÇÕES DA LINGUAGEM
Todo programa C inicia sua execução chamando a função main(), sendo obrigatória a sua
declaração no programa principal.
Comentários no programa são colocados entre /* e */ não sendo considerados na
compilação.
Uso do ponto virgula (Delimitador de instruções)
Ao final de cada instrução colocar ponto e virgula (;), assim você informa o compilador o final de
uma instrução.
Exemplo:
main() /* função obrigatória
*/ {
printf("oi");
}
ESPECIFICAÇÕES DA LINGUAGEM
O C é case sensitive
As Palavras chaves
O C possui 32 palavras chaves (ANSI) (ou palavras reservadas) que, combinadas com a sintaxe
formal de C, forma a linguagem de programação C
#include <stdio.h>
/*
Meu primeiro programa em C
*/
int main()
{
printf ("Meu primeiro programa em C");
return 0;
}
Entrada e saída
stdio.h
printf(formato, argumentos); Função para saída de valores segundo um determinado
formato.
scanf(formato, lista de endereços); Função para capturar e armazenar valores
fornecidos via teclado.
Máscara tipo
%c char
%d int
%u unsigned int
%f double ou float
%e double ou float (científico)
%s cadeia de caracteres
\n quebra de linha
\t tabulação
\” caractere ”
\\ caractere \
Controle de visualização
Máscara
\n Nova Linha
\t Tabulação
\” Aspas
\\ \
\’
printf
exemplos
Sintaxe:
Tipo de dado lista_de_nomes_de_variaveis ;
Exemplo:
int a; /* declara uma variável do tipo int */
int b; /* declara outra variável do tipo int */
float c; /* declara uma variável do tipo float */
a = 5; /* armazena o valor 5 em a */
b = 10; /* armazena o valor 10 em b */
c = 5.3; /* armazena o valor 5.3 em c */
int a, b; /* declara duas variáveis do tipo int */
int a;
a = 4.3; /* a variável armazenará o valor 4 */
Código Significado
\b Retrocesso ("back")
\f Alimentação de formulário ("form feed")
\n Nova linha ("new line")
\r Retorno de carro ("carriage return")
\t Tabulação horizontal ("tab")
\" Aspas
\' Apóstrofo
\0 Nulo (0 em decimal)
\\ Barra invertida
\v Tabulação vertical
\a Sinal sonoro ("beep")
\N Constante octal (N é o valor da constante)
\xN Constante hexadecimal (N é o valor da constante)
Operadores
Operadores
A expressão É equivalente a
b=a++ b=a
a=a+1
b=++a a=a+1
b=a
Operadores de atribuição
Operadores relacionais e lógicos
void main() {
int a, b;
printf("Digite dois numeros inteiros:");
scanf("%d%d",&a,&b);
if ((a%2 == 0) && (b%2 == 0))
printf ( "Voce digitou dois numeros pares!\n");
}
Operador condicional
if ( a > b )
maximo = a;
else
maximo = b;
Equivale a:
maximo = a > b ? a : b ;
Seleção
Além da construção else-if, C provê um comando (switch) para selecionar um dentre um conjunto de
possíveis casos. Ela obedece as regras do Escolha Caso, exceto pelo fato do programa continuar a
executar os comandos até encontrar um break; então indo para o final do bloco. Sua forma geral é:
switch ( expr )
{
case op1:
... /* comandos executados se expr == op1 */
break;
case op2:
... /* comandos executados se expr == op2 */
break;
case op3:
... /* comandos executados se expr == op3 */
break;
default:
... /* executados se expr for diferente de todos */
break;
}
/* calculadora de quatro operações */
Exemplo #include <stdio.h>
void main ()
{
float num1, num2;
char op;
printf("Digite: numero op numero\n");
scanf ("%f %c %f", &num1, &op, &num2);
switch (op)
{
case '+':
printf(" = %f\n", num1+num2);
break;
case '-':
printf(" = %f\n", num1-num2);
break;
case '*':
printf(" = %f\n", num1*num2);
break;
case '/':
printf(" = %f\n", num1/num2);
break;
default:
printf("Operador invalido!\n");
break;
}
}
Construções com laços
Enquanto faça:
while (expr) {
bloco de comandos
}
Exemplo Enquanto faça:
Calculo de fatorial
/* Fatorial */
#include <stdio.h>
void main(){
int i; int n; int f = 1;
printf("Digite um número inteiro nao negativo:");
scanf("%d", &n);
/* calcula fatorial */ i = 1;
while (i <= n) {
f *= i;
i++;
}
printf(" Fatorial = %d \n", f);
}
Construções com laços
Expr inicial ;
while (expr booleana)
{
bloco de comandos
expr de incremento
}
Exemplo
Cálculo de fatorial 2:
/* Fatorial (versao 2) */
#include <stdio.h>
void main(){
int i; int n;
int f = 1;
printf("Digite um número inteiro nao negativo:"); scanf("%d", &n);
/* calcula fatorial */
for (i = 1; i <= n; i++) {
f *= i;
}
printf(" Fatorial = %d \n", f);
}
Construções com laços
Repita enquanto:
do {
bloco de comandos
} while (exprbooleana);
Exemplo Enquanto faça:
Calculo de fatorial
/* Fatorial (versao 3) */
#include <stdio.h>
void main () {
int i; int n;
int f = l;
/* requisita valor do usuário */
do {
printf("Digite um valor inteiro nao negativo:");
scanf ("%d", &n);
} while (n<Q);
/* calcula fatorial */ for (i = l; i <= n; i++) f *= i;
printf(" Fatorial = %dXn", f) ;
}
ATÉ A PRÓXIMA!