Commit 5f4207a9 authored by Jomaro Rodrigues's avatar Jomaro Rodrigues

Revisão do capítulo 4

parent c6199049
......@@ -79,21 +79,20 @@ if (expressao)
\end{lstlisting}
\begin{lstlisting}
/* Demonstra o uso da instrucao if */
// Demonstra o uso da instrucao if
#include <stdio.h>
void main()
{
int x = 10, y = 7;
if (x > y)
{
printf("x e maior que y\n");
printf("O valor de x e %d\n", x);
}
else if (x < y)
{
printf("y e maior que x\n");
printf("O valor de y e %d\n",y);
}
......@@ -119,9 +118,9 @@ abaixo:
\centering
\begin{tabular}{|l|l|}
\hline Média & Estado \\
\hline < 40 & Reprovado \\
\hline < 70 & Exame Final \\
\hline >= 70 & Aprovado \\
\hline \verb|<| 40 & Reprovado \\
\hline \verb|<| 70 & Exame Final \\
\hline \verb|>|= 70 & Aprovado \\
\hline
\end{tabular}
\end{table*}
......
......@@ -7,11 +7,11 @@ int main()
unsigned int y = 20;
float z = 7.32;
/* Exibe na tela o caractere nova linha e o texto */
// Exibe na tela o caractere nova linha e o texto
printf("Teste de printf\n");
/* Exibe na tela texto, caractere nova linha */
/* e valor de variaveis */
// Exibe na tela texto, caractere nova linha
// e valor de variaveis
printf("Inteiro: %d\n", x);
printf("Sem Sinal: %u\n", y);
printf("Ponto Flutuante: %f\n", z);
......
......@@ -23,15 +23,22 @@ A função printf() é a maneira mais fácil de fazer com que um programa exiba
Uma string de formato especifica como a saída da função printf deverá ser formatada. Os três
componentes possíveis de uma string de formato são:
\begin{itemize}
\item Texto literal, que é exibido na tela exatamente como foi incluído na
\begin{description}
\item[Texto literal] que é exibido na tela exatamente como foi incluído na
string de formato.
\item Sequências de escape, que incluem instruções especiais de formatação. Uma sequência de escape consiste de uma barra invertida (\\) seguida de um único caractere. As sequências de escape mais utilizadas estão na tabela ??.
\item Especificadores de formatação, que consistem no símbolo de porcentagem (\%) seguido por um único caractere. Estes especificadores informam à função printf() como interpretar as variáveis que serão impressas. O string de formato deve conter um especificador de formatação para cada variável a ser impressa.
\end{itemize}
\begin{table}
\item[Sequências de escape] que incluem instruções especiais de formatação.
Uma sequência de escape consiste de uma barra invertida (\textbackslash) seguida
de um único caractere. As sequências de escape mais utilizadas estão na tabela
\ref{tab:seq_esc}.
\item[Especificadores de formatação] que consistem no símbolo de
porcentagem (\%) seguido por um único caractere. Estes especificadores informam
à função printf() como interpretar as variáveis que serão impressas. O string de
formato deve conter um especificador de formatação para cada variável a ser
impressa.
\end{description}
\begin{table}[h!]
\centering
\begin{tabular}{|l|l|}
\hline \verb|\a| & Sinal Sonoro \\
......@@ -45,10 +52,11 @@ componentes possíveis de uma string de formato são:
\hline
\end{tabular}
\caption{Sequências de escape}
\label{tab:seq_esc}
\end{table}
\begin{table}
\begin{table}[h!]
\centering
\begin{tabular}{|l|l|}
\hline especificador & Significado \\
......@@ -64,6 +72,8 @@ componentes possíveis de uma string de formato são:
\end{table}
Por exemplo:
\lstinputlisting{exemplos/printf.c}
A saída será:
......@@ -97,8 +107,8 @@ void main()
int x;
printf("Digite um numero de ponto flutuante, depois um inteiro: ");
scanf("%f %d", &y, &x); /* Le os numeros do teclado */
printf("Voce digitou %f e %d\n", y, x); /* imprime-os */
scanf("%f %d", &y, &x); // Le os numeros do teclado
printf("Voce digitou %f e %d\n", y, x); // imprime-os
}
\end{lstlisting}
......@@ -148,104 +158,4 @@ No programa acima, os caracteres recebidos pela função getchar() são
armazenados na variável ch, que é então ecoada na tela utilizando-se a
função putchar().
\section{Exercícios}
\subsection*{Convenções}
Antes de iniciar os exercícios deste capítulo, vamos estabelecer algumas
convenções com relação ao enunciado do exercício.
Muito exercícios apresentarão um quadro da seguinte forma:
\begin{verbatim}
------------------------------------------------------------------
nononononon \<varout\> nonononononononon
noononononono: \>varin\<
nononononon \<(varopt:[n1]text1/[n2]text2/...)\>
------------------------------------------------------------------
\end{verbatim}
Normalmente será necessário fazer um programa que imprime o texto
contido no quadro. Duas notações especiais estão sendo usadas:
\begin{itemize}
\item \verb|<varout>| indica que o conteúdo da variável varout deve ser impresso
no local indicado.
Se entre \verb|<>| houver palavras separadas por espaço (ex.: \verb|<a b c>|),
deverão ser impressos o conteúdo das variáveis a, b e c.
\item \verb|<(varopt:[n1]text1/[n2]text2/...)>|: indica que, de acordo com o
valor de varopt, será impresso text$_n$ se varopt=n$_n$
\footnote{em capítulos posteriores serão apresentados meios de tomar decisões
baseadas no valor de uma expressão}
\item \verb|>varin<| : indica que o programa deverá requisitar ao usuário que
digite um valor, o qual será armazenado em varin.
Se entre \verb|><| houver palavras separadas por espaço (ex.: \verb|>a b c<|), deverão
ser lidos conteúdos para as variáveis a, b e c.
\end{itemize}
\subsection*{Exercícios}
1. Complete os execícios do capítulo ??, incluindo funções de entrada
para obter os valores a serem processados (onde for aplicável) e funções de
saída para imprimir os resultados.
2. Determine os erros do programa abaixo e justifique suas conclusões.
\begin{lstlisting}
#include <stdio.h>
#define PI 3.14159;
int main()
{
float perimetro;
int raio = /* atribuicao ao raio */ 5;
const char letra_padrao = 65;
const double d_var;
char outra_letra;
perimetro = PI*(2*raio);
raio = 68.5;
letra_padrao = raio;
printf("A letra representada é %c."n", letra_padrao);
printf("Digite uma letra qualquer:");
scanf("%d", outra_letra);
printf("A letra digitada foi %c."n", outra_letra);
outra letra = letra padrao;
return 0;
}
\end{lstlisting}
3. Escreva um programa que seja capaz de imprimir os seguintes textos:
a) Entre com um número: \verb|>num<|
O objetivo deste programa é apenas ilutrar o uso do printf e do scanf.
\begin{verbatim}
O número que você digitou é <num>.
Digite um número real: >numR<
O número é <numR>, pertencente ao conjunto dos números reais.
\end{verbatim}
b) Escreva uma palavra que tenha exatamente 6 caracteres:
:: \verb|>c0 c1 c2 c3 c4 c5<|
A palavra que você escreveu é: \verb|<c0 c1 c2 c3 c4 c5>|
A palavra revertida é: \verb|<c5 c4 c3 c2 c1 c0>|
\end{document}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment