O documento descreve conceitos fundamentais da linguagem C, como:
1) A função principal main() é o ponto de entrada de um programa C;
2) Funções printf() e scanf() são usadas para entrada e saída de dados;
3) Variáveis em C possuem tipos como int, float e char que determinam seu tamanho e faixa de valores.
2. Consiste em uma coleção de funções
forma geral
Main ( ) ® primeira função a ser executada
{ ® início da função
} ® fim da função
obs: para o compilador
Main ( ) { } Main ( )
{ }
Main
(
) São programas idênticos
{
}
3. Tem que existir em algum lugar
Marca o início da execução
ex:
Main( )
{
printf (“meu primeiro programa”);
}
obs:
toda instrução deve ser encerrada por ;
printf é uma função, note um ‘( )’ após o nome
novamente:
Main ( ) { printf (“meu primeiro programa”); }
4. Função de E / S não faz parte da definição de C
Note que:
uma função pode receber uma informação (argumento)
printf( “meu primeiro programa”) ;
¯
meu primeiro programa
SINTAXE:
printf (“expressão de controle”, lista de argumentos);
ex:
Main ( )
{
printf (“o número %d”, 2);
} ¯
código de formatação
5. CARACTERES DE CONTROLE
n nova linha
r “enter”
t tabulação (tab)
b retrocesso
“ aspas
barra
CÓDIGO DE FORMATAÇÃO
%c caracter
%d decimal
%e notação científica
%f ponto flutuante
%o octal
%s cadeia de caracteres (string)
%x hexadecimal
6. Constante: “objeto” que tem valor fixo e inalterável
ex: ‘c’, 8, “primeiro programa”
Uso:
Main ( )
{
printf (“ o número %d”, 2);
}
7. Um “objeto” que pode assumir diferentes valores
espaço de memória de um certo tipo de dado associado a um nome para
referenciar seu conteúdo
ex:
Main ( )
{
int idade;
idade = 30;
printf (“ mínima idade é : %d”, idade);
}
8. tipo bytes escala
char 1 -128 a 127
int 2 -32.768 a 32.767
float 4 3.4e-38 a 3.4e+38
double 8 1.7e-308 a 1.7e+308
void 0 sem valor
Modificadores de tipos
Long ou Long int (4 bytes)
Unsigned Char (0 a 255)
Unsigned int (0 a 65.535)
9. função de E / S
Sintaxe:
scanf(“expressão de controle”, lista de argumentos)
ex: Main ( )
{
int num;
scanf(“ %d”, &num);
}
10. Um endereço de memória é o nome que o
computador usa para identificar uma
variável
Toda variável ocupa uma área de memória
e seu endereço é o do primeiro byte por ela
ocupado
11. %c ® caracter
%d ® inteiro
%e ® número ou notação científica
%f ® ponto flutuante
%o ® octal
%x ® hexadecimal
%s ® string (cadeia de caracteres)
%lf ® double
Main ( )
{
char a ;
printf ( “digite um caracter” );
scanf ( “ % c”, &a );
printf (“ n %c = %d em decimal”, a, a);
printf (“%o em octal, %x em hexadecimal”, a, a);
}
12. Incrementam / decrementam uma unidade
de seu operando
Pode ser pré – fixado ou pós - fixado
ex: int n;
n = 0;
n++; // n = n + 1; n=1
++n; // n = n + 1; n=2
13. +=, -=, *=, /=, %=
atribuir um novo valor à variável dependendo do operador e da expressão a direita
A sintaxe:
x op= exp é equivalente a x = (x) op (exp)
Ex:
i += 2 i = i + 2;
x *= y + 1 x = x * (y + 1)
t /= 4 t = t/4
p %= 6 p= p%6
h -= 3 h = h – 3;
14. Usados para comparações
> maior
>= maior ou igual
< menor
<= menor ou igual
== igualdade
!= diferença
15. O comando de controle mais comum é o
comando de seleção:
if (expressão) comando;
else comando;
Notacao alternativa para atribuicoes:
x = 10;
y = x>9 ? 100 : 200;
18. while (condição) comando;
char ch = ‘0’; // Inicia ch com caracter nulo
while (ch != ‘A’) ch = getchar();
19. Diferentemente do laço while, o do...while
testa a condição somente no final, garantindo
que os comandos sejam executados pelo menos
uma vez
do {
scanf(“%d”, &num);
} while (num > 100);
20. Exemplo de um vetor de inteiros
int vet[10];
• Lembre-se: o primeiro item do vetor é
sempre de índice zero!
int i
for(i=0; i<10; i++) vet[i] = i*2;
21. Lembre-se: a linguagem C não tem verificação de
limites!
int vet[10];
int i;
for(i=0; i<20; i++) vet[i] = i*2;
• Isso irá gerar um erro de execução
▫ Qual a diferenca de erro de execucao e erro de
compilacao?
23. Uma matriz bidimensional
int mat[10][20];
int i, j;
for(i=0; i<10; i++)
for (j=0; j<20; j++) {
scanf(“%d”, &mat[i][j]);
printf(“%d”, mat[i][j])
}
24. • Strings, em C, são sempre vetores do tipo
char, que precisam ter um caracter nulo ‘0’
para indicar o seu fim.
// Iniciar a string assim pode
char str1[15] = “Hello World”;
str1 = “Teste”; // Assim NÃO pode!!
strcpy(str1, “Teste”);
25. • Funcões para trabalhar com string?
▫ #include <string.h>
strcpy(s1, s2); copia s1 em s2
strcat(s1, s2); concatena s2 no final de s2
strlen(s1); retorna o tamanho de s1
strcmp(s1, s2); retorna 0 se s1 e s2 são iguais, negativo
se s1<s2, e positivo se s1>s2
s1 = gets(); lê um string digitada pelo usuário
26. Definição :
Procedimentos são estruturas que agrupam um
conjunto de comandos, que são executados quando
procedimento é chamado.
Funções são semelhantes aos procedimentos,
exceto que uma função sempre retorna um valor.
30. int SomaDoisNumeros(int A, int B)
{
return A + B;
}
int main()
{
int r;
r = SomaDoisNumeros(30, 50);
ImprimeTexto();
}
31. Exercício:
Escreva um procedimento ou função em
linguagem C que recebe como parâmetros as
duas notas da prova de um aluno e escreva se
ele foi aprovado(>=70) ou reprovado(<70).
32. • Um ponteiro e uma variavel que contem um
endereco de memoria
• Esse endereco normalmente e a posicao de
uma
outra variavel na memoria
• Se uma variavel tem o endereco de outra,
entao
diz-se que a primeira aponta para a segunda
33. Declaracao de um ponteiro:
char *p;
Operadore de endereco: &
char x;
p = &x; // P recebe o endereço da
variável x
Operador de referencia: *
*p = 10; // é o mesmo que x=10
char y;
y = *p; // “y recebe o que está no
endereço p”