2004-01-01から1年間の記事一覧

はじめての C

「文字と文字列の操作で使う関数」 getc(), getchar() ←入力のとき fgets() ←今回はパス putc(), putchar() ←出力のとき ・getc() とgetchar() は 1 バイトずつ入力して、ファイルの終わりになると EOF を返す。 ・getchar() は getc(標準入力) と同じ。 ・p…

はじめての C

関数 main() の引数を用いて 指定した名前のファイルに 指定した範囲の連続数を書き込む プログラムを作成せよ。 /* hikisu_4 */ #include #include /* 関数 atoi() に必要 */ /* * [使い方] $./hikisu_4 ファイル名 開始数 終了数 * [例] $./hikisu_4 temp …

はじめての C

ファイルを開閉して 読み書きをするためには、ファイル型のポインタ (fp) を用意しておく。 FILE *fp; ↑この "FILE" はヘッダファイル stdio.h で規定されている typedef 構造体。 renraku というファイルをつくって、それにメッセージを書き込むプログラム…

はじめての C

関数 main() には 特別な引数が 2つある。 1. argc : プログラムのパラメータ(引数)の数に 1 を加えた数字。 2. argv[] : パラメータ(引数)の文字列へのポインタ。 上の 2つの引数を使って、それ自体のパラメータの数を表示するプログラムを作成せよ。 /* hi…

イラストメーカー

自分の似顔絵ができるというので、挑戦。 しかし、絵の才能がゼロだ !*1 *1:実物は、こころもち貧相です

はじめての C

typedef 宣言を使って mklist.2.c を書き換えよ。 まずは ヘッダーファイルを作成。 /* list1.h */ struct List { int data; struct List *next; }; typedef struct list LIST; /* ここで宣言 */ つぎに mklist.6.c として書き換える。 /* mklist.6 */ #incl…

本の整理

ようやく 2000冊まで達成。→こちら*1 次の 2001冊目からは↑に 整理用の本箱*2をつくってみました。ときどき のぞいて見てもらうと増殖(?)してるはずです。 *1:だいぶペースが落ちてる、疲れてる . . のかも *2:[my bookcase]

「はじめての C」その後

関数 main() のパラメータ(引数)と、それに関連した file の開閉については、なんとなくわかってきた。 "ABC of C"(第3版)←ここ。フィンローダさんに感謝。*1 でも、それからが遅々としてすすまない。どこから手をつけていいのか . . . やはり アルゴリズム…

タイトル未定

id:shi_mo さんが 日記を閉められた様子。 コメント欄が無政府状態だったにもかかわらず、最後まで解放されていましたね。 ぼくもコメントを送ったばかりだったのに。 彼女の提起した いくつかの問題は、自分のなかで引き継いでいこうとかんがえています。 …

sndconfig - Vine

つぎの Vine 3.1 では直ってると思うので、参考までに。 Vine 2.5 は default では サウンドカードが認識されない。そのため sndconfig で再設定しても どうもうまくいかない - 設定途中で おなくなりになる - という問題があります。 sndconfig というのは…

web archive

