<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/oboegaki_c/">
    <title>oboegaki_c @ ウィキ</title>
    <link>http://w.atwiki.jp/oboegaki_c/</link>
    <atom:link href="https://w.atwiki.jp/oboegaki_c/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>oboegaki_c @ ウィキ</description>

    <dc:language>ja</dc:language>
    <dc:date>2007-04-16T10:39:01+09:00</dc:date>
    <utime>1176687541</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/25.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/24.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/23.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/22.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/16.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/oboegaki_c/pages/14.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/25.html">
    <title>学習C言語~10日で出来るようになろう</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/25.html</link>
    <description>
      ----
一日目
午前
-[[PCのつくりを理解しよう]]
午後
-[[プログラムの出来るPCとは？？]]
----
二日目
午前
-[[書いて動かしてみよう~はじめの一歩]]
午後
-[[変数ってなに？？？]]
----
三日目
午前
-[[変数とは]]
午後
-[[変数の応用~配列と構造体]]
----
四日目
午前
-[[条件で分岐させてみよう]]
午後
-[[繰り返しの作業をやらせてみよう]]
----
五日目
午前
-[[関数を自分で作ってみよう]]
午後
-[[関数の引数と戻り値]]
----
六日目
午前
-[[誰が見てもわかりやすいプログラムのしかた]]
午後
-[[午前の続き]]
----
七日目
午前
-[[UNIXとシェルについて]]
午後
-[[シェルもかける？]]
----
八日目
午前
-[[データベース]]
午後
-[[シェルとデータベース]]
----
九日目
-[[設計をしてみよう]]
----
十日目
-[[bbs]]
----    </description>
    <dc:date>2007-04-16T10:39:01+09:00</dc:date>
    <utime>1176687541</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/24.html">
    <title>6.構造体・配列</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/24.html</link>
    <description>
      構造体は変数の集合体です。
何で一つずつばらばらな変数ではだめなのか。。。

以下の例を参考に説明していきます。

inoue     30saitamasi   1ohno      24tokorozawasi2

上記の文は一見するとよくわからないと思いますが、
実はchar name  [10];
　　char age   [ 2];
　　char adress[12];
　　char sex   [ 1];
という意味を持つ文字列です。    </description>
    <dc:date>2007-04-12T12:00:50+09:00</dc:date>
    <utime>1176346850</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/23.html">
    <title>PCの話</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/23.html</link>
    <description>
      基本的なPCの知識です。
いらない人は読み飛ばしてください。

**パーツ
PCは主に下記のパーツからできています。
-[[マザーボード]]
 いわゆる基盤です。
 どこまでPCの性能が上がるかはこのパーツにかかっています。
 人間で言う「才能」みたいなものです。
-[[CPU]]
 計算するところです。
 人間で言う考える部分です。
 このパーツの良し悪しはPCそのものの良し悪しを左右します。
-[[メモリ]]
 一時的に記憶しておくところです。
 概念が難しいのですが、
 人間で言うと、一夜漬けで覚えられる量にたとえられます。
 C言語では、ここの使い方が非常に重要になってきます。
-[[HDD]]
 PCのスペック（性能）で容量というとたいていこのパーツの
 値が言われます。
 ずっと記憶していられるところがここです。
-[[ROM]]
 CD－ROMやらDVD－ROMやらを読むところがここです。
 書き込むことも出来ます。
-[[サウンドボード]]
 音声関連の処理をするところです。
-[[グラフィックボード]]
 映像関連の処理をするところです。
-[[ディスプレイ]]
 映像を出力するところです。

詳しくは各リンク先へ飛んで内容を確認してください。    </description>
    <dc:date>2007-04-20T13:43:02+09:00</dc:date>
    <utime>1177044182</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/22.html">
    <title>9.他雑多。。。ここがホントの覚書</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/22.html</link>
    <description>
       グローバル変数について

。。。まぁ。。。つかわないに越したことはないのですよ。
どうしても渡さなきゃならない変数が増えすぎちゃったときとか、
管理するのに疲れちゃったときにこっそりつかってください。

。。。でもね。。。大抵そんなコードは破綻してるので、
書き直しちゃったほうがいいかもだよ。
普通はソース内でよく使う変数はひとまとめに構造体にしちゃって
渡すのはそれだけ！！！みたいにしてるとこがほとんどです。

構造体の構造体の構造体の配列。。。。みたいになっちゃうとかえって
読み辛くなっちゃうんだけどね。。。

 GOTO文について

つかうな！！！
。。。マジで
わけわかんなくなるから。
SQLのERRトラップぐらいならまだ許せるけど、
普通にGOTO文で行ったり来たりしてるソースはついDELETEしたくなる。    </description>
    <dc:date>2007-03-05T17:35:34+09:00</dc:date>
    <utime>1173083734</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/21.html">
    <title>5.LOGIC</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/21.html</link>
    <description>
      LOGICとは。。。
