Programação em C

JoaoPedroF

Well-known member
Pessoal do fórum, tenho um conjunto de dúvidas e preciso da vossa ajuda para me ir desenrascando nestes inícios.


- Preciso de aprender a programar em C, mas não sei por onde começar. Que bibliografia aconselham? Não é preciso ser nada de muito complexo.

- Até quinta às 14 preciso de entregar o código em C para o seguinte problema:
"Dado um conjunto de inteiros, imprimir o 3º maior"
​


Como ainda não sei programar nada e daqui até lá não vou ter tempo para me safar, alguém me consegue dar uma ajuda nisto?

Obrigado.[;)]
 
Olá, quando a bibliografia aconselho-te se és de facto "iniciante" o livro do Damas : Linguagem C, Luis Damas. É um livro "educativo" para quem está a comaçar a programar, mas se fores curioso vais te sentir bastante limitado. Por isso a minha escolha recai sobre o livro Introdução à Programação usando C, do António Adrego da Rocha. É um livro que cobre 90% do programa universitário de uma cadeira de programação imperativa, que utilize C.
 
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
printf("Insira os três numeros");
scanf("%d%d%d", &a,&b,&c);

if(a>b && b>c)
printf(" a=%d é o maior", a);
else if(b>a && b>c)
printf("b=%d é o maior ",b);
else
printf(c=%d é o maior",c);
getch();
}

Não compilei... agora promete que te esforças para perceber como funciona.

Estuda! [:p]
 
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
printf("Insira os três numeros");
scanf("%d%d%d", &a,&b,&c);

if(a>b && b>c)
printf(" a=%d é o maior", a);
else if(b>a && b>c)
printf("b=%d é o maior ",b);
else
printf(c=%d é o maior",c);
getch();
}

Não compilei... agora promete que te esforças para perceber como funciona.

Estuda! [:p]

Isto não tem algo de parecido com o código de programação das calculadoras gráficas TI? Quando estive no secundário (não há muito tempo) cheguei a fazer umas brincadeiras com isso, tudo muito simples...Mas aprendi a fazer sozinho, aprendi a tentar perceber o código de programação da fórmula resolvente que me tinham passado.
 
Isto não tem algo de parecido com o código de programação das calculadoras gráficas TI? Quando estive no secundário (não há muito tempo) cheguei a fazer umas brincadeiras com isso, tudo muito simples...Mas aprendi a fazer sozinho, aprendi a tentar perceber o código de programação da fórmula resolvente que me tinham passado.

Sim... fiz alguns programas para a minha TI89 em C e C++
 
Agora que falaram em Windows... Isso funciona no Ubuntu? (se calhar devia ter mencionado isso [8b])

Não vou compilar isso hoje, quero começar a ler umas coisas primeiro.[;)]
 
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
printf("Insira os três numeros");
scanf("%d%d%d", &a,&b,&c);

if(a>b && b>c)
printf(" a=%d é o maior", a);
else if(b>a && b>c)
printf("b=%d é o maior ",b);
else
printf(c=%d é o maior",c);
getch();
}

Só um pequeno aparte:

Aquele 'b' deve ser 'a'. No segundo teste não é necessário testar se o b>a, pois já sabemos que o a não é o maior. [;)]

A forma geek é assim (não compilei, pode ter erros):

printf("o maior número é: %d", (a>b && a>c)? : a : (b>c?b : c)); [:D]
 
Última edição:
0131103628.01._SCLZZZZZZZ_.jpg


Esta é a bíblia do C.

Felizmente é coisa que já atirei para trás das costas. [:D]
 
Só um pequeno aparte:

Aquele 'b' deve ser 'a'. No segundo teste não é necessário testar se o b>a, pois já sabemos que o a não é o maior. [;)]

A forma geek é assim (não compilei, pode ter erros):

printf("o maior número é: %d", (a>b && a>c)? : a : (b>c?b : c)); [:D]

Essa forma geek está especatular! A parte pior é que passado uns anos ficas a olhar para o codigo a pensar: Que raios queria fazer eu com isto? [:p][:p]

Só uma diga, visto que tas a iniciar é bom começares a compilar qualquer coisa. Nem que seja o famoso "Hello World".
E antes de começares a programar, pega num papel e lapis e desenha uma solução (basicamente o algoritmo) para resolveres o problema. Pode parecer perca de tempo, mas vai ser muito mais facil programares e não terás que refazer coisas porque te faltava algo, ou durante os testes surgiu um problema grave.

PS: Se tiveres que apresentar, testa bem isso! Normalmente nas apresentações, os programas tem "tendencia" a dar erro! Não somos nós que somos "burros"! Os profs é que já tem na toda estuda!
 
Boas pessoal! Eu estou agora a entrar nestas andanças de programar em C.
Para começar, fiz o famoso 'hello world'. Mas ja aqui surge problema, surge uma mesagem "Binary not found", ou algo do genero! Que fazer? Ja me disseram que era do compilador..mas como não percebo nada do assunto[8b]