最近 更新されたページを2つ。1つ目は 堀晃さんの web page。 彼自らのページをたちあげる動機の一つにもなった「太陽風交点」事件の "全資料" が pdf file で公開されています。 (SF といえば以前 NW-SF に載った 山野浩一のウェルズ批判 - 「レーニンと…

石切場(11)

母がこどもの頃の旅、といえば琴平まいりだろうか。 祖父のしりあいで - 文字どおり - 石船で生活している夫婦がいた。陸には住まず、食糧等の買いだしのときだけ船を港にまわす。 祖父がたのむと、幾日間か他の仕事を断り、琴平まで船を仕立ててくれた。甲…

はじめての C

アルゴリズムに関しては 集中してやらないと ものになりそうもない . . . 残念だが 一応このあたりで中断することにします。 この後も macro をはじめ けっこうおもしろそうなテーマがあるので まとまったら ここに書いてみたい。 いままでの分は ↑ のページ…

web archive

「はてな ダイアリーライター」 ぼくの debian 仕様(?)(←kterm + w3m)では はてな日記に書き込むことはできない (vi ではムリみたいだ)。 あきらめていたけど はてダラ(Hatena Diary Writer)という perl スクリプトを使うと テキストエディタから はてなに送…

はじめての C

リストへの オブジェクトの追加、削除に関しては target の実際の用法が よくわからない → 今後の課題ですね。 あと覚えておくことは、free 関数は malloc 関数で割り当てられたメモリの中身をクリーンにするので、プログラムの途中で データを入れ替えると…

はじめての C

線形リストを用いて 入力したデータを順に出力するプログラムを作成せよ。 できませんでした . . . おしまい。 これがうわさの「アルゴリズムとデータ構造」ですか ? 今回だけは 宮寺さんのページ から課題を借りることにしました。宮寺さんに感謝。 線形リ…

Debian ムック発売記念 特別企画

Plamo につづいて 今月末 Debian の Mook もでるらしい。DVD が添付されてなくても買う予定だ。もし Plamo と同じく Debian でも Mook に 1-CD Linux が収納されていたら . . . * * debian への招待 * * ウィンドマネージャーが twm では さびしいんですが。…

1-CD Plamo Linux 1.0

ムックの付録に Plamo の 1CD 版が添付してあったので、あそんでみる (今回の日記も Plamo の Netscape からの 書き込み)。 1-CD Linux といえば Knoppix だけど Plamo もけっこう使えそう。 1. まず パソコンが起動したら、CD をセット。 2. boot: -> なに…

本の整理

1500冊を越えたけど あいかわらず先が見えない → ここ。 まあ「この本知ってる!」とか「こんな本があったの?」でいいので、ちょっとのぞいてみてくれれば。

web archive

いつものように ネットをさまよってたら rdrs.net というページを発見。*1 左サイドにある Snippets(Programming) をクリックすると C言語で書かれた短いコードが集められている。 よく「プログラムの学習には たくさんコードを読むこと」といわれるけど 一…

Debian Memo

「プロポーズド アップデート」 いまさらとは思うけど、ここ の下を読んで 急拠 sources.list に以下の 3行を追加。 $sudo vi /etc/apt/sources.list として、 #proposed additions for a 3.0 point release deb http://ftp.jp.debian.org/debian proposed-u…

石切場(10)

以前、あるテレビ放送で島が紹介されたことがあった。そのとき石切唄というのが、古くから伝えられているというナレーションつきで、地のひとたちによってうたわれた。 母は石切場の娘だが、そんなうたは聞いたことがなかった。こういうことはよくある。近く…

はじめての C

各変数の 型のメモリサイズを表示するプログラムを作成せよ。 /* ookisa */ #include main() { printf("char %d\n", sizeof(char)); printf("int %d\n", sizeof(int)); printf("float %d\n", sizeof(float)); printf("char * %d\n", sizeof (char *)); } 座…

はじめての C

3つの頂点の座標が (1.0, 1.0), (5.0, 3.0), (4.0, 2.0) の位置にある三角形の面積を求めるプログラムを作成せよ。 /* sankaku */ #include struct Point { float x; float y; }; struct Triangle { struct Point a, b, c; }; struct Triangle tri = {{1.0,1…

はじめての C

コード line.2 で 関数にポインタを使うよう プログラムを改造せよ。 /* line.3 */ #include struct Point { float x; float y; }; struct Line { struct Point a, b; }; struct Line func1(struct Line *); main() { struct Line line, *pline; pline = &li…

はじめての C

テストの結果を記録したリストから標準入力して 名前と各点数および平均点をディスプレイに表示するプログラムを作成せよ。sscanf を使用すること。 テキストのとおりにコードを作成すると コンパイルはできるけど gets みたいな dangerous な関数は使うな !…

はじめての C

構造体へのポインタを使って 鉛筆の色と太さを表示するプログラムを作成せよ。 /* pencil */ #include struct Pen { char color; int diam; }; void init(struct Pen *); main() { struct Pen pen, *ppen = &pen; init(&pen) /* &pen は省略できない */ prin…

はじめての C

構造体を使って 前期、後期のテストの平均を求めるプログラムを作成せよ。 /* siken */ #include struct record { /* 構造体の宣言 */ int num; int prev; int later; int full; } s; /* 構造体の変数 */ main() { struct record s; s.num = 100; s.prev = 5…

はじめての C

ポインタ配列に 5人の人名を記載して そのうち文字 'o'を含む名前のみを表示するプログラムを作成せよ。 /* searchwd */ main() { char *name[5]; char *p; int i; name[0] = "kitayama"; name[1] = "okada"; name[2] = "nisio"; name[3] = "okamoto"; name[…

はじめての C

文字型のアドレスを 3つ保持する配列を使って 文章を出力するプログラムを作成せよ。 /* pastr */ #include main() { char *pastr[3]; pastr[0] = "This is"; pastr[1] = "That is"; pastr[2] = "there are"; printf("%s a pen.\n", *pastr); printf("%s a m…