いわゆる判定文やループのことです。

代表的なものに「if」「for」「swich」があります。
以下のソースを参考に使い方をみてください。

 #include&lt;stdio.h&gt;
 int main(void)
 {
    int i=0;
    int cnt=10;
    
    printf(&quot;ここからぐるぐる回そう！！\n&quot;);
 
    for(i=0;i&lt;10;i++)
    {
       printf(&quot;%d\n&quot;,i); 
       if(i=cnt)
       {
           printf(&quot;i=cnt\n&quot;);
       }
    }
   return 0;
 }

もうひとつ



 #include&lt;stdio.h&gt;
 
 #define BD_KD10 10
 #define BD_KD20 20
 
 int main(void)
 {
    int i=0;
    
 
    printf(&quot;ここからぐるぐる回そう！！\n&quot;);
 
    swich(int)
        case BD_KD10; 
        printf(&quot; BD_KD10 \n&quot;); 
        case BD_KD20;       
        printf(&quot;break!!\n&quot;);
        break;
        default;
        printf(&quot;%d\n&quot;,i)
    }
   return 0;
 }

動かして見ましょう。
きっとどんな風に「i」の数が変化するかがわかるはずです。

以上のLOGICの組み合わせで、すべてのプログラムが理論上は作成可能です。

ここから先は、プログラムをきれいに、わかりやすく書くための
テクニックの話になっていきます。    </description>
    <dc:date>2007-03-05T13:48:52+09:00</dc:date>
    <utime>1173070132</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/20.html">
    <title>4.入出力</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/20.html</link>
    <description>
      今回はファイルから情報をとりこんだり、
