<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[C Fragen eines Anfängers (VisualStudio)]]></title><description><![CDATA[<p>hallo,</p>
<p>ich versuche derzeit mir ein bisschen die Grundlagen von C++ anzueignen. Erfahrung habe ich bereits mit TP (Schule) und VB gemacht, wobei mir VB immer viel Spaß gemacht hat.</p>
<p>Da ich im Internet ein nettes Tutorial gefunden habe, dachte ich mir, das ich dieses einfach einmal abarbeite. Doch auch bei den besten Tut's treten hin und wieder fragen auf:</p>
<p>1. Was genau bedeutet &quot;%d&quot; ? Dient dies nur als Platzhalter, so das der compiler weiss, das an dieser stelle eine Variable eingesetzt werden muss ?</p>
<p>2. ich glaube ich bin zu blöd die Syntax von Schleifen zu verstehen. Bei VB war das ja super einfach, aber auf folgendes kann ich mir einfach keinen reim machen:</p>
<pre><code>void main(void)
{
    int DezZahl;
    int i;
    int xyz;

    printf (&quot;\nBitte Zahl eingeben ( 0 - 255 ) : &quot;);
    scanf  (&quot;%d&quot;, &amp;DezZahl);

    printf (&quot;\n\n%d ist in Binaerdarstellung &quot;,DezZahl);

    for ( i = 7 ; i &gt;= 0 ; i--)

    {
        if ( DezZahl&amp;(1&lt;&lt;i)) printf (&quot;1&quot;);
        else printf (&quot;0&quot;);
    }
    printf (&quot;\n\n&quot;);
</code></pre>
<p>was genau passiert dort in der schleife ?</p>
<p>--&gt; for (i = 7 ; i &gt;= 0 ; i--)<br />
i startet mit dem wert 7; i muss grösser gleich null sein; und das &quot;i--&quot; ?</p>
<p>--&gt; if ( DezZahl&amp;(1&lt;&lt;i)) printf (&quot;1&quot;);<br />
was genau hat diese stelle zu bedeuten ?</p>
<p>3. wie ist der befehl um eine beliebige tasteneingabe abzuwarten ? habe das problem, das sich mein dos-fenster sofort nach ausführen des codes wieder schliesst.</p>
<p>vielen dank im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/189010/c-fragen-eines-anfängers-visualstudio</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 21:33:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/189010.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Aug 2007 13:07:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Tue, 07 Aug 2007 13:07:45 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich versuche derzeit mir ein bisschen die Grundlagen von C++ anzueignen. Erfahrung habe ich bereits mit TP (Schule) und VB gemacht, wobei mir VB immer viel Spaß gemacht hat.</p>
<p>Da ich im Internet ein nettes Tutorial gefunden habe, dachte ich mir, das ich dieses einfach einmal abarbeite. Doch auch bei den besten Tut's treten hin und wieder fragen auf:</p>
<p>1. Was genau bedeutet &quot;%d&quot; ? Dient dies nur als Platzhalter, so das der compiler weiss, das an dieser stelle eine Variable eingesetzt werden muss ?</p>
<p>2. ich glaube ich bin zu blöd die Syntax von Schleifen zu verstehen. Bei VB war das ja super einfach, aber auf folgendes kann ich mir einfach keinen reim machen:</p>
<pre><code>void main(void)
{
    int DezZahl;
    int i;
    int xyz;

    printf (&quot;\nBitte Zahl eingeben ( 0 - 255 ) : &quot;);
    scanf  (&quot;%d&quot;, &amp;DezZahl);

    printf (&quot;\n\n%d ist in Binaerdarstellung &quot;,DezZahl);

    for ( i = 7 ; i &gt;= 0 ; i--)

    {
        if ( DezZahl&amp;(1&lt;&lt;i)) printf (&quot;1&quot;);
        else printf (&quot;0&quot;);
    }
    printf (&quot;\n\n&quot;);
</code></pre>
<p>was genau passiert dort in der schleife ?</p>
<p>--&gt; for (i = 7 ; i &gt;= 0 ; i--)<br />
i startet mit dem wert 7; i muss grösser gleich null sein; und das &quot;i--&quot; ?</p>
<p>--&gt; if ( DezZahl&amp;(1&lt;&lt;i)) printf (&quot;1&quot;);<br />
was genau hat diese stelle zu bedeuten ?</p>
<p>3. wie ist der befehl um eine beliebige tasteneingabe abzuwarten ? habe das problem, das sich mein dos-fenster sofort nach ausführen des codes wieder schliesst.</p>
<p>vielen dank im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340166</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340166</guid><dc:creator><![CDATA[Neomon]]></dc:creator><pubDate>Tue, 07 Aug 2007 13:07:45 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Tue, 07 Aug 2007 13:26:56 GMT]]></title><description><![CDATA[<p>@1: das ist kein Platzhalter für den Compiler, sondern für die Funktion scanf() - mit diesen Kennzeichnungen kann sie unterscheiden, was für Eingaben sie zu erwarten hat (und mit scanf() kann man fast alle Build-in Datentypen von C einlesen).</p>
<p>@2:</p>
<pre><code class="language-cpp">for (
  i = 7 ;  // Initialisierung
  i &gt;= 0 ; // Abruchbedingung
  i--)     // Iteration
</code></pre>
<p>ist die klassische for()-Schleife - der Abschnitt 'Initialisierung' (i=7) wird ganz am Anfang der Schleife ausgeführt, der Abschnitt 'Iteration' (i-- = veringere i um 1) am Ende jedes Schleifendurchlaufs (bevor mit der 'Abbruchbedingung' (i&gt;=0) überprüft wird, ob noch ein Durchlauf nötig ist.<br />
(ja, in C kann die for()-Schleife etwas mehr als nur aufwärts/abwärts zu zählen :D)</p>
<pre><code class="language-cpp">if ( DezZahl&amp;(1&lt;&lt;i))
</code></pre>
<p>nutzt aus, daß C beliebige Zahlenwerte als Boolean interpretieren kann (0 ist false, andere Werte true) - DezZahl wird binär verUNDet mit 1&lt;&lt;i (d.h. eine Binärzahl mit genau einer 1 an Stelle i und ansonsten Nullen) - wenn das Ergebnis ungleich 0 ist (d.h. wenn an Bitstelle i von DezZahl eine 1 steht), wird die Anweisung hinter dem if() ausgeführt.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/5290">@3</a>: Wirf mal einen Blick in die Konsolen-FAQ - Thema &quot;automatisches Schließen verhindern&quot;</p>
<p>PS: Du solltest vielleicht von vorne anfangen, dein Tutorial durchzuarbeiten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340179</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 07 Aug 2007 13:26:56 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Tue, 07 Aug 2007 13:37:52 GMT]]></title><description><![CDATA[<p>1. Ja, %d dient als Platzhalter für eine Dezimalzahl die als nächster Parameter folgen muß.</p>
<p>2. Genau. i startet mit 7, bei jedem Durchgang wird i heruntergezählt. (Anstatt i-- hätte man auch i=i-1 schreiben können.) Die Schleife stoppt wenn i negativ wird. Es gibt also 8 Durchgänge.</p>
<p>&quot;&lt;&lt;&quot; ist der Schiftoperator. Wenn da steht 1&lt;&lt;i (mit i=3) wird die 1 genau 3 mal mit 2 multipliziert, was gleichbedeutend ist mit eine 1 um drei stellen nach links zu schieben.</p>
<p>&quot;&amp;&quot; ist binäres UND. Wenn zwei Binärzahlen mit UND verknüpft werden stehen nur an den Stellen 1 wo vorher an beiden Stellen 1 waren. Beispiel (00010011 UND 11111110) = 00010010</p>
<p>Wenn DezZahl 5 ist, ist sie in binärdarslellung 101.<br />
Im 1. Schleifendurchgang wird 101 UND 1 überprüft: Ergebis ist 001, es wird eine 1 ausgegeben.<br />
Im 2. Schleifendurchgang wird 101 UND 10 überprüft: Ergebis ist 000, es wird eine 0 ausgegeben.<br />
Im 2. Schleifendurchgang wird 101 UND 100 überprüft: Ergebis ist 100, es wird eine 1 ausgegeben.</p>
<p>CStoll war mal wieder schneller <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340193</guid><dc:creator><![CDATA[martinsalo]]></dc:creator><pubDate>Tue, 07 Aug 2007 13:37:52 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Tue, 07 Aug 2007 14:02:51 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>erst einmal vielen Dank für die schnelle Antwort.<br />
Als Tut habe ich mir das AOL tutrial von eurer seite heruntergeladen. Leider wird dort genau auf diese Sachen nicht explizit eingegangen, deshalb meine Frage(n) <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Und keine Angst, ich habe von vorne angefangen.</p>
<p>so ganz bin ich noch nicht dahintergestiegen.</p>
<pre><code class="language-cpp">if ( DezZahl&amp;(1&lt;&lt;i))
</code></pre>
<p>was genau bedeutet &quot;1&lt;&lt;i&quot; ?</p>
<blockquote>
<p>Wenn DezZahl 5 ist, ist sie in binärdarslellung 101.<br />
Im 1. Schleifendurchgang wird 101 UND 1 überprüft: Ergebis ist 001, es wird eine 1 ausgegeben.<br />
Im 2. Schleifendurchgang wird 101 UND 10 überprüft: Ergebis ist 000, es wird eine 0 ausgegeben.<br />
Im 2. Schleifendurchgang wird 101 UND 100 überprüft: Ergebis ist 100, es wird eine 1 ausgegeben.</p>
</blockquote>
<p>ok, das habe ich so weit verstanden:<br />
1. durchgang: 101 UND 001 = 001 usw...<br />
aber woher kommt dann die 10 und die 100 ?</p>
<p>danke schonmal für die geduld<br />
greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340218</guid><dc:creator><![CDATA[Neomon]]></dc:creator><pubDate>Tue, 07 Aug 2007 14:02:51 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Tue, 07 Aug 2007 14:12:30 GMT]]></title><description><![CDATA[<p>In &quot;1&lt;&lt;i&quot; gibt das i an um wieviel binäre Positionen die Zahl davor (hier 1) nach links verschoben wird.<br />
Aus 1&lt;&lt;3 würde 100 biniär oder 8 in dezimal werden.<br />
Man könnte auch schreiben 1*2^i</p>
<p>EDIT: Die binäre 10 entsteht dadurch das die 1 um eins nach links verschoben wurde, bei der binären 100 halt 3 Stellen nach links.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340228</guid><dc:creator><![CDATA[martinsalo]]></dc:creator><pubDate>Tue, 07 Aug 2007 14:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Tue, 07 Aug 2007 14:46:05 GMT]]></title><description><![CDATA[<p>super danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>nur um des Verständnis' wegen:</p>
<p>DezZahl = 23</p>
<pre><code class="language-cpp">for ( i = 7 ; i &gt;= 0 ; i--)

    {
        if ( DezZahl&amp;(1&lt;&lt;i)) printf (&quot;1&quot;);
        else printf (&quot;0&quot;);
    }
</code></pre>
<p>C++ wandelt die 23 in eine Binärzahl um. Also 00010111 !</p>
<pre><code class="language-cpp">DezZahl&amp;(1&lt;&lt;i
</code></pre>
<p>--&gt; 00010111 + 0000001 = 0000001 = 1<br />
--&gt; es wird also eine 1 ausgegeben.</p>
<p>beim 2ten durchgang:<br />
00010111 + 0000010 = 0000010 = 10</p>
<p>beim 3ten durchgang:<br />
00010111 + 0000100 = 0000100 = 100</p>
<p>beim 4ten durchgang:<br />
00010111 + 0001000 = 0000000 = 0</p>
<p>beim 5ten durchgang:<br />
00010111 + 0010000 = 0010000 = 10000</p>
<p>ALSO: 1 + 10 + 100 + 0 + 10000 = 10000 + 0 + 100 + 10 + 1 = 0010111</p>
<p>ist das so weit ok, oder habe ich einen denkfehler drin ?</p>
<p>das zeichen</p>
<pre><code class="language-cpp">&lt;&lt;
</code></pre>
<p>gilt also nur für binäre operationen um auf den nächsten bit zu wechseln ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340255</guid><dc:creator><![CDATA[Neomon]]></dc:creator><pubDate>Tue, 07 Aug 2007 14:46:05 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Tue, 07 Aug 2007 20:09:58 GMT]]></title><description><![CDATA[<p>entspricht das</p>
<pre><code class="language-cpp">if ( DezZahl&amp;(1&lt;&lt;i)) printf (&quot;1&quot;);
else printf (&quot;0&quot;);
</code></pre>
<p>nicht dem?</p>
<pre><code class="language-cpp">if ( DezZahl == i) printf(&quot;1&quot;);
else printf (&quot;0&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1340430</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340430</guid><dc:creator><![CDATA[nicht sicher]]></dc:creator><pubDate>Tue, 07 Aug 2007 20:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Wed, 08 Aug 2007 12:21:28 GMT]]></title><description><![CDATA[<p>hi,<br />
habe mal wieder eine frage. wobei ich langsam anfange mich an die syntax von c zu gewöhnen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>ich bin bei meinem tutorial nun bei dem umgang mit dateien angekommen. wenn man eine datei öffnet muss man diese ja einer prüfung unterziehen. dies wird in dem tut so gelöst:</p>
<pre><code class="language-cpp">if (datei == NULL ) 
{
            printf (&quot;\nDie Datei konnte nicht geöffnet werden!\n&quot;);
}
</code></pre>
<p>was genau bedeutet das &quot;== NULL&quot; ?<br />
wird dort geprüft ob die datei leer ist, also keinen inhalt besitzt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1340771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1340771</guid><dc:creator><![CDATA[Neomon]]></dc:creator><pubDate>Wed, 08 Aug 2007 12:21:28 GMT</pubDate></item><item><title><![CDATA[Reply to C Fragen eines Anfängers (VisualStudio) on Thu, 09 Aug 2007 06:55:02 GMT]]></title><description><![CDATA[<p>nicht sicher schrieb:</p>
<blockquote>
<p>entspricht das</p>
<pre><code class="language-cpp">if ( DezZahl&amp;(1&lt;&lt;i)) printf (&quot;1&quot;);
else printf (&quot;0&quot;);
</code></pre>
<p>nicht dem?</p>
<pre><code class="language-cpp">if ( DezZahl == i) printf(&quot;1&quot;);
else printf (&quot;0&quot;);
</code></pre>
</blockquote>
<p>Nein - ersteres steht (indirekt) für &quot;i-tes Bit in DezZahl ist gesetzt&quot;, letzteres für &quot;DezZahl hat den Wert i&quot;</p>
<p>@neomon: NULL steht für einen ungültigen Zeiger - und Funktionen wie fopen() geben mitunter NULL zurück, um Fehler zu kennzeichnen (d.h. die genannte Datei konnte nicht geöffnet werden).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1341206</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1341206</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 09 Aug 2007 06:55:02 GMT</pubDate></item></channel></rss>