CMAGAZINE - みる会図書館


検索対象: 月刊 C MAGAZINE 1990年4月号
76件見つかりました。

1. 月刊 C MAGAZINE 1990年4月号

List 2 1 : #include く stdio. h> 2 : 3 : void main( void ) { printf("l 4 : like The 1 ike The C Magazine. List 3 1 : #include く stdio. h> 2 : 3 : VO i d ma i n ( VO i d ) { fprintf( stdout, 4 : List 4 1 : #include く stdio. h> 2 : 3 : void main(void) { fprintf( stdprn, 4 : List 5 1 : #include く stdio. h 〉 2 : 3 : vo i d ma i n ()o i d) { fprintf( stderr, 4 : like The like The C C C Magazine. Magaz ine. Magaz ine. / * し attice C では , stdprt * / グラムの実行時には , stdin( 標準入力 ), 122 CMAGAZINE 19N 4 への入出力は , ポインタの説明が終わった して扱うのて注意してください ) 。ファイル UNIX などては , 入出力すべてをファイルと などに書き込んてあるファイルのことてす。 せん ( ここていう「ファイル」とは , ディスク ファイルへの入出力についての説明はしま いのて、 , ここてはポインタの知識が必要な まだポインタについての説明をしていな たとても重要な概念てす。 の概念てすが , MS-DOS にも取り入れられ い ) 。ストリームというのは , もともと UNIX stdprt) などもあります (UNIX 上にはな stdprn ( 標準プリンタ出力 : Lattice C ては います。また , MS-DOS 上の C 言語には , カ ) の 3 種類のストリームはオープンされて stdout( 標準出力 ) , stderr ( 標準工ラー出 後に取り上げる予定て、す。 数の説明をしましよう。 ① fprintf それて、は , 各関 printf については , 今まて、何度も出てき ましたし , 詳しい説明もしました。それと よく似た関数に , fprintf というのがありま す。これは , 先に述べたストリームへの出 力をする関数てす。書式は List1 ー①のように なります。 こて、 , F 工 LE *stream のところにスト リームを指定し , const char * format 以 下のところは printf と同じ引数を指定しま す。また , 戻り値は転送したバイト数て、す。 工ラーの場合は , 負の数が返ってきます。 FILE * stream や const char * for mat が何を意味するのかは , ポインタの説明 をするときに , あわせて説明することにし ます。今のところは , ストリームは Tbl. 2 な どがあると思っていてください。これより , printf( ・・・・・ ) は fprintf(stdout, ・ ・・・ ) とま が , ここては省略します ( 実は , こうした使 しても , ファイルへのアクセスが可能てす 認してください ofscanf にしても fprintf に は , まったく同値て、す。 List6 を実行して確 と同様に scanf ( ・・・・・・ ) と fscanf(stdin, ・・ の場合は , EOF となります。 printf のとき 値は , 代入された入力項目数て、す。ェラー 点以外て、は , scanf と同じて、す。また , 戻り これも , ストリームからの入力だという 数て、す。書式は List1 ー②のようになります。 fscanf は , ストリームから入力をする関 ② fsca nf せることがて、きます。 えることによって , 各種デバイスに出力さ このように , fprintf は , ストリームを変 出力は , リダイレクトされないのて、す。 ァイルすらて、きない ) 。つまり , 標準ェラー は何も入っていません ( 処理系によってはフ うファイルはてきていますが , そのなかに とするとどうなるて、しようか ? TEST5 とい A > List5 > TEST5 りましたね。ところが , はずて、す。これと似たことは , 以前にもや 、、 I like The C Magazine. 〃になっている というファイルがて、きます。その内容は , すると , もちろんリダイレクトされて TEST3 A> List3 > TEST3 してみてください うのて、しようか ? まず , 以下のように実行 す。それて、は , stdout と stderr はどこが違 ると , List3 とまったく同じ結果になりま のが List5 て、す。これを , ただたんに実行す List3 のストリームの部分を stderr に換えた プリンタはつながっていないとだめて、す ) 。 List4 て、は , プリンタに出力されます ( 当殀 List3 のストリームの部分を stdprn に換えた は , まったく同じ結果になります。また , このふたっ List2 と List3 を見てください ったく同値て、あるということになります。

2. 月刊 C MAGAZINE 1990年4月号