ファイルへ情報を書き込んだりしてみましょう。

 #include&lt;stdio.h&gt;
 
 int main()
 {
     FILE *fp;
     char  a[20];
     char  buff[20];
     
     memset(buff,&#039;\0&#039;,sizeof(buff));
     memset(a,&#039;\0&#039;,sizeof(a));
     
     fp=fopen(&quot;test.txt&quot;,&quot;r&quot;);
     if(fp==NULL)
     {
         printf(&quot;ファイルが開けませんでした。\n&quot;);
         return 1;
     }
     fgets(a,sizeof(a),fp);
     strncpy(buff,a,strlen(a)-1); 
 
     printf(&quot;buff=%s\n&quot;,buff);
     
     close(fp);
     return 0;
 }

まずは入力です。
頭からざっと説明しますと、、、

 FILE *fp;
これはこのソースではファイルをつかいますよ！！っていう宣言です。
「*fp」は好きに名前をつけてかまいませんが、「*」はとっちゃだめです。
「*」に関しては、[[8.ポインタ]]で詳しく説明します。
 fp=fopen(&quot;test.txt&quot;,&quot;r&quot;);
これで&quot;test.txt&quot;という名前のファイルを開きます。
「&quot;r&quot;」というのはreadモードでひらくと言う意味です。
他にも
「&quot;w&quot;」書き込み用 
「&quot;a&quot;」追加書き込み用 
などがあり、用途によって読み込み方が違うので注意しましょう。
 if(fp==NULL)
 {
     printf(&quot;ファイルが開けませんでした。\n&quot;);
     return 1;
 }
これはファイルが開けなかったときのための
エラートラップです。
「fopen」は指定されたファイルが開けなかった場合、
「fp」に「NULL」をいれてくれます。
詳しくは、[[ヘッダ＆標準関数表]]を参照してください。
 fgets(a,sizeo    </description>
    <dc:date>2007-02-05T10:43:06+09:00</dc:date>
    <utime>1170639786</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/19.html">
    <title>bbs</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/19.html</link>
    <description>
      #comment_num2(size=30,vsize=3,num=20,logpage=コメントログ)    </description>
    <dc:date>2007-04-11T15:46:45+09:00</dc:date>
    <utime>1176274005</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/16.html">
    <title>8.ポインタ</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/16.html</link>
    <description>
      まず、ポインタとは何か。。。
説明する前に、PCの構造を理解しないといけません。

C言語では関数を宣言するとPCのメモリ上に
関数が存在する場所を確保します。

同じように、変数を関数の中で宣言すると、
変数が存在する場所をメモリ上に確保します。

それぞれがメモリ上にある場所を確保すると、今度はその場所の中に
文字列やら、数字やらを入れていくわけですが、、、

関数間で大きなデータをやり取りすると、どうしても
関数の中でそれぞれの変数を宣言することになり、
メモリを大きく消費してしまいます。

そこで、大きな変数をやり取りする際には、
それぞれの変数がどこにあるかを把握し、
その場所を関数間でやり取りをしてあげると、
使うメモリの量は極端に少なくなります。

。。。前置きはこのくらいにして、
今回もソースを見て行きましょう。。。
と、そのまえに、次のようなtxtファイルを、
ソースのあるディレクトリ（フォルダ）に[test2.txt]って名前をつけて用意しておいてください。

 inoue,30,さいたま市
　
。。。一行でいいです。
お好みに応じて追加してもいいですけど。


それでは、ここからソースになります。


 #include&lt;stdio.h&gt;
 #include&lt;string.h&gt;
 #include&lt;stdlib.h&gt;
 
 int hyouzi(char* buff);
 
 typedef struct{
     int  age;
     char name[20];
     char adr [20];
 } add;
 
 int main()
 {
     FILE *fp;
     char  a[20];
     char  buff[20];
     
     memset(buff,&#039;\0&#039;,sizeof(buff));
     memset(a,&#039;\0&#039;,sizeof(a));
     
     fp=fopen(&quot;test2.txt&quot;,&quot;r&quot;);
     if(fp==NULL)
     {
         printf(&quot;ファイルが開けませんでした。\n&quot;);
           </description>
    <dc:date>2007-02-02T15:56:20+09:00</dc:date>
    <utime>1170399380</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/15.html">
    <title>関数</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/15.html</link>
    <description>
      パケ放題とか絶滅したから 

#include&lt;stdio.h&gt;
 
 
 int a;
 int b;
 int c;
 int d;
 
 int main(void)
 {
 	a=b=d=0;
 	
 	
  	printf(&quot;DOCOMOの一年割引、ファミリー割引に入ってますか？\n&quot;);
 	printf(&quot;一年割引に入っている場合は１、両方の場合は２、\n&quot;);
 	printf(&quot;なにも入ってない場合は３を入力してください。＞\n&quot;);
 	scanf(&quot;%d&quot;,&amp;d);
	
 	printf(&quot;通話時間を数字で入力してください。：&quot;);
 	scanf(&quot;%d&quot;,&amp;a);
	
 	printf(&quot;パケット数を数字で入力してください。：&quot;);
 	scanf(&quot;%d&quot;,&amp;b);
	
 	if(d==1){
 		yta(a);
 	}else if(d==2){
 		fyta(a);
 	}else {
 		ta(a);
 	}
 	pa(b);
 	
 	if(d==1){
 		c = ytv(a) + pv(b) + 200;
 	}else if(d==2){
 		c = fytv(a) + pv(b) + 200;
 	}else {
 		c = tv(a) + pv(b) + 200;
 	}
 	printf(&quot;料金の概算は%dです。\n&quot;,c);
 	
 	
 	return 0;
 } 
 void ta(int a)
 {
 	if(a &lt;= 55 &amp;&amp; a&gt;0){
 		printf(&quot;タイプSS\n&quot;);
 	}else if(a &lt;=111 &amp;&amp; a&gt;55){
 		printf(&quot;タイプS\n&quot;);
 	}else if(a &lt;=250 &amp;&amp; a&gt;111){
 		printf(&quot;タイプM\n&quot;);
 	}else if(a &lt;=600 &amp;&amp; a&gt;250){
 		printf(&quot;タイプL\n&quot;);
 	}else{
 		printf(&quot;タイプLL\n&quot;);
 	}
 } 
 int tv(int a)
 {
 	if(a &lt;= 25 &amp;&amp; a&gt;0){
 		a = 3600;
 	}    </description>
    <dc:date>2014-01-09T15:56:43+09:00</dc:date>
    <utime>1389250603</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/oboegaki_c/pages/14.html">
    <title>デバッガ　in　UNIX</title>
    <link>https://w.atwiki.jp/oboegaki_c/pages/14.html</link>
    <description>
      **dbx
 [使い方。]
 cc に -g オプションを付けてコンパイルする。 
  % cc -g ファイル名.c -o 実行形式 
  % dbx 実行形式 
 [良く使うコマンド。] 
    コマンド          機能
    run  {引数}       実行 
    list {行番号}     ソース・プログラムの表示 
    where             バックトレース 
    up                関数呼び出しで１つ上（mainに近い方）へ移動 
    down              関数呼び出しで１つ下（mainに遠い方）へ移動 
    print 式          変数表示 
    next             １行実行。手続き呼び出しがあっても次の行。 
    step             １行実行。ただし、手続き呼び出しがあると、その手続きの中に入る。 
    stop at 行番号   その行にブレーク・ポイントの設定 
    stop in 関数名   その関数にブレーク・ポイントの設定 
    cont             実行再開。 
    status           ブレーク・ポイントの表示 
    delete 番号      ブレーク・ポイントの解除 
    call 関数(引数)   関数呼び出し。インタプリタ感覚。 
    func 関数         注目する関数の切り替え 
    file ファイル名   注目するファイルの切り替え 
 くわしくは、dbx を実行して help。man dbx。     </description>
    <dc:date>2007-01-17T23:52:23+09:00</dc:date>
    <utime>1169045543</utime>
  </item>
  </rdf:RDF>
