Unesp – Campus de Guaratinguetá
Curso de Programação Computadores
Prof. Aníbal TavaresProfa. Cassilda Ribeiro
Unesp-Campus de Guaratinguetá
3.1 - Introdução
Depois dos conceitos apresentados
anteriormente, vamos fazer nosso primeiro programa em C.
Precisamos então, conhecer algumas regras básicas de programação em C, tais como:
como criar um programa principal, como escrever as instruções, como marcar o inicio e o fim do programa.3 – O Primeiro Programa em C
1o. Programa em C 3
Seqüência de instruções, organizadas de modo a resolver determinados problemas.
3.2 – Programa: Definição Programa informático
As instruções são dadas através de códigos Cada linguagem de programação possui uma sintaxe (código). De modo geral um programa em C é composto de uma parte principal, chamado programa principal, e devários subprogramas que também são chamados de funções.
1o. Programa em C 4
Unesp-Campus de Guaratinguetá
O programa principal é executado em primeiro lugar e coordena a execução das demais funções(subprogramas).
Na Linguagem C o Programa Principal é também considerado como uma função. Cada função do programa deve receber um nome que pode ser escolhido pelo programador. O programa principal deve obrigatoriamente receber o nome de main( ).3.2 – Programa: Definição
1o. Programa em C 5
A sintaxe do programa principal em C é:
Obs: A palavra main deve
ser escrita com letra minúscula.
Lembre-se que em C main ≠ Main ≠MAIN
O programa principal se compõe de um cabeçalho “main ()” seguido de um “corpo”
que contém o conjunto de instruções que devem ser executadas.
main () {
<Instruções>
}
Unesp-Campus de Guaratinguetá
As chaves servem para marcar o inicio ( {) e o fim( } ) de um conjunto de instruções.
Um programa bem escrito deve ter boa apresentação e seu aspecto deve ressaltar a estrutura da sua execução.
Por essa razão deve-se colocar as chaves que iniciam uma instrução ({) na mesma coluna da chave (}) que encerra a instrução.
As chaves servem para marcar o inicio ( { ) e o fim( } ) de um conjunto de instruções.
Um programa bem escrito deve ter boa apresentação e seu aspecto deve ressaltar a estrutura da sua execução.
Por essa razão deve-se colocar as chaves que iniciam uma instrução ({) na mesma coluna da chave (}) que encerra a instrução.
3.2 – Programa: Definição
1o. Programa em C 7
3.3 - Primeiras Instruções em C
1) printf(<texto>);
onde <texto> representa um texto qualquer colocado entre aspas.
OBS: O ponto e virgula (;) é colocado no final de cada instrução e serve como separador.
Exemplos:
printf(“Estou muito feliz. Passei no vestibular”);
printf(“Bom dia! Tudo Bem ?”);
1o. Programa em C 8
Unesp-Campus de Guaratinguetá
2) System(“pause”);
Está instrução interrompe a execução do programa e escreve a seguinte mensagem:
“pressione qualquer tecla para continuar...”
A execução do programa será retomada quando o usuário pressionar alguma tecla.
3.3 - Primeiras Instruções em C
1o. Programa em C 9
Vamos então escrever o nosso primeiro Programa em C:
prog01 1. #include<stdio.h>
2. #include<stdlib.h>
3. main( ) 4. {
5. printf (“Bom dia! Tudo bem? \n” );
6. system(“pause”);
7. }
OBS:Os números na frente de cada linha não fazem parte do programa. Eles foram colocados para facilitar a
localização dos códigos
Unesp-Campus de Guaratinguetá
Ao ser executado, este programa vai escrever a seguinte mensagem na tela do DOS:
No programa prog01 observe que:
3.3 - Primeiras Instruções em C
1o. Programa em C 11
Na linha 2 a instrução #include<stdlib.h> indica ao que o programa fonte vai utilizar a instrução da biblioteca stdlib.h. A função system(“pause”) pertence a essa biblioteca.
Bom dia! Tudo bem? Pressione qualquer tecla para continuar. . .
Na linha 1 a instrução #include<stdio.h> indica ao que o programa fonte vai utilizar a instrução da biblioteca stdio.h. A função printf pertence a essa biblioteca.
Na linha 4, a seqüência \n é um caractere de controle que faz com que o cursor mude para a linha de baixo.
Sem o \n a mensagem apareceria na tela do seguinte modo:
1o. Programa em C 12
Unesp-Campus de Guaratinguetá
Se na linha 4 fossem colocados \n\n, o cursor pularia duas linhas, e a tela ficaria como mostrado abaixo:Bom dia! Tudo bem?
(linha em branco)
Pressione qualquer tecla para continuar. . .
Se nalinha 5 não fosse colocadosystem (“pause”)o programa iria rodar, escrever na janela do DOS e a seguir iria fechá-la tão rapidamente que seria impossível ver o que foi escrito.
O comando system(“pause”) não permite que a janela do DOS se feche e deste modo pode-se ler o que foi escrito na mesma.
3.3 - Primeiras Instruções em C
1o. Programa em C 13
O mesmo programa poderia ser escrito como mostrado abaixo, e o resultado obtido seria o mesmo do programa anterior.
prog02 1. #include<stdio.h>
2. #include<stdlib.h>
3. main( ) 4. {
5. printf (“Bom dia! “);
6. printf(“” );
7. printf(“Tudo bem? \n” );
8. printf(“ \n” );
9. system(“pause”);
10. }
No programa 02 a função printf é chamada várias vezes. Como não se colocou o caractere \n no final de cada printf a frase “Bom dia!
Tudo bem?” será escrita na mesma linha.
Unesp-Campus de Guaratinguetá
3) puts(<texto>);
onde <texto> representa um texto qualquer colocado entre aspas.
Exemplos:
puts(“Estou gostanto de aprender Computação”);
puts(“Bom dia! Tudo Bem ?”);
A função puts, imprime o texto entre aspas e
automaticamente faz o cursor pular uma linha. Com ela não é preciso usar o caractere \n
3.3 - Primeiras Instruções em C
1o. Programa em C 15
A adição do caractere \n na função puts faz com que o cursor pule duas linhas. O primeiro pulo é devido a função puts e o segundo pulo é por causa do \n
Exemplo: Re-escrever o programa Prog02, usando a função puts
1o. Programa em C 16
Unesp-Campus de Guaratinguetá
#include<stdio.h>
#include<stdlib.h>
main( ) {
puts ("Bom dia! ");
puts("Tudo bem? ");
system(" pause");
}
Prog02 com o puts Resultado com o puts 3.3 - Primeiras Instruções em C
1o. Programa em C 17
#include<stdio.h>
#include<stdlib.h>
main( ) {
printf ("\nA linguagem C\n");
printf("eh a mais usada\n" );
printf("por quem sabe \n" );
printf("programar\n\n" );
system("pause");
}
Escreva um programa em C que tenha exatamente a saída mostrada abaixo :
A linguagem C eh a mais usada por quem sabe programar.
Exercício 1 Solução 1
Unesp-Campus de Guaratinguetá
Ao se executar o programa, irá aparecer a seguinte tela no computador.
3.3 - Primeiras Instruções em C
1o. Programa em C 19
Observe que não é necessário espaço em branco antes ou depois do comando \n. Observe também que as aspas serve para
delimitar um string.
prog03 solução 2 1. #include<stdio.h>
2. #include<stdlib.h>
3. main( ) 4. {
5. printf (“A linguagem C\neh a mais usada\npor quem sabe \nprogramar\n\n” );
6. system(“pause”);
7. }
Exercício 2: Reescrever o programa anterior usando somente 1 printf
1o. Programa em C 20
Unesp-Campus de Guaratinguetá
4) O Caractere Especial (\)
A questão que se coloca é
Como fazer para imprimir uma frase em que as aspas devem aparecer na frase impressa?
RESPOSTA Colocando-se uma barra \antes das aspas que se pretende escrever
Exemplo: Fazer um programa para escrever a seguinte frase:
A primavera está “simplesmente” MARAVILHOSA.
3.3 - Primeiras Instruções em C
1o. Programa em C 21
No programa acima o caractere \”serve para informar ao compilador que estas aspas não estão delimitando o comando printf. Logo, elas irão aparecer no texto
RESUMINDO: O caractere \ é utilizado para retirar o
significado especial que um caractere apresenta. No caso das aspas (“), é retirado o significado delimitador do printf e é considerado como aspas.
#include<stdio.h>
#include<stdlib.h>
main( ) {
printf ("A primavera esta \"simplesmente\" MARAVILHOSA\n\n" );
system("pause");
}
Unesp-Campus de Guaratinguetá
Ao se executar o programa anterior, irá aparecer a seguinte tela no computador.
3.3 - Primeiras Instruções em C
1o. Programa em C 23
Um comentário em C é qualquer conjunto de caracte- res delimitado pelos sinais/* e */ ou após os sinais//.Exemplo: /* Prog 03.C : */
/* autor: CASSILDA RIBEIRO */
/* data: 10/03/2008 */
4) /* Comentários */
Toda vez que se faz um programa deve-se colocar comentários indicando o que o programa faz, quem é o autor do programa, etc.
Esses comentários não devem ser levados em conta pelo
compilador pois eles tem a finalidade de documentar o programa.
1o. Programa em C 24
Unesp-Campus de Guaratinguetá
Um comentário pode se estender por mais de uma linha, como mostram os exemplos a seguir:
1) /* prog 04.c
* autor: CASSILDA RIBEIRO
* data: 10/03/2009
*/
2) /*************************************
* prog 05.c *
* autor: CASSILDA RIBEIRO *
* data: 10/03/2009 *
***************************************/
Obs: Os asteriscos horizontais ou verticais sevem apenas para dar uma estética ao comentário. O que importa é que o
compilador ignora tudo que está entre os símbolos /* e
*/
3.3 - Primeiras Instruções em C
1o. Programa em C 25
3) // prog 06.c
// autor: Carmem Lúcia // data: 10/03/2009 //
4) //*************************************
// prog 07.c * // autor: CASSILDA RIBEIRO * // data: 10/03/2009 * //*************************************
Obs: As duas baras (//) são colocadas na frente de cada frase. O compilador irá ignorar tudo o que vier escrito, na linha, logo após as barras.
Unesp-Campus de Guaratinguetá
Os comentários podem ser colocados em qualquer parte do programa. Existem contudo duas exceções a saber:
1) Comentário dentro de outro comentário não é permitido pelo compilador.
2) Dentro do printf os caracteres /*e */ perdem seu significado especial e são considerados como caracteres normais.
Ex:printf(“um comentario em C deve vir entre /* e*/”);
A saída será:um comentario em C deve vir entre /* e*/
3.3 - Primeiras Instruções em C
1o. Programa em C 27
3.4 Resumo do Capítulo
►Um programa em C começa com as declarações de biblioteca, por exemplo #include<stdio.h> e
#include<stdlib.h>, seguido da função main( ). A função main( ) deve estar em todos os programas.
►Os comandos ou instruções a serem executados devem ser colocado entre chaves{ }
►
Um bloco é qualquer conjunto de instruções entre { }.►
Cada instrução deve ser seguido de ponto e virgula (;).1o. Programa em C 28
Unesp-Campus de Guaratinguetá
A disposição do código é arbitraria e depende do gosto do programador.
A linguagem C é CASE SENSITIVE
Os strings em C são delimitados por aspas
As mensagems são escritas usando a função printf( ) e puts()
As funções printf( ) e puts() não fazem parte da linguagem C. Elas pertencem a biblioteca stdio.h
3.4 Resumo do Capítulo
1o. Programa em C 29
As linhas começadas por #, por ex:# include,
#define, etc.não são C, mas sim diretivas ao pré processador e que por isso não terminam com ponto e virgula (;).
Os comentários são escritos entre /* e */ ou após // . Eles são ignorados pelo compilador a menos que estejam dentro de um string.
Não podem existir comentários dentro de comentários.
A função system(“pause”), durante a execução, faz com que a tela do DOS fique parada até que seja
digitado um caractere qualquer. Ela pertence a biblioteca stdlib.h
Unesp-Campus de Guaratinguetá
3.5 Exercícios do Capítulo
1 – Fazer um programa em C usando somente o printf, e que uma vez executado, mostre o seguinte na tela do DOS:
Iniciais: __ __
Codigo?: __ __
Nascimento: __/__/_____
Numero de sorte:__ __\__ __
Texto: “__ __ __ __”
1o. Programa em C 31
SOLUÇÃO EX-1:
/******************************
* Exercicio 1 capítulo 3 *
* *
*******************************/
#include<stdio.h>
#include<stdlib.h>
main() {
printf ("Iniciais:_ _\n\n”);
printf(“Codigo?:_ _\n\n”);
printf(“Nascimento:_ _/_ _/____\n”);
printf(“Numero de sorte:_ _\\_ _\n”);
printf(“Texto:\"_ _ _ _\"\n\n");
system("pause"); /*fim do programa*/
}
OBS: o caractere \\ dentro do comando printf serve para que aparece a \ na frase:
Numero de sorte:_ _\_ _
1o. Programa em C 32
Unesp-Campus de Guaratinguetá
Ao se executar o programa anterior, irá aparecer a seguinte tela no computador.
3.5 Exercícios do Capítulo
1o. Programa em C 33
O programa anterior poderia ser feito utilizando-se somente umprintf, como mostrado a seguir:/**********************************
* Exercicio 1 tópico 3 *
* *
***********************************/
#include<stdio.h>
#include<stdlib.h>
main() {
printf ("Iniciais:_ _\n\nCodigo?:_ _\n\nNascimento:_ _/_ _/____\nNumero de sorte:_ _\\_ _\nTexto:\"_ _ _ _\"\n\n");
system("pause"); /*fim do programa*/
}
Unesp-Campus de Guaratinguetá
2 – Fazer um programa em C que apresente 2 linhas com a frase
“Olha o apito do trem!”,ouvindo-se um apito ao final de cada string.
********************************** SOLUÇÃO
* Exercicio 2 tópico 3 *
* *
***********************************/
#include<stdio.h>
#include<stdlib.h>
main( ) {
printf ("Olha o apito do trem\a\a\n"); /* aqui o \afaz o sinal sonoro*/
printf ("Olha o apito do trem\7\n"); /* aqui o \7 também faz sinal sonoro*/
system("pause");
} /*fim do programa*/
3.5 Exercícios do Capítulo
1o. Programa em C 35
Ao executar este programa, irá aparecer a seguinte tela no computador, com um sinal sonoro após escrever cada linha.
1o. Programa em C 36
Unesp-Campus de Guaratinguetá
3- Escreva um programa em C que apresente a seguinte saída:
1 – Clientes 2 – Fornecedores 3 – Faturas
0 – Sair
/********************************
* Exercicio:3 tópico 3 *
* *
********************************/
#include<stdio.h>
#include<stdlib.h>
main() {
printf("1- \tClientes\n");
printf("2- \tFornecedores\n");
printf("3- \tFaturas\n\n\n");
printf("0- \tsair\n\n");
system("pause"); /*fim do programa*/
} OBS: O caractere \t é o responsável por fazer a tabulação
3.5 Exercícios do Capítulo
1o. Programa em C 37
Ao se executar o programa anterior, irá aparecer a seguinte tela no computador.
Unesp-Campus de Guaratinguetá
4- Indique os erros de compilação que seriam detectados nos seguintes programa
/*
* copyright: Asneira Suprema!!!
* /
#include<stdio.h>
#include<stdlib.h>
Main() {
printf(“Hello World”);
system("pause");
}
A função main deve ser escrita com letra minúscula
4.1) 4.2) /*
* copyright: Asneira Suprema!!!
* /
#include<stdio.h>
#include<stdlib.h>
main {
printf(“Hello World”);
system("pause");
}
Faltou parêntese na função main
3.5 Exercícios do Capítulo
1o. Programa em C 39
/*
* copyright: Asneira Suprema!!!
* /
#include<stdio.h>
main() {
print(“Hello World”);
system("pause");
}
O comando correto é printf e não somente print e faltou a biblioteca #include<stdlib.h>.
4.3) 4.4) /*
* copyright: Asneira Suprema!!!
* /
#include<stdio.h>
#include<stdlib.h>
main() {
printf(“Hello World”);
system("pause");
Faltou chave no fim do programa
1o. Programa em C 40
Unesp-Campus de Guaratinguetá
5. Fazer um programa em C usando somente o puts. Faça o programa imprimir “Hello World”
com uma mensagem de texto explicando que o mesmo foi feito usando a função puts no lugar do printf.
Solução Exercício 5
3.5 Exercícios do Capítulo
1o. Programa em C 41
/**************************************************
* Exercício 5 tópico 3
* Usar função puts no lugar de printf para imprimir.
* A função puts imprime e pula linha.
* O printf imprime e continua na mesma linha.
* copyright: Asneira Pura!!!
***************************************************/
#include<stdio.h>
#include<stdlib.h>
main() {
puts("Hello World");//aqui estamos usando a função //puts no lugar do printf() puts("");
puts("Isso foi impresso com o puts ao inves do printf");
puts("O puts escreve e ja muda de linha");
puts("");
system("pause");
}
Unesp-Campus de Guaratinguetá
Ao ser executado, o programa anterior vai escrever a seguinte mensagem na tela
3.5 Exercícios do Capítulo
1o. Programa em C 43
FIM FIM FIM FIM FIM FIM FIM FIM
Tópico 3 Tópico 3 Tópico 3 Tópico 3 Tópico 3 Tópico 3 Tópico 3 Tópico 3
Prof. Aníbal Tavares Profa. Cassilda Ribeiro