bis̊mi allãhi alrāḥmani alrāḥīm
Máquinas só entendem binário. Quando escrevemos uma lista de instruções legíveis por humanos para um computador, as máquinas entendem apenas o que hoje chamamos de código de máquina. Este código de máquina consiste apenas em 1 e 0.
Usando um programa especial chamado compilador, podemos transformar o código-fonte em código de máquina.
Podemos julgar um bom código de acordo com 3 critérios:
Se quisermos imprimir algum texto na tela na linguagem de programação C, usamos a função printf:
#includeA funçãoint main(void) { printf("salom, dunyo\n") }
printf imprime o texto olá, mundo. O caractere \ especial informa ao compilador que o próximo caractere é uma instrução especial. E o próximo símbolo n significa "nova linha" (nova linha).
A expressão na primeira linha do código é um comando muito especial que diz que queremos usar os recursos de uma biblioteca chamada stdio.h. Esta biblioteca nos permite usar a função printf.
Bibliotecas é uma coleção de funções prontas que podemos usar em nosso código.
Vamos escrever um código em C que cumprimente o usuário perguntando qual é o nome dele:
#include#include int main(void) { string answer = get_string("Ismingiz nima? "); printf("Assalomu alaykum, %s\n", answer); }
Os recursos da biblioteca cs50.h, desenvolvida especificamente para o curso CS50, serão usados ao longo deste curso. Uma delas é a função get_string. A função get_string é usada para recuperar o texto inserido pelo usuário.
resposta é um local reservado para lembrar um texto especial inserido pelo usuário, que chamamos de variável. a resposta é do tipo string. Além disso, existem muitos tipos de dados além de int, bool, char etc.
%s é um espaço reservado chamado código de formato que diz à função printf para se preparar para aceitar alguma variável de string.
Existem também códigos de formato para outros tipos de dados, por exemplo:
%i é para int (inteiros).
Vamos pedir ao usuário para inserir variáveis x e y do tipo int e comparar os números de entrada entre si:
#include#include int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x Aqui estamos criando duas variáveis do tipo int (inteiro), x e y. Seus valores são preenchidos usando a função get_int da biblioteca cs50.h. Usando o operador condicional, comparamos os valores de x e y e exibimos uma mensagem na tela dependendo do resultado.
Diagrama de blocos é uma forma de verificar como funciona um programa de computador. Com este método podemos verificar a eficiência do nosso código.
Vamos ver o diagrama de blocos do nosso código acima:
Podemos melhorar o programa codificando da seguinte forma:
#include#include int main(void) { int x = get_int("x ni kiriting: "); int y = get_int("y ni kiriting: "); if (x y) { printf("x soni y sonidan katta\n"); } else { printf("x soni y soniga teng\n"); } } Todos os casos possíveis são agora considerados. Vamos ver seu diagrama de blocos:
Operadores de repetição
Vamos imprimir "miau" 3 vezes:
#includeint main(void) { printf("meow\n"); printf("meow\n"); printf("meow\n"); } O código que escrevemos funciona corretamente, mas podemos melhorar nosso programa evitando repetições nele:
#includeint main(void) { int i = 0; while (i Neste, a variável i do tipo int é criada e o valor 3 é atribuído a ela. Em seguida, é criado um loop while que continua por i Podemos melhorar ainda mais o design do nosso programa usando o loop for:
#includeint main(void) { for (int i = 0; i um loop for leva três argumentos.
O primeiro argumento: int i = 0 inicializa nosso contador.
O segundo argumento: i Finalmente, o argumento i nos diz que toda vez que i é incrementado em um.
Também podemos criar nossa própria função:
void meow(void) { printf("meow\n"); }void - significa que a função não retorna nenhum valor. Entre parênteses (void) - significa que a função não aceita nenhum parâmetro
. Usamos esta função meow criada dentro da função principal:
#includevoid meow(void); int main(void) { for (int i = 0; i O protótipo da função é fornecido como void meow(void) no topo do código para que possamos chamar a função meow dentro da função principal.
Operadores aritméticos e abstração
Vamos fazer uma calculadora em C:
#include#include int main(void) { // x qiymati kiritilsin int x = get_int("x: "); // y qiymati kiritilsin int y = get_int("y: "); // Qo'shish amalini bajarish printf("%i\n", x y); } A função get_int pede ao usuário para inserir valores para as variáveis inteiras x e y. A função printf então imprime o valor de x y usando o código de formato para um número inteiro - o símbolo %i.
Operadores aritméticos são operações matemáticas suportadas pelo compilador. Os operadores aritméticos em C incluem:
- - adicionar;
- - - para subtrair;
- * - multiplicar;
- / - para divisão;
- % - para calcular o resto quando um número é dividido por outro número.
Abstração é a arte de simplificar nosso código dividindo um problema em partes menores.
Podemos abstrair nosso código acima da seguinte forma:
#include#include int add(int a, int b); int main(void) { // x qiymati kiritilsin int x = get_int("x: "); // y qiymati kiritilsin int y = get_int("y: "); // Qo'shish amalini bajarish printf("%i\n", add(x, y)); } int add(int a, int b) { return a b; } Nisso, uma função add separada é declarada, que aceita inteiros a e b como parâmetros e retorna sua soma, e nossa função add(x, y) é chamada tomando os inteiros x e y como argumentos na função principal.
Comentários
Comentários são as partes básicas de um programa de computador, os comentários que fazemos de forma clara e concisa para outros programadores e também para nós mesmos, explicando o que o código que escrevemos está fazendo. Usamos apenas duas // tags para escrever um comentário:
#include#include int main(void) { // Musbat butun son kiritilsin int n; do { n = get_int("Musbat butun son kiriting: "); } while (n Tipos de dados
Tipos de dados especifica o tipo de dados que podem ser armazenados em uma variável. Por exemplo, as variáveis podem armazenar números, caracteres ou valores booleanos. O tipo da variável informa ao computador como lidar com esses dados.
Os tipos de dados comuns em C são:
- bool: pode conter valores booleanos como true (true) ou false (false).
- char: pode armazenar apenas um caractere.
- float: um número real com valores decimais.
- int: um número inteiro sem ponto decimal.
- long: pode armazenar um número inteiro maior que int porque usa mais bits.
- string: pode armazenar uma sequência de caracteres (por exemplo, uma palavra).
Cada espécie tem seus próprios limites. Por exemplo, devido a limitações de memória, o valor máximo de um int pode ser 4294967295. Se tentarmos contar um int além de seu valor máximo, isso fará com que a variável armazene um valor inválido (estouro de número inteiro).
O uso inadequado de memória pode causar erros ou problemas em nosso código. Para evitar problemas, precisamos ter certeza de que estamos usando o tipo de dados correto.Este artigo usa a fonte CS50x 2024.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3