Referência rápida para printf, operadores, tipos e mais — salve nos favoritos!
| Formato | Tipo | Descrição | Exemplo | Saída |
|---|---|---|---|---|
| %d | int | Inteiro decimal | printf("%d", 42) | 42 |
| %ld | long | Inteiro long | printf("%ld", 100000L) | 100000 |
| %u | unsigned | Inteiro sem sinal | printf("%u", 42) | 42 |
| %f | double | Float (6 casas decimais) | printf("%f", 3.14) | 3.140000 |
| %.2f | double | Float (2 casas decimais) | printf("%.2f", 3.14) | 3.14 |
| %e | double | Notação científica | printf("%e", 0.001) | 1.000000e-03 |
| %c | char | Caractere único | printf("%c", 'A') | A |
| %s | char* | String | printf("%s", "Hi") | Hi |
| %p | void* | Endereço de ponteiro (hex) | printf("%p", &x) | 0x7fff... |
| %x / %X | unsigned | Hexadecimal | printf("%x", 255) | ff / FF |
| %o | unsigned | Octal | printf("%o", 8) | 10 |
| %5d | int | Alinhado à direita, largura 5 | printf("%5d", 42) | 42 |
| %-5d | int | Alinhado à esquerda, largura 5 | printf("%-5d", 42) | 42 |
| %05d | int | Preenchido com zero, largura 5 | printf("%05d", 42) | 00042 |
| %% | - | Caractere % literal | printf("100%%") | 100% |
| Formato | Tipo | Observação |
|---|---|---|
| %d | int * | scanf("%d", &x) — não esqueça o & |
| %f | float * | Para float (NÃO para double!) |
| %lf | double * | Use %lf para double (o printf usa %f para os dois) |
| %c | char * | Lê um caractere (inclusive espaço em branco) |
| %s | char[] | Lê string (até espaço em branco). Não precisa de & |
%lf para double, enquanto o printf usa %f. É o bug nº 1 de scanf.| Sequência | Significado |
|---|---|
| \n | Nova linha |
| \t | Tab |
| \\ | Barra invertida |
| \" | Aspas duplas |
| \' | Aspas simples |
| \0 | Caractere nulo (terminador de string) |
| Tipo | Tamanho (típico) | Intervalo | printf | scanf |
|---|---|---|---|---|
| char | 1 byte | -128 a 127 | %c | %c |
| short | 2 bytes | -32768 a 32767 | %hd | %hd |
| int | 4 bytes | ~±2,1 bilhões | %d | %d |
| long | 4 ou 8 bytes | Depende da plataforma | %ld | %ld |
| long long | 8 bytes | ~±9,2×10¹⁸ | %lld | %lld |
| float | 4 bytes | ~7 dígitos de precisão | %f | %f |
| double | 8 bytes | ~15 dígitos de precisão | %f | %lf |
| # | Operadores | Descrição | Associatividade |
|---|---|---|---|
| 1 | () [] -> . | Parênteses, array, acesso a membro | Esq→Dir |
| 2 | ! ~ ++ -- + - * & (cast) sizeof | Operadores unários | Dir→Esq |
| 3 | * / % | Multiplicação, divisão, módulo | Esq→Dir |
| 4 | + - | Adição, subtração | Esq→Dir |
| 5 | << >> | Deslocamento bit a bit | Esq→Dir |
| 6 | < <= > >= | Relacional | Esq→Dir |
| 7 | == != | Igualdade | Esq→Dir |
| 8 | & | AND bit a bit | Esq→Dir |
| 9 | ^ | XOR bit a bit | Esq→Dir |
| 10 | | | OR bit a bit | Esq→Dir |
| 11 | && | AND lógico | Esq→Dir |
| 12 | || | OR lógico | Esq→Dir |
| 13 | ?: | Ternário | Dir→Esq |
| 14 | = += -= *= /= ... | Atribuição | Dir→Esq |
| 15 | , | Vírgula | Esq→Dir |
| Header | Funções | Propósito |
|---|---|---|
| stdio.h | printf, scanf, fprintf, fscanf, fgets | Entrada/Saída |
| stdlib.h | malloc, calloc, free, realloc, atoi, rand | Memória, conversão, aleatório |
| string.h | strlen, strcpy, strcat, strcmp, memcpy | Operações com strings |
| math.h | sqrt, pow, abs, sin, cos, log, fabs | Funções matemáticas |
| ctype.h | isalpha, isdigit, toupper, tolower | Classificação de caracteres |
| time.h | time, clock | Funções de tempo |
| limits.h | INT_MAX, INT_MIN, CHAR_MAX | Limites dos tipos |