ーが起こります。 ⑩ sqrt double 型の引数 x を受け取り , Ⅳを返し double sqrt( double x ) ; す。 平方根て、す。書式は以下のようになりま ます。 x の定義域は , 0 坙 x となっていま double 型の引数 x を受け取り , x より小さ double ceil( double x ) ; なります。 切り上げをします。書式は以下のよう一 ⑩ ceil す。 くない最大の整数を , double 型として返し double 型の引数 x を受け取り , x より大き double f100r ( double x ) ; なります。 切り捨てをします。書式は以下のように ⑩ floor ます。 くない最小の整数を , double 型として返し ⑩ fabs ます。 128 CMAGAZINE 19 4 ろと改造して遊んて、みてください。 が描けるのて、 , 読者のみなさんも , いろい ログラムをもとにして , いろいろなグラフ だと考えているのて、す ( Fig. 3 参照 ) 。このプ 列を用意して , その配列ひとつひとつを点 クタ単位て、グラフを書いています。 2 次元配 ィックインタフェイスがないのて、 , キャラ グラムて、す。 MS ー DOS 上には共通のグラフ い。これは , 減衰曲線のグラフを書くプロ を使ったプログラムの List12 を見てくださ こて、 , 数学関数を代表して , cos と exp ー x ーを返します。 double 型の引数 x を受け取り , x の絶対値 double fabs( double x ) ; なります。 絶対値をとります。書式は以下のように ・今月のクイズ 「画面に , 等問隔の同心円を描くプログラムを書け。同心円の数は , 外から入力で きるようにする ( ただし , キャラクタ単位で描くこと ) 」 [ 1 月号のクイズ ] の解答 List 1 3 quizl . c さんありました。また送ってくださいね。 今回紹介て、きなかった方のプログラムのなかにもすばらしいプログラムがたく こちらて、つけ加えました。佐野さんご了承ください ) 。 コマンドラインて、あたえた整数を素因数分解してくれるようになっています ( 1 行 次に川崎市の佐野さんからの解答例 ( quiz2. c ) 。かなりシンプルになっていて , てください そのようなときには , 配列変数 sCMAX] を static て、とるか , 外部変数にするかし かもしれませんね。処理系によってはこのままて、は実行て、きない場合があります。 るのて、 , 理解しやすいと思います。変数名をもっとわかりやすくしたほうがいい まず京都市の上枝さんからの解答例 (quizl. c) 。ていねいなコメントが入ってい 合て 2 通て、すが ) 。 いた読者の方の手によるプログラムを掲載したいと思います ( といっても誌面の都 い」て、した。筆者による解答は 2 月号に掲載しましたのて、 , ここて、は送っていただ きました。 1 月号の問題は「入力した整数を素因数分解するプログラムを書きなさ 1 月号て、クイズの解答を募集したところ , さっそく何通もの解答を送っていただ 1 : 7 : 8 : 9 : 13 : 20 : 22 : 23 : 24 : C_magazine: ' 90 , 1 qu i z くく因数分解” rf. c (Resolution intO Functions) #include く stdio. h> 11 : #define MAX 10000 int main(void) / * 入力整数 / * 初期化ループ用 / * 割る数・配列の添字 / * 入力整数の保存用 / * 因数を数えるための配列 * / / * 忘れず初期化 * / printf ( " 整数を入力してください。素因数分解します。 MAX = %dYn>>", MAX); / * 入力された整数を受け取って * / / * 保存しておく / * 入力整数の最大値 int int int int for s [MÅX] : ( i ニ 0 : i く MAX; i + + ) s [ i ト 0 :

3. 月刊 C MAGAZINE 1990年4月号

料金受取人払 麭町局 3018 差出有効期間 1990 年 9 月 30 日まて、 職業・動務先 プログラミング歴 お手持ちのノヾソコンお使いのエテイタお使し叨 OS ( ノ←ジョン ) の習熟度④中型アプリケーションを組める⑤システムの記述ができる C 言語 ①これから学習②文法を理解できる③小型のツールを組める 郵便はがき 囮囘 2 ーロロ ( 受取人 ) 東京都千代田区 九段南 2 ー 3 ー 26 株日本ソフトノヾンク 出版事業部 MAGAZINE 編集部行 ロロローロロ 氏名 住所 学校・学部・学年 T E L 年齢 プレゼント番号 性別 年か月 MAGAZINE 4

4. 月刊 C MAGAZINE 1990年4月号

MAGAZINE 4 ・よかった記事を 3 つ選び理由をお書きください。 ・つまらなかった記事を 3 つ選び理由をお書きください。 ① ・本誌以外のご購読パソコン雑誌は ? ・今どのような記事をお望みですか ? ・編集部へのメッセージをお願いします。

5. 月刊 C MAGAZINE 1990年4月号

SOFT 日 K ◆パソコン選ひの総合テスト情報誌 徹底比較 ページプリンタ パソコン・マガジン 一味国 PC MAGAZINE 提携誌 ] 主力価格帯のベストチョイス PC ラボ・テストレポート JAPANESE E 引 ON MAGAZINE イ 定価 580 円 ( 税込 ) 米国版 PC ラホ・テストレホート Lotus1 3 の最トジョンを比較する 0 楓 AThe GRAPH ALotus FreeIance 0 Microsoft-Chart グラ刀乍成ソフト総チェック プレゼンテーション時代の必須ツ—) レ 0 三井物産テジタル LASER MEGA PC-II 0 リコー LP1060- SP3 0 セイコーエプソン LP -7000 0 日本電気 PC - PR602R 0 富士ゼロックス 4105 Laser Press 0 カシオ計算機 LCS-224 0 キヤノン LASER SHOT LBP-B406S 0 京セラ L -880S Lotus1-2-3ReI.2.2/ReI.3.0 エプソンの新型ノートパソコン PC-286NOTE F 20MHz の高速 286 マシンエプソン PC -286VX オプジェクト指向機能を備えた TURBO PASCAL 5.5 98NOTE 専用統合ソフト QuadriIIe 20 万円台のページプリンタ MEGA 北 マルチプロセッサ PC コンヾツク Systempro ユーサーレ F か強化された DBMS ソフト Fox P 「 0 FIRST LOOKS ーー新製品レビュー 日本ソフトバンク出版事業部 東京都千代田区九段南 2-3-26 谷 03-230-7670

