[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 09/06 22:43 / Filesize : 155 KB / Number-of Response : 705
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門編)Part 101



1 名前:デフォルトの名無しさん [2012/05/04(金) 04:05:26.52 ]
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 100
toro.2ch.net/test/read.cgi/tech/1333108892/
★過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 157代目
toro.2ch.net/test/read.cgi/tech/1335517816/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

長くなりそうなコードはcodepadに貼り付けてもいいでしょう
codepad.org/
ideone.com/

643 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:11:26.13 ]
プログラミングなんかやったって何にもならないただの徒労で終わるよ
学生なら部活やら人付き合いやら勉強やら資格の勉強やらに費やすべき
プログラミングなんかやったって受験で有利になるわけでも良い会社に入れるわけでも
出世競争で有利になるわけでも金が儲かるわけでもなんでもない
プログラミングに時間を費やすというのは完全に人生をドブに捨てるのと同じで愚かな行為
受験勉強を頑張りなさい

644 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:12:18.29 ]
>>643
うざいです><

645 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:24:33.13 ]
>>637
だったら自分で新しいエディタ書くよりpythonでgeditプラグイン書いたほうが速いと思うが

646 名前: ◆QZaw55cn4c mailto:sage [2012/05/19(土) 22:42:53.30 ]
>>639
先輩たちがここにいるよ。
当時の話をきくと面白いかもしれないよ。
ikura.2ch.net/test/read.cgi/i4004/1334408350/

647 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:47:19.05 ]
>>646
オッサンは嫌

648 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:49:07.44 ]
タイトルの俺って誰ですか?

649 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:50:01.57 ]
Cの最大の難関はこんな役立たず言語覚えてどうするんだという疑問が払拭できず
モチベーション維持が極めて難しいということだな。
そこさえ乗り越えられれば何歳だろうと習得は簡単。

650 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 22:51:50.76 ]
言語を作りたいのですがそういう場合でもC言語を覚えるのはやめたほうがいいですか?

651 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 23:08:14.06 ]
初歩的なことで申し訳ないんですが、
1〜40までの整数があって
1〜20を白、21〜40を赤
みたいにしたいとき、
1〜20 の ”〜”の部分は
どう表現すればいいんですか?



652 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 23:08:43.52 ]
>>649
ちがうんじゃねーの?
Cで出来ることがほとんどやりつくされてるからじゃね
デガラシいじくりまわしても楽しくないじゃん


653 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 23:25:18.64 ]
・覚えるの 早めた方がいいですか?
・覚えるのは 止めた方がいいですか?
どっちなのかと。

654 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 23:27:22.88 ]
>>651
あなたの質問は、if文の条件の書き方を知りたいと言うことですか?
でとすれば、if (整数 >= 1 && 整数 <= 20) 白();のようにすればよろしいかと。

655 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 23:27:59.05 ]
>>651
>1〜20 の ”〜”の部分は
>どう表現すればいいんですか?
「波線」。

656 名前:デフォルトの名無しさん mailto:sage [2012/05/19(土) 23:41:55.43 ]
>>654
ありがとうございます!
>>655
勉強になりましたwww

657 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:25:16.23 ]
いえいえ

658 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:49:25.18 ]
>>657
いやお前に言ってないからwww

659 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 00:55:35.76 ]
俺に言ってんだよ。

660 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 01:10:07.47 ]
>>659
誰にも言ってないんですけど

661 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 03:56:57.85 ]

>657 が壁に向かって言ってるんだろ。



662 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 03:59:53.21 ]
Yeah Yeah

663 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 07:15:58.09 ]
iPadで授業の動画を見ながらプログラミング学習
ソフトバンクがシリーズ展開

iPad 向けアプリ「赤松先生のIT講座シリーズ」の第1弾としてリリースされたのは、『速解C 60分でわかる「構造体」「ポインタ」』(1500円、発売記念価格800円)。

markezine.jp/article/detail/11865
static.shoeisha.jp/mz/static/images/article/11865/11865.jpg

664 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 08:19:55.81 ]
イェーイェー

665 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 08:23:16.86 ]
ドットインストールで充分だろ。

666 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 10:34:29.62 ]
ドットインストールは中身薄くてダメだ
そこで動画公開してる低レベル野郎のステマか?

667 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 10:51:41.38 ]
どーせ動画で見に付くわけないんだ、本人が判った気になるだけのために金を出すのは馬鹿馬鹿しいってこと。
それこそドットインストールがどうこうって、ソフトバンクのステマかっての。

