MigaMG93 Posted March 3, 2014 at 10:46 PM Report #547450 Posted March 3, 2014 at 10:46 PM 1 Estado e atribuic~oes Diga, justicando, qual o output de cada um dos seguintes excertos de codigo C. 1. int x, y; x = 3; y = x+1; x = x*y; y = x + y; printf("%d %d\n", x, y); 2. int x, y; x = 0; printf ("%d %d\n", x, y); 3. (assuma que os codigos ASCII dos caracteres 'A', '0', ' ' e 'a' s~ao respectivamente 65, 48, 32 e 97) char a, b, c; a = 'A'; b = ' '; c = '0'; printf ("%c %d\n", a, a); a = a+1; c = c+2; printf ("%c %d %c %d\n", a, a, c, c); c = a + b; printf ("%c %d\n", c, c); 4. int x, y; x = 200; y = 100; x = x+y; y = x-y; x = x-y; printf ("%d %d\n", x, y); 5. char x, y; x = 200; y = 100; x = x+y; y = x-y; x = x-y; printf ("%d %d\n", x, y); 6. int x, y; x = 100; y = 28; x += y ; y -= x ; printf ("%d %d\n", x++, ++y); printf ("%d %d\n", x, y); Alguém me pode ajudar nisto? Ficaria muito grato...
HappyHippyHippo Posted March 4, 2014 at 04:49 AM Report #547463 Posted March 4, 2014 at 04:49 AM sim, claro que existe muita gente que pode ajudar. o que não percebes ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MigaMG93 Posted March 4, 2014 at 04:29 PM Author Report #547506 Posted March 4, 2014 at 04:29 PM Tendo em conta que printf- gera o output assim teríamos como output: 1-x=3 y=1 2-0 e y 3- não sei 4-x=300 y=100 e x=100 5-n sei 6-n sei A minha dúvida é como explicar e em alguns como achar o output e ainda se no 1,2 e 4 são mesmo esses os outputs?
HappyHippyHippo Posted March 4, 2014 at 06:15 PM Report #547514 Posted March 4, 2014 at 06:15 PM resposta 1 : completamente ao lado ... nem perto ficou resposta 2 : sim, o x imprime o 0 mas o y depende do compilador/sistema operativo resposta 3 : é só fazer contas de somar resposta 4 : output é o que +e apresentado pelo printf ... além disso não está correcto resposta 5 : cuidado com o tipo de dados que estão a ser usados nas operações resposta 6 : vá lá ... faz uma forçinha ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MigaMG93 Posted March 4, 2014 at 07:09 PM Author Report #547525 Posted March 4, 2014 at 07:09 PM tendo em conta que a 1 foi completamente ao lado, agora fiquei um pouco perdido... sendo assim quais seriam as respostas corretas?
HappyHippyHippo Posted March 4, 2014 at 07:18 PM Report #547526 Posted March 4, 2014 at 07:18 PM int x, y; x = 3; // x = 3 y = x+1; // y = 3+1 => y = 4 x = x*y; // x = 3*4 => x = 12 y = x + y; // y = 12+4 => y = 16 printf("%d %d\n", x, y); // output : 12 16 agora faz os outros ... IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MigaMG93 Posted March 4, 2014 at 07:29 PM Author Report #547527 Posted March 4, 2014 at 07:29 PM (edited) segundo Gamas de Variação de Tipos Aritméticos no 2- os outputs serão- o x imprime 0 e o y pode imprimir 2686792 no4 - os outputs são- 200 100 no5- 100 -56 no6- 128 -99 129 -99 Edited March 4, 2014 at 08:35 PM by MigaMG93
MigaMG93 Posted March 4, 2014 at 08:35 PM Author Report #547532 Posted March 4, 2014 at 08:35 PM No numero 3 como é que assumo no programa: "assuma que os codigos ASCII dos caracteres 'A', '0', ' ' e 'a' s~ao respectivamente 65, 48, 32 e 97"?
Flinger Posted March 5, 2014 at 10:04 AM Report #547560 Posted March 5, 2014 at 10:04 AM Um caracter é guardado no sistema como um número, isto é um código. Quando tu queres imprimir o caracter, o sistema sabe que ao número que ele tem guardado corresponde determinado caracter (tabela Ascii), por isso, imprime-te o caracter. No entanto, a variável contém sempre o código, então o sistema é capaz de efectuar operações matemáticas com ela (o valor do código). O que o enunciado te diz é que o caracter 'A' tem o código 65, o caracter '0' tem o código 48, etc...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now