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
1.1 Código comentado do nosso primeiro programa em C
02. A função printf() e os caracteres especiais
02. A função printf() e os caracteres especiais
03. Como comentar seus códigos em C - Comentários e Delimitadores
04. Números inteiros em C - o tipo int
4.1 Modificadores do tipo inteiro (int) - short, long, signed e unsigned
05. Números decimais (ou reais) em C - os tipos float e double
06. Escrevendo em C - o tipo char
07. Recebendo números do usuário - A função scanf
08. Recebendo letras do usuário - As funções scanf, getchar, fgetc e getc
09. Buffer: o que é, como limpar e as funções fflush e __fpurge
10. Operações matemáticas em C - Soma, subtração, multiplicação, divisão e módulo (ou resto da divisão) e precedência dos operadores
04. Números inteiros em C - o tipo int
4.1 Modificadores do tipo inteiro (int) - short, long, signed e unsigned
05. Números decimais (ou reais) em C - os tipos float e double
06. Escrevendo em C - o tipo char
07. Recebendo números do usuário - A função scanf
08. Recebendo letras do usuário - As funções scanf, getchar, fgetc e getc
09. Buffer: o que é, como limpar e as funções fflush e __fpurge
10. Operações matemáticas em C - Soma, subtração, multiplicação, divisão e módulo (ou resto da divisão) e precedência dos operadores
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
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:
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.
Olá Aeldo,
Que arquivo, no site do Code::Blocks, você baixou e instalou?
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.
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.
Boa noite,
No exercicio N°2 (nome,end,telef.) qual função devo utilizar para armazenar os char's?
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
Impressionada com a qualidade do curso...Amei, amei.
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);
Guilherme Lessa tente colocar um l antes do f, assim "%lf" !!!!
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).
Muito bom sanou bem minha duvida!!! abraços.
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.
Boa noite, adquiri a apostila C Progressivo, qual o prazo de entrega. Pagamento através PIX. Enviei comprovante por e-mail.
Olá Francisco, ja enviamos para seu e-mail
Postar um comentário