★C言語で遊ぼう!★
■ このスレッドは過去ログ倉庫に格納されています
0001はじめに
NGNGコンピュータに仕事をさせるために、
仕事の手順を書くための、言語。
■どうやって動かすの?■
C言語でかかれた手順書(プログラム)は、
人間よりの文章なので、そのままではコンピュータが処理できません。
そこで、人間が書いたプログラムを、コンピュータで判読できるように翻訳する物が必要です。
その翻訳機を「コンパイラ」といいます。
C言語のコンパイラを、「Cコンパイラ」といいます。まず、これが必要です。
あと、「リンカ」という結合機(?)も必要です。
ともあれ、まずは、実際に動かしてみるとして、
C言語プログラムを作成するための、物をそろえましょう。
0002デフォルトの名無しさん
NGNGexit();
0003
NGNGこれは、無料で手に入ります。
それは、LSI-C試食版 や、WATCOM-C 最近では、Borland-Cが、無料だと思います。
どれを使ったらいいかとなりますが、
いずれにしても、Windowsアプリケーションを作るにあたって、一番いいのは、
やはり、Microsoftの Visual-C でしょう。
しかし、これは数万円はします。そこで、
無料のCコンパイラを使うことのメリットを、C言語の勉強ができる とういことに
しぼらせていただき、一番、簡単に準備できる
LSI−C試食版を使うことにします。
これらは、インターネットを閲覧できるあなたでしたら、
検索サイトで検索すれば、見つかるでしょう。
(LSI-C試食版は、http://www.lsi-j.co.jp/ からダウンロードできます)
ダウンロードしたファイルは、lsic300c.lzhですが、これは圧縮されています。
解凍させるには、lhasaというソフトがお勧めです。
解凍させる手段は、各自で探しましょう。
2.テキストエディタ
文章を書くための、ソフトウェアです。
Windows95シリーズには、ノートパッドが標準でついてますので、
C言語のプログラムも、それで書くことができます。
しかし、C言語を書くのに向いたテキストエディタも、無いわけではないです。
それは、秀丸や、K2Editorのように、文字を色分けしてくれるものです。
この選択は、あなた次第ということにしましょう。
コンパイラと、テキストエディタがあれば、
これで、準備完了です。(当然、Win95シリーズは、あるとしてる)
0004デフォルトの名無しさん
NGNG0005
NGNGいきなり、プログラムの例を示します。
――――――――――――――――――――――――
#include<stdio.h>
void main()
{
printf("Hello world.");
}
――――――――――――――――――――――――
5行のプログラムですが、これを、実行してみましょう。
上記のプログラムを、テキストエディタにコピーして、保存します。
名前は、test.c とすればいいでしょう。(test.c.txt としてはいけません。)
保存したら、コンパイラでコンパイルします。
ここでは、LSI-C を例とします。
実は、初心者には、コンパイルがかなりのハードルとなるようです。
LSI-Cの場合は、付属のLSIC86.MANというテキストファイルに、
そのまま、コンパイル方法が書いてあるので、そのとおりにやればいいだけですが、
初心者には、これが分からなかったりします。
コンパイルの命令は、
A>LCC test.c
なのですが、この意味は、
Aドライブにある LCC.EXE というファイルに、
test.c というパラメータを与えて、実行する。
ということです。
もし、あなたがLSI-Cを保存した先が、Cドライブならば、
C>LCC test.c
となります。この場合、test.c は、LCC.EXE と同じフォルダにあれば、問題ないでしょう。
0006デフォルトの名無しさん
NGNGだめなプログラマ。
>>1のような自分の自己満足のためだけにスレッドを立てたりしてはいけません。
0007デフォルトの名無しさん
NGNGこんなもん誘導しないでくれ。面倒くさい。
0008デフォルトの名無しさん
NGNG呼び寄せないでくれ。
0009デフォルトの名無しさん
NGNG使いたいんですが、複数の派生クラスを作ると
"すでに定義されています"というエラーが出てしまいます。
// A.h
class A {
protected :
static int num;
};
// B.h
class B : public A {};
// B.cpp
int B :: num = 1;
// C.h
int C :: num = 2;
// C.cpp
class C : public A {};
numはそれぞれの派生クラスで定義しないといけないんでしょうか?
0010デフォルトの名無しさん
NGNG(コンパイラやアセンブラ、リンカという言葉は、分からなくていいです)
ここでは、LCCを実行すれば、実行ファイルができるということだけを知ればいいです。
LCC.EXE を、ちゃんと実行させるには、DOSの知識が必要になります。
しかし、ここではDOSの説明はできるだけ省きます。
コンパイルやリンクに関する説明は、LSI-C付属の、LSIC86.MAN に書かれているので、それを参照してください。
(ただし、DOSの知識が必要になる)
コンパイルできないようなら、質問してください。
とにかく、コンパイルを成功させるには、以下の手順を行えばOKでしょう。
LSIC86.MANを読むなりして、意味がわかった場合は、飛ばしてください。
0011デフォルトの名無しさん
NGNG|
|c:\lsic330c に、lsic330c が解凍されているとします。
|_lcc というファイルが、c:\lsic330c\bin にあるので、それを、テキストエディタで開きます。
|それを、以下のようにして、保存します。
|――――――――――――――――――――――――
|# LSI C-86 compiler's configuration file
|-DLSI_C
|-XC:\lsic330c\BIN -LC:\lsic330c\LIB -IC:\lsic330c\INCLUDE -T -O
|-acdos.obj $LSICOPTS
|Command line argument will be inserted here
|-lknjlib -ldoslib -v
|――――――――――――――――――――――――
|3行目が変更した個所です。
|そしたら、LCC.EXE を実行すればいいのですが、
|LCC.EXE に、ソースファイルのある場所を知らせる必要があります。
|もし、C:\lsic330c\SRC に、test.c があるならば、
|LCC.EXE C:\lsic330c\SRC\test.c
|という命令を、コンピュータに送ればいいとなります。
|命令を送るには、まず、テキストエディタで新規のファイルを開き
|そこに、LCC.EXE C:\lsic330c\SRC\test.c を書いて、保存します。
|保存先は、c:\lsic330c\bin にします。ファイル名は、なんでもいいのですが、
|golcc にします。拡張子をつけることが必要で、golcc.bat として保存します。
|(golcc.bat.txtでは、ダメです)
|
|すると、エクスプローラでみると、他のファイルと変わったアイコンで表示され、
|「ファイルの種類」には、「MS-DOSバッチファイル」と表示されます。
|このファイルを、ダブルクリックして実行しましょう。
|
|すると、ウィンドウが表示され(これをDOS窓という)、実行結果が表示されます。
|もし、
|can't open:
|や
|: No such file or directory
|とか表示されたら、test.c ファイルの指定が間違っていたりしています。
|LSI-C付属の、LSIC86.MANを読んで、ディレクトリの指定などを確認して下さい。
|
|コンパイルが成功すると、
|lld @link.i
|と、表示されるでしょう。
|そして、test.exe というファイルができています。これが、実行ファイルです。
|
|
|LCC を実行して、test.exe を作らせるには、test.bat を実行すればいいとなります。
|
0012デフォルトの名無しさん
NGNG#include <stdio.h>
#define MAX 5 /* これ以後の MAX を 5 に読み替える命令 */
main()
{
int i;
int point[MAX]; /* MAX 個の要素を持つ配列 point を宣言 */
int total=0, avr;
for(i=0; i<MAX; i++){ /* MAX 回の繰り返し */
printf("%d人目の点数は? >", i+1);
scanf("%d", &point[i]);
/* 配列の場合でも & を忘れずに付ける */
}
for(i=0; i<MAX; i++){
printf("%d人目 = %d\n", i+1, point[i]);
total += point[i];
}
avr = total / MAX;
printf("平均点 = %d\n", avr);
}
これは、何をしているプログラムか意味を読みとれるでしょうか?文を先に読み進める前にまず考えてみてください。
C言語での配列は、ほかの言語でよく使われる小カッコ(())による表現ではなく、大カッコ([])によって表現されます。その点をのぞけば、宣言もプログラム中での参照の方法もイメージ通りに行えることが読みとれると思います。
0013デフォルトの名無しさん
NGNG実行させるには、test.exeをダブルクリックします。
すると、DOS窓が表示され、
C:\lsic330c\BIN>
Hello world.
C:\lsic330c\BIN>
などと文字が表示されるでしょう。
これで、成功です。
あの、5行のプログラムは、「Hello world.」という文字列を表示するものです。
これが分かれば、どんな文字列でも表示できるでしょう。
今度は、
I am Taro.
を表示させてみましょう。
これには、
printf("Hello world.");
を、
printf("I am Taro.");
とすれば、いいだけです。
これで、printfという命令が、文字を表示させるものだと、分かりますね。
printf("
と書いて、表示させたい文字を書いて、
");
でくくります。
(実は、"で囲った部分が、文字列という意味になります)
0014デフォルトの名無しさん
NGNGclass Base {
void Function();
void Main();
void (Base::*funcPtr)();
};
void Base::Main() {
funcPtr = &Base::Function;
(*funcPtr)(); // ここでエラー
}
としても
error C2171: '*' : 'void (__thiscall Base::* )(void)' のオペランドが無効です。
error C2064: 関数ポインタとして評価されない式を使って、関数を呼び出そうとしました。
とエラーが出てしまいます。
メンバ関数を呼び出す際は何か特別な構文などが必要なのでしょうか?
0015デフォルトの名無しさん
NGNG0016デフォルトの名無しさん
NGNG表示させる文字列は、
こんにちは。
私は、太郎です。
にしてみましょう。
これには、printf命令を2つ使えば、いいと思う。
printfは、日本語でも表示できます。
printf("こんにちは。");
printf("私は太郎です。");
と書いて、LCCで実行ファイルを作って、実行しましょう。
すると、
こんにちは。私は太郎です。
と表示されると思います。これでは、1行だけです。
そこで、改行させる必要があります。
単純に、test.cに
printf("こんにちは。
私は太郎です。");
と書いて、LCCを実行すると、エラーになります。
これは、
printf("こんにちは。
で、1つの命令で、
私は太郎です。");
で、1つの命令であると、コンパイラが解釈したからでしょう。
そこで、1行で、2行の文字列を表現することになります。
1行で、2行を表現するために、C言語では改行を意味する文字列を使っています。
改行を表現する文字列は、\n です。
そこで、さっきのエラーになった命令を修正すると、
printf("こんにちは。\n私は太郎です。");
となります。
C言語では、\n を改行と見なすので、これで2行表示できます。
では、LCCで実行ファイルを作って、実行してみましょう。
すると、
C:\lsic330c\BIN>
こんにちは。
私は太郎です。
C:\lsic330c\BIN>
と、表示されるでしょう。
あとは、3行でも10行でも表示できますね。
ひとまず、文字を表示させる方法は、ここまでにします。
0017デフォルトの名無しさん
NGNG自動的に行うのはコンパイル、アセンブル、リンクだがな。
>とにかく、コンパイルを成功させるには、以下の手順を行えばOKでしょう。
>LSIC86.MANを読むなりして、意味がわかった場合は、飛ばしてください。
マニュアル読むの?
0018デフォルトの名無しさん
NGNG次は、コンピュータに計算をさせてみましょう。
たとえば、
123 + 822 =
これを、コンピュータに解かせてみましょう。
どうしたらいいでしょうか。
それは、ここまでの知識では分かりませんね。
文字を表示させる方法は、分かりましたが、
たんに、
printf("123 + 822 = 945");
とやっても、コンピュータは計算したように表示しますが、
これは、文字を表示しただけです。
計算させるには、以下のようにします。
printf("123 + 822 = %d",123+822);
test.c にある printf を、このように書き換えて保存して、
LCCで実行ファイルを作って、実行してみましょう。
すると、
123 + 822 = 945
という表示があったと思います。
printfには、945という文字列を指定していません。
だから、コンピュータが計算をして、945を出したということです。
では、どうやってコンピュータに計算をさせたのでしょうか。
0019デフォルトの名無しさん
NGNGこの中には、今まで無かった、%d という意味不明な表現があります。
そして、その後には、 ,123+822 という、これも意味不明な表現があります。
意味不明とはいえ、見当はつくかもしれませんが、
%d と書いた場所には、その後に書いた、123+822 の計算結果が入ります。
試しに、763+835 と書き換えてみましょう。
printf("123 + 822 = %d",763+835);
これで、LCCで実行ファイルを作り、実行すると、
123 + 822 = 1598
と、表示されます。
1598は、763+835 の答えですので、コンピュータは計算をしました。
123 + 822 = という文字列は、ただ表示されているだけなので、
printf("%d",763+835);
とやるだけでもいいでしょう。これだと答えだけが表示されます。
では次に、掛け算や割り算を解かせてみましょう。
535 × (352 - 5) ÷( 34 + 2)
これを、コンピュータに計算させてみましょう。
掛けるや、割るといった表現は、C言語独自の文字を使います。
掛けるは、* という文字で、割る場合は、/ という文字です。
だから、さっきの式を直すと、
535 * (352 - 5) / (34 + 2)
となります。スペースを入れてるのは、見やすくするためだけなので、
535*(352-5)/(34+2)
と書いても同じです。
では、これをprintfに書き込んでみましょう。
printf("%d",535*(352-5)/(34+2));
修正したら、LCCで実行ファイルを作り、実行しましょう。
0020デフォルトの名無しさん
NGNGと表示されます。
これで、コンピュータに +−×÷という計算の仕事をさせることは、できるようになりました。
この+−×÷などを、演算子(えんざんし)といいます。
さらにC言語には、私達が普段使わない、余りを求める演算子もあります。% がそうで、
たとえば、5%2 だと、1 になります。
計算は、ひとまずこれぐらいにします。
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNGIPアドレスを指定せず、サーバー側から自動でアドレスを配布(貸与)
するシステムを使うことがあります。
http://yougo.ascii24.com/gh/07/000707.html
ASCII24 - アスキー デジタル用語辞典 - DHCP
Dynamic Host Configuration Protocol
BOOTPの上位互換の規格。BOOTPではクライアントごとの設定は省略できたが、
IPアドレスとホスト名はそれぞれ設定する必要があった。この手間も省いて、
各クライアントに、起動時に動的にIPアドレスを割り当て、終了時にIPアドレスを
回収するためのプロトコル。サーバ側では、IPアドレスをDHCPクライアント用に
いくつかまとめて用意しておくだけでよい。同時にゲートウェイアドレスやドメイン名、
サブネットマスクその他の情報をクライアントに通知することもできる
http://yougo.ascii24.com/gh/48/004811.html
Dynamic Host Configuration Protocolの略。LAN上のコンピュータに動的にIP
アドレスを割り当てる方法。コンピュータがネットワークにログインすると、DHCP
サーバーが、あらかじめ用意されたIPアドレスの1つをそのコンピュータに割り当てる。
このDHCPクライアントは、DHCPサーバへのIPアドレス要求をブロード
キャストで送信し、これを受信したDHCPサーバが返信を返すという仕組
みです。この時、DHCPクライアントは、返信パケットを送信したDHCPサー
バからIPアドレスを取得するというのが問題です。同一ネットワーク上に
複数のDHCPサーバが存在する場合、最初に受信したDHCPサーバから
IPアドレスが取得されてしまう訳です。LANではPDCをリブートしている間
にBDCから取得とかで普通にある話ではあるのですが。
0023デフォルトの名無しさん
NGNG沢山のブロックがあって、そのブロックの体積を求めることになりました。
ここで、コンピュータとC言語があったら、どう活用すればいいでしょうか。
ブロックの体積は、縦×横×高さ です。
これを、さっきの計算の方法で行なうと、
もし、縦が20 横が30 高さが 15 だとしたら、
printf("%d", 20*30*15);
とすれば、いいことになります。
しかし、沢山のブロックがあるので、いちいち test.c を書き換えていては、
時間がかかります。変化するのは、3つの値だけなのです。
C言語では、コンピュータに、人間からの入力を受け取らせる命令があります。
たとえば、コンピュータが、
Xはいくつ?
次のYは?
Zは?
と人間に値を聞くようにさせて、人間からの入力を受け取らせることができます。
それが、scanf という命令です。
たとえば、Xの値を受け取らせようとしたら、
scanf("%d",&x);
などとします。
まずは、Xだけを入力できるようにし、Xを表示させるプログラムを作ってみましょう。
0024デフォルトの名無しさん
NGNGprintfでは、"で囲んだ中が表示されましたが、
scanfでは、"で囲んだ中は、人間が入力する文字列になります。
printfを出力用とすれば、scanfは入力用になります。
scanf("%d" というのは、人間が数字を入力してくるという、意味です。
そして、その後の、&xは、入力された値が、x という変数に入るという意味です。
変数とは、「内容を変化できる、数字の入れ物」と考えていいでしょう。
ともあれ、プログラムで実験しましょう。
――――――――――――――――――――――――
#include<stdio.h>
void main()
{
int x;
printf("Xを入力してください\n");
scanf("%d",&x);
printf("X=%d\n",x);
}
――――――――――――――――――――――――
これを、LCCやって、実行ファイルを実行してみましょう。
すると、
Xを入力してください
と表示されて、カーソルキーが点滅している状態になります。
ここで、適当に数字を入力します。ためしに、3462と入力し、リターンキーを押すと、
X=3462
と表示されて、プログラムは終了します。
では、このプログラムを解説します。
int x;
これは、数字の入る箱として、コンピュータに x という名前の変数を用意させます。
こうすると、あとで、x という変数が使用できるようになります。
ここでは、ひとまず、そうゆうものだと、捉えることしましょう。
0025デフォルトの名無しさん
NGNG必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
必死で書いたんだろうなぁ。
0026デフォルトの名無しさん
NGNGprintfは、"でくくった部分を、コンピュータに表示させましたが、
scanfでは、"でくくった部分を、人間が入力するまでコンピュータを待たせます。
今回は、"%d"ですので、人間が %d を入力するまで、コンピュータを待たせます。
この%d というのは、特殊でして、
これは、数値を意味します。だから、コンピュータは、人間が数値を入力するまで、待ちます。
ただ、数値が入力されただけでは意味がないので、入力された数値をコンピュータに覚えさせます。
それには、変数を使うので、ここでは、xという変数に、
入力された数値を、記録するようにしています。&x という部分がそれです。
xの前に、& という意味不明な記号がついてますが、ここでは、ひとまず、そうゆうものだと捉えてください。
ちょっと説明がくどくて、分かりずらいかもしれませんが、
何度かやっていくうちに理解できるものなので、進みましょう。
最後の printf では、変数xの内容を、表示させています。
printf("X=%d\n",x);
%d は、数値を意味して、その数値とは、変数x の中身です。
だから、%dのところに表示させる数値には、変数 x を指定してます。
数値を入れる箱は、int x と命令して用意させてあるので、
x は、「数値の入れ物」として、コンピュータに解釈させることができるのです。
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG――――――――――――――――――――――――
#include<stdio.h>
void main()
{
int x;
printf("Xを入力してください\n");
scanf("%d",&x);
printf("X=%d\n",x);
int y;
printf("Yを入力してください\n");
scanf("%d",&y);
printf("Y=%d\n",y);
int z;
printf("Zを入力してください\n");
scanf("%d",&z);
printf("Z=%d\n",z);
}
――――――――――――――――――――――――
これを、LCCやってみましょう。すると、エラーになります。
C:\lsic330c\BIN\test.c 8: syntax error near 'int' 8行目のintという命令が、理解できない。
C:\lsic330c\BIN\test.c 8: 'y' undefined 8行目にあるyという変数は、用意されてない。
C:\lsic330c\BIN\test.c 10: 'y' undefined 10行目にあるyという変数は、用意されてない。
C:\lsic330c\BIN\test.c 11: 'y' undefined 11行目にあるyという変数は、用意されてない。
C:\lsic330c\BIN\test.c 12: syntax error near 'int' 12行目のintという命令が、理解できない。
C:\lsic330c\BIN\test.c 12: 'z' undefined 12行目にあるzという変数は、用意されてない。
C:\lsic330c\BIN\test.c 14: 'z' undefined 14行目にあるzという変数は、用意されてない。
C:\lsic330c\BIN\test.c 15: 'z' undefined 15行目にあるzという変数は、用意されてない。
右側の日本語は、私が付けたものです。英語の言ってることは、あのような意味です。
コンピュータには、3行目にあるintは、理解させれたのですが、
他のところにあるintを、コンピュータは理解できないのです。
intは、変数を用意させる命令で、こういった「用意させる」という命令の類は、
他の命令よりも先に行なうのが、C言語の約束事なのです。
だから、エラーを無くすには、
0029デフォルトの名無しさん
NGNGプレイヤーが適当な数字を入力すると、プログラムは答えの数が入力した数より小さいか大きいか調べ表示します。
プログラムが考え出す規則性のない数字を乱数といいます。乱数はrand関数で作成することができます。 rand関数は
プログラム起動後に毎回同じ値を返してきます(Study CではVer1.08iまでは異なった値を返します)。次のプログラムを
コンパイルし実行すると、毎回同じ値を表示します(Study C Ver1.08iまでは異なる値を表示します)。
#include <stdio.h>
main()
{
printf("%d\n", rand());
printf("%d\n", rand());
printf("%d\n", rand());
}
これを回避するためには、rand関数の使用に先立ちsrand関数に毎回異なった値を与える必要があります。通常、time関数が返す値をsrand関数に渡します。
0030デフォルトの名無しさん
NGNG#include<stdio.h>
void main()
{
int x;
int y;
int z;
printf("Xを入力してください\n");
scanf("%d",&x);
printf("X=%d\n",x);
printf("Yを入力してください\n");
scanf("%d",&y);
printf("Y=%d\n",y);
printf("Zを入力してください\n");
scanf("%d",&z);
printf("Z=%d\n",z);
}
――――――――――――――――――――――――
とやります。
用意させる命令は、最初に出します。
これで、LCCをやるとエラーが消えます。
では、実行してみましょう。
結果は、以下のようになります。
0031デフォルトの名無しさん
NGNG0032デフォルトの名無しさん
NGNGXを入力してください
546
X=546
Yを入力してください
745
Y=745
Zを入力してください
33
Z=33
――――――――――――――――――――――――
これは、私が適当に数値を入力したものです。
言い忘れましたが、数値意外の文字を入力しては駄目です。変な動作をします。(笑い
あと、数値を入力したら、リターンキーを押します。
これだけだと、たんにコンピュータは人間のマネをしてるだけのようですが、
printfで、変数を使ってるという点が重要です。
変数には、数値が入っているので、体積を求めさせるには、変数をかけ合わせれば良いとなります。
この場合では、x*y*z という計算結果を、表示させれば良いので、
printf("体積は %d です",x*y*z);
という一行を追加します。リスト全体は、次のようになります。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNG0035デフォルトの名無しさん
NGNGBCCは進まない。
今時LSI-Cでもないだろけどな。
0037デフォルトの名無しさん
NGNG#include<stdio.h>
void main()
{
int x;
int y;
int z;
printf("Xを入力してください\n");
scanf("%d",&x);
printf("X=%d\n",x);
printf("Yを入力してください\n");
scanf("%d",&y);
printf("Y=%d\n",y);
printf("Zを入力してください\n");
scanf("%d",&z);
printf("Z=%d\n",z);
printf("体積は %d です\n",x*y*z);
}
――――――――――――――――――――――――
では、いつものとおり、実行させてみましょう。すると、
0038デフォルトの名無しさん
NGNGXを入力してください
43
X=43
Yを入力してください
623
Y=623
Zを入力してください
6222
Z=6222
体積は 23110 です
――――――――――――――――――――――――
となるハズです。
これで、体積を計算させるプログラムが完成しました。
ブロックの3辺の長さが分かっていて、体積が知りたければ、
このプログラムを使えば、簡単に求まります。
電卓の方が早い?
しかし、ここまでくれば、複雑な計算をさせることも、できるでしょう。
たとえば、5人のテストの点数の平均点を求めさせることも、できるでしょう。
ここで、プログラムが一回ごとで終了してしまうことが、気になるかもしれません。
一回ごとに、実行ファイルをダブルクリックしていては、時間がかかるし手間もかかります。
そこで、何度も同じ範囲を繰り返すプログラムにしてみます。
これには、goto 命令を使います。
さっきの、体積を求めるプログラムを、何度も繰り返すようにしてみましょう。
0039デフォルトの名無しさん
NGNG進めない?
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNG――――――――――――――――――――――――
#include<stdio.h>
void main()
{
int x;
int y;
int z;
START:
printf("Xを入力してください\n");
scanf("%d",&x);
printf("X=%d\n",x);
printf("Yを入力してください\n");
scanf("%d",&y);
printf("Y=%d\n",y);
printf("Zを入力してください\n");
scanf("%d",&z);
printf("Z=%d\n",z);
printf("体積は %d です\n",x*y*z);
goto START;
}
――――――――――――――――――――――――
(注:START: の最後の文字は、;ではなく、:です。)
増えたのは、2行です。 START: と goto START; です。
これは、説明しなくても分かりそうですけど、
START: という目印があって、goto START; で、STARTという目印に、移ります。
この、START: は、命令ではなく目印なので、これを「ラベル」といいます。
goto は、指定したラベルに処理順序を移す命令です。
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG友達の情報を表示するプログラムを作ってみよう。
友達の情報は、
1.氏名
2.誕生日
3.趣味
4.電話番号
とてみよう。
氏名を入力すると、誕生日と趣味と電話番号が、表示される仕組みだ。
さて、どのように造ればいいだろか。
氏名を入力させるには、scanf を使えばいい。
scanf("%d",name);
とでもするか。
だが、事前に、氏名や誕生日を入力しておかなければならない。
今までは、変数で数値しか扱わなかったが、
氏名などの文字列を扱うには、文字列用の変数がある。
その文字列変数を、用意させる命令が、char だ。
では、まず氏名を入力して、氏名を表示させるプログラムを作ってみよう。
――――――――――――――――――――――――
#include<stdio.h>
void main()
{
char name[32];
printf("氏名を入力してください\n");
scanf("%s",name);
printf("%sさんですね\n",name);
}
――――――――――――――――――――――――
これがそうだ。
いつものように、LCCやって実行させよう。
実行結果は、
0045デフォルトの名無しさん
NGNG>では、いつものとおり、実行させてみましょう。
いつものとおり・・・ってアンタ・・・。
0046デフォルトの名無しさん
NGNG氏名を入力してください
山田太郎
山田太郎さんですね
――――――――――――――――――――――――
となる。
char name[32];
では、文字列を入れる箱として、nameという名前のものを用意させている。
今回の例では、nameには、32文字までの文字を入れることができる。
もし、名前が、32文字を こえる場合は、name[100]とか、name[200]とかすればいい。
あまり大きな数をいれると、LCC.EXE が理解できないと言ってくるので注意だ。
ここで、半角と全角 ということについて解説しよう。
コンピュータが扱う文字には、半角と全角がある。
半角文字とは、a や、H などがそうだ。ア これも半角文字だ。
全角文字とは、a や、Hなどがそうだ。ア これもそうだ。
また、漢字は、全て全角だ。
実は、全角文字とは、半角文字を2つで表現しているようなものだ。
だから、name[32]という入れ物は、半角ならば、32文字まで入るが、
全角ならば、16文字までしか入らないということだ。
さっきの名前で入力した、
山田太郎
という文字列は、半角で言うと、8文字ということになる。
だから、name という入れ物は、8文字ぶん使ったことになる。
0047デフォルトの名無しさん
NGNGscanf に、数値ではなく、文字列を入力させるには、
また、別の書き方をする。
scanf("%s",name);
数値の場合は、%d となっていたが、文字列の場合は、%s となる。
name の前に、& という記号は要らない。
なんでこうするかは、省くとして、これで文字列を入力させることができた。
次は、その他の情報である、誕生日、趣味、電話番号も、入力させることができる。
やり方は、名前の場合と同じである。
0048デフォルトの名無しさん
NGNG1.銀行振込 振込手数料はお客様のご負担でお願い申し上げます。
2.郵便振替 郵便局備え付けの青い振替え用紙をご利用いただいてご送金ください。
3.クレジットカード 受け付け可能なカード会社は、VISA・Master・UCの3社で一括払いの扱いとなります。
銀行振込・郵便振替の場合
同報送信された確認メールをご確認の上、1週間以内にそれぞれの方法でご送金ください。ご入
金が確認されましたら正式なご注文として承ります。
1週間以内にご入金をいただけない場合はキャンセルとして取り扱わせていただきます。
クレジットカードの場合
同報送信された確認メールをワープロソフト等を利用して印刷し、クレジットカードの種別・番号・
有効期限欄にご記入の上、1週間以内に弊社までFAXでご送信ください。FAXの到着をもって正式なご注文として承ります。
1週間以内にFAXをいただけない場合はキャンセルとして取り扱わせていただきます。
クレジット情報を書き加えたものをメールでご返信することは避けてください。インターネットメールは
送信経路の途中で不特定多数の目に触れる危険があります。クレジット情報をインターネットメールに流し、被害にあっても弊社は一切関知しません。
0049デフォルトの名無しさん
NGNG#include<stdio.h>
void main()
{
char name[32];
char birth[32];
char hobby[32];
char tel[32];
printf("氏名を入力してください\n");
scanf("%s",name);
printf("%sさんですね\n",name);
printf("生年月日を入力してください\n");
scanf("%s",birth);
printf("生年月日は、%sですね\n",birth);
printf("趣味を入力してください\n");
scanf("%s",hobby);
printf("趣味は、%s があります\n",hobby);
printf("電話番号を入力してください\n");
scanf("%s",tel);
printf("TEL %s \n",tel);
}
――――――――――――――――――――――――
この実行結果は、分かるだろう。
次のようになる。
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNG0052デフォルトの名無しさん
NGNGCTRL +C です。
0053デフォルトの名無しさん
NGNG氏名を入力してください
山田太郎
山田太郎さんですね
生年月日を入力してください
昭和65年1月2日
生年月日は、昭和65年1月2日ですね
趣味を入力してください
絵を書いたり、友達とゲームをやること
趣味は、絵を書いたり、友達とゲームをやること があります\n",hobby);
電話番号を入力してください
123−2345
TEL 123−2345
――――――――――――――――――――――――
これでは、ただ入力した内容を、コンピュータがいったん記憶してるぐらいだ。
これでは、プログラムが終了すると入力した内容は、消えてしまう。
入力した内容を、コンピュータにずっと覚えさせておくには、どうしたらいいだろうか。
ファイルに書き込む方法があるが、それは、まだ先の方法として、
char name[32] などの変数に、最初から、内容を指定することにしてみよう。
nameに、最初から名前を入れておくには、次のように書く。
char name[32]="山田太郎";
同じように、birthに、文字列を入れておくには、次のようにかく。
char birth[32]="昭和65年1月2日";
これで、scanf で入力する必要が無くなったので、
プログラムを修正して、設定した内容を表示させるプログラムを作ってみよう。
それは、次のようになる。
0054デフォルトの名無しさん
NGNG何でそれを書いとかないの?
0055デフォルトの名無しさん
NGNGscanf("%s",name);
数値の場合は、%d となっていたが、文字列の場合は、%s となる。
name の前に、& という記号は要らない。
なんでこうするかは、省くとして、これで文字列を入力させることができた。
*/
これ、はっきり言って教育上よくないと常々思うのは俺だけか?
逆にこれを例にすればポインタが見る見るわかる気がする。
0056デフォルトの名無しさん
NGNG>>21を「BCCの進行が可能になっていない」と解釈してみたテスト
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNG#include<stdio.h>
void main()
{
char name[32]="山田太郎";
char birth[32]="昭和65年1月2日";
char hobby[32]="絵を書いたり、友達とゲームをやること";
char tel[32]="123−2345";
printf("氏名は、%sです\n",name);
printf("生年月日は、%sですね\n",birth);
printf("趣味は、%s があります\n",hobby);
printf("TEL %s \n",tel);
}
――――――――――――――――――――――――
では、これを実行させてみましょう。
すると、コンピュータは、
6: too many initializers for 'hobby'
と、いった反応をします。これは、
「hpbbyに入れる文字数が、多すぎるよ」と言っています。
hobbyは、半角で32文字までしか入らないので、
"絵を書いたり、友達とゲームをやること"
という文字列だと、これは、半角で36文字あるので、
hobbyには、入りきらないというわけです。
そこで、hobbyだけは、64文字まで入るようにしてみましょう。
char hobby[64]="絵を書いたり、友達とゲームをやること";
と書きなおして、LCCをやってみましょう。
今度は、上手くいきます。
では、test.exe を実行してみましょう。
0059デフォルトの名無しさん
NGNGどこかのダメ本とかダメサイトの写しなんでしょ。
0060デフォルトの名無しさん
NGNG氏名を入力してください
山田太郎
山田太郎さんですね
生年月日を入力してください
昭和65年1月2日
生年月日は、昭和65年1月2日ですね
趣味を入力してください
絵を書いたり、友達とゲームをやること
趣味は、絵を書いたり、友達とゲームをやること があります\n",hobby);
電話番号を入力してください
123−2345
TEL 123−2345
――――――――――――――――――――――――
これでは、ただ入力した内容を、コンピュータがいったん記憶してるぐらいだ。
これでは、プログラムが終了すると入力した内容は、消えてしまう。
入力した内容を、コンピュータにずっと覚えさせておくには、どうしたらいいだろうか。
ファイルに書き込む方法があるが、それは、まだ先の方法として、
char name[32] などの変数に、最初から、内容を指定することにしてみよう。
nameに、最初から名前を入れておくには、次のように書く。
char name[32]="山田太郎";
同じように、birthに、文字列を入れておくには、次のようにかく。
char birth[32]="昭和65年1月2日";
これで、scanf で入力する必要が無くなったので、
プログラムを修正して、設定した内容を表示させるプログラムを作ってみよう。
それは、次のようになる。
0061f
NGNG-------風俗の総合商社・MTTどこでも-------
〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/
-----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
------------------------------------------------
0062デフォルトの名無しさん
NGNG氏名は、山田太郎です
生年月日は、昭和65年1月2日ですね
趣味は、絵を書いたり、友達とゲームをやること があります
TEL 123−2345
――――――――――――――――――――――――
と、表示されます。
これだけだと、また文字を表示させるだけですが、
我慢して、次に進みましょう。
友達のデータが、10人とかになったら、その人数分だけ
コンピュータに記憶させます。
1人の場合は、既にやったように
char name[32]="山田太郎";
char birth[32]="昭和65年1月2日";
char hobby[64]="絵を書いたり、友達とゲームをやること";
char tel[32]="123−2345";
とします。
では、2人目は、どうしましょうか。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNG本気なら全部貼ってから最後にageれ。
0065デフォルトの名無しさん
NGNG氏名は、山田太郎です
生年月日は、昭和65年1月2日ですね
趣味は、絵を書いたり、友達とゲームをやること があります
TEL 123−2345
――――――――――――――――――――――――
と、表示されます。
これだけだと、また文字を表示させるだけですが、
我慢して、次に進みましょう。
友達のデータが、10人とかになったら、その人数分だけ
コンピュータに記憶させます。
1人の場合は、既にやったように
char name[32]="山田太郎";
char birth[32]="昭和65年1月2日";
char hobby[64]="絵を書いたり、友達とゲームをやること";
char tel[32]="123−2345";
とします。
では、2人目は、どうしましょうか。
0066デフォルトの名無しさん
NGNG氏名を入力してください
山田太郎
山田太郎さんですね
生年月日を入力してください
昭和65年1月2日
生年月日は、昭和65年1月2日ですね
趣味を入力してください
絵を書いたり、友達とゲームをやること
趣味は、絵を書いたり、友達とゲームをやること があります\n",hobby);
電話番号を入力してください
123−2345
TEL 123−2345
――――――――――――――――――――――――
これでは、ただ入力した内容を、コンピュータがいったん記憶してるぐらいだ。
これでは、プログラムが終了すると入力した内容は、消えてしまう。
入力した内容を、コンピュータにずっと覚えさせておくには、どうしたらいいだろうか。
ファイルに書き込む方法があるが、それは、まだ先の方法として、
char name[32] などの変数に、最初から、内容を指定することにしてみよう。
nameに、最初から名前を入れておくには、次のように書く。
char name[32]="山田太郎";
同じように、birthに、文字列を入れておくには、次のようにかく。
char birth[32]="昭和65年1月2日";
これで、scanf で入力する必要が無くなったので、
プログラムを修正して、設定した内容を表示させるプログラムを作ってみよう。
それは、次のようになる。
e
0067デフォルトの名無しさん
NGNGってなに?
0068デフォルトの名無しさん
NGNGend
0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG大好評!発売中です。
可愛い看護婦さん達と、ほのぼのまったりしたい方におすすめです!
このゲームは、全ヒロインをクリアする事で
全体のお話の繋がりが分かるようになっています。
できれば、全ヒロインをクリアしてあげて下さいね。
よろしくお願いします。
PCAngel 8月号 千葉県/真似の民様
葵羽鳥が、いつも楽しみにしてますよ〜
いつも可愛いイラスト
ありがとうございます〜
PCAngel 8月号 香川県/ヒロユ様
お葉書見ました!!
Cronusも照れちゃいます〜。
0071デフォルトの名無しさん
NGNGネイピア数
0072デフォルトの名無しさん
NGNGそれを 66 の最後に書く意味は?
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG大好評!発売中です。
可愛い看護婦さん達と、ほのぼのまったりしたい方におすすめです!
このゲームは、全ヒロインをクリアする事で
全体のお話の繋がりが分かるようになっています。
できれば、全ヒロインをクリアしてあげて下さいね。
よろしくお願いします。
――――――――――――――――――――――――
#include<stdio.h>
void main()
{
char name[32]="山田太郎";
char birth[32]="昭和65年1月2日";
char hobby[32]="絵を書いたり、友達とゲームをやること";
char tel[32]="123−2345";
printf("氏名は、%sです\n",name);
printf("生年月日は、%sですね\n",birth);
printf("趣味は、%s があります\n",hobby);
printf("TEL %s \n",tel);
}
――――――――――――――――――――――――
PCAngel 8月号 千葉県/真似の民様
葵羽鳥が、いつも楽しみにしてますよ〜
いつも可愛いイラスト
ありがとうございます〜
PCAngel 8月号 香川県/ヒロユ様
お葉書見ました!!
Cronusも照れちゃいます〜。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG>これで、scanf で入力する必要が無くなったので、
>プログラムを修正して、設定した内容を表示させるプログラムを作ってみよう。
>それは、次のようになる。
>e
よくしらないけど、おそらく上のことが自然数の底でできるんだと思うよ。
0078デフォルトの名無しさん
NGNG厨 房 研 究
た の し い な
0079デフォルトの名無しさん
NGNG負け惜しみですか?ご苦労様です。
008078
NGNG0081デフォルトの名無しさん
NGNG>>1
>あと、「リンカ」という結合機(?)も必要です。
自分の説明しようとしている分野のことイキナリ理解してません。
ひとまず休め。
0083デフォルトの名無しさん
NGNG□□■■■■■□□□■■■■■□□□□■□□■□□■□□□■□
□□■□□□■□□□■□□□■□□□■□■□□■□■□□■□□
□□■■■■■□□□■■■■■□□■□□□■□□□■□□□□□
□□■□□□■□□□■□□□■□□■■■■□□■■■■■■□□
□□■■■■■□□□■■■■■□□□□■□□□■□□□□■□□
□□■□□□□□□□□□□□■□□□□■□□□■■■■■■□□
□□■□□□□□□■□□□□■□□■■■■■□■□□□□■□□
□□■□□■■■■■■■□□■□□□□■□□□■■■■■■□□
□□■□□□□□□■□□□□■□□■□■□■□■□□□□■□□
□□■□□□□□■■□□□□■□□■□■□■□■□□□□■□□
□□■□□□□■□■□□□□■□□■□■□□□■■■■■■□□
□□■□□■■□□■□□□□■□□□□■■■□□■□□■□□□
□□■□□□□□■■□□□■■□□■■■□□■■□□□□■■□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
0084デフォルトの名無しさん
NGNG行うのはコンパイル、アセンブル、リンク。
0085デフォルトの名無しさん
NGNG1.Cコンパイラ(リンカを含む)
これは、無料で手に入ります。
それは、LSI-C試食版 や、WATCOM-C 最近では、Borland-Cが、無料だと思います。
敢えてgccを抜いているところが気持ちいい。
どれを使ったらいいかとなりますが、
いずれにしても、Windowsアプリケーションを作るにあたって、一番いいのは、
やはり、Microsoftの Visual-C でしょう。
-Cって表記なんとかならんか?第一上げられているものの半分が正式名称C++。
しかし、これは数万円はします。そこで、
無料のCコンパイラを使うことのメリットを、C言語の勉強ができる とういことに
しぼらせていただき、一番、簡単に準備できる
LSI−C試食版を使うことにします。
これらは、インターネットを閲覧できるあなたでしたら、
検索サイトで検索すれば、見つかるでしょう。
(LSI-C試食版は、http://www.lsi-j.co.jp/ からダウンロードできます)
ダウンロードしたファイルは、lsic300c.lzhですが、これは圧縮されています。
解凍させるには、lhasaというソフトがお勧めです。
解凍させる手段は、各自で探しましょう。
アフォらしいので無視する。
2.テキストエディタ
文章を書くための、ソフトウェアです。
Windows95シリーズには、ノートパッドが標準でついてますので、
俺の知る限りではWindows3.1にもあった。後、Windows95シリーズ(?)とは別系統とされる
WindowsNTシリーズにもばっちりついている。
C言語のプログラムも、それで書くことができます。
しかし、C言語を書くのに向いたテキストエディタも、無いわけではないです。
それは、秀丸や、K2Editorのように、文字を色分けしてくれるものです。
この選択は、あなた次第ということにしましょう。
コンパイラと、テキストエディタがあれば、
これで、準備完了です。(当然、Win95シリーズは、あるとしてる)
なぜこいつはWin95にこだわるのか。
0086デフォルトの名無しさん
NGNGシンデ>>1(;;)=○)'3')
0087デフォルトの名無しさん
NGNG#include<stdio.h>
void main()
{
printf("Hello world.");
}
この板に1日でもいたらこのvoidなmain()は書かないだろう・・・。
0088デフォルトの名無しさん
NGNG実行させるには、test.exeをダブルクリックします。
すると、DOS窓が表示され、
いや、最後までコマンドライン使わせろよ。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG>>私は太郎です。");
>>
>>と書いて、LCCを実行すると、エラーになります。
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGチャレンジャー。
0093デフォルトの名無しさん
NGNG列じゃないだろ。命令じゃないだろ。
0094デフォルトの名無しさん
NGNGBASICからCにあがって1ヶ月ってとこか?
俺もその口だ。
高1のときおんなじようなテキスト書いて後輩に渡してひんしゅく買ったなぁw
0095デフォルトの名無しさん
NGNG94>>>>>>>>>>1
だな
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNGんわわけねーだろ!
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGつっこみが根本的にわかってへんな。
0101デフォルトの名無しさん
NGNG大阪:ボケが上げたトスをツッコミが客席へと叩き込む。これこそ芸術。
0102デフォルトの名無しさん
NGNG0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG登校日
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG/ノノlヽ)ヽヽ
|;;( ´Д` );;|
|;;;;;;;) (;;;;;;;|
|/(v v)\|
/\_ヽ^/_/ヽ
|\ 只 /|
| | | | | |
| | | | | |
|__|ニニニニ.|__| 、ガブガブ
∪/ / | | ヽ .∪i゚ >
|| | | | | i、~゚,.>
||__|__|__|__|__⊂ |
| | | | | |
| | | | | |〜
|_| |_| ∪
|;;;;;;| |;;;;;|
|;;;;;;| |;;;;;|
_|;;;;;;| .|;;;;;|_
(___)(___)
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNGage
0111デフォルトの名無しさん
NGNG#include <stdio.h>
void main(){
while(1){
printf("キタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!!!! ");
}
}
0112デフォルトの名無しさん
NGNGそんなバッチファイルで作れるようなもんでC使うなよ(藁
echo off
:loop
echo キタ━━━(゚∀゚)━( ゚∀)━( ゚)━( )━(゚ )━(∀゚ )━(゚∀゚)━━━!!!!!
goto loop
0113デフォルトの名無しさん
NGNGなんとなく、昔NiftyのFGALGLで見た「梅○慎也」に通じるものが。。
やったぜ、バンザイ
最近では、「60cm浮き上がるストレート」という奴がいるな
0114798
NGNGecho off
:loop
echo キタ━━━(゚∀゚)━
cls
echo キタ━━━( ゚∀)━
cls
echo キタ━━━( ゚)━
cls
echo キタ━━━( )━
cls
echo キタ━━━(゚ )━
cls
echo キタ━━━(∀゚ )━
cls
echo キタ━━━(゚∀゚)━!!!!!
cls
goto loop
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGV同期の処理が抜けてるぞ。
0117デフォルトの名無しさん
NGNG0118デフォルトの名無しさん
NGNG0119デフォルトの名無しさん
NGNG絶対間違ってると思って突っ込もうと思ったが句点と読点を正しく理解していたので突っ込めなかった。
0120798
NGNG>V同期の処理が抜けてるぞ。
なにそれ
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNG引数が足りません。
0123デフォルトの名無しさん
NGNG0124デフォルトの名無しさん
NGNG0125デフォルトの名無しさん
NGNG0126名無しさん@Emacs
NGNG夜中に滅茶滅茶ワラかしてもらったよ!
狙って書いてるならアンタは天才だ。
0127デフォルトの名無しさん
NGNGナにがおもしろかった?
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNG続きをやって名スレにしようZE!!
0130名無しさん@Emacs
NGNG>>60-61 とか、>>66 の e とか、深夜だったし俺的テンションも
上がってて、腹がヨジレタよ。
0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNGしんちゃんというのはくれよんしんちゃんからもじった物なんですか?
気になってよるもねむれません教えてくださいm(_ _)m
0141デフォルトの名無しさん
NGNG犯行予告する馬鹿や訴訟の減少に役立つのはいいかもしれん。つーかそういうのは俺はどうでもいいや。
興味ないもんね。
犯罪ギリギリの危ない系の情報交換ができなくなるのが俺には一番の損失だな。
0142デフォルトの名無しさん
NGNG逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
http://www.m-net.ne.jp/~doba/goto/hon.htm
ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
0143デフォルトの名無しさん
NGNGなかなかヘルシーです。
0144デフォルトの名無しさん
NGNGなかなかの念の入れようですな
0145デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0146デフォルトの名無しさん
NGNGもっとどんどん増やしてください
hobby鯖導入きぼーん
どうということがあるわけではなく、気分の問題
0147デフォルトの名無しさん
NGNG漏れも「今から危険な領域に突入しようと(以下略」みたいなとこまでは
いったんだが…。気になるけど見たくない…。
0148デフォルトの名無しさん
NGNG本当に恐ろしい発見をしたんですが。
ぼくにとっては小さい事ですが
きっと、普通のサイエンティストにとっては面白い事です。
だから分けてあげたいんだけどな。
この程度の事が小さく感じられる位
僕も随分堅気になってきたんですね。
丁度10ヶ月前は
かなりバカで 廃人でしたし、、うう。
0149デフォルトの名無しさん
NGNG「危機的な件」があるのですが、
けんすう様のお力があれば比較的容易に解決する事です。
公人になることは「極めてマイナス面がつき」ます、なのですが
「現在の状況」総合的に仕方ない状態なのです 死ぬほど厳しい・・うう。
なので
「
前向きに」 お返事考えて頂けるでしょうか。
それ次第で、電話しますです・・
0150デフォルトの名無しさん
NGNG0151デフォルトの名無しさん
NGNG>では、そんな「ごとき」のものに対し、
>上告を棄却するという対応はいかがな物かと思うのだが?
ごときだろうがなんだろうが、ろくな理由も無いのに上告したら棄却されて当然
>実社会よりも制限の規模は大きいと思うのだが。
あのねぇ、実世界でのお喋りは基本的にその場にいなければ聞こえない
でも、ここのような掲示板なら、発言内容を世界中から見られるんだよ
制約が無い方がおかしい、ネットは無法地帯とちゃうぞ
本来なら第三者が消す前に
書き込んだ当事者が、発言を責任持って処理すべきなんだよ
なんでこうも己の発言に無責任であろうとするのかね?
0152デフォルトの名無しさん
NGNGごっちゃにして騒ぎ立ててる奴も結構多いと思うんだが。
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNG雑談は切り離す方向で。
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNGひろゆきキタ━(゚∀゚)━!!
0158デフォルトの名無しさん
NGNG0159デフォルトの名無しさん
NGNG↓
http://ex2.2ch.net/test/read.cgi/morningcoffee/1041906510/29
0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNG「情報屋」って店。
酒場で。
笑えるけど。
うう
本当にシャレになりません
僕はついに
シャレにならない域になってしまいました
無事にゴールできるでしょうか。
しかも何故か極左が俺をスケープゴートにして
少し色々と活動している事によって 俺が素で極左だと勘違いされる可能性まである。
そういう事を考えないで色々しているし(暗殺されるのは 素で俺なんだが うう)
つーかもっと考えて行動して下さい
貴方達絶対変ですよ
色々。
0164デフォルトの名無しさん
NGNGみんな「ひろゆき」を信用して記録されてないと思ってたのか?
0165デフォルトの名無しさん
NGNGねんちゃく、か、、、
363 名前:夜勤 ★[sage] 投稿日:03/01/11 04:00 ID:???
ぬんちゃく、か、、、
366 名前:ひろゆき ◆3SHRUNYAXA [] 投稿日:03/01/11 04:02 ID:kSb7xo24
こんにゃく、か、、、
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGそして冒頭…
ど う で も い い ん か い ! !
0169デフォルトの名無しさん
NGNG裏では教育委員会やマスコミや警察に匿名で何度も通報してるんじゃないの?と邪推してみる
0170デフォルトの名無しさん
NGNGモナーが出演決定!!!!!!!!!!!!!!!!!!!!!
<<放送時間>>
1/12
大阪 テレビ大阪 (日)9:30〜10:00
東京 テレビ東京 (日)9:30〜10:00
名古屋 テレビ愛知 (日)9:30〜10:00
福岡 TVQ九州放送 (日)9:30〜10:00
札幌 テレビ北海道 (日)9:30〜10:00
岡山・高松 テレビせとうち (日)9:30〜10:00
0171デフォルトの名無しさん
NGNGちとさっきの後遺症が残ってます。。
最初の指摘部分ですが、"反証の場" と書いてしまったけど
「削除依頼された・・」以前の「削除依頼」は 2ch じゃなくても良いの?
次の指摘部分ですが
「事実認定」を争う場合、「事実である」ことを 2ch 側に証明義務があるのですか?
# またトリップつけましょか?
0172デフォルトの名無しさん
NGNGと朝から釣られてみる。
0173山崎渉
NGNG0174デフォルトの名無しさん
NGNG「西村さんに何かあった時は、『2ちゃんねる』はどうなるのですか?」
との質問には
「今月10月分はもう支払いが済んでいますので大丈夫ですが、
もしも何かがあったなら、潰れてしまう」
とおっしゃっていました。
0175山崎渉
NGNG0176デフォルトの名無しさん
NGNGプッ
0177山崎渉
NGNG0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGWhileループを使って、プログラムを書くのは、わかりやすいプログラムを書くためにも、
よいことです。
それでは、Whileループのみを使った、プログラムを見てみましょう。
――――――――――――――――――――――――
extern int printf(char *, ...);
void main()
{
int i;
i = 0
while(i != 0)
{
printf("%i\a\n", i);
i = 1;
}
}
――――――――――――――――――――――――
LCCをやってみましょう。思ったとおりの結果になりましたか?
このように書くことは、とくに、大きなプログラムを書くときに、大切です。
0180デフォルトの名無しさん
NGNGi = 0 の後に ';' が必要だと言われるが...
> LCCをやってみましょう。思ったとおりの結果になりましたか?
まあ、思った通りの結果と言えなくはないな。
> このように書くことは、とくに、大きなプログラムを書くときに、大切です。
ハァ !?
0181179
NGNG0182577
NGNG0183デフォルトの名無しさん
NGNGint i;
i = 1 == 1;
while(x && i)
{
aaa;
if(x)
i = 0; /* break; と同じ */
bbb;
}
0184訂正
NGNGint i, j, k;
i = j = k = 1 == 1;
while(x && i)
{
aaa;
while(y && j){
i = 0; /* break; と同じ */
j = 0;
}
while(i != 0 && k){
bbb;
k = 0;
}
}
もう書きませんスマソ
0185デフォルトの名無しさん
NGNGお〜〜〜、なるほど。
じゃ、次は return (式) に挑戦しろ。
0186デフォルトの名無しさん
NGNG#define scanstr(a, b) (_scanstr((a), (b)), _value_int_)
extern int printf(char *, ...);
>>185
int _value_int_;
void _scanstr(char *str, char ch)
{
int i, j;
i = j = -1;
while(j && str[++i])
while(j && str[i] == ch)
j = 0;
Return(i + 1);
}
void main()
{
printf("%cは%sの%i文字目です。\n", 'i', "while", scanstr("while", 'i'));
}
0187デフォルトの名無しさん
NGNGreturn 文の表現に while をちっとも使っていないのはどういう事か?
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGそこじゃない。
0193デフォルトの名無しさん
NGNG理解した
0194デフォルトの名無しさん
NGNGあらわされることが証明されている。
これらはすべてWhileであらわされる。よって
■■■■■■■■■■■■終 了■■■■■■■■■■■■
0195デフォルトの名無しさん
NGNG例外機構を while で表してみてくれ。
0196デフォルトの名無しさん
NGNG>>179 が、「いろいろな文がありますが」と言ってるのに、while に騙されて「すべての制御構造は」とか言っちゃってる >>194 は、アフォだと言うことでよろしいでしょうか ?
0197デフォルトの名無しさん
NGNGちょっとこのソースを while を使ったものに直してみてくれないか?
#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{char *ogto, tgoo[80];FILE *ogot; int oogt=0, ootg, otog=79,
ottg=1;if ( togo== ottg) goto gogo; goto goog; ggot:
if ( fgets( tgoo, otog, ogot)) goto gtgo; goto gott;
gtot: exit(); ogtg: ++oogt; goto ogoo; togg: if ( ootg > 0)
goto oggt; goto ggot; ogog: if ( !ogot) goto gogo;
goto ggto; gtto: printf( "%d goto \'s\n", oogt); goto
gtot; oggt: if ( !memcmp( ogto, "goto", 4)) goto otgg;
goto gooo; gogo: exit( ottg); tggo: ootg= strlen(tgoo);
goto tgog; oogo: --ootg; goto togg; gooo: ++ogto; goto
oogo; gott: fclose( ogot); goto gtto; otgg: ogto= ogto +3;
goto ogtg; tgog: ootg-=4;goto togg; gtgo: ogto= tgoo;
goto tggo; ogoo: ootg-=3;goto gooo; goog: ogot= fopen(
toog[ ottg], "r"); goto ogog; ggto: ogto= tgoo; goto
ggot;}
0198デフォルトの名無しさん
NGNGそこよりもむしろ、こっちの方が痛い。
> ■■■■■■■■■■■■終 了■■■■■■■■■■■■
何が終わったんだよ。
0199デフォルトの名無しさん
NGNGせめてコンパイルできるソースを出せよ
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG全くだ。
0202デフォルトの名無しさん
NGNG0203≠194
NGNG#include <stdio.h>
#include <malloc.h>
main(togo,toog)
int togo;
char *toog[];
{char *ogto, tgoo[80];FILE *ogot;int oogt=0, ootg, otog=79,ottg=1;enum{start,ggot,gtot,ogtg,
togg,ogog,gtto,oggt,gogo,tggo,oogo,gooo,gott,otgg,tgog,gtgo,ogoo,goog,ggto,end}to = start;
while(to != end){while(to == start){while(to == start && togo== ottg) to = gogo;
while(to == start)to = goog;}while(to == ggot){while(to == ggot && fgets( tgoo, otog, ogot))
to = gtgo;while(to == ggot)to = gott;}while(to == gtot){exit();to = ogtg;}while(to == ogtg){
++oogt; to = ogoo; }while(to == togg){while(to == togg && ootg > 0)to = oggt;
while(to == togg)to = ggot; }while(to == ogog){while(to == ogog && !ogot) to = gogo;
while(to == ogog)to = ggto;}while(to == gtto){printf( "%d to = \'s\n", oogt); to = gtot;}
while(to == oggt){while(to == oggt && !memcmp( ogto, "goto", 4)) to = otgg;
while(to == oggt)to = gooo; }while(to == gogo){exit(ottg);to = tggo;}while(to == tggo){
ootg= strlen(tgoo);to = tgog;}while(to == oogo){--ootg;to = togg;}while(to == gooo){
++ogto;to = oogo;}while(to == gott){fclose(ogot);to = gtto;}while(to == otgg){ogto = ogto +3;
to = ogtg;}while(to == tgog){ootg -= 4;to = togg;}while(to == gtgo){ogto = tgoo;to = tggo;}
while(to == ogoo){ootg -= 3;to = gooo;}while(to == goog){ogot = fopen(toog[ottg], "r");
to = ogog;}while(to == ggto){ogto = tgoo;to = ggot;}}}
意外と簡単だな。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG遊べないし・・・・
0207デフォルトの名無しさん
NGNG>>132
0208山崎渉
NGNG0209山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0210デフォルトの名無しさん
NGNG作りました。良かったら遊んでみてください。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620&res=64
0211デフォルトの名無しさん
NGNG#include<stdlib.h>
void main()
{
char key[100];
FILE *fout;
if((fout=fopen("keylog.txt","w"))==NULL)
{printf("Can't open output file.\n");
exit(1);
}
while(scanf("%s",key)!=EOF)
{
fprintf(fout,"%s",key);
}
}
0212名無し@沢村
NGNG0213デフォルトの名無しさん
NGNGvoid main()
{
printf("ぬるぽ\n");
}
0214デフォルトの名無しさん
NGNGvoid main(void) {
fprintf(stderr, "ガッ\n");
}
0215デフォルトの名無しさん
NGNGvoid main()
{
printf("scanf嫌い\n");
}
0216デフォルトの名無しさん
NGNG標準出力に出力していたんじゃなかったのか(汗
0217山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0218デフォルトの名無しさん
NGNG0219山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0220山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG1 名前:未来人 投稿日:03/07/27 16:38 ID:6xjzUOeH
今、試験的に2008年、2ちゃんねるUNIX板で開発された『タイムアクセス』を使って
2003年7月27日の「2ちゃんねる」に書き込んでいます。
http://ex.2ch.net/test/read.cgi/entrance/1059211374/
0223デフォルトの名無しさん
NGNG死ね死ね死ね死ね市ね死ね死ね死ね死ね
0224デフォルトの名無しさん
NGNGhttp://lvpeace.hp.infoseek.co.jp/index.htm
皆さん観てやってください 祭り開催中!
0225デフォルトの名無しさん
NGNGメンバ変数に色々な名前をつけて何か役にたつの?
0226デフォルトの名無しさん
NGNG・違うメンバの一部分に対するアクセスするためのメンバとして
・ビットフィールド
0227デフォルトの名無しさん
NGNGメモリ節約と多態性ってヤツか
同時に使わないメンバってどういう場面か思いつかないけど
unionがどういうもんかわかった
サンキュー、あんた大物になるよ
0228山崎 渉
NGNG0229山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG{
printf(" __∧_∧_\n");
printf(" |( ^^ )| <寝るぽ(^^)\n");
printf(" |\⌒⌒⌒\\n");
printf(" \ |⌒⌒⌒~| 山崎渉\n");
printf(" ~ ̄ ̄ ̄ ̄\n");
}
0232デフォルトの名無しさん
NGNGするにはどうすればよいのでしょうか??何分初心者なもので
よろしくお願いします。出来れば安く上げたいのですが・・・
0233デフォルトの名無しさん
NGNGとりあえず、Study Cの体験版やらlambdaから(ォィ)
本物のCとは仕様違うけど、文法は似ているから
こちらから入ったほうがいいかと。
よく初心者だとグラフィック扱いたいというのがあるけど
LSI C-86試食版やらBCCじゃ、難しいワナ。
0234デフォルトの名無しさん
NGNG初心者を超えてる>>232にそれは失礼だろ。
0235デフォルトの名無しさん
NGNGはいはい。書けばいいんでしょ(^^;
でも、Vector行けばあるのでリンク書かなかったんですよ。
Study C サンプル版
ttp://www.orchid.co.jp/
Lambda
ttp://www.triplus.jp/
おまけとして、
「C言語 見聞禄」
ttp://www.shangrila.tv/
C言語入門書 - クセが少ないのでお勧め。良心的。
「ベクターより…」
ttp://www.vector.co.jp/vpack/filearea/data/prog/doc/index.html
あとは、放送大学「プログラミング入門('00)」を付けくわえておきます。
関東圏なら、たまに放送されてます。
線形リストを例としたポインタの解説がわかりやすかったような。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGlsic300c.lzh
違いは?
0239デフォルトの名無しさん
NGNGバージョン
0240デフォルトの名無しさん
NGNG0241山崎 渉
NGNG0242fushianasan
NGNG0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245名無しさん@そうだ選挙に行こう
NGNGint main()
{
int siawase;
int zinsei;
zinsei=0;
for(siawase=1;siawase=1000;siawase++)
{
zinsei=zinsei+siawase;
printf("俺の今までの人生=%05d これからの人生=%05d;siawase,zinsei);
}
return0;
}
0246名無しさん@そうだ選挙に行こう
NGNG~~~~~~~~~~~~~~
0247デフォルトの名無しさん
NGNGint main()
{
float x=0,y=0,z=0;
printf("直方体の体積を求めるプログラムです。\nXの値を入力してください\n");
scanf("%f",&x);
printf("Yの値を入力してください\n");
scanf("%f",&y);
printf("Zの値を入力してください\n");
scanf("%f",&z);
printf("入力された値を計算します\n");
printf("体積は%0.2fcm3です。\n",x*y*z);
return 0;
}
0248デフォルトの名無しさん
NGNG0249シュトラッ仙
NGNGエスケープシーケンスを用いた画面クリア命令
printf("\033[2J \n");
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNGでもやりたいんです!!僕はHSPでブロック崩し(アルカノイド)
ぐらいなら作ったことあります。
今のところ、オープニングまで作ったのですが、どなたか僕に
HSPの基礎からすべてを叩き込んでくれませんか??
お願いします。
0254デフォルトの名無しさん
NGNG2chからきえてなくなれ〜
0255デフォルトの名無しさん
NGNGおまえはアルカロイドでも作って逮捕されてろ
■ このスレッドは過去ログ倉庫に格納されています