Help!

Edit: uso windows
 
Boas pessoal! Eu estou agora a entrar nestas andanças de programar em C.
Para começar, fiz o famoso 'hello world'. Mas ja aqui surge problema, surge uma mesagem "Binary not found", ou algo do genero! Que fazer? Ja me disseram que era do compilador..mas como não percebo nada do assunto[8b]

Help!

Edit: uso windows


Possivelmente falta-te alguma library instalada no compilador ou não foi invocada no inicio do programa (tipo a conio.h, io.h, etc).

Qual é o compilador que usas? (gcc, eclipse, etc)?
 
Possivelmente falta-te alguma library instalada no compilador ou não foi invocada no inicio do programa (tipo a conio.h, io.h, etc).

Qual é o compilador que usas? (gcc, eclipse, etc)?

O Eclipse não é nenhum compilador... :sh) é sim um IDE (Integrated Development Environment), para auxiliar o programador a codificar mais facilmente e de forma organizada.

Eu desaconselho iniciar programação em C em Windows, em Linux/Unix é bem mais fácil, e se quiseres usar Eclipse ou Netbeans ou outra coisa qualquer é bem mais "usável" (então com Ubuntu/Fedora/OpenSUSE para instalar alguma ferramenta necessária e que falte é facílimo) mas pronto. A consola do Unix é muito melhor do que a porcaria da linha de comandos do Windows que é muito pouco prática.

Para Windows, a não ser que já tenhas o Visual Studio, o compilador mais simples de instalar é o MinGW, tens aqui as instruções para o fazer: HOWTO Install the MinGW (GCC) Compiler Suite | MinGW

De resto, os 2 livros para iniciantes já foram referidos aqui, que é o do Luis Damas e o do Brian Kernighan/Dennis Ritchie e devem-se ler por esta ordem, o 2º é melhor para quem quiser aprender mais um pouco, é mais "avançado" q.b.
 
Última edição:
e o do Brian Kernighan/Dennis Ritchie e devem-se ler por esta ordem, o 2º é melhor para quem quiser aprender mais um pouco, é mais "avançado" q.b.

O Dennis Ritchie foi o inventor da linguagem C (e também foi muito importante no desenvolvimento do UNIX), por isso, o livro tem obrigação de ser muito bom.. [;)]
 
O Eclipse não é nenhum compilador... :sh) é sim um IDE (Integrated Development Environment), para auxiliar o programador a codificar mais facilmente e de forma organizada.

Eu desaconselho iniciar programação em C em Windows, em Linux/Unix é bem mais fácil, e se quiseres usar Eclipse ou Netbeans ou outra coisa qualquer é bem mais "usável" (então com Ubuntu/Fedora/OpenSUSE para instalar alguma ferramenta necessária e que falte é facílimo) mas pronto. A consola do Unix é muito melhor do que a porcaria da linha de comandos do Windows que é muito pouco prática.

Para Windows, a não ser que já tenhas o Visual Studio, o compilador mais simples de instalar é o MinGW, tens aqui as instruções para o fazer: HOWTO Install the MinGW (GCC) Compiler Suite | MinGW

De resto, os 2 livros para iniciantes já foram referidos aqui, que é o do Luis Damas e o do Brian Kernighan/Dennis Ritchie e devem-se ler por esta ordem, o 2º é melhor para quem quiser aprender mais um pouco, é mais "avançado" q.b.


Sim tens razão, lapso meu, mas por exemplo o GCC contêm os includes dentro da pasta do próprio programa. O apagar destes ficheiros não permite compilar o programa.
 
O Eclipse não é nenhum compilador... :sh) é sim um IDE (Integrated Development Environment), para auxiliar o programador a codificar mais facilmente e de forma organizada.

Eu desaconselho iniciar programação em C em Windows, em Linux/Unix é bem mais fácil, e se quiseres usar Eclipse ou Netbeans ou outra coisa qualquer é bem mais "usável" (então com Ubuntu/Fedora/OpenSUSE para instalar alguma ferramenta necessária e que falte é facílimo) mas pronto. A consola do Unix é muito melhor do que a porcaria da linha de comandos do Windows que é muito pouco prática.

Para Windows, a não ser que já tenhas o Visual Studio, o compilador mais simples de instalar é o MinGW, tens aqui as instruções para o fazer: HOWTO Install the MinGW (GCC) Compiler Suite | MinGW

De resto, os 2 livros para iniciantes já foram referidos aqui, que é o do Luis Damas e o do Brian Kernighan/Dennis Ritchie e devem-se ler por esta ordem, o 2º é melhor para quem quiser aprender mais um pouco, é mais "avançado" q.b.

Obrigado pela dica [;)]
Vou tentar assim que tiver tempo e logo digo se consegui... gracias apr:)
 
Voltar
Superior