GithubHelp home page GithubHelp logo

estudos_c's Introduction

Linguagem C


Estrutura Padrão

# include <stdio.h>

void main(){
    
}

Variaveis

Note: Para declarar uma variável em C, é nescessário especificar o tipo e nome da da variável.

Tipos:

int > Numeros inteiros
char > Texto/Caracteres Especiais
float > Numeros decimais
double > É um float melhorado
bool > True ou False

Exemplo: 

int idade = 22;
char nome = 'd0zz Evil';
float preco = 12.50;
double preço_precico = 1.23456;
bool confirma = True;

Operadores

Note: Os Operadores são símbolos que indicam uma operação a ser realizada em uma ou mais variaveis.

Tipos de Operadores

- Aritimeticos: Utilizados para realizar operações matemáticas básicas, como soma, subtração, multiplicação e divisão.

Exemplo:

int num = 10, num2 = 20;

int soma = num + num2;
int subtracao = num - num2;
int multiplicacao = num * num2;
int divisao = num / num2;


- Atribuição: Ultilizados para atribuir valores a variaveis

Exemplo:

=   Atribuição Simples.
+=  Atribuição Com Soma. 
-=  Atribuição Com Subtração.
*=  Atribuição Com Multiplicação.
/=  Atribuição Com Divisão.

- Relacionais: Ultilizados para comparar valores e retornar um resultado booleano (True ou False)

Exemplo:

==   Igual.
!=   Diferente.
>=   Maior que.
<=   Menor que.

- Lógicos: Ultilizado para combinar expressoes booleanas e retornar um resultado boolenao

&&   e
||   ou

Estruturas de Controle

Note: As Estruturas de controle são usadas para controlar o fluxo de execução de um programa C.

Principais Estruturas de controle

- Principais Estruturas de controle:

if      Se
else    Senão
while   Enquanto
switch  Mudar

Exemplo:

- Estrutura condicional if: Permite executar um bloco de código se uma condição for verdadeira. Se a condição não for verdadeira, o bloco é ignorado. 

Exemplo:

if (nota >= 7) {
    printf('Aluno Aprovado!');
}

- Estrutura condicional if/else: permite executar um bloco de código se uma condição for verdadeira e outro bloco de código se a condição for falsa.

Exemplo:

if (nota >= 7) {
    printf("Aluno Aprovado!");
}

else{
    printf("Aluno Reprovado!");
}

- Estrutura condicional switch: Estrutura condicional switch: permite executar diferentes blocos de código dependendo do valor de uma variável.

Exemplo:

switch (opcao) {
    case '1':
        prinft("Você Escolheu a Opção 1.\n");
        break;

    case '2':
        printf("Você Escolheu a Opção 2.\n");
        break;
    
    default:
        printf("Opção Invaida!\n");
        break;
}

- Estrutura de Repetição while: permite executar um bloco de código enquanto uma condição for verdadeira. 

Exemplo:

while (contador <= 10) {
    printf("Contador: %d\n", contador);
    contador++;
}

- Estrutura de repetição do-while: permite executar um bloco de código pelo menos uma vez, e depois repetir enquanto uma condição for verdadeira.

Exemplo:

do {
    printf("Contador: %d\n", contador);
    contador++;
} while (contador <= 10);

- Estrutura de repetição for: permite executar um bloco de código várias vezes, com um contador controlando o número de repetições.

Exemplo:

for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}

Funções

Note: As funções são blocos de código que realizam uma tarefa específica. Para definir uma função, é necessário especificar o tipo de retorno da função, o nome da função e os parâmetros da função.

Exemplo:

int soma(int x, int y) {
    return x + y;
}

int resultado = soma(10, 5); // Atribui o valor 15 à variável resultado

Interação com o Sistema

#include <stdio.h>
#include <stdlib.h> // Biblioteca responsavel pelo comando "system"

int main() {
    printf("Abrindo o firefox...");
    system("firefox");

    return 0;
}

Função Sleep() e usleep()

As funções Sleep( ) e usleep( ), funcionam em sistemas operacionais diferentes, embora ambas apresentem a mesma funcionalidade: parar o tempo de execução. Mas com uma questão a mais, elas pertencem a bibliotecas diferentes. E novamente ressalto a possibilidade da utilização de Diretivas de Compilação no tópico seguinte, caso queira criar um código que funcione em ambos os sistemas operacionais.

Exemplo 1: Sleep()

Note: primeiramente a função Sleep( ), isso mesmo, a letra S é maiúscula, ela funciona apenas em Windows e pertence a biblioteca “windows.h”, como parâmetro para a função deve-se passar um valor inteiro referente à quantidade de milissegundos que irá parar a execução do programa. Logo, caso eu execute o comando Sleep(500); o programa irá parar a sua execução durante meio segundo.

#include <stdio.h>
#include <stdlib.h>     // Biblioteca responsavel pela Função system()
#include <windows.h>   // Biblioteca Responsavel pela Função Sleep()

int main() {
    printf("Abrindo o firefox...");
    Sleep(5000) // 5 Segundos de Espera
    system("firefox");

    return 0;
}

Exemplo 2: usleep()

Note: A função usleep( ), funcionando em sistemas Unix, a função está contida na biblioteca “unistd.h” e, diferente da função anterior, o valor inteiro informado como parâmetro da função indicará em microssegundos o tempo a ser parada a execução do programa, então se atente sempre a conversão de unidades. Portanto, caso eu execute usleep(500 *1000); o programa irá novamente parar a execução durante meio segundo, note que realizei uma multiplicação por 1000 para trabalhar com o tempo de micro para milissegundos.

#include <stdio.h>
#include <stdlib.h>     // Biblioteca responsavel pela Função system()
#include <unistd.h>   // Biblioteca Responsavel pela Função usleep()

int main() {
    printf("Abrindo o firefox...");
    Sleep(5000) // 5 Segundos de Espera
    system("firefox");

    return 0;
}

Diretivas de Compilação

Nos itens anteriores foi falado um pouco sobre o uso de diferentes códigos para diferentes sistemas operacionais, mas como driblar essa barreira? Como fazer um código que possa ser usado em ambos os sistemas? Simples, basta usarmos as diretivas de compilação.

Você já deve ter se perguntado em algum momento ao iniciar a programação em C o porquê de os includes e os defines terem uma sintaxe, ou ainda se você já estiver avançado criando novos projetos, o porquê de existirem alguns itens nos headers. Essas são as diretivas de compilação, não vamos entrar em muitos detalhes, vamos utilizar apenas a parte básica.

Primeiro vamos entender basicamente que as diretivas de compilação é tudo que irá rodar antes do código, ou seja, todas as inclusões de bibliotecas, definições de constantes, nessas diretivas não podemos utilizar variáveis, mas podemos fazer testes lógicos. Veja o exemplo abaixo, que criamos uma função para gerenciar as funções de sleep:

Nessa função temos a inclusão das diretivas de #ifdef que funciona da mesma maneira que um if, porém chega a constante (definição) do sistema operacional e assim por diante, repare que existe a necessidade do uso do #endif uma vez que não existem chaves para delimitar o fim do código em cada bloco. E repare que o uso é feito duas vezes, dentro e fora da função em questão.

void limpar_tela() {
#ifdef __linux__
	system("clear");
#elif _WIN32
	system("cls");
#else

#endif
}

estudos_c's People

Contributors

evil-d0zz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.