Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?

Comece a programar - Conceitos Básicos da Linguagem C

Bem vindo aos tutoriais básicos, de nosso Curso de C.

Nesta seção colocaremos o básico, totalmente voltado para quem está começando a estudar a linguagem de programação C.

Os tópicos cobrem todo o básico da linguagem C.
Ou seja, você só pode prosseguir no curso se tiver aprendido isso.

Esses artigos são voltados para iniciantes em programação, visto que a maior parte desse conteúdo é comum para a maioria das linguagens de programação, com pequenas diferenças.

Aprendendo bem essa seção, portanto, você terá uma boa base na maioria das linguagens de computação.


Tutorial Básico de C

11. Os atalhos dos símbolos matemáticos: +=, -= , *=, /= e %=
12. Sistema Binário e Valores lógicos 'true' ou 'false'
13. Operadores Lógicos E (&&),  OU (||) e de Negação (!)
      Exercícios: Questões sobre os conhecimentos básicos da linguagem C



14 comentários:

Aeldo Bezerra disse...

Olá começei o curso de TADS esse semestre e estou vendo programação estruturada I, o professor pediu pra gente treinar em casa pois sem treino aprender a linguagem C, é complicado, então instalei o code::blocks no meu pc mais uso o windows 8, então instalo faço todos os comandos das atividades mais quando vou compilar não acontece nada, ele da um erro essa mensagem por exemplo: "ss - Debug": configuração do compilador (GNU GCC Compiler) é inválida, então Code :: Blocks não consegue encontrar / executar o compilador.
Provavelmente o caminho toolchain dentro das opções do compilador não está configurado corretamente!
Ir à "Settings-> Compiler e debugger ... -> compilador global Configurações> GNU GCC Compiler-> executáveis ​​Toolchain" e corrigir a instalação do compilador.
Ignorando ...
Nada a ser feito (todos os itens são up-to-date). me ajudem ai quero muito começar a usa-lo. obrigado.

Apostila C Progressivo disse...

Olá Aeldo,

Que arquivo, no site do Code::Blocks, você baixou e instalou?

Anônimo disse...

Poxa muitíssimo obriga professores, vcs são nota 10.

Fiquei curioso na multiplicação dos floats decimais, comecei a escrever o código e nesta linha..

printf("%.1f + %.1f = %.2f", num1,num2,resultado);

...eu acabei trocando as bolas na representação por casas a direita, onde era pra ser '%.1f' eu digitei '%1.f' e me veio o valor arredondado para inteiro.
Percebi que somente '%.f' já arredondava. + ou - dessa forma, com o valor armazenado de 2.89 imprimiu 3, com 2.5 também imprimiu 3, já 2.49 deu 2, fiquei meio sem entender o funcionamento desse %.f .
Ele simplesmente não mostra os números a direita da vírgula, arredonda e transforma em inteiro é isso???? Desculpa minha confusão, abraçs.

Apostila C Progressivo disse...

Olá Anônimo,

Seja a seguinte forma geral de uma formatação de float: %x.yf

O que acontece aqui?
X indica o número de casas totais, e Y o número de casas decimais a direita.
O número 2.49 possui 3 casas decimais, 2 casas à direita da vírgula. Então para exibir ele corretamente, o ideal é: 3.2f
Teste imprimir com 4.2f, ou seja, ele vai imprimir 4 casas decimais, mas só tem 3 ali, então ele bota um espaço no começo.

E se eu fizer 3.1f ? Você está mandando ele imprimir uma casa decimal somente depois da vírgula, mas seu número tem duas.
O que ele faz? Arredonda e exibe o número 2.5

Se colocar somente ".xf", ele vai imprimir 'x' casas decimais depois da vírgula, e não vai limitar o número total de casas decimais.

Por exemplo, o número 32.49, tem 4 casas decimais. Se você exibir com "3.2f", estará obrigando ele a imprimir somente 3 casas no total e duas decimais.
Ai não dá pra fazer as duas coisas ao mesmo tempo. Então ele exibe as duas primeiras casas (32), e como você quer 3 casas no total, ele arredonda os valores decimais e exibe o resultado final: 32.5

Então o ideal é fazer: ".2f" para exibir, pois ele vai mostrar duas casas decimais, não importando o total de casas.
Se fizer ".1f" ele vai exibir uma casa decimal (se tiver mais que isso, ele arredonda).

Então quando você faz %1.f, você está obrigando o C a exibir 1 casa no total.
Colocou o número 2.49 ? Ele vai exibir só uma casa, então arredonda pro mais próximo, que é 2.
Colocou o número 3.511? Ele vai exibir só uma casa, então arredonda pro mais próximo, que é o número 3.

É como se eu te dissesse "me dê o número, só de uma casa, mais próximo de 2.49"
Números com uma casa: 1, 2, 3, 4, 5, ...qual deles é o mais próximo de 2.49 ? É 2.
E de 3.51? É 3. Não é muito preciso, mas você me obrigou a responder somente com uma casa decimal, então é o mais próximo.

Rafael Rodrigues disse...

Boa noite,

No exercicio N°2 (nome,end,telef.) qual função devo utilizar para armazenar os char's?

Apostila C Progressivo disse...

Olá Rafael,

Se estiver na seção básica, tente fazer usando as variáveis do tipo char.

Mais a frente você aprenderá a fazer usando strings:
Lendo e Escrevendo em C usando strings

Anônimo disse...

Impressionada com a qualidade do curso...Amei, amei.

Guilherme Lessa disse...

No exercício final do modulo 7 do básico o programa funciona perfeito usando float mas para ao troca para double os valores ficam zerados. Os exercicios anteriores funcionaram, mas agora não. Acho que é o scanf. O que pode estar errado? Algum parametro do Code:blocks?
Segue a codificação:
double numero1;
double numero2;
double numero3;
printf("Digite o primeiro numero: \n");
scanf("%f",&numero1);
printf("O numero digitado foi: %.3f \n", numero1);
printf("Digite o segundo numero: \n");
scanf("%f",&numero2);
printf("O numero digitado foi: %.3f \n", numero2);
numero3 = numero1 / numero2;
printf("A divisão entre os numeros digitados e: %.3f \n", numero3);

Marcelo Vieira disse...

Guilherme Lessa tente colocar um l antes do f, assim "%lf" !!!!

arilson dos santos disse...

me ajudem com esse exercicio.3)
Faça um programa que receba a matrícula e as notas de 10
alunos, são duas provas. Calcule e mostre a média da turma para
cada prova, a média de cada aluno (soma de suas notas e divide por
dois) e a média geral da turma (divisão por 2 da soma das notas da
primeira prova dividido por 10 com a soma das notas da segunda
prova, também dividido por 10).

Unknown disse...

Muito bom sanou bem minha duvida!!! abraços.

Anônimo disse...

Olá Professor. Tenho vários livros de C aqui, mas nenhum deles tem uma explicação tão boa sobre limpar o buffer do teclado como a sua apostila. Por isso comprei a versão kindle para contribuir com o projeto. A sua explicação nos comentários sobre arredondamento de números reais merece um tópico na apostila. Desejo sucesso na sua caminhada. Atenciosamente, Alexandre.

Francisco Ceccon disse...

Boa noite, adquiri a apostila C Progressivo, qual o prazo de entrega. Pagamento através PIX. Enviei comprovante por e-mail.

C Progressivo disse...

Olá Francisco, ja enviamos para seu e-mail