Você está na página 1de 3

#include <stdio.h> #include <stdlib.

h>

/* * Este programa l diversos caracteres do ecr e interpreta-os do modo como * indicamos funo scanf para o fazer. * Tambm so escritos diversos caracteres e o modo como feito a uele * indicado pela funo printf. * ! teclado recon"ecido pelo compilador de # como o fic"eiro de entrada * standard $T%&'( e o ecr recon"ecido como o fic"eiro de sa)da $T%!*T. * ! fic"eiro de erro standard $T%E++ tambm est, redireccionado para o ecr. */
int main(int argc, char *argv[]) { int num; /* modo de declarar uma vari,vel do tipo inteiro */ char texto[ !"];

/* modo de declarar uma string com capacidade para -.. caracteres. o valor de -./ no engano( preciso ter espao para o caracter de fim de string( o caracter '*0 1zero 23 nos e4emplos ue se seguem no feito ual uer tipo de verificao para assegurar ue o utilizador no escreve mais do ue esse n5mero de caracteres. E4perimente( para 6ver o ue acontece6 uando coloca te4to com a dimenso de 7 caracteres e depois escreve uma string 1lin"a de te4to3 com cerca de 8-2 caracteres */ /* !bserve bem o ue encontra escrito no ecr e a uilo ue est, a ui escrito */
#rint$(%&ste #rograma le do teclado e escreve #rint$(%(tili)a a $uncao #rint$ #ara escrever #rint$(%*bserve bem'n o resultado da execucao #ara%); #rint$(%#oder com#reender melhor +); #rint$(+o ,ue $a) o ''n e tambem'to ,ue $a) o #rint$(%'n'tvamos entao comecar-'n'n%); no ecran.'n%); e a $uncao gets #ara ler%); deste #rograma'n'n ''t%);

/*

Tal como foi e4plicado no programa primeiro.c apresenta-se a ui o uso do argc e do argv. E4perimente dar ao programa diversos argumentos e acrescente a ui a escrita no ecr desses argumentos.

*/
#rint$(%&ste #rograma chama.se 'n't</s>'n%, argv[0]); #rint$(%1oi executado com o numero de /d argumentos'n%, argc);

/*

! uso do gets para ler uma string. +epare ue como num printf acima( os caracteres 9: e ;; neste caso apenas servem para delimitar o te4to ue foi lido para se 6ver6 mel"or. E4perimente comear o te4to e termin,-lo com e s p a o s ; lol ;

*/
#rint$(%'n&screva um texto%); gets(2texto[0]); #rint$(%'n* texto lido $oi- 3/s3'n%, 2texto[0]); #rint$(%'n&screva novamente outro texto- %); gets(texto); #rint$(%'n* texto lido $oi- 3/s3'n%, texto);
Vtor Vaz da Silva Tcnicas de Programao C ler_escrever_ecra.c 1 de 3

/* !bserve bem as lin"as acima. $e escrever o mesmo te4to( verificar, ue o resultado idntico. #ontudo num caso utiliza-se 2texto[0] e no outro simplesmente texto <o escrever 2texto[0]( estamos a indicar o seguinte= o endere4o da posio 0 no arra> texto <o escrever texto( estamos a indicar o seguinte= o endereo do incio do array texto E4perimente escrever outro valor sem ser o 2( por e4emplo e escreva no teclado a frase= */
#rint$(%'n'n5gora chegou a ve) dos numeros ....'n%); #rint$(%'t&screva um numerogets(texto); %);

2texto[ ]

5gora 67 sei o ,ue signi$ica 2texto[ ]8

$e uisesse fazer o mesmo com a segunda forma( como o faria?

#rint$(%'t&screva outra ve) o mesmo numero- %); scan$(%/d%, 2num); #rint$(%'n* #rimeiro numero escrito $oi 3/s3 e o segundo $oi 3/d3'n%, texto, num);

/* @ue diferenas encontra ? E4perimente substituir gets(texto); por scan$(+/s9, texto); */ /* ! printf tambm pode ser utilizado para representar um n5mero de diversas formas */
#rint$(%'nagora em diversas $ormas-'n%); #rint$(%'tnum: /d /0;d /u'n%, num, num, num); #rint$(%'tnum: /d (base <0) num: /o (base =) <")'n%, num, num, num);

num: /x (base

/* */

E4perimente com v,rios n5meros ... e A, agora com negativos tambmB ! ue acontece se em vez de C4 utilizar CD ?

/* vamos observar novamente ....*/


#rint$(%'n'nnum: /d 2num: /d'n'n%, num, 2num); #rint$(%2texto: /d 2texto[0]: /d 2texto[ ]: /d'n'n%, 2texto, 2texto[0], 2texto[ ]); #rint$(% texto: /d texto>0 : /d texto> : /d'n%, texto, texto>0, texto> ); #rint$(%'n'n%); s?stem(%@5(A&%); return 0;
Vtor Vaz da Silva Tcnicas de Programao C ler_escrever_ecra.c 2 de 3

Vtor Vaz da Silva Tcnicas de Programao C

ler_escrever_ecra.c

3 de 3