- 1 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 20:41:54 ]
- C言語の*入門者*向け解説スレッドです。
初心者、初級者の方は他の質問スレのほうが良いかもしれません。 教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 130代目 pc12.2ch.net/test/read.cgi/tech/1250204272/ ・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ・開発環境や動作環境も晒すと答えが早いかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 53 pc12.2ch.net/test/read.cgi/tech/1253110182/ 過去スレ 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
- 353 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 19:47:57 ]
- >>352
識別子単位だから
- 354 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 19:52:54 ]
- cppはちゃんと考えて置換してくれるんだよ
- 355 名前:デフォルトの名無しさん [2009/10/14(水) 20:12:08 ]
- 今まで色んなライブラリを作ってきたんだけど、それらの機能を統合したライブラリを作りたいんだ。
でも、ただ一緒にしようとしたら、.libファイルが無駄に多くなって使いづらくなっちゃって… この多くの.libファイルを一つの.libファイルにまとめたいのだが、何か方法はないかな? 開発環境はVisual Studio 2008 (Visual C++)で、出来れば嬉しい。 前作ったプロジェクトは、ライブラリが完成した後にHDDの整理で消してしまってるから、もうないんだ。
- 356 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 21:46:36 ]
- >>352
1パスだから
- 357 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:32:48 ]
- codepad.org/4MYhy9xF
教科書どおりに書いたらエラー出やがった。 マジ糞だろ俺の頭 ちなみに作りたいものがあってかなりすっ飛ばしたため 自分でも意味がわかっておりません。 誰か解説してください
- 358 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:38:01 ]
- >>357
教科書のタイトルと、今使ってる処理系の名前かけよ
- 359 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:42:57 ]
- >>357
どんなエラーが出たのかも言わずに解説しろとな? codepadのエラーからエスパーすると「conio.hが無い」ってエラーが出てるじゃんとしか言いようがありません。
- 360 名前:357 mailto:sage [2009/10/14(水) 23:46:09 ]
- よっしゃ
教科書 「すぐわかるC/C++」塚越一雄 エラー 「error C3861: 'get_charset': 識別子が見つかりませんでした」 ちなみに環境はvisualc++2008exedition
- 361 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:48:12 ]
- 知らんけど、本のどこかにget_charsetの定義あるだろ。探せよ
- 362 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:50:11 ]
- そうだね、飛ばすという発想がそもそも間違っていたと反省中。
地道に勉強します
- 363 名前:デフォルトの名無しさん mailto:sage [2009/10/14(水) 23:53:14 ]
- 飛ばすとかじゃなくてコピペしてくるコードが足りないだけだろうが……
- 364 名前:デフォルトの名無しさん [2009/10/15(木) 00:21:28 ]
- C++ スレの二の舞か
答えない奴は説教もするな
- 365 名前:デフォルトの名無しさん [2009/10/15(木) 00:24:13 ]
- 整数値を入力してください:33
3-->6-->9-->12-->15-->18-->21-->24-->27-->30-->33--> って感じのプログラムを書かないけないんだが誰か教えてくれ。 for?とかなんかそういうのを使ったりしてるんだが全くできねえ。 33ってのは入力した数で、その入力した数までの三の倍数が表示されないといけないらしい・・・
- 366 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:25:26 ]
- >>365
そんな事は無いよ、表示されなくていいよ。
- 367 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:32:41 ]
- 宿題なら宿題スレへ
- 368 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 00:45:40 ]
- ふつーに、
3から始めて、33以下である間、3ずつインクリメント
- 369 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:09:42 ]
- 最近の小学校ってこんな高度な授業があるのか。
大変だな。
- 370 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:10:49 ]
- マイクロソフトロックされるのですがどうしたらいいでしょうか?
- 371 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:11:13 ]
- scanf("%d",&a);
a = a/3; for(b=1;b<=a;b++){ printf("%d-->",b*3); }
- 372 名前:デフォルトの名無しさん [2009/10/15(木) 01:24:49 ]
- できたぜ!
まさか答えてくれる人がいるとは・・・ 本当にありがとうございます!!!
- 373 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:37:52 ]
- int i, n;
scanf("%d", &n); for(i=3; i<=n; i+=3) printf("%d-->", i);
- 374 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:57:02 ]
- setvbuf()ってどういうときに使うの?
- 375 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 01:59:57 ]
- >>374
man setbuf
- 376 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 03:13:49 ]
- >>375
vが抜けてる?
- 377 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 07:13:23 ]
- 基本の教科書の内容をクリアして、応用に入るためのわかりやすい参考書あったら教えてください。
- 378 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 08:13:42 ]
- 何に応用しようとしてるのかが分からないと、勧めようがない。
- 379 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 10:01:40 ]
- >>376
あってるだろ
- 380 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 13:37:14 ]
- specificationとusageは別物だと思うが
- 381 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:27:54 ]
- >>378
特に無いんですが、もっとCに詳しくなりたくて・・・
- 382 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 19:35:20 ]
- >>381
オラ入りでも買っとけ
- 383 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:01:53 ]
- >>381
実際に何かソフトを作ってみれば自然と詳しくなる 何か便利なツールが欲しくなったとき、誰かが作ったフリーウェアを探すんじゃなくて自分で作ることをまず考える
- 384 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:18:14 ]
- CではCPUをOCするソフトは作れないんですよね?
- 385 名前:デフォルトの名無しさん [2009/10/15(木) 23:31:29 ]
- ちょっとハードいじる必要があるが不可能ではない
- 386 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:38:37 ]
- そうんですか。インターフェースって雑誌でそれが出来ないのがCの弱点みたいなことが
書いてあったんで。まだレベル的に意味がよく分からないんですけど
- 387 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:44:20 ]
- その雑誌だとどの言語ならそれができると書かれていたの?
- 388 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:45:43 ]
- Pascalです
- 389 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:46:04 ]
- いや、C入門の特集だったんで。大学の図書館のやつで
まだ組み込みはやる気ないんでちゃんと読んではいないです
- 390 名前:デフォルトの名無しさん mailto:sage [2009/10/15(木) 23:48:07 ]
- コンピュータの中、ソフトウェアのレベルでは何でも出来るんだけどって話かな。
個人的にはC言語で飯が炊ければと・・・
- 391 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:03:44 ]
- 最近のOCって、BIOSで設定変えるだけだったりするよね。
昔はハード的に別クロック入れてたけど。
- 392 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 00:33:00 ]
- 正確にはOCとは書いてなかったんですけど、たぶん>>390みたいな話だと思います
- 393 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:43:09 ]
- Pascalだとできるというのがよく分からんのだけど、まあそうなんでしょう
- 394 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 01:53:32 ]
- >>388は違う人です
- 395 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 07:13:35 ]
- >>390
炊飯ジャーのプログラムはCだっったりするんじゃないの
- 396 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 08:27:03 ]
- >>395
現状自分でプログラムできないよねってこと。 外出先から携帯でもつかって、自宅の飯の支度ができたら楽だと思うんだ。
- 397 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 08:37:53 ]
- おいしく炊くのは難しいかもしれないけど、
ちょっと古いタイプの炊飯器なら個人でも制御できると思うよ 高校の時にポケコンで制御してるやつがいた
- 398 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 09:10:21 ]
- 「CPUをオープンコレクタする」って何じゃい、と一瞬考えてしまった。
- 399 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 09:38:21 ]
- cosの計算をするプログラムなんですけど
#include <stdio.h> #include <math.h> main(){ double a,b; scanf("%lf",&a); b=cos(a); printf("b=%lf",b); } 正確に計算してもらえません どこがいけないのでしょうか?
- 400 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 09:49:13 ]
- >>399
単位が何なのかわかってないだろ
- 401 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 10:41:45 ]
- >>399
取り敢えず、0を入れたら1が出力されるのは確認した?
- 402 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 12:49:08 ]
- 正確じゃないのは仕方ないよ
- 403 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:27:30 ]
- 何を入力して何を期待して何が出力されたのかくらい書けよ
- 404 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:35:48 ]
- >>396
Cだとそれができないというのは変な話だな
- 405 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:46:09 ]
- 炊飯器のボタンの上にアームをつけてそれを制御すればいいじゃん
例のジョークRFCを実装したコーヒーポットとかそんな感じだろ
- 406 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:51:24 ]
- ぐぐったら 本当に実装してるのなw
RFC ttp://www.studyinghttp.net/cgi-bin/rfc.cgi?2324 実装 ttp://alpha.mixi.co.jp/blog/?p=386
- 407 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 13:56:43 ]
- 良く読むと HTCPCP準拠の実装じゃなかった
- 408 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 14:17:42 ]
- ◆宣伝、広告◆
腕に自信のあるプログラマは、以下のコンピュータ大富豪大会に参加しましょう。 ひろゆき杯コンピュータ大富豪大会 uecda.nishino-lab.jp/2009/ ○What's UECda? 大貧民(または大富豪)は、我が国で最もポピュラーなトランプ・ゲームのひとつでしょう。 このゲームは、1960年頃に日本で生まれたと言われており、海外では、ほとんどプレイされていないようです。 本大会は、その日本固有の人気トランプ・ゲームである大貧民を、人が直接プレイするのではなく、 プレイするコンピュータ・プログラムを作成して持ち寄り、対戦させる大会です。 主催 電気通信大学
- 409 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 14:37:38 ]
- でたらめ言うな
中国でも有名なゲームだ
- 410 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:27:54 ]
- ふつう海外に中国は入らない
- 411 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 16:57:48 ]
- >>401
したよ πいれても1になっちゃったけどね ほかにもπ/3なんかも1になる
- 412 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 17:03:19 ]
- πを3.14・・・にしたらなんかできました
なんでπだとだめだったんだろう
- 413 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 17:05:22 ]
- ( ゚д゚)ポカーン
- 414 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 17:30:33 ]
- なるほど、数値入力の場面で「π」を入力したのか。
んで、たまたまaの初期値が0だったから1になったんだな。 当然、「π/3」を入れても同じ結果なわけだ。
- 415 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 18:28:32 ]
- PIと入れればよかったのに
- 416 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 18:29:26 ]
- scanfが数式を勝手に変換してくれると思ってたのか
- 417 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 18:35:22 ]
- >>415
お前はなにを言ってるんだ
- 418 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 18:40:26 ]
- まあ言いたいことは分かるけどね…
- 419 名前:デフォルトの名無しさん [2009/10/16(金) 19:46:51 ]
- >>414
クソワロタ
- 420 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 20:42:20 ]
- int i = 3;
このとき i=i+1;やi++;や++i ; の意味は分かっていますが、 i = i++; は未定義の動作になるのですね。 i = ++i; はどうでしょうか? これも未定義の動作になりますか?
- 421 名前:デフォルトの名無しさん mailto:sage [2009/10/16(金) 20:54:13 ]
- 未定義です。
- 422 名前:デフォルトの名無しさん [2009/10/17(土) 00:03:50 ]
- ポインタを勉強中なんですが、voidポインタに一度格納したlong値を
表示するにはどうやれば良いのでしょうか。 下記例ではコンパイルが通りません。 long a = 10; void *p = &a; printf("%f", *p);
- 423 名前:デフォルトの名無しさん [2009/10/17(土) 00:05:29 ]
- ポインタを勉強中です。
voidポインタに格納したlong値を表示するにはどうやれば良いのでしょうか。 次の実装ではエラーが起きてしまいます。 long a = 3.14; void *p = &a; printf("%f", *p);
- 424 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 00:11:46 ]
- >>423
printf("%ld", *((long*)p));
- 425 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 00:20:25 ]
- なんだか、2ちゃんねるがおかしい。
重くてやってらんね。 もう寝る...
- 426 名前:デフォルトの名無しさん [2009/10/17(土) 01:00:54 ]
- 重くないのだが・・・
- 427 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 01:02:45 ]
- >>426
>>425 韓国から攻撃
- 428 名前:327 mailto:sage [2009/10/17(土) 01:04:39 ]
- レス下さった皆様ありがとうございました.
いつもこのスレにはお世話になってます.m(_ _)m
- 429 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 01:07:18 ]
- 重いよ
- 430 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 01:08:34 ]
- >>410
でたらめ言うなゴミ
- 431 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 01:22:06 ]
- >>424
ありがとうございました!
- 432 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 02:19:28 ]
- どういたしまして
- 433 名前:デフォルトの名無しさん [2009/10/17(土) 03:23:07 ]
- (´・ω・`)←さっきポイ捨てされたこれを踏んだ。祝日。
- 434 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 03:34:24 ]
- 今から学ぶとしたらC/C++/Javaどれが一番最初がいい?
- 435 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 05:58:02 ]
- 次に書き込んだときの秒数が1〜3ならC、4〜6ならC++、7〜9ならJava、0なら全部
- 436 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 08:44:03 ]
- 最初はインタプリタの方がなじみやすいと思う
- 437 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 08:47:36 ]
- Cだったな
- 438 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 09:14:04 ]
- これか
root.cern.ch/drupal/content/cint
- 439 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:20:59 ]
- short x;
x = (x+0x4000) >> 15; このコードの意味を教えてください
- 440 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:27:49 ]
- >>439
if(x+0x4000>=0) x=0; else x=-1;
- 441 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:42:07 ]
- xたす0掛ける4000が15より十分大きいかどうかの真偽値をxに代入
- 442 名前:デフォルトの名無しさん [2009/10/17(土) 12:44:39 ]
- >>はビットシフトで切り捨ての処理だと思うんですが,0x4000 を加算する理由がわかりません
- 443 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:49:10 ]
- 実装依存だからこのコードに確かな意味は無いよ
- 444 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 12:50:38 ]
- >>442
上位1ビットが整数部、下位15ビットが小数部の固定少数で、 四捨五入してんじゃね?
- 445 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:14:09 ]
- classのprivateにしたら、そのクラス以外アクセスできないと聞いていたが
ポインタでメンバーにアクセスできんぞ、いいのかこれ
- 446 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:18:32 ]
- 設計上良いか悪いかはあるけど、仕様の上では問題ない
- 447 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:18:41 ]
- >>445
なんか無理やりなことをしないとアクセスできないだろ? それにここ、Cのスレだし。
- 448 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 13:27:48 ]
- ぐぐってみたらコンパイル前にしかprivate,publicは影響しないんだな
- 449 名前:447 mailto:sage [2009/10/17(土) 13:32:07 ]
- よく考えたら、無理やりじゃなくても、メンバ変数のポインタを外にだすメンバ関数があればそうなるのか。
メンバ変数のナマのハンドルやら外にだすなってのは、オブジェクト指向のお作法本によく書いてあるな。
- 450 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 14:00:00 ]
- >>439
int main(void) { short x; short y; for(x=-32768;x<=32767;x++) { y=(x+0x4000)>>15; printf("x=%d y=%d\n",x,y); } return 0; }
- 451 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 14:03:37 ]
- double型の変数にビットシフトはできないですか?
値を2倍、4倍,8倍としたいんですが
- 452 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 14:26:32 ]
- 円周率を出力するプログラムpi.exeがあったとして、これを一度pi.datに出力して
double pi = #include "pi.dat" ; とすればpiには円周率が入りますが、一度ファイルに出力をせずにそのままほかのプログラムの出力結果をincludeするといったことはできないでしょうか?
- 453 名前:デフォルトの名無しさん mailto:sage [2009/10/17(土) 14:27:56 ]
- 指数部があるからね
|

|