668 名前:デフォルトの名無しさん [2012/05/20(日) 12:00:05.03 ]
>>649
役立つ言語がもしあると今度は立場がなくなるやつが何か吠えてるなw

669 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 12:10:49.11 ]
C言語が身に付くレベルの理解力があれば他の言語の取得も容易っていう目安になる。

670 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 19:20:02.56 ]
なるね。

671 名前: ◆QZaw55cn4c mailto:sage [2012/05/20(日) 20:06:22.08 ]
なるかなあ?



672 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 20:15:42.94 ]
とりあえずここが人が多そうだからここにきたんですが
総合的な質問スレってありませんか?

673 名前: ◆QZaw55cn4c mailto:sage [2012/05/20(日) 20:20:54.34 ]
toro.2ch.net/test/read.cgi/tech/1316013463/

674 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 20:57:23.25 ]
>>672
ここが総合的な質問スレに見えるならそういうことにしておけ


675 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 21:53:35.00 ]
double nanashi(double MAX,double MIN) //MINからMAXまでの実数乱数を返す
{return ((double)(rand()%(int)((MAX-MIN+1)*POINT))+MIN)/POINT;}

実数の乱数を返す関数を作りましたが思ったような動作を行いません
記述を間違えているのでしょうか
POINTは10^4くらいです

676 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 21:56:40.57 ]
>>675
(MAX-MIN)*rand()/RAND_MAX+MIN;

677 名前:デフォルトの名無しさん mailto:sage [2012/05/20(日) 22:01:51.28 ]
>>676
0から1までの乱数を生成して、大きさ(MAX-MIN)をかけMINの分を底上げするんですね
助かりましたありがとうございます

678 名前:678 [2012/05/21(月) 01:47:42.52 BE:950591227-2BP(0)]
rot13暗号を解読するプログラムでEOFを使わないプログラムが分かりません。

679 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 02:11:52.61 ]
>>678
ideone.com/6G1HG

680 名前:678 [2012/05/21(月) 02:20:17.16 BE:678993825-2BP(0)]
>>679
getchar使わない文でお願いします。すいません

681 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 02:21:49.50 ]
>>680
fgetc(), fputc() は使っていいかい?



682 名前:678 [2012/05/21(月) 02:24:58.37 BE:678993825-2BP(0)]
>>681
すいませんが、習い始めで
getcharを習い出したばっかりで、
ちなみに自分で作った文だとデバッグエラーが出るんです。
#include<stdio.h>


int main(void)
{
int rot;

while(rot >= 'a'&&rot <= 'z')
{

if('a'<=rot && rot<='m')
rot = rot+13;
else
if('n'<= rot && rot<='z')
rot = rot-13;
}

return 0;
}
こんな感じです。

683 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 02:33:31.68 ]
>>682
>自分で作った文だとデバッグエラーが出るんです。
「デバッグエラー」、というのは具体的にどんな状態になるのかな?なにかメッセージがでるとか。

684 名前:678 [2012/05/21(月) 02:41:48.37 BE:814792526-2BP(0)]
Debug Error!

Program: C:\Users\名前
\Desktop\ROT13\Debug\ROT13\.exe
Module: C:\Users\名前
\Desktop\ROT13\Debug\ROT13.exe
File:

Run-Time Check Failure #3-The cariable'rot'is being used
without being initialized.

(Press Retry tu debug the application)

っていう表示のウィンドウが出ます。。。。

685 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 02:48:58.17 ]
int rot=0;

686 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 02:49:16.73 ]
>>684
hello world の表示は出来た?

687 名前:678 [2012/05/21(月) 02:53:16.56 BE:407396423-2BP(0)]
>>685
int rot = 0; だと、終わってしまいます。

>>686
出来ました。
なんでもかんでも出来ないわけではないそうです。

688 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 02:56:07.55 ]
>>687
そりゃそうだろ
>>682はrotの入出力やってないもん
でもエラー出なくなったろ?
>>684のエラーはそういう意味
どこかで入出力文があれば初期化も不要なはずなんだが

689 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 03:01:32.04 ]
>>684
それは rot に値がはいっていないよ、ってことですね。
たしかに、>>682 では rot の値がきまっていない。(rot をどう処理するかはかいてあっても。)

で rot に値をいれればいいのですが、どんな感じにしますか?getchar() で標準入力から掘り込み、printf() で表示するとかが適当だとおもいますけど。
なにか希望があれば教えてください。

