unesp – campus de guaratinguetá curso de programação computadores prof. aníbal tavares profa....
TRANSCRIPT
Unesp – Campus de Guaratinguetá
Curso de Programação ComputadoresProf. Aníbal Tavares
Profa. Cassilda Ribeiro
3 – O Primeiro Programa em C
1o. Programa em C 2
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
Unesp-Campus de Guaratinguetá
Seqüência de instruções, organizadas de modo aresolver determinados problemas.
3.2 – Programa: Definição
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 de
vários subprogramas que também são chamados de funções.
Programa informático
3 – O Primeiro Programa em C
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).
3.2 – Programa: Definição
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( ).
1o. Programa em C 5
Unesp-Campus de Guaratinguetá
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>
}
3.2 – Programa: Definição
1o. Programa em C 6
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
Unesp-Campus de Guaratinguetá
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 ?”);
3 – O Primeiro Programa em C
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
Unesp-Campus de Guaratinguetá
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
3.3 - Primeiras Instruções em C
1o. Programa em C 10
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
Unesp-Campus de Guaratinguetá
Na linha 2 a instrução #include<stdlib.h> indica aoque 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 aoque 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:
3.3 - Primeiras Instruções em C
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:
Se na linha 5 não fosse colocado system (“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
Unesp-Campus de Guaratinguetá
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.
3.3 - Primeiras Instruções em C
1o. Programa em C 14
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
Unesp-Campus de Guaratinguetá
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
3.3 - Primeiras Instruções em C
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
Unesp-Campus de Guaratinguetá
#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 asaída mostrada abaixo :
A linguagem C eh a mais usadapor quem sabe programar.
Exercício 1 Solução 1
3.3 - Primeiras Instruções em C
1o. Programa em C 18
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
Unesp-Campus de Guaratinguetá
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
3.3 - Primeiras Instruções em C
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
Unesp-Campus de Guaratinguetá
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");}
3.3 - Primeiras Instruções em C
1o. Programa em C 22
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
Unesp-Campus de Guaratinguetá
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.
3.3 - Primeiras Instruções em C
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
Unesp-Campus de Guaratinguetá
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.
3.3 - Primeiras Instruções em C
1o. Programa em C 26
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
Unesp-Campus de Guaratinguetá
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
Unesp-Campus de Guaratinguetá
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
3.4 Resumo do Capítulo
1o. Programa em C 30
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
Unesp-Campus de Guaratinguetá
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:_ _\_ _
3.5 Exercícios do Capítulo
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
Unesp-Campus de Guaratinguetá
O programa anterior poderia ser feito utilizando-se somente um printf, 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*/}
3.5 Exercícios do Capítulo
1o. Programa em C 34
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 \a faz 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
Unesp-Campus de Guaratinguetá
Ao executar este programa, irá aparecer a seguinte tela no computador, com um sinal sonoro após escrever cada linha.
3.5 Exercícios do Capítulo
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
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 38
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
Unesp-Campus de Guaratinguetá
/** 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
3.5 Exercícios do Capítulo
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
Unesp-Campus de Guaratinguetá
/*************************************************** 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");}
Solução Exercício 5
1o. Programa em C 42
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
Unesp-Campus de Guaratinguetá
FIMFIM
Tópico 3Tópico 3
Prof. Aníbal Tavares
Profa. Cassilda Ribeiro
3 – O Primeiro Programa em C