6. 月刊 C MAGAZINE 1990年4月号

00M EDITOR S 0 編集長から 言語資産の恩恵を受けることがて、きないと ANSI C のドラフトが最終承認された。この 今後もさまざまな議論が生じるだろうし , ドラフトはそのまま ISO< 討議され , ここて いう批判の攻めぎ合いは , これからも続い 新たな問題も発生してくることも予想され も承認され川ま ANSI C の仕様が国際標準と ていくように思える。 る。仕様を超えて先行する新たな拡張を行 なる。そして , やがて JIS< も承認されるこ 言語は , 内在する規則をもっことは自明て、 う処理系もあるだろうし , 実際問題として , とになれば , C 言語が情報処理資格試験に 進歩・拡張のない言語に未来はないように ある。しかし , この規則は完成したものて もないし , 固定したものてもない。言語は 登場することもそう遠くはない も思える。柔軟に ( いい加減に ? ) 書いてい C の時代だなというのが実感だ。 有機的て流動的て , 自ら進化する過程の中 たのが , 受験問題みたいに〇か x かの書き て、己れの規則を内在化するものてあるとい 方しかてきなくなったらどうなるのだろう しかし , だからといって , C のこれからが バラ色の未来を形作っているわけてはない える。 C は今後どのように進化していくの かという不安と , いつまても人それぞれに 書いていたのて、はリソースという意味ても それどころか , この仕様の解釈をめぐって だろうか , 楽しみてある。 菊池孝 編集後記 ◇読者アンケートて要望の多いも ◇人それぞれに得手不得手がござ ◇ F. トリュフォーの名作「アメリ ◇菜っ葉や毛虫をたらふく食べて , ののひとっとして「付録ディスク います。茫洋たる風貎と寝グセ頭 力の夜」をビデオて見た。「映画作 お天道様をいつばい浴びて育った に P D S を入れてくれ』という意 の編集某は部内一の松使い , 発す りは駅馬車ての旅に似ている。走 鶏を知り合いからいただき , さっそ 見がある。読者の要望に少しても るジョークはシュールを極め , 笑 り出す前は期待て、一杯だが , 走り く料理をして食べた。さすがにそ 応えようと , 日々努力している編 いと実力を兼ね備えた人気者だが , 始めれば目的地に着くことしか考 んじよそこらのプロイラーとは育 集部としては ( ? ) フリーウェア なぜか留守番電話にやたら弱い えない」という科白に , 雑誌作り ちが違う。「硬い」「臭い」「噛み切れ ソフトを研究する必要ありという 「モシモシ , C マガの・・・・・・てすが , も同じと思う。昼間に夜の撮影を ない」の三拍子。しかし , 「これが ことて , ソフトをダウンロードし あの一 , えーと , また後て電話し 行う「アメリカの夜」と , 夜に主 本当の鶏だよ」とのたまいながら , ます , すいません」と電話器に頭 ている。仕事にかこつけて遊んて 要な仕事をする「 C マガの昼」との たいらげてしまった。 とはいって を下げる毎日なのてある。 いるわけてはありません。 ( 洋 ) 違いはあるが。 も , 毎日これじゃ・・・ (TEN) 次号予告 >5 月号 ( 4 月 18 日発売 ) く B ストラウストラップ ( Ⅱ ) 巻頭インタビュー C 十十の生みの親 P.J プラウガー 特別ミニ・インタビュー 特集 ANSI C の舞台裏 ANSI C の現状 ( 叫 P. J. プラウガーか語る AN C の概要 テクニカルオーノヾービュー スタンダード C の落とし穴 スタンダード C の将来 ( ホ ) ( 野 ) 月刊 MAGAZINE 4 月号 平成 2 年 4 月一日発行 発行人孫正義 編集人橋本五郎 発行所株式会社日本ソフトバンク 出版事業部 / 〒 102 東京都 T ・代Ⅲ区九段南 2 ー 3 ー 26 月 : 関ビル 翻訳提携記事 編集部 03 ( 23 の 7690 出版営業部 03 ( 23 の 7670 Objects, Fanctions, and 広告営業部 03 ( 23 の 7672 Program Extensibi lity 編集長菊池孝 Composing We m 「 編集宮田洋一野沢喜美男 Linear Scales 星野慎一流王天 校正有アレフ , 特別付録 : 5 " 2HD ティスク デサイン持田哲 , 花本浩一 赤井晴美 , 若江啓子 ・ 98ta 賑 磯部進 ・家計簿 監 修石田晴久 ・掲載全ソースコード 刷凸版印刷株式会社 印 ・雑誌に関するご質間は , 月曜日から金曜日の午 0 1990 雑誌 14325 ー 4 後 4 時から 6 時まて受け付けております。その他 の時間帯はご容赦いただきたくお願い致します。 プロクラム・バクのお問い合わせ 160 CMAGAZINE 19N 4

7. 月刊 C MAGAZINE 1990年4月号

扱えるような機能を取り入れようというこ とで , ワイド文字を導入した。 ま $,typedef で wchar t という型を定義 する。これは , 整数型のひとっとして , 処 理系ごとに定義できるようになっている。 たとえば , ワイド文字が 10 文字入る配列を 定義するには , 処理系で typedef された Fig. 2 コード整合性の保証 型 wchar t を使い , wchar t wca IO) のようにする。また , これに対応して , ワイド文字定数 ワイド文字リテラル を使えるようにしている。 これらは , それ ぞれ L というプリフィックスをつけて , L' 漢 ' ( 型は wchar t) L ” This is ワイド文字列 " ( 型は wchar t の配列 ) ー① とする。 大文字の L は , バイト単位で扱うときと区 別するためである。①は L がないと , この文 字が 1 バイト単位で扱われてしまう。 wca "This is 漢字 string' initial shift state shift state 1 sh ift state n 入出力 多バイト文字集合 Char wchar t L" 54 概 CMAGAZINE 19 4 図 基本文字集合 引 SX0208 State-dependent encoding initial shift State 処理系定義・ mbtowc m bstowcs wctomb WCStO m bS 中 国 き五 wchar t 型集合

8. 月刊 C MAGAZINE 1990年4月号

戻り値は , s が NULL のときは , シェルが ( 2 ) COS す。書式は以下のようになります。 ある場合は戻り値は 0 以外の値 , シェルがな 余弦関数て、す。書式は以下のようになり long abs( long n ) ; い場合は戻り値は 0 となります os が NULL ます。 てないときは , 戻り値は処理系に依存しま ( 3 ) math. h double cos( double x ) ; す。それて、は , List11 を見てください osystem math. h は MATHematics Header の略 double 型の引数 x を受け取り , cos ( x ) を の引数が、、 dir / w クとなっているのて , この て , 数学へッダのことて、す。このなかて、は , 返します。 プログラムを実行すると , MS-DOS のコマ 数学関数のプロトタイプ宣言などが行われ ンドライン上て , "dir/w" としたのとまっ ③ ) tan ています。 たく同じ結果になるのがわかると思います。 正接関数て、す。書式は以下のようになり また , 数学関数て、は , 浮動小数点はすべ ます。 て double 型として扱われます。 ⑧ abs double tan( double x ) ; abs は , int 型の引数 n の絶対値を返しま double 型の引数 x を受け取り , tan ( x ) を ( の Sin す。書式は以下のようになります。 正弦関数て、す。書式は以下のようになり 返します。 int abs( int n ) ; ます。 ( ④ ) asin double sin( double x ) ; ⑨ labs double 型の引数 x を受け取り , sin ( x ) 逆正弦関数て、す。書式は以下のようにな labs は , long 型の引数 n の絶対値を返しま ります。 を返します。 Fig. 3 凵 st12 の画面構成 s ( 79 ) ( 0 ) 80 ロロ第 0 ロ彎 2 次元配列 int s ( 80 ) ( 23 ) : 23 s ( 79 ) ( 22 ) s ( 0 ) ( 22 ) 126 CMAGAZINE 19 4

9. 月刊 C MAGAZINE 1990年4月号

1990 年 4 月 1 日発行 ( 毎月 1 回 1 日発行 ) 第 2 巻第 4 号通巻 7 号 1990 年 2 月 2 日第 3 種郵便物認可 提携・米国。 L GUAGE 。誌 / 監修・石田晴久 C マカシン 新連載コラム MAGAZINE B スウスップ l) すへての C 言語プロクラマのための技術情報誌 Programming ① Purpose by P. J. プラウガー APR. 1990 VOI. 2 r••b. 4 定。 980Y 。。 SOFT 日 K 日本ソフトノヾンク 特集 ANSIC の現状 (l) ANSIC 概論/ ANSIC の日本語処理をめぐって 提携記事 ・ An lncremental String Search in C ・ String-indexed Arrays in C 十十 ・ A Debbugging CIass f0 「 C 十十 超高速グラフィックライプラリ の作成 新連載・ C プログラマのための ランタイムライプラリ入門 特別付録 : 5 ' 2HD ・ LHarc Ver. 1. 13d (MS-DOS マシン ) ・ LH Ver. 073 ( X 000 ) ・ MELWARE Ve 「 .4 ( PC -9801 ) ・掲載全ソースコード

10. 月刊 C MAGAZINE 1990年4月号

特集 ANSI C AN ト概論 ても , 円 90 年が C 讎吾の新しい出発の年となることは確実 て採用されるのをまたなければならないが , いずれにし が円 89 年に月に正式承認された。旧 O により国際基準とし ANS によりその仕様カ尉議されていた C の標準化ドラフト PART 野田誠 (SC22/CWG) 「 ANSI C 」のドラフトか , AN 委員会で最 終承認された。この規格は , プログラマにと っても , またコンバイラメーカーにとっても , 今後ひとつの「標準」になるものだ ( 実際にはす でに「標準」になっている ) 。したがって , C 言 語でプログラミングするものにとって , 欠く ことのできない基礎知識であることにまちか いはない。そこで , 今月号と来月号の 2 回に分 けて「 ANSI C 」規格を取り上げる。今回は , AN の組織概路と , ANSI C における日本 語処理の問題を , 日本の C ワーキンググルー プのメンバに解説してもらった。 はしめて 「 ANSI C 」規格が承認された。後は , ISO の承認を受ければ , 「 ANSI C 」規格が国際規 格として通用することになる。 された規格案は , 基本的には 1988 年 12 月の ドラフトである。ドラフト自体の紹介につ いては , いすれ連載を始めるつもりなので , こでは詳しくは説明しない。本特集では , 42 CMAGAZINE 19N 4 ANSI が、いかなる組織であり , どのような 経過で C のドラフトが作成され , 最終承認さ れるようになったのかを見ていきたい。 「 ANSI C 」規格の 必要性 C 言語は , デニス・リッチーによって作成 された高級言語であることは , こで新た めて説明するまでのこともないであろう。 自体の優秀性により , 作者自 C 衄は 「コロロに 1 ロロ 身の予想をはるかに超える規模で広がって いき , その結果 , いくつもの異なった移植 やさまざまな拡張が行われるようになった。 同し言語ではあるが , 互換性のない処理系 の存在はプログラマやインプリメンタにと って非常に大きな問題となっていった。 この問題の原因となった最大の要素は , C の言語仕様書が , プライアン・カー とデニス・リッチーによる『プログラミン