Em nosso curso você verá sempre, sempre, as coisas bem explicadas. Esse é o diferencial do curso online C progressivo.
Veja agora os comentários, linha por linha, do código C.
Leia esse conteúdo offline: Baixe a Apostila C Progressivo
Como criar seu primeiro programa em C
Hello world em C
No tutorial passado de nossa apostila de C, ensinamos como criar, compilar e executa seu primeiro programa em C, conhecido como "Hello World" ou "Olá, Mundo!".
E mostramos que seu código é:
#include <stdio.h> int main(void) { printf("Meu primeiro programa - C Progressivo!\n"); return 0; }
Pois bem, vamos agora explicar o que é isso tudo.
O que é e para que serve #include <stdio.h>
O kernel - miolo do sistema - do Linux e do Windows (e da maioria dos sistemas operacionais) é feito, em sua maioria, com a linguagem C.
Programas de alto rendimento, jogos e microcontroladores também podem funcionar sob linguagem C.
O C não está "preparado" ou "no ponto" para você fazer todo e qualquer tipo de aplicação, pois isso o deixaria extremamente lento e pesado, pois teria que incluir muitas funcionalidades.
Quando for programar você vai dizer ao C o que vai fazer e que funções da linguagem C você vai precisar em sua aplicação. E isso é feito, em parte, através da importação de bibliotecas.
Por exemplo, existem bibliotecas gráficas (Allegro, OpenGL etc), que são usadas para criar aplicações gráficas (como jogos ou programas com janelas, botões etc), existem bibliotecas para usar as funções do sistema operacional windows (biblioteca windows.h), existem bibliotecas para fazer cálculos matemáticos (math.h) e por aí vai.
Não existe um número específico de bibliotecas, e podemos, inclusive, criar as nossas. Então é óbvio que o C não vai carregar todas elas automaticamente. Por isso precisamos dizer ao compilador o que vamos usar.
Para fazer isso, usamos o '#include', que é chamado de diretiva e em seguida escrevemos o nome da biblioteca. No caso, vamos usar a biblioteca 'stdio.h'.
Dentro dessa biblioteca existe um código em C.
É como se você dissesse ao C: 'ei, adicione esse arquivo: stdio.h no programa, vou precisar das funções contidas nele'.
O std de 'stdio' é de standard(padrão) e o io é de Input/Output (entrada e saída).
Por entrada, entenda o sistema receber dados, como você digitar algo.
Por saída, entenda como um resultado que o sistema te dá, como uma mensagem na tela.
Existem diversos tipos de entrada e saída, mas essa biblioteca trata das entradas e saídas padrões, como o nome diz.
No nosso caso, vamos usar a função printf como saída de dados.
O que é e para que serve int main(void) { }
main() é a função principal. Sempre que compilamos um código em C, seu início se dará através dessa função. Tudo começa a partir dela.
O código da função é tudo aquilo que fica entre as chaves: {}
Ou seja, seus códigos em C sempre devem possuir a função main.
Nesse nosso primeiro programa, ele simplesmente deve exibir uma mensagem na tela.
Obviamente, o comando para isso deve estar dentro da função main(), senão o código não será executado. Teste. Coloque o printf em outro local e veja o Code Blocks apontar esse erro.
O que é e para que serve printf("Meu primeiro programa - C Progressivo!\n");
Print, em inglês, é imprimir. Se acostume com essa notação.
O que nossa função printf() faz é imprimir uma mensagem na tela. Essa mensagem ou texto, nós chamamos, em programação, de String. Note que:
String -> "Meu primeiro programa - C Progressivo\n"
Não é uma string -> Meu primeiro programa - C Progressivo\n
Se colocar uma frase sem as aspas duplas, obterá um erro, pois a função printf é feita para receber e exibir uma string. Se você não usar as aspas, não estará passando uma string para a printf, portanto seu programa irá mostrar um erro.
Note que, só podemos usar a função printf() porque importamos a biblioteca stdio.h
Essa função está declarada lá nessa biblioteca. O nosso programa final, o executável, também utiliza o código da printf(), porém é inútil ficar repetindo código.
Ao invés disso, guardamos nossos códigos para que possamos reutilizar depois.
Essa é uma função das bibliotecas em C.
Mais adiante, em nosso curso online de C, aprenderemos mais sobre como criar nossas próprias funções, bibliotecas, a manusear strings e o printf.
Ou pula de linha. É como se tivéssemos pressionado enter no terminal de comando, pois faz o cursor saltar uma linha.
Aprenderemos mais sobre o \n nosso tutorial sobre a função printf().
Experimente adicionar mais \n e ver o resultado!
\n: New line, adicionando uma linha em branco
Já o caractere '\n' é o New Line, ou seja, ele imprime uma linha.Ou pula de linha. É como se tivéssemos pressionado enter no terminal de comando, pois faz o cursor saltar uma linha.
Aprenderemos mais sobre o \n nosso tutorial sobre a função printf().
Experimente adicionar mais \n e ver o resultado!
#include <stdio.h> int main(void) { printf("Meu primeiro programa - C Progressivo!\n\n\n"); return 0; }
22 comentários:
Saudações, Obrigado pelo curso!
Ainda não encontrei a função do \n no final da mensagem.
Tirei e não fez diferênça...Pra que serve?
Sidney
Sorocaba SP
Olá Sidney,
O \n é o 'new line', ele faz com que o cursor do terminal salte para a próxima linha.
Vamos falar sobre ele quando estudarmos em detalhe a função printf, mais à frente.
Mas obrigado por avisar que não tem explicações, adicionamos algo sobre o \n no tutorial.
ola pessoal estou gostando muito do site e das explicaçoes so estou com uma duvida quando vou no codigo fonte e tento mudar o que e esta entre aspas no printf ou tiro ou acrecento o barra n manda executar e compilar mas nao acontece nada como faço para fazer alterações no programa :
Olá Igor,
tente o contrário: primeiro compile, só depois execute.
Vai ver que o \n, vai aparecer uma linha em branco a mais.
Olha, até agora está dando tudo certo, inclusive adicionar \n (e percebo a diferença). Porém, quando vou executar o programa com 3 \n (incluindo o do original), o avast dá como virus... isso é normal?
Olá Douglas,
Realmente isso é estranho.
Posta o código que você tá rodando aí para vermos se há algum problema.
#include
int main(void)
{
printf("Meu primeiro programa! - C Progressivo!\n\n\n");
return 0;
}
Esse é o programa que usei para criar 3 novas linhas. mas o Avas tá dando como vírus. agora se eu usar o programa
#include
int main(void)
{
printf("Meu primeiro programa! - C Progressivo!\n\n");
return 0;
}
ele roda certinho...
Usando o Keil uVision4, onde visualizo a string?
Meu avast tbm está dando que o programa gerado pelo code:blocks é um virus. Scaneei o PC com outros antivirus e não apareceu nada. Desativei o Avast e deixei um outro ativo e funcionou beleza. Deve ser um bug do avast em relação ao code:blocks. Afinal o C é tão bom que pode ser utilizado para desenvolver virus. heheh. Abs.
OLá o meu não aparece a tela com a descrição, aparece abaixo escrito o que deveria estar na tela preta, e na tela preta aparece uma espécie de resposta do tempo de retorno do comando assim:
Process returned 1990325385<0x76A1F489> execution time: 0.015 s
Press any key to continue
Quando eu pressiono qualquer tecla, a tela some.
Olá Web Design Criação Online e Offline,
a função printf() serve para exibir na telinha preta o que você digitou dentro dos parênteses, por exemplo:
caso eu digite printf("Meu primeiro programa"); aparecerá na telinha preta a frase "Meu primeiro programa", mas você precisa verificar que está escrevendo a função printf("Meu primeiro programa"); dentro das chaves da função main(), ou seja
int main() {
printf("Meu primeiro programa");
return 0;
}
Muito bom mesmo, bem explicado, vai me ajudar muito mesmo na faculdade de Sistemas de informação. Parabéns pelo site.
E o "return 0" ???
Pra que serve?
Tem que usar em todos os programas?
olá o primeiro código da este erro,quer dizer, eu faço o código mais ele não executa:
gcc -c "/home/familiamint/Área de Trabalho/C/teste.c" -o "/home/familiamint/Área de Trabalho/C/teste.o"
g++ -o "/home/familiamint/Área de Trabalho/C/teste" "/home/familiamint/Área de Trabalho/C/teste.o"
Process terminated with status 0 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
Checking for existence: /home/familiamint/Área de Trabalho/C/teste
Executing: xterm -T '/home/familiamint/Área de Trabalho/C/teste' -e /usr/bin/cb_console_runner "/home/familiamint/Área de Trabalho/C/teste" (in /home/familiamint/Área de Trabalho/C)
Process terminated with status 255 (0 minute(s), 0 second(s))
aguardo um auxílio,valeu!
Parabéns galera do C
progressivo
Olá pessoal digitei tudo mais na hora de executar na aba buid log da isso;
gcc -c "/home/familiamint/Área de Trabalho/C/teste.c" -o "/home/familiamint/Área de Trabalho/C/teste.o"
g++ -o "/home/familiamint/Área de Trabalho/C/teste" "/home/familiamint/Área de Trabalho/C/teste.o"
Process terminated with status 0 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))
Checking for existence: /home/familiamint/Área de Trabalho/C/teste
Executing: xterm -T '/home/familiamint/Área de Trabalho/C/teste' -e /usr/bin/cb_console_runner "/home/familiamint/Área de Trabalho/C/teste" (in /home/familiamint/Área de Trabalho/C)
Process terminated with status 255 (0 minute(s), 0 second(s))
Valeu C-progressivo
Saudações!!
Manos, parabens vey!! Muito otimo demais!!!
mas faltou uma linha..
Para que server o "return 0"?
Olá amigo. Trabalho á um tempo com montagem e manutenção configuração e remoção de vírus. Comecei o curso aqui no site dia 11/05/16. Estou curtindo bastante e até aqui tudo certo. Muito bem explicado.
Sucesso!
Muito bem explicado, mas pra que serve o return = 0 ? Quer dizer que nenhum dado será retornado para a função printf ?
Parabéns pela iniciativa do curso, comecei ontem e estou bastante empolgado.
Parabéns amigos pela iniciativa do curso, está de primeira.
Gostaria de saber o que significa "void", pois não vi nenhum comentário sobre ela, obrigado
Muito bom!
Postar um comentário