site da disciplina ILP-010 : https://sites.google.com/view/slagop/in%C3%ADcio/linguagem-de-programa%C3%A7%C3%A3o-n
(Compilador Pelles)
#include <stdio.h> // entrada e saída padrão
#include <math.h> // funções matemáticas
#include <locale.h> // define caracteres
#include <stdbool.h> // booleanas
#include <conio.h> // color
#include <stdlib.h> // números aleatórios
#include <time.h>
#include <ctype.h>
#include <string.io>
int main(void) {
return 0
}
Tipo | Tamanho na memória | Limite numérico |
---|---|---|
float | 4 bytes | +-pow(10,38) |
double | 8 bytes | +-pow(10,308) |
int | 4 bytes | +-pow(10,9) |
char | 1 byte | -127 a +128 |
Tipo | Tamanho na memória | Limite numérico |
---|---|---|
unsigned char | 1 bytes | 0 a 255 |
unsigned int | 4 bytes | 0 a 4294967295 |
short | 2 bytes | -32767 a +32767 |
long long | 8 byte | -9223372036854775807 a +9223372036854775807 |
unsigned short int | 2 byte | 0 a 65535 |
unsigned long long int | 8 byte | 0 a 18446744073709551615 |
Determina o tipo de dado que será lido do teclado ou exibido no vídeo.
Especificador | Descrição |
---|---|
%c | caractere |
%o | octal |
%d | decimal |
%x,%X | hexadecimal |
%u | número inteiro em base decimal sem sinal |
%hd | número inteiro curto em base decimal (short int) |
%lld | número inteiro longo longo em base decimal (long long int) |
%f | número real de precisão simples ou dupla (float) |
%s | cadeia de caracteres (string) |
%% | único sinal de porcentagem |
Representa um caractere especial da tabela ASCII.
Caracter de controle | Descrição |
---|---|
\a | soa o alarme do computador |
\b | o cursor retrocede à coluna anterior |
\f | alimenta página na impressora |
\n | o cursor avança para uma nova linha |
\r | o cursor retrocede para a primeira coluna da linha |
\t | o cursor avança para próxima marca de tabulação |
\0 | indica o final de uma cadeia de caracteres |
sendo n posição do número, leitura da direita para esquerda, para conversão para decimal:
binário: somatorio(digiton*pow(2,n))
octal: somatorio(digitoN*pow(8,n))
hexadecimal: somatorio(digitoN*pow(16,n))
iniciados com 0 : número octal
Operador | Significado |
---|---|
== | Igual |
!= | Diferente |
\< | Menor |
\> | Maior |
\<= | Menor ou igual |
\>= | Maior ou igual |
Operador | Significado |
---|---|
! | Negação (não) |
&& | Conjunção |
|| | Disjunção |
! tem prioridade sobre &&, que tem prioridade sobre ||.
Os resultados dos operadores lógicos são definidos por suas respectivas tabelas-verdade.
(condicao ? expressao1 : expressao2)
-
Prefixado o valor de x é calculado antes da expressão
-
Posfixado o valor de x é calculado após a expressão
Forma estendida | Forma posfixa | Forma prefixa |
---|---|---|
x = x + 1 | x++ | ++x |
x = x - 1 | x-- | --x |
if ( condicao-1) comando1;
else if(condicao-2) comando2;
else condicao-3 comando-3;
switch ( expressao){
case constante: sequencia_de_comandos;break;
_textcolor(1); default: sequencia_de_comandos;break; }
int main(void) {
for(int c = 0;c<=15;c++){
_textcolor(14);
_textbackground(1);
if (c!=7) {printf("%20s\n"," ");}
else{
printf("%7s"," ");
_textcolor(1);
_textbackground(14);
printf("%5s","TESTE");
_textcolor(14);
_textbackground(1);
printf("%8s\n"," ");
};
}
getchar();
return 0;
}
int main(void) {
int n;
printf("Tamanho? ");
scanf("%d",&n);
for (int i=1;i<=n;++i){
for(int j = 1;j<=n;++j){
_textcolor((i+j)%2 ? 15 : 8);
printf("%c%c",219,219);
}
putchar('\n');
}
return 0;
}
int main(void) {
srand(time(NULL));
int c, n = rand()%7 + 1;
do {
printf("Chute entre 1 e 7: ");
scanf("%d",&c);
if(c>n) puts("Muito alto!");
else if(c<n) puts("Muito baixo!");
else puts("Voce acertou!");
} while(n!=c);
return 0;
}
-
é um tipo de dados capaz de armazenar uma coleção de dados do mesmo tipo
int v[3]; int nome[n] = {valor1,valor2,valor3,...,valorn}; int w[];
-
Logo após a criação do vetor, cada uma de suas posições tem um valor arbitrário
-
O nome de um vetor em C representa o seu endereço na memória, que coincide com o endereço de seu primeiro item.
-
Em C, no caso de vetores, a passagem é feita por referência (a função recebe o endereço do vetor e, usando esse endereço, pode manupular diretamente o vetor original).
- é um vetor cujos itens também são vetores.
-
não supõe que o vetor onde é feita a busca está ordenado.
-
número de operações é, no máximo, a ordem de complexidade O(n).
-
supõe que o vetor onde é feita a busca está ordenado.
-
número de operações = ordem de complexidade é O(logn).
- Como o nome de um vetor representa o seu endereço na memória (que é constante), não é possível copiar uma string para outra usando o operador de atribuição.
- Como o nome de um vetor representa o seu endereço na memória (que é constante), não é possível copiar uma string para outra usando o operador de atribuição.
typedef struct {
int codigo;
char nome[23];
float salario;
} Funcionario;
-
é um tipo de dados capaz de armazenar uma coleção de dados de tipos distintos.
-
Os itens de uma variável do tipo estrutura são identificados por nomes de campos e são armazenados em posições consecutivas de memória. Os itens da estrutura Funcionario são os seguintes? Funcionarios.codigo, Funcionario.nome e Funcionario.salario, de acordo com o exemplo acima.
-
O nome de uma variável do tipo estrutura não representa seu endereço de memória;
-
é um vetor cujos itens são estruturas.
Func v[] = {{561,"Eva Maranhao",9200.00,{2,7,2012}}, {295,"Ana Teixeira",6100.00,{5,9,2015}}, {473,"Denise Lagoa",8500.00,{1,6,2013}}, {102,"Catia Telles",7300.00,{3,8,2014}}, {384,"Beatriz Lira",5400.00,{4,9,2016}}};
obs: alignment
operador unário operador binario (só estrutura tem campo)