<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title> &#187; Client Side</title>
	<atom:link href="http://blogger.m3c.it/category/client/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogger.m3c.it</link>
	<description></description>
	<lastBuildDate>Sat, 16 Jan 2010 10:34:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[C] &#8211; Break, continue, goto ed etichette</title>
		<link>http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/</link>
		<comments>http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 09:40:05 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=798</guid>
		<description><![CDATA[<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo, utilizziamo l&#8217;istruzione <strong>break</strong></p>
<pre class="brush: cpp;">if (x&#62;1)
{
break;
}
</pre>
<p>Nel caso presentato sopra, non ci interessa continuare ad eseguire il ciclo, se il valore di <strong>x</strong> è maggiore di <strong>1</strong>. In questo caso il ciclo esegui l&#8217;istruzione break e si interrompe prima della sua naturale conclusione.</p>
<p>Il <strong>continue</strong> permette invece di ignorare l&#8217;istruzione successiva del ciclo, dopo l&#8217;istruzione <strong>continue</strong> continuando poi ad eseguire il ciclo.</p>
<p><span id="more-798"></span></p>
<pre class="brush: cpp;">if (x&#62;1)
{
continue;
}
istruzione che viene saltata;
}
ciclo che continua
</pre><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo, utilizziamo l&#8217;istruzione <strong>break</strong></p>
<pre class="brush: cpp;">if (x&gt;1)
{
break;
}
</pre>
<p>Nel caso presentato sopra, non ci interessa continuare ad eseguire il ciclo, se il valore di <strong>x</strong> è maggiore di <strong>1</strong>. In questo caso il ciclo esegui l&#8217;istruzione break e si interrompe prima della sua naturale conclusione.</p>
<p>Il <strong>continue</strong> permette invece di ignorare l&#8217;istruzione successiva del ciclo, dopo l&#8217;istruzione <strong>continue</strong> continuando poi ad eseguire il ciclo.</p>
<p><span id="more-798"></span></p>
<pre class="brush: cpp;">if (x&gt;1)
{
continue;
}
istruzione che viene saltata;
}
ciclo che continua
</pre>
<p>Come potete vedere dal <em>chiarissimo</em> esempio, è un buon metodo per semplificare il programma senza dover annidare troppo il codice, con condizioni varie.</p>
<p>Veniamo adesso al costrutto <strong>goto</strong> e alle sue fantastiche <em>etichette</em>. Ho trovato in giro per il web più inviti ad non usare tale costrutto, perché quel che fa può essere ottenuto anche con altri metodi, più <em>corretti</em>. Ciò non toglie che può sempre essere utile conoscerlo, specialmente all&#8217;inizio, quando si è più portati a cercare una soluzione più <em>easy</em> ai nostri problemi.</p>
<p>Questo costrutto si usa solitamente nei casi in cui si voglia <em>saltare</em> velocemente da una parte ad un altra. Ad esempio, se abbiamo una condizione che potrebbe verificarsi più volte all&#8217;interno del nostro programma e vogliamo richiamarla velocemente, possiamo usare questa sintassi:</p>
<pre class="brush: cpp;">for (roba varia)
    for (roba ancora più varia)
          for (roba indefinita) {
          ...omissis...
               if (non trovi gli occhiali)
                    goto etichetta;
          }
    ...omissis...
    etichetta:
         guarda nella custodia
</pre>
<p>Ora, a parte l&#8217;evidente sproloquio, cosa possiamo dedurre dalle stringhe di codice superiori? che nel caso in cui si verifichi la condizione <strong>non trovi gli occhiali</strong> è cosa buona e giusta <strong>guardare nella custodia</strong>. Il collegamento fra la condizione e l&#8217;azione da compiere è creato dal <strong>goto</strong> appunto <em>(go to = vai a)</em> che va alla ricerca nel codice successivo, della parola <em>etichetta </em>(la parola in questione può essere la qualsiasi).</p>
<p>Appena riscontra la presenza di una parola identica a quella successiva a se stesso, accoppia le due stringhe e compie l&#8217;azione indicata.</p>
<p><strong>That&#8217;s all folks!</strong><br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Break, continue, goto ed etichette' alt='[C] - Break, continue, goto ed etichette' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while">[C] &#8211; Cicli while, for, do-while</a>
<p>Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Break, continue, goto ed etichette' alt='[C] - Break, continue, goto ed etichette' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Break, continue, goto ed etichette' alt='[C] - Break, continue, goto ed etichette' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a>
<p>In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Break, continue, goto ed etichette' alt='[C] - Break, continue, goto ed etichette' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/" title="[C] &#8211; Altri operatori ed elenco delle precedenze">[C] &#8211; Altri operatori ed elenco delle precedenze</a>
<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p>Oggi guarderemo gli operatori condizionali egli&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Break, continue, goto ed etichette' alt='[C] - Break, continue, goto ed etichette' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a>
<p>Sabato ci siamo fermati ad esaminare gli operatori aritmetici, relazionali e logici, oggi guarderemo gli operatori&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/" title="[C] &#8211; Operatori aritmetici, relazionali e logici (6 giugno 2009)">[C] &#8211; Operatori aritmetici, relazionali e logici</a> (3)</li>
	<li><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento (9 giugno 2009)">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch (11 giugno 2009)">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/" title="[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni (5 giugno 2009)">[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while (28 agosto 2009)">[C] &#8211; Cicli while, for, do-while</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[C] &#8211; Cicli while, for, do-while</title>
		<link>http://blogger.m3c.it/client/c-cicli-while-for-do-while/</link>
		<comments>http://blogger.m3c.it/client/c-cicli-while-for-do-while/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 10:36:53 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=754</guid>
		<description><![CDATA[<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male, com&#8217;è che si faceva? uhm&#8230;. iniziamo a parlare del <strong>while</strong>.</p>
<p>Il <strong>while</strong> ci permette di valutare un espressione. Se l&#8217;espressione valutata dal programma è diversa da zero il ciclo prosegue (eseguendo l&#8217;istruzione e rivalutando l&#8217;espressione), in caso contrario il programma passa a valutare il punto seguente.</p>
<pre class="brush: cpp;">while (x&#62;1)
        go home (:-D)</pre>
<p><span id="more-754"></span></p>
<p>Nel caso sopra citato, il programma valuta se la condizione del while (x=1) è differente da zero. In questo caso, esegue la bellissima funzione appena inventata da me, che invita&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male, com&#8217;è che si faceva? uhm&#8230;. iniziamo a parlare del <strong>while</strong>.</p>
<p>Il <strong>while</strong> ci permette di valutare un espressione. Se l&#8217;espressione valutata dal programma è diversa da zero il ciclo prosegue (eseguendo l&#8217;istruzione e rivalutando l&#8217;espressione), in caso contrario il programma passa a valutare il punto seguente.</p>
<pre class="brush: cpp;">while (x&gt;1)
        go home (:-D)</pre>
<p><span id="more-754"></span></p>
<p>Nel caso sopra citato, il programma valuta se la condizione del while (x=1) è differente da zero. In questo caso, esegue la bellissima funzione appena inventata da me, che invita il programmatore a porre fine alla sua tediosa giornata di lavoro.</p>
<p>E visto che la funzione è verificata, me ne vado a casa (8.15 pm, 05/08).</p>
<p>Rieccomi qui a scrivere (00.06 pm, 11/08). Adesso parliamo dei cicli <strong>for</strong>.</p>
<pre class="brush: cpp;">for (i=1; i &lt; n; i++)</pre>
<p>Vediamo di tradurlo in italiano:</p>
<p><strong>I</strong> è uguale a uno.<br />
<strong>I</strong> è inferiore ad <strong>n</strong>.<br />
Aggiungi un unità ad <strong>I</strong> (che quindi diventa 2, poi 3, e così via).</p>
<p>A questo punto, il programma ricontrolla che la nostra <strong>I</strong> sia ancora inferiore ad <strong>n</strong>, in quel caso aggiunge un altra unità e così via. </p>
<p>Ipotizziamo che <strong>n</strong> corrisponda a 4. In questo caso il ciclo si blocca appena l&#8217;espressione relazionale</p>
<pre class="brush: cpp;">i &lt; n</pre>
<p>non è più verificata.</p>
<p>E&#8217; un po&#8217; come scrivere</p>
<pre class="brush: cpp;">i=1
while (i&lt;n) {
       i++;
}</pre>
<p>A quanto ho capito, è meglio usare il <strong>for</strong> in caso di cicli semplici, dato che ha il gran vantaggio di mettere tutte insieme le espressioni, all&#8217;inizio. Cosa che diventerebbe complicata nel caso di cicli complessi.</p>
<p>Passiamo al <strong>do-while</strong> (28/08&#8230; che articolo sofferto !). La differenza principe fra <strong>do-while</strong> e <strong>while/for</strong> sta nel momento in cui si esamina la condizione di terminazione.</p>
<p>Nei casi già discussi, la condizione viene valutata inizialmente, mentre in questo caso, la sintassi usata è questa:</p>
<pre class="brush: cpp;">do
         istruzione
while (espressione);</pre>
<p>In questo caso prima si esegue <strong>istruzione</strong>, poi si valuta <strong>espressione</strong>. Se è vera, si esegue nuovamente <strong>istruzione</strong> e il ciclo va avanti fino a quando <strong>espressione</strong> non diventa falsa.<br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Cicli while, for, do-while' alt='[C] - Cicli while, for, do-while' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/" title="[C] &#8211; Break, continue, goto ed etichette">[C] &#8211; Break, continue, goto ed etichette</a>
<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Cicli while, for, do-while' alt='[C] - Cicli while, for, do-while' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Cicli while, for, do-while' alt='[C] - Cicli while, for, do-while' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a>
<p>In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Cicli while, for, do-while' alt='[C] - Cicli while, for, do-while' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/" title="[C] &#8211; Altri operatori ed elenco delle precedenze">[C] &#8211; Altri operatori ed elenco delle precedenze</a>
<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p>Oggi guarderemo gli operatori condizionali egli&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Cicli while, for, do-while' alt='[C] - Cicli while, for, do-while' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a>
<p>Sabato ci siamo fermati ad esaminare gli operatori aritmetici, relazionali e logici, oggi guarderemo gli operatori&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/" title="[C] &#8211; Operatori aritmetici, relazionali e logici (6 giugno 2009)">[C] &#8211; Operatori aritmetici, relazionali e logici</a> (3)</li>
	<li><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento (9 giugno 2009)">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch (11 giugno 2009)">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/" title="[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni (5 giugno 2009)">[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-primi-passi/" title="[C] &#8211; C su Linux, primi passi (28 maggio 2009)">[C] &#8211; C su Linux, primi passi</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-cicli-while-for-do-while/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testi visibili/invisibili con un click, in Javascript</title>
		<link>http://blogger.m3c.it/client/testi-visibili-invisibili-con-un-click-in-javascript/</link>
		<comments>http://blogger.m3c.it/client/testi-visibili-invisibili-con-un-click-in-javascript/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 17:52:41 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=737</guid>
		<description><![CDATA[<p>Capita di avere delle grosse masse di testo che per vari motivi non si vuole suddividere in più pagine. Un metodo simpatico e veloce per renderle rapidamente visibili o invisibili è usare Javascript.</p>
<pre class="brush: jscript;">function visualizza(id){
  if (document.getElementById){
    if (document.getElementById(id).style.display == 'none'){
       document.getElementById(id).style.display = 'block';
    } else{
       document.getElementById(id).style.display = 'none';
    }
  }
}</pre>
<p><span id="more-737"></span></p>
<p>Questo è il codice da inserire nel nostro <strong>hidden.js</strong>, che richiameremo all&#8217;interno del tag <strong>head</strong> della nostra pagina, in questo modo:</p>
<pre class="brush: xml;">&#60;script type=&#34;text/javascript&#34; src=&#34;script/hidden.js&#34;&#62;&#60;/script&#62;</pre>
<p>A questo punto il <strong>motore</strong> del sistema è pronto, dobbiamo solo richiamare la funzione all&#8217;occorrenza. Il successivo codice è&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Capita di avere delle grosse masse di testo che per vari motivi non si vuole suddividere in più pagine. Un metodo simpatico e veloce per renderle rapidamente visibili o invisibili è usare Javascript.</p>
<pre class="brush: jscript;">function visualizza(id){
  if (document.getElementById){
    if (document.getElementById(id).style.display == 'none'){
       document.getElementById(id).style.display = 'block';
    } else{
       document.getElementById(id).style.display = 'none';
    }
  }
}</pre>
<p><span id="more-737"></span></p>
<p>Questo è il codice da inserire nel nostro <strong>hidden.js</strong>, che richiameremo all&#8217;interno del tag <strong>head</strong> della nostra pagina, in questo modo:</p>
<pre class="brush: xml;">&lt;script type=&quot;text/javascript&quot; src=&quot;script/hidden.js&quot;&gt;&lt;/script&gt;</pre>
<p>A questo punto il <strong>motore</strong> del sistema è pronto, dobbiamo solo richiamare la funzione all&#8217;occorrenza. Il successivo codice è portato solo da esempio, dato che può essere semplicemente personalizzato a seconda delle esigenze.</p>
<p>Richiamiamo la funzione:</p>
<pre class="brush: xml;">&lt;a href=&quot;#&quot; onclick=&quot;visualizza('testonascosto'); return false&quot;&gt;Il testo che volete&lt;/a&gt;</pre>
<p>Basterà cliccare su questo link e il testo nascosto apparirà e scomparirà, come se fosse un interruttore.</p>
<p>Adesso, creiamo il contenitore del testo nascosto:</p>
<pre class="brush: xml;">&lt;span id=&quot;testonascosto&quot; style=&quot;display: none&quot;&gt;Testo nascosto&lt;/span&gt;</pre>
<p>Ed il gioco è fatto. Quando cliccheremo su <strong>Il testo che volete</strong> spunterà fuori <strong>Testo nascosto</strong>, perchè lo status dell&#8217;attributo <strong>display</strong> passerà da <strong>none</strong> a <strong>block</strong>. Nel caso in cui il suo status sia <strong>block</strong>, al richiamare della funzione cambieremo <strong>block </strong>in <strong>none</strong>.</p>
<p>Una cosa importante da segnalare è che nel caso in cui utilizziamo questo metodo più volte nella stessa pagina, dovremo cambiare qualcosina nella struttura, secondo questo esempio:</p>
<pre class="brush: xml;">&lt;a href=&quot;#&quot; onclick=&quot;visualizza('testonascosto'); return false&quot;&gt;
&lt;a href=&quot;#&quot; onclick=&quot;visualizza('testonascosto2'); return false&quot;&gt;
&lt;a href=&quot;#&quot; onclick=&quot;visualizza('testonascosto3'); return false&quot;&gt;</pre>
<p>Al quale ovviamente si accompagnerà un cambiamento, secondo questa falsariga:</p>
<pre class="brush: xml;">&lt;span id=&quot;testonascosto&quot; style=&quot;display: none&quot;&gt;
&lt;span id=&quot;testonascosto2&quot; style=&quot;display: none&quot;&gt;
&lt;span id=&quot;testonascosto3&quot; style=&quot;display: none&quot;&gt;</pre>
<p>E&#8217; inutile spiegare come vanno accoppiate le cose, vero? <img src='http://blogger.m3c.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-content/uploads/2009/11/submit-150x150.jpg' title='submit' alt='submit' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client-server-side/inviare-un-form-metodo-post-utilizzando-un-bottone-testuale/" title="Inviare un form (metodo post) utilizzando un bottone testuale">Inviare un form (metodo post) utilizzando un bottone testuale</a>
<p> Ho perso circa 3 ore a trovare la soluzione a questo problema, problema che mi sono posto quando ho deciso di&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-content/uploads/2009/04/swfobject_logo1-150x106.gif' title='swfobject' alt='swfobject' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/release-swfobject-2-2-beta/" title="Rilasciato SWFObject 2.2 beta">Rilasciato SWFObject 2.2 beta</a><br />

<p>SWFObject 2.2 è&#8230; ma no, partiamo dall&#8217;inizio. Cos&#8217;è SWFObject?</p>
<p>SWFObject è un progetto sviluppato su&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/release-swfobject-2-2-beta/" title="Rilasciato SWFObject 2.2 beta (18 aprile 2009)">Rilasciato SWFObject 2.2 beta</a> (9)</li>
	<li><a href="http://blogger.m3c.it/client-server-side/inviare-un-form-metodo-post-utilizzando-un-bottone-testuale/" title="Inviare un form (metodo post) utilizzando un bottone testuale (5 novembre 2009)">Inviare un form (metodo post) utilizzando un bottone testuale</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/testi-visibili-invisibili-con-un-click-in-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</title>
		<link>http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/</link>
		<comments>http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 09:53:21 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=669</guid>
		<description><![CDATA[<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di <em>sintassi</em> quando scriviamo il codice, altrimenti sarebbe oggettivamente impossibile comunicare al nostro programma cosa vogliamo da lui.</p>
<p>Nello scrivere un espressione, dobbiamo ricordarci di mettere il <strong>;</strong> in fondo, in modo da trasformarla in un <strong>istruzione</strong>. In questo modo,
<pre class="brush: cpp;">x = 0;</pre>
</p><p>Per creare un <strong>blocco</strong> (o istruzione composta) dobbiamo invece raggruppare dichiarazioni ed istruzioni all&#8217;interno di parentesi graffe <strong>{ }</strong>. Il contenuto di due parentesi graffe viene letto come una singola istruzione, come un <em>blocco </em>unico. Ad esempio:</p>
<pre class="brush: cpp;">{ x = 0;</pre><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di <em>sintassi</em> quando scriviamo il codice, altrimenti sarebbe oggettivamente impossibile comunicare al nostro programma cosa vogliamo da lui.</p>
<p>Nello scrivere un espressione, dobbiamo ricordarci di mettere il <strong>;</strong> in fondo, in modo da trasformarla in un <strong>istruzione</strong>. In questo modo,
<pre class="brush: cpp;">x = 0;</pre>
<p>Per creare un <strong>blocco</strong> (o istruzione composta) dobbiamo invece raggruppare dichiarazioni ed istruzioni all&#8217;interno di parentesi graffe <strong>{ }</strong>. Il contenuto di due parentesi graffe viene letto come una singola istruzione, come un <em>blocco </em>unico. Ad esempio:</p>
<pre class="brush: cpp;">{ x = 0;
y = 1;}</pre>
<p>Importante, alla fine di un blocco, con relativa graffa <strong>}</strong> non serve mettere un punto e virgola (facendo un confronto, basti notare che non serve mettere il <strong>;</strong> neanche alla fine di un elenco di istruzioni in un CSS, prima della graffa)</p>
<p><span id="more-669"></span></p>
<p>L&#8217;istruzione <strong>if-else</strong> ci permette di porre una condizione (<strong>if</strong>) al verificarsi della quale avremo un determinato comportamento,oppure (<strong>else</strong>) avremo un comportamento diverso. Di seguito il costrutto base:</p>
<pre class="brush: cpp;">if (espressione)
   istruzione1
else
   istruzione2</pre>
<p>Se il valore di <em>espressione</em> è diverso da zero, il programma eseguirà l&#8217;<em>istruzione1</em>, altrimenti l&#8217;<em>istruzione2</em>.</p>
<p>E&#8217; importante ricordare, i compilatori abbinano <strong>else </strong>al più vicino <strong>if</strong> che non ne ha già uno assegnato.</p>
<p>Nel caso di istruzioni nidificate, come queste:</p>
<pre class="brush: cpp;">if quelchevuoi1
   if quelchevuoi2
   else</pre>
<p>il compilatore assegnerà <strong>else</strong> a <strong>quelchevuoi2</strong>. E se invece volessimo assegnarlo a <strong>quelchevuoi1</strong>? dobbiamo utilizzare le parentesi graffe, così:</p>
<pre class="brush: cpp;">if (espressione) {
   if quelchevuoi2
      }
else</pre>
<p>Il costrutto <strong>else-if</strong> complica un po&#8217; le cose, dato che aumenta le variabili in gioco e le relative istruzioni. Nonostante ciò è estremamente intuitivo e facile da realizzare, guardiamolo insieme:</p>
<pre class="brush: cpp;">if (espressione1)
   istruzione1
else if (espressione2)
   istruzione2
else if (espressione3)
   istruzione3
else
  istruzione4</pre>
<p>E così via, si potrebbe continuare mettendo un infinità di <strong>else-if</strong>, ma per l&#8217;esempio attuale bastano ed avanzano questi. La <em>traduzione</em> è la seguente:</p>
<p>se espressione1 è vera esegui l&#8217;istruzione1, altrimenti, se l&#8217;espressione2 è vera esegui istruzione2, altrimenti se espressione3 è vera esegui espressione 3, oppure, se nessuna delle precedenti espressioni è vera, esegui istruzione4.</p>
<p>L&#8217;istruzione <strong>switch</strong> ragiona in modo simile, ma ha alcune differenze, ad esempio, il seguente costrutto</p>
<pre class="brush: cpp;">switch (espressione) {
   case x1
   istruzione x1
   break
   case x2
   istruzione x2
   break
   case x3
   istruzione x3
   break
   default
   istruzione x4
   break
}</pre>
<p>significa:</p>
<p>Valuta <strong>l&#8217;espressione</strong>, se è uguale al caso <strong>x1</strong> esegui istruzione <strong>x1</strong>, altrimenti passa a caso successivo (<strong>break</strong>) e valuta il caso <strong>x2</strong>, nel caso in cui coincida esegui l&#8217;istruzione <strong>x2</strong>, altrimenti passa al caso <strong>x3</strong>, se coincide esegui l&#8217;istruzione <strong>x3</strong>. Nel caso in cui nessuna di queste istruzioni coincidano esegui l&#8217;istruzione x4 contenuta nel default quindi esci dal costrutto <strong>switch</strong>.</p>
<p>Questo costrutto è detto a cascata perché ogni volta che finisce di eseguire il codice relativo ad un caso, passa al caso successivo.</p>
<p>E anche per oggi è andata, di questo passo fra solo 2.134.234 giorni circa, avremo finito <img src='http://blogger.m3c.it/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /><br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Istruzioni, blocchi, if-else, else-if, switch' alt='[C] - Istruzioni, blocchi, if-else, else-if, switch' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/" title="[C] &#8211; Break, continue, goto ed etichette">[C] &#8211; Break, continue, goto ed etichette</a>
<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Istruzioni, blocchi, if-else, else-if, switch' alt='[C] - Istruzioni, blocchi, if-else, else-if, switch' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while">[C] &#8211; Cicli while, for, do-while</a>
<p>Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Istruzioni, blocchi, if-else, else-if, switch' alt='[C] - Istruzioni, blocchi, if-else, else-if, switch' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Istruzioni, blocchi, if-else, else-if, switch' alt='[C] - Istruzioni, blocchi, if-else, else-if, switch' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/" title="[C] &#8211; Altri operatori ed elenco delle precedenze">[C] &#8211; Altri operatori ed elenco delle precedenze</a>
<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p>Oggi guarderemo gli operatori condizionali egli&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Istruzioni, blocchi, if-else, else-if, switch' alt='[C] - Istruzioni, blocchi, if-else, else-if, switch' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a>
<p>Sabato ci siamo fermati ad esaminare gli operatori aritmetici, relazionali e logici, oggi guarderemo gli operatori&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/" title="[C] &#8211; Operatori aritmetici, relazionali e logici (6 giugno 2009)">[C] &#8211; Operatori aritmetici, relazionali e logici</a> (3)</li>
	<li><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento (9 giugno 2009)">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/" title="[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni (5 giugno 2009)">[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while (28 agosto 2009)">[C] &#8211; Cicli while, for, do-while</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-primi-passi/" title="[C] &#8211; C su Linux, primi passi (28 maggio 2009)">[C] &#8211; C su Linux, primi passi</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[C] &#8211; Altri operatori ed elenco delle precedenze</title>
		<link>http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/</link>
		<comments>http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 08:52:53 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=648</guid>
		<description><![CDATA[<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />Oggi guarderemo gli operatori condizionali egli operatori di cambio priorità. Ed infine faremo un bel riassunto dei diritti di precedenza dei vari operatori fra di loro, dato che neanche io riesco più a capire chi è che comanda.</p>
<ul>
<li><strong>Operatore condizionali</strong></li>
<ol>
<li><strong>?</strong>, utilizzato nelle espressioni condizionali, nelle quali il programma verifica la veridicità di una data espressione, assegnandole un valore in caso positivo, assegnandone un altro in caso negativo. Il caso
<p><span id="more-648"></span></p>
<pre class="brush: cpp;">if (espr_1)
    espr_2;
  else
    espr_3;</pre>
<p>esprime questo concetto. Se la prima espressione è</p></li></ol></ul><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />Oggi guarderemo gli operatori condizionali egli operatori di cambio priorità. Ed infine faremo un bel riassunto dei diritti di precedenza dei vari operatori fra di loro, dato che neanche io riesco più a capire chi è che comanda.</p>
<ul>
<li><strong>Operatore condizionali</strong></li>
<ol>
<li><strong>?</strong>, utilizzato nelle espressioni condizionali, nelle quali il programma verifica la veridicità di una data espressione, assegnandole un valore in caso positivo, assegnandone un altro in caso negativo. Il caso</p>
<p><span id="more-648"></span></p>
<pre class="brush: cpp;">if (espr_1)
    espr_2;
  else
    espr_3;</pre>
<p>esprime questo concetto. Se la prima espressione è vera lo è anche la seconda, altrimenti è vera la terza. Guardiamolo con dei valori, che è sempre più chiaro:</p>
<pre class="brush: cpp;">if (x &gt; y)
    k = x;
  else
    k = y;</pre>
<p>Appunto, se <strong>x</strong> è maggiore di <strong>y</strong>, allora <strong>k</strong> è uguale a <strong>x</strong>, se invece è minore o uguale, il valore di <strong>k</strong> sarà uguale al valore di <strong>y</strong>.</li>
</ol>
<li><strong>Operatore di cambio priorità</strong></li>
<ol>
<li><strong>()</strong>, probabilmente il più semplice. Come in matematica, il contenuto delle parentesi viene eseguito per primo. Se vogliamo che una porzione della nostra espressione venga eseguita prima delle altre, non dovremo fare altro che racchiuderla nelle parentesi</li>
</ol>
</ul>
<p>E ora una piccola tabella per capire chi prevale su chi, dato che di operatori è pieno il mondo, dovremo ben sapere in che ordine il compilatore li leggerà. Ogni riga ha prevalenza sulla successiva e si legge da sinistra a destra, salvo dove diversamente specificato. Gli operatori <em>unari </em><strong>+ &#8211; &#038; *</strong> hanno diritto di precedenza sui loro omonimi <em>binari</em>. In questo elenco ci sono alcuni operatori che non ho trattato, perchè troppo avanzati. Quando avrò iniziato a capirci qualcosa di più, farò un articolo integrativo, parola di lupetto.</p>
<p><strong>N.B.</strong> Ho diviso ogni operatore dall&#8217;altro, tramite delle graffe { }</p>
<pre class="brush: cpp;">{()}  {[]} {-&gt;} {.}
{!} {~} {++} {- -} {+} {-} {*} {&amp;} {(tipo)} {sizeof } (da destra a sinistra)
{*} {/} {%}
{*} {-}
{&lt;&lt;} {&gt;&gt;}
{&lt;} {&lt;=} {&gt;} {&gt;=}
{==} {!=}
{&amp;}
{^}
{|}
{&amp;&amp;}
{||}
{?:}                      (da destra a sinistra)
{=} {+=} {-=} {*=} {/=} {&amp;=} {^=} {|=} {&lt;&lt;=} {&gt;&gt;=} (da destra a sinistra)
{,}</pre>
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Altri operatori ed elenco delle precedenze' alt='[C] - Altri operatori ed elenco delle precedenze' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/" title="[C] &#8211; Break, continue, goto ed etichette">[C] &#8211; Break, continue, goto ed etichette</a>
<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Altri operatori ed elenco delle precedenze' alt='[C] - Altri operatori ed elenco delle precedenze' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while">[C] &#8211; Cicli while, for, do-while</a>
<p>Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Altri operatori ed elenco delle precedenze' alt='[C] - Altri operatori ed elenco delle precedenze' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Altri operatori ed elenco delle precedenze' alt='[C] - Altri operatori ed elenco delle precedenze' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a>
<p>In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Altri operatori ed elenco delle precedenze' alt='[C] - Altri operatori ed elenco delle precedenze' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a>
<p>Sabato ci siamo fermati ad esaminare gli operatori aritmetici, relazionali e logici, oggi guarderemo gli operatori&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/" title="[C] &#8211; Operatori aritmetici, relazionali e logici (6 giugno 2009)">[C] &#8211; Operatori aritmetici, relazionali e logici</a> (3)</li>
	<li><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento (9 giugno 2009)">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch (11 giugno 2009)">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/" title="[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni (5 giugno 2009)">[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while (28 agosto 2009)">[C] &#8211; Cicli while, for, do-while</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</title>
		<link>http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/</link>
		<comments>http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 09:01:28 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=609</guid>
		<description><![CDATA[<p>Sabato ci siamo fermati ad esaminare gli <a href="http://blogger.m3c.it/c/c-operatori-aritmetici-relazionali-logici/" onclick="target='_blank';">operatori aritmetici, relazionali e logici</a>, oggi guarderemo gli operatori di incremento, di decremento, di manipolazione dei bit e assegnamento.<br />
<img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />
<ul>
<li>Operatori di incremento</li>
<ol>
<li><strong>++</strong>, aumenta di 1 il valore di una variabile</li>
</ol>
<li>Operatori di decremento</li>
<ol>
<li><strong>- -</strong>, diminuisce di 1 il valore di una variabile</li>
</ol>
<p>Possiamo utilizzarli come prefisso (<strong>++</strong><strong>n</strong>) o come suffisso (<strong>n</strong><strong>++</strong>). Utilizzandolo come prefisso, andiamo a modificare il valore di <strong>n</strong> prima che esso venga stabilito. Differentemente, prima si stabilisce</p></ul>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Sabato ci siamo fermati ad esaminare gli <a href="http://blogger.m3c.it/c/c-operatori-aritmetici-relazionali-logici/" onclick="target='_blank';">operatori aritmetici, relazionali e logici</a>, oggi guarderemo gli operatori di incremento, di decremento, di manipolazione dei bit e assegnamento.<br />
<img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />
<ul>
<li>Operatori di incremento</li>
<ol>
<li><strong>++</strong>, aumenta di 1 il valore di una variabile</li>
</ol>
<li>Operatori di decremento</li>
<ol>
<li><strong>- -</strong>, diminuisce di 1 il valore di una variabile</li>
</ol>
<p>Possiamo utilizzarli come prefisso (<strong>++</strong><strong>n</strong>) o come suffisso (<strong>n</strong><strong>++</strong>). Utilizzandolo come prefisso, andiamo a modificare il valore di <strong>n</strong> prima che esso venga stabilito. Differentemente, prima si stabilisce il valore di <strong>n</strong> e poi lo si aumenta di 1.</p>
<p><span id="more-609"></span></p>
<li>Operatori per la manipolazione dei bit</li>
<ol>
<li>di <strong>complemento a uno (unario)</strong>, <strong>~</strong>, converte ogni bit nel suo opposto, 1 diventa 0 e viceversa. Questa qui <strong>~</strong>, si chiama tilde e si ottiene con <em>ALT + 126</em> su Windows e <em>ALTGR + ì</em> su Linux.</li>
<li><strong>AND bit per bit</strong>, <strong>&#038;</strong>, azzera un insieme di bit, tranne l&#8217;ultimo valore a destra. Nel caso di confronto fra le due espressioni, mantiene i valori che hanno una corrispondenza. Ad esempio nel confronto fra <strong>00010100</strong> e <strong>00011000</strong>, elimina tutti i valori <strong>1</strong>, tranne l&#8217;unico con una corrispondenza, dando come risultato <strong>00010000</strong>.</li>
<li><strong>OR bit per bit</strong>, <strong>|</strong>, serve per impostare un <strong>1</strong> nelle posizioni in cui gli operandi presentano bit con valore <strong>1</strong>. Ad esempio nel confronto fra <strong>00010100</strong> e <strong>00011000</strong>, da come risultato <strong>00011100</strong>, sovrapponendo le due sequenze.</li>
<li><strong>OR bit per bit esclusivo</strong>, <strong>^</strong>, serve impostare un <strong>1</strong> nelle posizioni in cui gli operandi presentano bit dal valore diverso e <strong>0</strong> dove sono uguali.  Ad esempio nel confronto fra <strong>00010100</strong> e <strong>00011000</strong>, il risultato è <strong>00001100</strong>.</li>
<li>di <strong>scorrimento a sinistra</strong>, <strong><<</strong>, serve per traslare la posizione dei byte spostandosi due volte a sinistra.  Ad esempio <strong>00010100</strong> diventa 01010000.</li>
<li>di <strong>scorrimento a destra</strong>, <strong>>></strong>, serve per traslare la posizione dei byte spostandosi due volte a destra.  Ad esempio <strong>00010100</strong> diventa 00000101.</li>
</ol>
<li>Operatori di assegnamento</li>
<ol>
<li><strong>=</strong>, permette di assegnare il valore di un espressione ad una variabile. Sono anche possibili espressioni multiple, ad esempio <strong>x = y = k = 1</strong></li>
<li><strong>op</strong>, dove<strong>op</strong> può essere <strong>+ &#8211; * / % << >> &#038; ^ |</strong>. Questi operatori permettono di risparmiare del tempo nella scritta del codice, ad esempio <strong>x = x +</strong>1 equivale a <strong>x + = 1</strong> oppure <strong>y = y / 2</strong> equivale a <strong>y / = 2</strong>.</li>
</ol>
</ul>
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' alt='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/" title="[C] &#8211; Break, continue, goto ed etichette">[C] &#8211; Break, continue, goto ed etichette</a>
<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' alt='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while">[C] &#8211; Cicli while, for, do-while</a>
<p>Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' alt='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' alt='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a>
<p>In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' alt='[C] - Operatori ++, - -, manipolazione dei bit, assegnamento' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/" title="[C] &#8211; Altri operatori ed elenco delle precedenze">[C] &#8211; Altri operatori ed elenco delle precedenze</a>
<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p>Oggi guarderemo gli operatori condizionali egli&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/" title="[C] &#8211; Operatori aritmetici, relazionali e logici (6 giugno 2009)">[C] &#8211; Operatori aritmetici, relazionali e logici</a> (3)</li>
	<li><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch (11 giugno 2009)">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/" title="[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni (5 giugno 2009)">[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while (28 agosto 2009)">[C] &#8211; Cicli while, for, do-while</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-primi-passi/" title="[C] &#8211; C su Linux, primi passi (28 maggio 2009)">[C] &#8211; C su Linux, primi passi</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[C] &#8211; Operatori aritmetici, relazionali e logici</title>
		<link>http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/</link>
		<comments>http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 08:48:38 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=555</guid>
		<description><![CDATA[<p>Eccoci qui con un altra entusiasmante puntata di &#8220;impariamo C in allegria&#8221; !</p>
<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />Ok forse non c&#8217;è tanta allegria, dato che la mia faccia nel cercare informazioni su C è stata più o meno questa <img src='http://blogger.m3c.it/wp-includes/images/smilies/icon_confused.gif' alt=':???:' class='wp-smiley' />  , ma nonostante ciò ce l&#8217;ho fatta e i frutti che ne ho raccolto potete vederli qui di seguito.</p>
<p>Oggi parleremo degli Operatori di C, che vanno posti fra due espressioni per operare un confronto di tipo diverso a seconda dell&#8217;operatore in uso, di seguito la lista dei vari tipi, ma prima una piccola premessa. In C, 0 equivale a&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Eccoci qui con un altra entusiasmante puntata di &#8220;impariamo C in allegria&#8221; !</p>
<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/06/ansic.jpg" alt="Logo C Ansi" title="C Ansi" width="263" height="200" class="alignright size-full wp-image-593" />Ok forse non c&#8217;è tanta allegria, dato che la mia faccia nel cercare informazioni su C è stata più o meno questa <img src='http://blogger.m3c.it/wp-includes/images/smilies/icon_confused.gif' alt=':???:' class='wp-smiley' />  , ma nonostante ciò ce l&#8217;ho fatta e i frutti che ne ho raccolto potete vederli qui di seguito.</p>
<p>Oggi parleremo degli Operatori di C, che vanno posti fra due espressioni per operare un confronto di tipo diverso a seconda dell&#8217;operatore in uso, di seguito la lista dei vari tipi, ma prima una piccola premessa. In C, 0 equivale a falso <strong>(false)</strong>, tutti gli altri valori equivalgono a vero <strong>(true)</strong>:</p>
<p><span id="more-555"></span></p>
<ul>
<li>Operatori Aritmetici</li>
<ol>
<li>di <strong>Somma</strong> binario, <strong>+</strong>, somma due espressioni (2<strong>+</strong>2 = 4)</li>
<li>di <strong>Sottrazione</strong> binario, <strong>-</strong>, sottrae la seconda espressione alla prima (2<strong>-</strong>1 = 1)</li>
<li>di <strong>Moltiplicazione</strong> binario, <strong>*</strong>, moltiplica due espressioni (2<strong>*</strong>2 = 4)</li>
<li>di <strong>Divisione</strong> binario, <strong>/</strong>, divide la seconda espressione con la prima (2<strong>/</strong>2 = 1)</li>
<li><strong>Modulo</strong>, <strong>%</strong>, da il resto di una divisione (5<strong>%</strong>2=1), non applicabile a valori <strong>float </strong>o <strong>double</strong></li>
<li>di <strong>cambio segno</strong> unario, <strong>+</strong>, rende l&#8217;espressione positiva</li>
<li>di <strong>cambio segno</strong> unario, <strong>-</strong>, rende l&#8217;espressione negativa</li>
</ol>
<p>Gli operatori unari <strong>+</strong> e <strong>-</strong> hanno la precedenza sugli altri, dopo di loro hanno precedenza gli operatori <strong>*</strong>, <strong>/</strong> e <strong>%</strong> ed infine gli operatori binari <strong>+</strong> e <strong>-</strong></p>
<li>Operatori Relazionali</li>
<ol>
<li>di <strong>Maggioranza</strong>, <strong>></strong>, ritorna <strong>1</strong> se il valore della prima espressione è maggiore di quello della seconda, altrimenti <strong>0</strong></li>
<li>di <strong>Minoranza</strong>, <strong><</strong>, ritorna <strong>1</strong> se il valore della prima espressione è minore di quello della seconda, altrimenti <strong>0</strong></li>
<li>di <strong>Maggioranza o Uguaglianza</strong>, <strong>>=</strong>, ritorna <strong>1</strong> se il valore della prima espressione è maggiore o uguale di quello della seconda, altrimenti <strong>0</strong></li>
<li>di <strong>Minoranza o Uguaglianza</strong>, <strong><=</strong>, ritorna <strong>1</strong> se il valore della prima espressione è minore o uguale di quello della seconda, altrimenti <strong>0</strong></li>
<p>Questi quattro operatori hanno pari precedenza fra di loro e precedenza maggiore rispetto a tutti gli altri operatori relazionali.</p>
<li>di <strong>Uguaglianza</strong>, <strong>==</strong>, ritorna <strong>1</strong> se il valore della prima espressione è uguale a quello della seconda, altrimenti <strong>0</strong></li>
<li>di <strong>Disuguaglianza</strong>, <strong>!=</strong>, ritorna <strong>1</strong> se il valore della prima espressione è diverso a quello della seconda, altrimenti <strong>0</strong></li>
</ol>
<p>Tutti gli operatori relazionari hanno precedenza inferiore rispetto agli operatori aritmetici, che vengono considerati prima durante lo svolgimento dell&#8217;espressione. Ad esempio <strong>n > 2*2</strong> si legge <strong>n > (2*2)</strong>.</p>
<li>Operatori Logici</li>
<ol>
<li><strong>and</strong>, <strong>&#038;&#038;</strong>, se la prima espressione è falsa ritorna <strong>0</strong>, se è vera procede a valutare la seconda, se questa è falsa ritorna <strong>0</strong>, altrimenti da <strong>1</strong>.</li>
<li><strong>or</strong>, <strong>||</strong>, se la prima espressione è vera ritorna <strong>1</strong>, se è falsa procede a valutare la seconda, se questa è vera ritorna <strong>1</strong>, altrimenti da <strong>0</strong>.</li>
<li><strong>di negazione unario</strong>, <strong>!</strong>, se l&#8217;espressione ritorna <strong>0</strong> lo trasforma in <strong>1</strong>, se ritorna un numero diverso da <strong>0</strong> lo trasforma in <strong>0</strong>. In pratica trasforma una cosa vera in una cosa falsa e viceversa.</li>
</ol>
<p>L&#8217;operatore <strong>&#038;&#038;</strong> ha precedenza su <strong>||</strong>, mentre gli operatori relazionali e di uguaglianza hanno precedenza su tutti e due. L&#8217;operatore <strong>!</strong>, a quanto ho capito <em>lavora da solo</em> quindi non si parla di precedenza.</ul>
<p>Oggi avrei voluto affrontare tutti gli operatori, ma c&#8217;è ancora una sfilza di roba e i ho già sfruttato tutte le capacità intellettuali residue. Devo dire che sta funzionando, riesco ad assimilare qualcosa, finalmente. Penso di fare a breve un articolo guida con dentro i link ordinati ad ogni <em>lezione</em>, se così vogliamo chiamarle.<br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori aritmetici, relazionali e logici ' alt='[C] - Operatori aritmetici, relazionali e logici ' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/" title="[C] &#8211; Break, continue, goto ed etichette">[C] &#8211; Break, continue, goto ed etichette</a>
<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori aritmetici, relazionali e logici ' alt='[C] - Operatori aritmetici, relazionali e logici ' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while">[C] &#8211; Cicli while, for, do-while</a>
<p>Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori aritmetici, relazionali e logici ' alt='[C] - Operatori aritmetici, relazionali e logici ' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori aritmetici, relazionali e logici ' alt='[C] - Operatori aritmetici, relazionali e logici ' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a>
<p>In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Operatori aritmetici, relazionali e logici ' alt='[C] - Operatori aritmetici, relazionali e logici ' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/" title="[C] &#8211; Altri operatori ed elenco delle precedenze">[C] &#8211; Altri operatori ed elenco delle precedenze</a>
<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p>Oggi guarderemo gli operatori condizionali egli&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento (9 giugno 2009)">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch (11 giugno 2009)">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/" title="[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni (5 giugno 2009)">[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while (28 agosto 2009)">[C] &#8211; Cicli while, for, do-while</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-primi-passi/" title="[C] &#8211; C su Linux, primi passi (28 maggio 2009)">[C] &#8211; C su Linux, primi passi</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</title>
		<link>http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/</link>
		<comments>http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 08:29:45 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=537</guid>
		<description><![CDATA[<p>Dopo giorni di sfrenato cazzeggio mitigati da un po&#8217; di finti lavoro, torno sui miei libri di studio. L&#8217;altra volta abbiamo fatto i <a href="http://blogger.m3c.it/c/c-linux-primi-passi/" onclick="target='_blank';">primi passi con C, su Linux</a>, oggi inizieremo ad addentrarci nel linguaggio e vedere di assimilare i concetti base.</p>
<p>Ma prima una piccola premessa, il C è molto probabilmente il linguaggio più famoso ma ci sono pareri discordanti nella sua facilità di apprendimento per i neofiti. A me è stato consigliato da più persone ed indicato <em>come il migliore per imparare a programmare</em>, ma a quel che leggo nel web, viene indicato come un linguaggio&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Dopo giorni di sfrenato cazzeggio mitigati da un po&#8217; di finti lavoro, torno sui miei libri di studio. L&#8217;altra volta abbiamo fatto i <a href="http://blogger.m3c.it/c/c-linux-primi-passi/" onclick="target='_blank';">primi passi con C, su Linux</a>, oggi inizieremo ad addentrarci nel linguaggio e vedere di assimilare i concetti base.</p>
<p>Ma prima una piccola premessa, il C è molto probabilmente il linguaggio più famoso ma ci sono pareri discordanti nella sua facilità di apprendimento per i neofiti. A me è stato consigliato da più persone ed indicato <em>come il migliore per imparare a programmare</em>, ma a quel che leggo nel web, viene indicato come un linguaggio ostico, a causa dell&#8217;enorme flessibilità intrinseca che ci permette di scrivere la stessa cosa in un modo infinito di modi. In soldoni, è ben definito perchè ci sono poche istruzioni, ma queste poche istruzioni possono essere combinate in tantissimi modi, quindi è un bel po&#8217; incasinato.</p>
<p><span id="more-537"></span></p>
<p>Dopo questa premessa, che avrà ottenuto l&#8217;effetto di allontanare i lettori da quest&#8217;articolo (ma perchè l&#8217;ho fatta?!? ), possiamo iniziare.</p>
<p>Abbiamo quattro tipi di dati fondamentali, con relative dimensioni</p>
<p><strong>char</strong> : Grande un byte, contiene un singolo carattere</p>
<p><strong>int</strong> : E&#8217; un intero, varia da macchina a macchina</p>
<p><strong>float</strong> : E&#8217; un numero in virgola mobile, con precisione singola</p>
<p><strong>double</strong> : E&#8217; un numero con virgola mobile, con precisione doppia</p>
<p>A questo possiamo accoppiare agli interi gli attributi, tenendo presente che int può essere di 16 o 32 bit (lo decide il compilatore, valutando autonomamente ciò che ritiene adatto per la macchina su cui opera):</p>
<p><strong>short</strong> : indica un interno con dimensione massima pari a 16 bit</p>
<p><strong>long</strong> : indica un interno con dimensione minima pari a 32 bit</p>
<p>Ora, non ho mica capito tutta questa necessità di stabilire le dimensioni di quel che scriviamo. Posso presupporre che negli anni &#8216;70, nei quali è stato scritto C, fosse un grande problema, ma attualmente, pensare in bit è semplicemente assurdo. Ma ormai il linguaggio è questo, quindi tocca impararlo così.</p>
<p>Adesso passiamo alle <strong>costanti</strong>, come dice il nome si tratta di <em>qualcosa </em>che non muta, ma è fisso. </p>
<p>Ad esempio, con</p>
<pre class="brush: cpp;">#define MAXLINE 1000</pre>
<p>inserito all&#8217;inizio del nostro programma, con modalità che vedremo un altra volta, indica che l&#8217;attributo MAXLINE (cioè il numero massimo di righe di imput) ha come valore <strong>1000</strong>. Nel nostro programma potremo quindi richiamare direttamente <strong>MAXLINE </strong>invece che scrivere <strong>1000</strong>. In questo modo potremo successivamente modificare i valori del programma con estrema facilità, modificando il valore contenuto nella <strong>#define</strong>, senza dover andare a modificare una sfilza di valori interni. Il meccanismo è simile a quello dei <strong>CSS </strong>in pratica.</p>
<p>I C abbiamo delle costanti già impostate, che tramite due (o tre) caratteri ne rappresentano solo uno, andiamo a vederli.</p>
<p><strong>\a</strong> : segnale d&#8217;allerta</p>
<p><strong>\b</strong> : spazio</p>
<p><strong>\f</strong> : salto di pagina</p>
<p><strong>\n</strong> : newline, a capo</p>
<p><strong>\r</strong> : ritorno del carrello</p>
<p><strong>\t</strong> : tabulazione orizzontale</p>
<p><strong>\v</strong> : tabulazione verticale</p>
<p><strong>\\</strong> : barra inversa</p>
<p><strong>\?</strong> : punto interrogativo</p>
<p><strong>\&#8217;</strong> : apice</p>
<p><strong>\&#8221;</strong> : virgolette</p>
<p><strong>\000</strong> : da una a tre cifre in ottale (numeri da <strong>0</strong> a <strong>7</strong>)</p>
<p><strong>\xhh </strong> : una o più cifre esadecimali (numeri da <strong>0</strong> a <strong>9</strong>, lettere da <strong>a</strong> a <strong>f</strong>, lettere da <strong>A</strong> a <strong>F</strong>)</p>
<p>Abbiamo anche delle costanti di <em>enumerazione</em>, con le quali possiamo stabilire una lista di valori interi costanti, come:</p>
<pre class="brush: cpp;">enum mesi { Gen = 1, Feb, Mar, Apr, Mag, Giu, Lug, Ago = 2, Set, Ott, Nov, Dic }</pre>
<p>In questo caso abbiamo una seria di valori, a partire da <strong>1</strong>. <strong>Feb</strong>, sarà un <strong>2</strong>, <strong>Mar</strong>, un <strong>3</strong> e così via. Fino ad <strong>Ago</strong>, che ci permette di definire un altro punto dal quale iniziare a definire le costanti, <strong>Set</strong> sarà un <strong>3</strong> ad esempio.</p>
<p>Il vantaggio di questa tecnica è che si possono generare valori automaticamente e possiamo verificare i dati, cosa non possibile usando <strong>#define</strong>.</p>
<p>Veniamo quindi alle <strong>dichiarazioni</strong>, tutte le variabili devono essere dichiarate prima di essere dichiarate.</p>
<p>Con</p>
<pre class="brush: cpp;">int i = 0;</pre>
<p>dichiariamo che la variabile <strong>i</strong> è uguale a <strong>0</strong> (ed è un intero)</p>
<p>oppure che le variabili lower e upper sono degli interi, così:</p>
<pre class="brush: cpp;">int lower, upper;</pre>
<p>Abbiamo inoltre l&#8217;attributo <strong>const</strong>, che ci permette di dichiarare che il valore di una data variabile non subirà modifiche (le variabili normali vengono solitamente stravolte all&#8217;interno del programma).</p>
<p>Ad esempio</p>
<pre class="brush: cpp;">const int EXMPL = 1</pre>
<p>nel quale dichiariamo che l&#8217;intero <strong>EXMPL </strong>che corrisponde ad 1, è costante.</p>
<p>Bene per oggi ho consumato a sufficienza i neuroni, alla prossima.<br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Dimensioni dei dati, costanti e dichiarazioni' alt='[C] - Dimensioni dei dati, costanti e dichiarazioni' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/" title="[C] &#8211; Break, continue, goto ed etichette">[C] &#8211; Break, continue, goto ed etichette</a>
<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Dimensioni dei dati, costanti e dichiarazioni' alt='[C] - Dimensioni dei dati, costanti e dichiarazioni' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while">[C] &#8211; Cicli while, for, do-while</a>
<p>Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Dimensioni dei dati, costanti e dichiarazioni' alt='[C] - Dimensioni dei dati, costanti e dichiarazioni' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Dimensioni dei dati, costanti e dichiarazioni' alt='[C] - Dimensioni dei dati, costanti e dichiarazioni' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a>
<p>In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - Dimensioni dei dati, costanti e dichiarazioni' alt='[C] - Dimensioni dei dati, costanti e dichiarazioni' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-operatori-condizionali-cambio-priorita-elenco-precedenze/" title="[C] &#8211; Altri operatori ed elenco delle precedenze">[C] &#8211; Altri operatori ed elenco delle precedenze</a>
<p>Altro giorno altri operatori usati in C, non ce la faccio più.</p>
<p>Oggi guarderemo gli operatori condizionali egli&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/" title="[C] &#8211; Operatori aritmetici, relazionali e logici (6 giugno 2009)">[C] &#8211; Operatori aritmetici, relazionali e logici</a> (3)</li>
	<li><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento (9 giugno 2009)">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch (11 giugno 2009)">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while (28 agosto 2009)">[C] &#8211; Cicli while, for, do-while</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-primi-passi/" title="[C] &#8211; C su Linux, primi passi (28 maggio 2009)">[C] &#8211; C su Linux, primi passi</a> (2)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[C] &#8211; C su Linux, primi passi</title>
		<link>http://blogger.m3c.it/client/c-linux-primi-passi/</link>
		<comments>http://blogger.m3c.it/client/c-linux-primi-passi/#comments</comments>
		<pubDate>Thu, 28 May 2009 11:20:25 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=470</guid>
		<description><![CDATA[<p>Oggi ho preso una decisione storica (per me).</p>
<p>Visto che non riesco ad assimilare C, dovrò utilizzare un metodo alternativo. Quando andavo a scuola, il metodo migliore per imparare qualcosa era spiegarla a qualcuno. Per spiegare una cosa, la devi sapere, non c&#8217;è storia.</p>
<p>Riprendo quindi quel metodo, facendo degli articoli sul linguaggio C. Apprendimento e spiegazione insieme, insomma. Odio quei manuali pieni di paroloni e scritti in modo che non si capisca niente, cercherò quindi di parlare in modo semplice e chiaro&#8230; sarebbe alquanto imbarazzante non riuscire a capire le mie stesse parole.</p>
<p><strong>Cosa serve per poter lavorare in</strong>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Oggi ho preso una decisione storica (per me).</p>
<p>Visto che non riesco ad assimilare C, dovrò utilizzare un metodo alternativo. Quando andavo a scuola, il metodo migliore per imparare qualcosa era spiegarla a qualcuno. Per spiegare una cosa, la devi sapere, non c&#8217;è storia.</p>
<p>Riprendo quindi quel metodo, facendo degli articoli sul linguaggio C. Apprendimento e spiegazione insieme, insomma. Odio quei manuali pieni di paroloni e scritti in modo che non si capisca niente, cercherò quindi di parlare in modo semplice e chiaro&#8230; sarebbe alquanto imbarazzante non riuscire a capire le mie stesse parole.</p>
<p><strong>Cosa serve per poter lavorare in C?</strong></p>
<p><span id="more-470"></span></p>
<p>Se siamo in <strong>Windows</strong> ci serve un compilatore (tipo <strong>Dev-C++</strong>), se invece usiamo <strong>Linux</strong> (cosa che consiglio) ci basterà avviare una <em>shell </em>(o <strong>Terminale</strong>), dato che <em>GCC</em>, il compilatore di <strong>Linux</strong>, è installato in modo nativo nelle principali distribuzioni di Linux.</p>
<p>Il C è nato su <em>Unix</em>, quindi funzionerà in modo perfetto su <strong>Linux </strong>e darà qualche problemino su <strong>Windows</strong>. Nota bene, il <em>problemino</em> implica che quel che funziona su <strong>Linux </strong>potrebbe non funzionare affatto su <strong>Windows</strong>. Con C non ci sono vie di mezzo, o funziona o non funziona.</p>
<p>Se avete <strong>Windows </strong>ma non volete rinunciare a <strong>Linux </strong>per far girare C, vi consiglio di installarvi <a href="http://www.m3c.it/index.php/2009/05/02/installare-ubuntu-windows-virtualbox/" onclick="target='_blank';">VirtualBox mettendoci dentro Ubuntu</a>.</p>
<p>Di seguito qualche comando per iniziare a muoversi su <strong>Linux</strong>, vi ricordo che vanno digitati nella <em>shell </em>:</p>
<p><strong>ls</strong> : per vedere l&#8217;elenco dei file presenti nella cartella</p>
<p><strong>cd x</strong> : per entrare nella cartella x, ad esempio <em>cd Documenti</em> (vi ricordo che Linux è case sensitive)</p>
<p><strong>./nomefile</strong> : per eseguire il file desiderato, ovviamente <em>nomefile </em>va adattato secondo le proprie esigenze</p>
<p><strong>gcc -o nomefilefinale nomefileattuale.c</strong> : per compilare il programma in C da noi scritto.</p>
<p><strong>CTRL+D</strong> : Per inviare al programma un <strong>EOF</strong> (end of file) che pone fine alle varie istruzioni</p>
<p>I programmi in <strong>C</strong> si possono scrivere tranquillamente con un qualsiasi editor di testo. Vanno salvati come <em>nomeascelta.</em>c .</p>
<p>Successivamente vanno compilati e poi aperti, come già indicato. Faccio un breve esempio pratico:</p>
<pre class="brush: cpp;">#include &lt;stdio.h&gt;

main()
{
	printf(&quot;Ciao\n&quot;);
}</pre>
<p>Questo programmino serve a stampare a video la parola <em>Ciao</em>, </p>
<p>- la riga n° 1 serve ad includere la libreria base di <strong>C</strong>, </p>
<p>- la riga n° 3 definisce la funzione main, che deve essere presente in ogni programma.</p>
<p>- la riga n° 5 richiama la funzione <em>printf </em>che serve a stampare a video la parole <em>Ciao</em>, infine creiamo una nuova linea con <em>\n</em>, cioè <em>newline</em>. </p>
<p><strong>N.B.</strong> Le parentesi graffe, su Linux, si fanno con <em>CTRL+shift+[</em> oppure <em>CTRL+shift+]</em> (rispettivamente, graffa aperta e graffa chiusa).</p>
<p>Una volta che l&#8217;abbiamo scritto e salvato come <em>ciao.c</em> dobbiamo posizionarci nella cartella in cui abbiamo salvato il file, in questo modo.</p>
<p><img src="http://blogger.m3c.it/wp-content/uploads/2009/05/schermatac.jpg" alt="Screen di un programma in C" title="Programma in C" width="500" height="205" class="aligncenter size-full wp-image-473" /></p>
<p>Con il comando <em>ls</em> guardiamo dove siamo, successivamente usiamo <em>cd nomecartella</em> per entrare nella cartella contentente il file <em>ciao.c</em> quindi compiliamo il nostro file con <em>gcc -o ciao ciao.c</em>. A questo punto abbiamo un file compilato che si chiama <em>ciao</em> e possiamo eseguire, con il comando <em>./ciao</em>.</p>
<p>Per lavorare con C, non serve conoscere altri comandi. Nel prossimo articolo inizieremo a guardare le prime caratteristiche del linguaggio.<br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-content/uploads/2009/12/killertux-150x150.jpg' title='killertux' alt='killertux' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/programmi/installare-un-webserver-completo-su-ubuntu-apache-php-mysql/" title="Installare un WebServer completo Su Ubuntu (Apache,PHP,MySQL)">Installare un WebServer completo Su Ubuntu (Apache,PHP,MySQL)</a>
<p> Oggi è il mio ultimo giorno prima delle tanto sospirate vacanze. Non vi dico dove andrò per non rischiare un&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - C su Linux, primi passi' alt='[C] - C su Linux, primi passi' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-break-continue-goto-ed-etichette/" title="[C] &#8211; Break, continue, goto ed etichette">[C] &#8211; Break, continue, goto ed etichette</a>
<p>In alcuni casi può essere opportuno interrompere un ciclo, prima della sua conclusione. Per far questo,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - C su Linux, primi passi' alt='[C] - C su Linux, primi passi' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while">[C] &#8211; Cicli while, for, do-while</a>
<p>Dopo qualche (tanto) tempo, riprendiamo il ciclo &#8220;studiamo C&#8221;. Troppo tempo lontani dalla programmazione fa male,&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - C su Linux, primi passi' alt='[C] - C su Linux, primi passi' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/linguaggio-c/" title="Linguaggio C">Linguaggio C</a>
<p>In questa pagina raccolgo con ordine tutti i miei articoli su C. Lo scopo è di creare una sorta di guida&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='[C] - C su Linux, primi passi' alt='[C] - C su Linux, primi passi' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a>
<p>In C, così come in ogni altro linguaggio, dobbiamo seguire delle regolette di sintassi quando scriviamo il codice,&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/c-operatori-aritmetici-relazionali-logici/" title="[C] &#8211; Operatori aritmetici, relazionali e logici (6 giugno 2009)">[C] &#8211; Operatori aritmetici, relazionali e logici</a> (3)</li>
	<li><a href="http://blogger.m3c.it/client/c-operatori-incremento-decremento-manipolazione-bit-assegnamento/" title="[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento (9 giugno 2009)">[C] &#8211; Operatori ++, &#8211; -, manipolazione dei bit, assegnamento</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-istruzioni-blocchi-if-else-switch/" title="[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch (11 giugno 2009)">[C] &#8211; Istruzioni, blocchi, if-else, else-if, switch</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-linux-dimensioni-dati-costanti-dichiarazioni/" title="[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni (5 giugno 2009)">[C] &#8211; Dimensioni dei dati, costanti e dichiarazioni</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/c-cicli-while-for-do-while/" title="[C] &#8211; Cicli while, for, do-while (28 agosto 2009)">[C] &#8211; Cicli while, for, do-while</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/c-linux-primi-passi/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creare dei Box flottanti (elemento float)</title>
		<link>http://blogger.m3c.it/client/creare-box-flottanti-float/</link>
		<comments>http://blogger.m3c.it/client/creare-box-flottanti-float/#comments</comments>
		<pubDate>Thu, 07 May 2009 09:38:14 +0000</pubDate>
		<dc:creator>Joel</dc:creator>
				<category><![CDATA[Client Side]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[XHTML]]></category>

		<guid isPermaLink="false">http://www.m3c.it/?p=352</guid>
		<description><![CDATA[<p>Iniziamo con spiegare cosa fa la proprietà <strong>float</strong>.</p>
<p>Gli elementi a cui viene assegnata, vengono estratti dal normale flusso degli elementi della pagina e posizionati a destra o a sinistra rispetto al loro elemento contenitore.</p>
<p>Nonostante non seguano le normali regole di impaginazione, la loro presenza viene percepita dagli elementi che li circondano, che si regolano di conseguenza. Facciamo un esempio per capire meglio:<br />
<img src="http://blogger.m3c.it/wp-content/uploads/2009/05/diflottanti.jpg" alt="Immagine esempio sul float" title="Box flottanti" width="438" height="194" class="aligncenter size-full wp-image-355" /></p>
<p><span id="more-352"></span></p>
<p>Come possiamo vedere abbiamo un <em>div</em> contenitore</p>
<pre class="brush: xml;">&#60;div class=&#34;container&#34;&#62;&#60;/div&#62;</pre>
<p>a cui abbiamo attribuito un <em>padding</em> interno di 10&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Iniziamo con spiegare cosa fa la proprietà <strong>float</strong>.</p>
<p>Gli elementi a cui viene assegnata, vengono estratti dal normale flusso degli elementi della pagina e posizionati a destra o a sinistra rispetto al loro elemento contenitore.</p>
<p>Nonostante non seguano le normali regole di impaginazione, la loro presenza viene percepita dagli elementi che li circondano, che si regolano di conseguenza. Facciamo un esempio per capire meglio:<br />
<img src="http://blogger.m3c.it/wp-content/uploads/2009/05/diflottanti.jpg" alt="Immagine esempio sul float" title="Box flottanti" width="438" height="194" class="aligncenter size-full wp-image-355" /></p>
<p><span id="more-352"></span></p>
<p>Come possiamo vedere abbiamo un <em>div</em> contenitore</p>
<pre class="brush: xml;">&lt;div class=&quot;container&quot;&gt;&lt;/div&gt;</pre>
<p>a cui abbiamo attribuito un <em>padding</em> interno di 10 pixel per distanziare gli elementi contenuti, dall&#8217;elemento contenitore</p>
<pre class="brush: css;">.container{
	padding: 10px;
}</pre>
<p>e abbiamo definito la sua <em>larghezza </em>e la sua <em>altezza</em>. Fate ben attenzione all&#8217;<em>altezza</em>, <strong>indispensabile </strong>per una corretta visualizzazione. Gli elementi flottanti infatti, non vengono considerati come contenuto e quindi non ridimensionano automaticamente il box contenitore. Si può ottenere un effetto simile inserendo del contenuto non flottante all&#8217;interno del box contenitore.</p>
<pre class="brush: css;">.width150{
	width: 150px;
}

.height50{
	height: 50px;
}</pre>
<p>E sei piccoli <em>box</em>, tre a cui abbiamo attribuito un <strong>float: left;</strong></p>
<pre class="brush: xml;">&lt;div class=&quot;floatleft&quot;&gt;&lt;/div&gt;</pre>
<pre class="brush: css;">.floatleft{
	float: left;
}</pre>
<p>e tre a cui abbiamo attribuito un <strong>float: right;</strong></p>
<pre class="brush: xml;">&lt;div class=&quot;floatright&quot;&gt;&lt;/div&gt;</pre>
<pre class="brush: css;">.floatright{
	float: right;
}</pre>
<p>A cui abbiamo combinato un po&#8217; di <em>margini</em></p>
<pre class="brush: css;">.marginbottom1-0{
	margin-bottom: 10px;
}

.marginleft1-0{
	margin-left: 10px;
}</pre>
<p>Combinando il tutto, questo è il codice</p>
<pre class="brush: xml;">&lt;div class=&quot;container width150 height50&quot;&gt;
&lt;div class=&quot;floatleft marginbottom1-0&quot;&gt;1&lt;/div&gt;
&lt;div class=&quot;floatleft marginbottom1-0 marginleft1-0&quot;&gt;2&lt;/div&gt;
&lt;div class=&quot;floatleft marginbottom1-0 marginleft1-0&quot;&gt;3&lt;/div&gt;
&lt;div class=&quot;floatright marginbottom1-0 marginleft1-0&quot;&gt;4&lt;/div&gt;
&lt;div class=&quot;floatright marginbottom1-0 marginleft1-0&quot;&gt;5&lt;/div&gt;
&lt;div class=&quot;floatright marginbottom1-0 marginleft1-0&quot;&gt;6&lt;/div&gt;
&lt;/div&gt;</pre>
<p>Qui ne potete vedere <a href='http://blogger.m3c.it/wp-content/uploads/2009/05/divflottanti.html'>l&#8217;applicazione</a>, <em>nella quale ho aggiunto dei bordi neri per far meglio capire la struttura</em>.</p>
<p>Il codice originale, senza bordi, lo trovate qui, in .rar pronto per il <a href='http://blogger.m3c.it/wp-content/uploads/2009/05/divflottantioriginal.rar'>dowload</a>.<br />
<h3>Articoli correlati</h3>
<ul class="related_post">
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='Creare dei Box flottanti (elemento float)' alt='Creare dei Box flottanti (elemento float)' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/wordpress/commenti-nidificati-wordpress-guida-configurazione/" title="Commenti nidificati su WordPress &#8211; Guida alla configurazione">Commenti nidificati su WordPress &#8211; Guida alla configurazione</a>
<p>Nella continua ricerca di soluzioni per migliorare questo blog, sono arrivati ai commenti. Ovviamente non ricordo&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-includes/images/crystal/default.png' title='Creare dei Box flottanti (elemento float)' alt='Creare dei Box flottanti (elemento float)' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/creare-tabella-div/" title="Creare una tabella con i div">Creare una tabella con i div</a>
<p>Uno degli ostacoli più grossi al passaggio da layout tabellari e layout table-less è l&#8217;oggettiva difficoltà nel&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-content/uploads/2009/04/swfobject_logo1-150x106.gif' title='swfobject' alt='swfobject' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/release-swfobject-2-2-beta/" title="Rilasciato SWFObject 2.2 beta">Rilasciato SWFObject 2.2 beta</a><br />

<p>SWFObject 2.2 è&#8230; ma no, partiamo dall&#8217;inizio. Cos&#8217;è SWFObject?</p>
<p>SWFObject è un progetto sviluppato su&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-content/uploads/2009/04/w3c_main-150x48.png' title='World Wide Web Consortium' alt='World Wide Web Consortium' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/client/css-verso-un-web-piu-flessibile-e-potente/" title="CSS : Verso un web più flessibile e potente">CSS : Verso un web più flessibile e potente</a>
<p>Come ormai anche i muri sanno, il W3C sta indirizzando il web verso una sempre più netta separazione tra&#8230;</p>
</div>
</div>
<p>
<div id="post_div">
<div class="img_related_post"><img src='http://blogger.m3c.it/wp-content/uploads/2009/04/broserseleziona-150x150.jpg' title='Browsershots' alt='Browsershots' /></div>
<div class="text_related_post"><a href="http://blogger.m3c.it/internet/browsershots/" title="Browsershots">Browsershots</a><br />

<p>Una delle domande più frequenti che rimbalzano nella testa di chi realizza siti internet, è questa:</p>
<p>Come&#8230;</p>
</div>
</div>
<p></ul>

	<br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://blogger.m3c.it/client/release-swfobject-2-2-beta/" title="Rilasciato SWFObject 2.2 beta (18 aprile 2009)">Rilasciato SWFObject 2.2 beta</a> (9)</li>
	<li><a href="http://blogger.m3c.it/client/css-verso-un-web-piu-flessibile-e-potente/" title="CSS : Verso un web più flessibile e potente (17 aprile 2009)">CSS : Verso un web più flessibile e potente</a> (0)</li>
	<li><a href="http://blogger.m3c.it/client/creare-tabella-div/" title="Creare una tabella con i div (28 aprile 2009)">Creare una tabella con i div</a> (10)</li>
	<li><a href="http://blogger.m3c.it/wordpress/commenti-nidificati-wordpress-guida-configurazione/" title="Commenti nidificati su WordPress &#8211; Guida alla configurazione (3 giugno 2009)">Commenti nidificati su WordPress &#8211; Guida alla configurazione</a> (4)</li>
	<li><a href="http://blogger.m3c.it/internet/browsershots/" title="Browsershots (10 aprile 2009)">Browsershots</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://blogger.m3c.it/client/creare-box-flottanti-float/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
