Um programa em C/C++ é composto por um conjunto de funções
Pelo menos uma função deve ser definida: main (indica início do programa)
#include <...> // inclui cabeçalho de biblioteca
#include <...> // inclui outro cabeçalho de biblioteca
int main()
{
... instruções ...
}
A linguagem C oferece uma biblioteca de funções padrão
Deve ser incluído o header (arquivo contendo definições das funções) correspondente
#include <stdio.h> // funções de entrada/saída
#include <math.h> // funções matemáticas
#include <stdlib.h> // funções de uso geral
#include <string.h> // funções para uso de strings
...
Lista completa: clique aqui
char, int, float, double: tipos numéricos básicos
char, caractere representado em 1 byte com sinal (-128 a 127) ou sem sinal (0 a 255)
Podem ser combinados com modificadores:
Na prática:
Tipo | Bytes | Bits | Intervalo |
short int | 2 | 16 | -32.768...32.767 (32 Kb) |
unsigned short int | 2 | 16 | 0...65.535 (64 Kb) |
unsigned int | 4 | 32 | 0...4.294.967.295 (4Gb) |
int | 4 | 32 | -2.147.483.648...2.147.483.647 (2 Gb) |
long int | 4 | 32 | "" |
signed char | 1 | 8 | -128...127 |
unsigned char | 1 | 8 | 0...255 |
float | 4 | 32 | 7 casas de precisão |
double | 8 | 64 | 15 casas de precisão |
A entrada e saída em C se dá através de funções específicas para isso, descritas no header stdio.h
Exemplo de saída com a função printf:
int i = 5;
printf("O valor de i é: %d\n", i);
Método equivalente em Java:
int i = 5;
System.out.printf("O valor de i é: %d\n", i);
// ou: System.out.println("O valor de i é: " + i);
Exemplo de entrada com a função scanf:
int i;
scanf("%d", &i);
Método equivalente em Java:
int i;
Scanner sc = new Scanner();
i = sc.nextInt();
#include <stdio.h>
int main()
{
int valor1, valor2;
printf("Digite os dois valores: ");
scanf("%d %d", &valor1, &valor2);
printf("Você digitou: %d e %d\n", valor1, valor);
}
Formato | Saída | Exemplo |
d | Inteiro com sinal | 127 |
u | Inteiro sem sinal | 258 |
x | Hexadecimal sem sinal | 8af |
X | Hexadecimal sem sinal (maiúsculas) | 8AF |
f | Real (float ou double) | 5.653 |
c | Caractere (apenas um) | a |
s | Array de char (string) | Teste |
Seleção:
Simples: if
Múltipla: switch
Repetição:
Por condição: while, do...while
Por contagem: for
Estruturas de dados homogêneas
Declaração de arrays unidimensionais ("vetores") em C:
int v[10]; // vetor de 10 inteiros (0-9)
char s[30]; // vetor de 30 caracteres (0-29)
Declaração de arrays com mais de uma dimensão ("matrizes"):
int mat[4][4]; // matriz 4x4, 16 inteiros
float c[6][4][2]; // matriz 6x4x2, 48 reais
Acesso é feito através do operador [ ]
int v[10], i;
for(i=0; i<10; i++)
v[i] = i;
...
Idem para matrizes:
int mat[4][4], i, j;
for(i=0; i<4; i++)
for(j=0; j<4; j++)
v[i][j] = i;
...