C言語なら俺に聞け(入門篇) ぱぁと2〜
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/07/25(火) 18:07:43前スレ
C言語なら俺に聞け(入門篇)
http://pc8.2ch.net/test/read.cgi/tech/1146700389/
0002デフォルトの名無しさん
2006/07/25(火) 19:32:50ただ俺だけなんだがなんでだろう?
0003デフォルトの名無しさん
2006/07/25(火) 20:57:570004デフォルトの名無しさん
2006/07/25(火) 21:38:52ドッペルゲンガーかもしれん・・・・・
今のうちに出来ることをやっておいた方がいい。
0005デフォルトの名無しさん
2006/07/25(火) 21:39:32オヤシロサマの祟りじゃ〜
0006デフォルトの名無しさん
2006/07/26(水) 11:15:26疲れてるんだよきっと。
0007デフォルトの名無しさん
2006/07/26(水) 12:03:25っていうエラーが出るんですけど、どうしたらいいんでしょうか・・・
ボーランドのコンパイラで、例のhello〜っていうプログラムも実行できずにいます><
超初心者ですみません><
0008デフォルトの名無しさん
2006/07/26(水) 12:37:06入門以前の事だろそれは
出て行け
二度と来るな
0009デフォルトの名無しさん
2006/07/26(水) 12:50:360010デフォルトの名無しさん
2006/07/26(水) 13:45:560011デフォルトの名無しさん
2006/07/26(水) 13:53:52�@モーターへの出力命令の与え方
�Agoto文の使い方
�B作図の仕方
何度調べてもわかりませんでした。
知っている方、教えて下さい。
0012デフォルトの名無しさん
2006/07/26(水) 14:18:26入門以後の事だろそれは
出て行け
二度と来るな
0013デフォルトの名無しさん
2006/07/26(水) 14:27:48失礼しました
0014デフォルトの名無しさん
2006/07/26(水) 23:20:40�@ Cの話じゃない
ハードの構成に依存する
�A goto <ラベル>
�B Cの話じゃない
紙に鉛筆などで好きに書け
0015M
2006/07/29(土) 15:05:062.float型ポイント変数aにfloat型変数numberのアドレスを代入する。
3.ポインタ変数aが指すオブジェクトの値を1インクリメントする。
4.文字型配列aに格納されてる文字列をプリントする。
C言語でどうやってプログラムするんですか?(><)
0016デフォルトの名無しさん
2006/07/29(土) 15:30:30duble * dPtr;
// 2.
float * a = & number;
// 3.
* a += 1;
// 4.
printf("%s", a);
0017M
2006/07/29(土) 15:33:010018デフォルトの名無しさん
2006/07/29(土) 17:13:177円とかそういう落ちではなく、、
7回改行とか7文字分空白を空けるのかと思ったんだが。。
cmdじゃ効果無いかな・・
0019デフォルトの名無しさん
2006/07/29(土) 18:07:307の値を持つ文字のこと。ASCIIではBELと定義されいるので、一般的にコンソールに出力すればベルが鳴る。
#そういう意味においては、"\a"と等価。
0020デフォルトの名無しさん
2006/07/29(土) 18:46:10だからエラーの時プープーて鳴るのか。
(2つ書いたから)
なるほど、、トンクス>>19
0021デフォルトの名無しさん
2006/07/29(土) 23:51:43あれって、0を返すのと他の数値を返すのとではどう違うんですか?
プログラムを実行しても何も変わらないので、疑問に思いました。
どなたか教えてくれれば、幸いです。
0022デフォルトの名無しさん
2006/07/30(日) 00:05:12おそらく0と-1だったら向こう側ではエラーの有無をチェックしているのでは?
返す値によって何がどう違うかは戻り値の目的による。
0023デフォルトの名無しさん
2006/07/30(日) 00:05:46例えば、system 関数でそのプログラムを実行した時に
system の戻り値が変わったりする(でも、どうなるかは環境依存か)。
あとはシェルで実行した時に
プログラムの成功/失敗の判定に影響したり(これも環境依存か)。
まあ、環境依存だが、そんなところだ。
002421
2006/07/30(日) 00:08:10入門書を読んでも書いてなかったので。
ネットでも調べてみます。
0025デフォルトの名無しさん
2006/07/30(日) 00:11:16エラーで終わらせるのなら、exit()でないといかんか。。
0026デフォルトの名無しさん
2006/07/30(日) 00:19:29何も書かずに自分で勝手にやれってことですけどw
0027T
2006/07/30(日) 00:29:550028デフォルトの名無しさん
2006/07/30(日) 00:29:57002928
2006/07/30(日) 00:33:33>>27
こんなのあったけど
ttp://www.plustarnet.com/aspil/Programming/
つかググれよ
つ「DirectX C言語 ゲーム プログラム」
これで3個目に出たぞ
0030デフォルトの名無しさん
2006/07/30(日) 00:38:48遅いのにJavaが全盛なのが理解出来た。
Cで組める香具師って絶滅種?
0031デフォルトの名無しさん
2006/07/30(日) 00:39:48初心者が手軽に手を出すからじゃね?
0032デフォルトの名無しさん
2006/07/30(日) 00:47:20ただな・・・仕事で使うんじゃないならJavaに利用価値があんまりないんだよ
003328
2006/07/30(日) 00:56:260034デフォルトの名無しさん
2006/07/30(日) 12:50:100035デフォルトの名無しさん
2006/07/30(日) 14:19:04以下のやつの結果が表示されないのですけれど
どうすればよいのかご教授ください
#include <stdio.h>
int main()
{
int a;
a=10;
printf("変数aには%dが代入されています。", a);
return 0;
}
0036デフォルトの名無しさん
2006/07/30(日) 14:36:240037デフォルトの名無しさん
2006/07/30(日) 14:36:52結果というのが何を指すか分からないが、
「変数aには10が代入されています。」
と表示されないということか?
まず、環境を書け。俺は表示された。
0038デフォルトの名無しさん
2006/07/30(日) 14:54:06printfの後にfflush(stdout);を入れてみてもだめなのか?
0040デフォルトの名無しさん
2006/07/30(日) 14:59:17004135
2006/07/30(日) 15:03:50int main()
{
int a;
a=10;
printf fflush(stdout);("変数aには%dが代入されています。", a);
return 0;
}
こんな感じやってみたのですが
だめでした.....
0042デフォルトの名無しさん
2006/07/30(日) 15:07:30おいおいw
それじゃコンパイル通らないんじゃ?
こうだろ?
#include <stdio.h>
int main()
{
int a;
a=10;
printf("変数aには%dが代入されています。", a);
fflush(stdout);
return 0;
}
0043デフォルトの名無しさん
2006/07/30(日) 15:10:09エクスプローラで実行ファイルダブルクリックなのかな?orz
004435
2006/07/30(日) 15:10:51コマンドプロントは閉じていないと思われます。
その代わりプロントタイプ宣言のない関数printfの呼び出し
という警告がでていますが.....
0045デフォルトの名無しさん
2006/07/30(日) 15:13:08stdio.hをインクルードしてるし、警告も出ない
0047デフォルトの名無しさん
2006/07/30(日) 15:17:350049デフォルトの名無しさん
2006/07/30(日) 15:26:24ちゃんとbcc55のインストール手順に従ってインストールした?
bcc55を展開したディレクトリのreadme.txtに書いてあるはず
たぶんbcc32.cfgとilink32.cfgの設定を忘れてると思う
0050デフォルトの名無しさん
2006/07/30(日) 15:34:06実行ファイルの有無で一目瞭然だ
その可能性もあるなんて状況がいまいち分からん
0052デフォルトの名無しさん
2006/07/30(日) 15:40:10二次方程式ax^2+bx+c=0 の根を求めるプログラムを作成せよ。
ここまでは思いついたのですが,あと,どのようにすれば良いですか?
#include <stdio.h>
#include <math.h>
double d, x1,x2; int a,b,c;
x1=(-1*b+sqrt(d))/(2*a);
x2=(-1*b-sqrt(d))/(2*a);
この間に何を入れれば良いのでしょうか?
0053デフォルトの名無しさん
2006/07/30(日) 15:51:080054デフォルトの名無しさん
2006/07/30(日) 15:51:16根の公式知ってるなら難しくはないと思われ
a=1;
b=3;
c=2;
d=b*b-4*a*c;
でも虚数解の場合はいらないのかい?
0055デフォルトの名無しさん
2006/07/30(日) 15:58:24はい。虚数解の場合は良いと思います。ただし,a≠0の場合です。
#include <stdio.h>
#include <math.h>
main(){
double d, x1,x2; int a,b,c;
a=1;
b=3;
c=2;
d=b*b-4*a*c;
x1=(-1*b+sqrt(d))/(2*a);
x2=(-1*b-sqrt(d))/(2*a);
}
こうですか?
0056デフォルトの名無しさん
2006/07/30(日) 15:58:38課題なら宿題スレに行けばたぶん完全なプログラムを書いてくれるよ
でも、その課題はさんざん既出な気がするよ
0057デフォルトの名無しさん
2006/07/30(日) 16:00:33基本的にはOK
でも、求めたx1とx2の値を表示する文が最後にほしいかな
0058デフォルトの名無しさん
2006/07/30(日) 16:22:08ありがとうございます。
具体的にx1とx2の値を表示する文とはどのように表現すれば良いのですか?
a,b,cの値をそれぞれ式に代入することですか?
0059デフォルトの名無しさん
2006/07/30(日) 16:29:22printf("ax^2+bx+c=0,a=%lg,b=%lg,c=%lg -> x1=%lg,x2=%lg\n",a,b,c,x1,x2);
をreturn文の前に入れておけば?
ってなんだこりゃー
int a,b,c;
は
double a,b,c;
にするべきかと
0060デフォルトの名無しさん
2006/07/30(日) 16:33:020061デフォルトの名無しさん
2006/07/30(日) 16:39:19return文が無かった
x1とx2への代入文の次に>>59のprintfを入れておいて
0062デフォルトの名無しさん
2006/07/30(日) 16:41:25http://ex16.2ch.net/test/read.cgi/news4vip/1154167137/
まとめ
http://vanbl.blog.shinobi.jp/
現在新しい専ブラを開発中ですプログラミングに詳しい方
>>1にアドバイスをお願いします
0063デフォルトの名無しさん
2006/07/30(日) 16:42:51#include <stdio.h>
#include <math.h>
main(){
double d, x1,x2; double a,b,c;
a=1;
b=3;
c=2;
d=b*b-4*a*c;
x1=(-1*b+sqrt(d))/(2*a);
x2=(-1*b-sqrt(d))/(2*a);
printf("ax^2+bx+c=0,a=%lg,b=%lg,c=%lg -> x1=%lg,x2=%lg\n",a,b,c,x1,x2);
}
0064デフォルトの名無しさん
2006/07/30(日) 16:46:15まあ警告は出るけどそんなものでしょ
mainは暗黙のうちにintを返す関数とみなされてるから
最後にreturn 0;でも書いておけば警告も無くなると思う
実際実行してみれ
0065デフォルトの名無しさん
2006/07/30(日) 16:50:19ありがとうございます。
助かりました。
0066デフォルトの名無しさん
2006/07/30(日) 19:48:03#includ <math.h>
int main()
{
double a, b, c, d, x1, x2;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
d = b * b - 4 * a * c;
if (0 > d)
{
return ー1;
}
0067デフォルトの名無しさん
2006/07/30(日) 19:49:48else
{
*x1 = (-b + sqrt(d)) / (2 * a);
*x2 = (-b - sqrt(d)) / (2 * a);
printf("x1 = %f\n", x1);
printf("x2 = %f\n", x2);
}
return 0;
}
多分どこか間違ってると思う。
ってか、宿題ってこんなものでるんだ。f^_^;
知らなかった。
0068デフォルトの名無しさん
2006/07/30(日) 20:04:38まともに動かないだろ。
0069デフォルトの名無しさん
2006/07/30(日) 20:16:48#includ > #include
return ー1 > return 1
scanf("%d", &a); 以下double型で宣言されている変数に対して %d > %lf
0070デフォルトの名無しさん
2006/07/30(日) 20:18:41全角文字はタブー
0071デフォルトの名無しさん
2006/07/30(日) 21:05:15ご指摘ありがとうございます!!
0072デフォルトの名無しさん
2006/07/30(日) 21:08:480073デフォルトの名無しさん
2006/07/30(日) 21:21:24#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, d, x1, x2;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
d = b * b - 4 * a * c;
if (0 > d)
{
return 1;
}
else
{
*x1 = (-b + sqrt(d)) / (2 * a);
*x2 = (-b - sqrt(d)) / (2 * a);
printf("x1 = %f\n", x1);
printf("x2 = %f\n", x2);
}
return 0;
}
0074デフォルトの名無しさん
2006/07/30(日) 21:24:12ですかって、自分でコンパイルして実行してみたの?
else { } 不要、*x1 *x2 前の * も不要
0075デフォルトの名無しさん
2006/07/30(日) 21:27:07scanf("%d", &a); < %d を変えていないからエラーが起こる
0076デフォルトの名無しさん
2006/07/30(日) 21:41:40明日,学校で実行してみます。ご指摘ありがとうございました。
0077デフォルトの名無しさん
2006/07/30(日) 21:49:13自分のコンピュータにコンパイラを入れてやれいw
0078デフォルトの名無しさん
2006/07/30(日) 22:13:25#include <stdio.h>
#include <math.h>
int main(){
double a,b,c,d,x1,x2;
scanf("%lf",&a);
scanf("%lf",&b);
scanf("%lf",&c);
d=b*b-4*a*c;
if(0>d) {return 1;}
x1=(-1*b+sqrt(d))/(2*a);
x2=(-1*b-sqrt(d))/(2*a);
printf("x1=%f\n",x1);
printf("x2=%f\n",x2);
return 0;
}
0079デフォルトの名無しさん
2006/07/30(日) 22:36:03おまえ何回か宿題スレにいたやつじゃないだろうな?
0080デフォルトの名無しさん
2006/07/30(日) 22:37:13complex<double> x と書けば、実数部と虚数部がそれぞれdouble型として定義されますよね?
その後、それぞれに任意の値を代入するために、どのようにして各部にアクセスすれば
良いのでしょうか?
x.real、x.imagというようにしてもコンパイルエラーがでました。
↓エラーの内容
「メンバー関数は呼び出すかそのアドレスをとらなければならない」
0081デフォルトの名無しさん
2006/07/30(日) 22:50:34C++ はスレ違い。
0083デフォルトの名無しさん
2006/07/31(月) 12:01:09int main()
{
printf("Hello");
return 0;
}
こんな初歩的なプログラムでヘッダファイルの#include<stdio.h>を消して実行してみたら普通に実行できたんだけど・・・
普通に実行できるならヘッダファイルいらなくね?という疑問です。
0084デフォルトの名無しさん
2006/07/31(月) 12:08:58普通に動くんだからブレーキなんて外しちゃってもよくね?
0085デフォルトの名無しさん
2006/07/31(月) 12:11:36でもなんか納得いかない。
「普通に動くけど、ないとダメな安全装置」って感じなのかな?
0086デフォルトの名無しさん
2006/07/31(月) 12:12:36{
double d = fabs(-1.5);
printf("%lf\n", d);
return 0;
}
とやってみるとわかる。 ヘッダー有り無しで挙動違うから。
0087デフォルトの名無しさん
2006/07/31(月) 12:16:09printf()ならインクルードファイルなしでも動くけど、
ファイル操作もできなければ数学関数(sinなど)も使えない状態だね。
つまり、たまたま使える関数だけしか使わないのでない限り、標準インクルードファイルは必要。
単に、環境設定に失敗しているだけだろうから、使っている処理系関連のスレで聞いて味噌。
0088デフォルトの名無しさん
2006/07/31(月) 12:47:10プログラム自体が動かなすorz
逆にさ、#include<stdio.h>がないと正常に動作しねーよ!っていうプログラムって何か無いかな?
例をみないと理解できないよ...
0089デフォルトの名無しさん
2006/07/31(月) 12:50:43関数()の中身がプロトタイプ宣言されていないとintとみなされ、
戻り値の型もintと見なされるので、それでは都合の悪いプログラム
ならなんでもいいだろう。
int main(void)
{
}
0090デフォルトの名無しさん
2006/07/31(月) 12:51:54printf("%f", sin(0.5)); とかね。
プロトタイプ宣言がないと、-1, 0, 1のどれかしか表示されないはず。
0091デフォルトの名無しさん
2006/07/31(月) 12:56:39int main(){
int i,j;
for(i=1; i<=1000; i++)
j=i+j;
printf("%d \n",j);
return 0;
}
これやって表示される結果の数を教えてください。
0092デフォルトの名無しさん
2006/07/31(月) 13:01:300093デフォルトの名無しさん
2006/07/31(月) 13:02:43お願いします。
0094デフォルトの名無しさん
2006/07/31(月) 13:05:05だがろくでも無い結果になるのはすぐに分かる
jを初期化してないからな
0095デフォルトの名無しさん
2006/07/31(月) 13:05:510096デフォルトの名無しさん
2006/07/31(月) 13:09:48かな
0097デフォルトの名無しさん
2006/07/31(月) 13:41:03gcc だと math.h の関数の型は
math.h なしでもちゃんと認識される。
0098デフォルトの名無しさん
2006/07/31(月) 14:05:45暗黙の変換で int 化しないの? (特に引数側
微妙に拡張機能っぽいけど…
# プリプロセスの段階 or PASS1 の段階で math.h に含まれるシンボル比較してるんかな?
0099デフォルトの名無しさん
2006/07/31(月) 14:10:27あ、初期化してなかった^^;
ありがとうございました。
0100デフォルトの名無しさん
2006/07/31(月) 16:14:22微妙も何も、紛う方無く拡張機能
0101デフォルトの名無しさん
2006/07/31(月) 21:45:20■ このスレッドは過去ログ倉庫に格納されています