Fre00229 簡単なc言語のプログラムをください. #0000 sci1912 8811121600 簡単なC言語のプログラムをください. ’88.11.12(土) 最近 TURBO Cを買った一休なんですが プログラムの組み方が解りません そこで参考になるプログラムを誰かください.(参考意見でもよろしいですよ.) できれば TURBO Cで,すぐにコンパイルできるものがよいのですが 100ステップぐらいのプログラムをお願いします. C言語に挑戦する 一休 より #0001 匿名 8811121642 いっきゅう殿 turbo C には良い参考書がありまする。 すなわち、技術評論社 発行 TURBO C 初級プログラミング入門 です。 著者は 河西 朝雄 氏 ですが、分かり易くて素晴らしいです。 私は 同志の本をほとんど持っていますが、失望したことは一度も有りません。 一読をお勧め致します。 #0002 匿名 8811121702 前略 プログラムが知的創造物だということを御一考願えますか.匿名子 #0003 notes 8811121950 たいへん申し訳ないけれども,プログラムのアップを気軽になさらないで くださいね. コンピュータウイルスのこわーい話(ARPANET/Internetの マヒ)を「アエラ」の来週号にたったいま出稿してきたところです. 実はアエラの隠れ編集部員であった(ニューメディア本部と兼務です)管理人 馬上 追記 サイエンスネットのログ整理のような,すぐ分かるものは例外として認めます が,原則としてプログラム交換の場所にはこのネットをしないでください. 知らないプログラムを見たらウイルスと思え,というのは言い過ぎだと しても,時節柄あまり無防備というのもいけないと思います. #0004 magam 8811122007 原稿の督促から逃げ隠れしていたという意味です. スペースがないので舌っ足らずの記事ですが・・・・ 隠れ部員 #0005 reader 8811122117 「プログラムを見たらウイルスと思え」 はおっしゃる通りいい過ぎだ。 自分のネットにウイルスが乗るのがいやなら、 ネットを廃止するか、情報を送るだけの データベースにすればいい。だいたい、せっかくプログラミングを覚えようという 人にどうしろというのだ。 プログラム交換はほかのネットでやれという事か。少なくとも、大新聞の記者であ り、「AERA」という雑誌の記者ならもう少しましな考えはないのか。これも削 除すればいい。ウイルスが蔓延する日がくれば、そんなちゃちな考えなど病原菌に 犯されてしまうから。 一休さん せっかくの書き込みがいつもホストの横やりで、おかしくなってしまい ますね。でも、ここのネットの方は親切な人ばかりのようです。ホストだけが間抜 けなことをいっているのです。 #0006 sci1772 8811122140 へっ? 一休さんの言ってるのは、勉強用のサンプルが欲しいっと言ってるのでしょう? だから実行する前に、内容を理解して実行するのでしょう? しかも、短いソースで。 (短い、しかもソースであるのだったら・・・・、「悪意」の入り込む余地はな いでしょう) だから、一休さん要望には、何の問題もないと思いますが・・・。 (それに、目的自体が、勉強を目的としているのであって、交換が目的ではない でしょう。書き込むとしたら、ここより、LIFE ゲームなどの方でしょう。) (あのー、誤解しないでー、LIFE の方に問題があると言ってるわけではないですよ) ですが、一応、アップしようと思ったサンプルのアップは止めます。 所で、一休さんに質問ですが、一休さんは、JUPITER の一休さんと同一人物ですか? もし、同一人物でしたら、お教え下さい。(ちょっと、向こうでお話がしたいので) Long #0007 sci1622 8811140011 参考になるかどうかはわかりませんが、基調発言148の関連15に エスケープシーケンス劇場のためのツールをアップしてありますので、 御利用ください。 また、一般には難しいと避けられがちのようですが、 「プログラミング言語C」 共立出版 B.W.カーニハン D.M.リッチー 共著 石田晴久 訳 をお読みになることをすすめます。ANSI−Cが一般になったいま、 (実はこの本もANSIにあわせて改訂版が原書では出ている。)少し 内容的に古いものになってはいますが、簡単なプログラム例が多く載って いますので、一休さんのご用には最適だと思うのですが。 Tom 実はかのツールをアップするとき、ちょっとまよったんですよね。 でも、だれも何も言わないから、いいのかなとおもって、・・・ #0008 magam 8811140128 筆者 reader の要望により関連発言の5番は削除させていただきます。 関連発言削除の操作をしますと、以下の関連発言の番号は1つずつ繰り 上がります。従って旧6番が5番になり、旧7番が6番になります。 管理人 #0009 sci1772 8811141603 Tomさんのプログラムが、あれば、取り敢えずはいいですよね。 実は、私のプログラムは、「関連発言2の人の人の言っている意味が分からな いよー」と書き込むついでの、10行ぐらいのと、30行ぐらいのを、付け足し 程度にいれておこうと思っただけですので。(内容は、本当の初心者向けのもの で、「まっ、ゴミかな」と言うレベルですので) もし、そんなんでも見たいのでしたら、言って下さい。取り敢えず、それまで は保留しておきます。 Long #0010 sci1912 8811160719 色々とご意見ありがとうございます. 一休 ’88.11.16(水) 下記に,意見に対する意見を書きました. 匿名 殿 TURBO C 初級プログラミング入門 上 下 をさっそく買いました. どうもありがとうごさいました. 匿名子 殿 プログラムが知的創造物だということを御一考願えますか. と言う意見ですが,それだからと言って使わないと何の役にもたたない 物になってしまいますよ.(宝のもち腐れでは) 管理人 馬上 殿 たいへん申し訳ないけれども,プログラムのアップを気軽になさら ないでくださいね.と言う意見で,もうこのNETには,アクセスし ないぞ,とおもい練習用のボードに,これを削除すつように書きまし た.しかし,どうしても自分の書いたものが気になり,またアクセス してしまいました.(管理人さんは,あまりにも物事を深く考えすぎ ではないでしょうか?) 次のボードに,マシン語(PC−9801)を教えて下さい。と言う 記事がありましたが,これも簡単なc言語のプログラムをください. と言う記事を見て書いたと思います. 結局,アクセスする人が一番望むのは,自分の好きな情報,自分の 欲しい情報をすぐに,欲しいのではのでしょうか ? だから,今すぐ役にたつプログラムとかPDSがNETに一番の魅力 じゃないかと思うのですが.それを,全面的に使用不可にするとNET の魅力がなくアクセスする人がいなくなるのではないのでしょうか? Long 殿 あなたの言うとうりです.なんであんな短い文章で,ここまで自分の 意見が伝わったのか不思議です.これからは,よきお友達になりたいも のです. ところで、一休さんに質問ですが、一休さんは、JUPITER の一休さん と同一人物ですか? と言う意見に対してですが,同一人物ではありません. 自分のことなんですが,今,某信販会社でプログラム開発のため言語 はCOBOLですがリストを捨てる所にいけば捨てた人にとってみれば ゴミはゴミですが,それを拾い内容をみるとけっこう参考になる資料も 多いようです.その,ゴミ拾いから,そこの環境を把握しています. ゴミは,みんなの宝物!!!! 乞食みたいですかね.でもいいのです.だから,プログラムください. 一休 #0011 sci1772 8811180216 では、一休さんのご要望により、ゴミをアップします。 (これは、前にアップしようとした、ファイルをそのままで、アップします。) −−−−−−−−−−−−−−−−−−−−−−−−−− 関連発言2の人の言っている意味が分からない。 技術評論社の「TURBO C 初級プログラミング入門」と言う本は、何かいけない本 なんでしょうか? それとも、一休さんに言っているのでしょうか? 意味不明?? とここに書き込んで、一休さんのお願いを無視すると言うのは、まずいよねー。 私は、Cに付いては、出来ない事はないよ、と言うレベルですから・・・・。 で、一休さんが本当の初心者だとして、次のような簡単な(下手な)プログラム を挙げておきます。(私自身初心者に毛が生えた程度ですので) −−−−−−−−−−−−−−−−−−−−−−−−−− #includevoid main(argc,argv) int argc; char *argv[]; { char c[128]; while( gets(c) != NULL) { printf("%s %s\n", argv[1], c); } } −−−−−−−−−−−−−−−−−−−−−−−−−− プログラムの説明ですが、 上のプログラムのファイル名を、仮に top.c、 実行型ファイルを top.exe として おきましょう。 で、 A>TOP AAA DUM [RETUEN] とすると、 DUM ファイルの中に、上の TOP.C の各行の前に、AAA と入ったものが出来ます。 で、次のプログラムは、 A>FIRST AAA TOP.C DUM [RETUEN] と入力して、同じ結果になります。(ファイル名を TOP.C から FIRST.C に変更し てある) (つまり、標準入出力を止めて、& それなりのメッセージを出させたわけです) −−−−−−−−−−−−−−−−−−−−−−−−−− #include #include void main(argc,argv) int argc; char *argv[]; { char c[257]; int y, num=257; FILE *fpi,*fpo; if( argc < 4) { printf("usage: first string input-file output-file \n"); exit(2); } if( (fpi = fopen( argv[2], "r")) == NULL ) { printf("file not found\n"); exit(1); } fpo= fopen( argv[3], "wt"); while( fgets(c,num,fpi) != NULL) { fprintf(fpo, "%s %s", argv[1], c); } exit(0); } −−−−−−−−−−−−−−−−−−−−−−−−−− くれぐれも、私は初心者に毛が生えた程度なので・・・・・。(何かいけないことを しているようでしたら、誰か指摘願います。) (及び、これ、Turbo-Cでそのまま通るかは・・・、多分通ると思うけど、未確認で すので・・・。済みません。あ、TOP.C の方、WARNINGが出るかも知れませんので。 argc を宣言していながら、使用していないので。) Long #0012 sci1380 8812150311 #include main(){ printf("yahho!"); } ------------------------- うーむ、馬鹿なことをしてしまった。<ぺけろっぱ> #0013 sci1968 8812192254 以下のプログラムはC言語の標準関数 STRCPY(文字列のコピー)を いろいろな書き方で表したものです。(すべて、同じ機能です) もし、以下のプログラムを動かす場合には名称(strcpy)を変えなければなりません。 もっと早くアップしようと思ったのですが、なんだかんだで遅れてしまい 参考になるかわかりませんが、ご感想などを御願いします。 (このようなプログラムは入門書などに載ってるでしょうが、これのコーディング中は 何の本も見ていません。つまり著作権には触れないと思います) デバッグしていないので、違っているものがあるかも知れません。 ------------------------------------ strcpy(o,i) char *i,*o; { while((*o++ = *i++) != '\0'); } ------------------------------------ strcpy(o,i) char *i,*o; { while(*o++ = *i++); } ------------------------------------ strcpy(o,i) char *i,*o; { for( ;*o = *i) != '\0'; i++,o++); } ------------------------------------ strcpy(o,i) char *i,*o; { while((*o = *i) != '\0') { o++; i++; } } ------------------------------------ strcpy(o,i) char *i,*o; { while(1) { *o = *i; if(*o == '\0') break; o++; i++; } } ------------------------------------ strcpy(o,i) char i[],o[]; { int cnt; cnt=0; while((o[cnt]=i[cnt++]) != '\0'); } ------------------------------------ strcpy(o,i) char i[],o[]; { int cnt; for(cnt=0; (o[cnt]=i[cnt]) != '\0'; cnt++); } ------------------------------------ strcpy(o,i) char i[],o[]; { int cnt; cnt=0; while(1) { o[cnt]=i[cnt]; if(o[cnt] == '\0') break; cnt++; } } ------------------------------------ ★呼び出し例 ------------------------------------ main() { static char str[]="strcpy test"; char out[100]; strcpy(out,str); strcpy(out,"strcpy test"); strcpy(&out[0],str); } ------------------------------------ ゴジャラ