あとプログラムを作成している環境(コンパイラの種類とか)もわかるのなら教えてください。もしかして web でやっているのでしょうか?

690 名前:678 [2012/05/21(月) 03:03:44.46 BE:4888750289-2BP(0)]
>>688
#include<stdio.h>


int main(void)
{
int rot;

while(rot >= 'a'&&rot <= 'z')
{
printf("%c\n",rot);

if('a'<=rot && rot<='m')
rot = rot+13;
else
if('n'<= rot && rot<='z')
rot = rot-13;
}

return 0;
}

これでprintfを足したんですが、同じエラー文?が出ました。

691 名前:678 [2012/05/21(月) 03:09:58.26 BE:3327066277-2BP(0)]
>>689
希望はないんですが、あまり複雑なモノはまだ習ってないので遠慮したいです。



692 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 03:13:10.20 ]
なんちゅーか
プログラム云々の前にチラシの裏にでも理解出来たと思う部分を書き出してみて

自分の頭ん中をデバッグするところから始めるべき

693 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 03:15:07.11 ]
>>689
あと任せた
寝る

694 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 03:17:06.88 ]
>>690
最後に一つだけ
「入出力文」と書いたのは悪かった

「入力文」の方が正しいな
エラーの理由はrotを初期化しないでいきなり

while(rot >= 'a'&&rot <= 'z')

なんてやってるから undefined、つまり「鼻から悪魔が出てきても知りませんよ」という事

695 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 03:20:25.52 ]
>>691
ideone.com/0H11v
一文字しかできませんが、手始めにこんなのはどうですか?
/* 1 */ と /* 3 */ で入力、/* 2 */ で出力しています。

あと rot13 の処理が「実は」正しくないですね。

696 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 03:21:00.90 ]
>>693
日食までがんばりませんか?

697 名前:678 [2012/05/21(月) 03:32:42.36 BE:3259166786-2BP(0)]
#include<stdio.h>


int main(void)
{
int rot,loop;

loop = 1;
scanf("%c\n",&rot);

while(loop <=100)
{
if('a'<=rot && rot<='m')
rot = rot+13;
else
if('n'<= rot && rot<='z')
rot = rot-13;

scanf("%c\n",&rot);
}

return 0;
}
ここまでいったんですが、+13とか-13がされません。。。

698 名前:678 [2012/05/21(月) 03:52:08.79 BE:4277656297-2BP(0)]
一応友達のアドバイスもあって、
プログラムが出来ました。
ありがとうございました。
#include<stdio.h>


int main(void)
{
int rot,loop;

loop = 1;


while(loop <=100)
{
scanf("%c",&rot);
if('a'<=rot && rot<='m')
rot = rot+13;
printf("%c",rot+13);



if('n'<= rot && rot<='z')
rot = rot-13;
printf("%c",rot-13);
}

return 0;
}

699 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 03:57:26.90 ]
>>697
手が加わったのはいい感じです。
rot13 の処理に問題はありますが、とりあえず >>697 に沿って動くように訂正すると
codepad.org/ikiHqIJW

scanf("%c\n", &rot)
の rot は
char rot;
でないとうまくうごきません。
int rot;
だと'c' を入力したつもりでも、実は場合によっては rot が 'c' にならないことがあるのです。

700 名前: ◆QZaw55cn4c mailto:sage [2012/05/21(月) 03:59:53.20 ]
>>698
ありま?
でも、それ、うごいているようにみえるのは偶然ですよ、たぶん。
int rot;
じゃなくて
char rot;
じゃないと‥‥‥

701 名前:678 [2012/05/21(月) 04:06:51.43 BE:1357986454-2BP(0)]
>>700
そうなんす。
変な文字まで現れて・・・
charでやってみます。



702 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 04:15:12.14 ]
>>701
>変な文字まで現れて・・・
X printf("%c",rot+13);
O printf("%c",rot);

X scanf("%c",&rot);
O scanf(" %c",&rot);


703 名前:678 [2012/05/21(月) 04:32:59.41 BE:1222188629-2BP(0)]
>>702
変な文字は出なくなりました。
あとは+と‐がされなくて
'a'を入力すると'aT'と表示されたり・・・

704 名前:デフォルトの名無しさん mailto:sage [2012/05/21(月) 04:54:51.59 ]
>>703
今のソースをそのままideoneに貼れ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<155KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef