スレ立てるまでもない質問はここで 116匹目at TECH
スレ立てるまでもない質問はここで 116匹目 - 暇つぶし2ch650:デフォルトの名無しさん
12/01/31 11:21:02.79

C言語の質問です。 よろしくお願いします。


関数x() は0~100までの値を返します。
ここで、以下のような簡単な条件式
(関数の戻り値を2で割った余りを調べる)を書くと

if(( x() % 2 ) == 0){
}
else if(( x() % 2 ) == 1){
}
else{
test++;
}

なぜか test++; のところでブレイクがかかります。
ifの条件式に関数の戻り値を演算したものを入れてはいけないのでしょうか?
環境はH8コンパイラです。

ちなみに、
a=x();
if(( a % 2 ) == 0){
}
else if(( a % 2 ) == 1){
}
else{
test++;
}
と書くと、test++;でブレイクはかかりません。
よろしくお願いいたします。

651:デフォルトの名無しさん
12/01/31 11:22:48.01
> ブレイクがかかります。

C言語の仕様のどこにも「ブレイクがかかる」などという用語はありません。
他人に質問する時は、他人にわかる言葉を使ってください。

652:デフォルトの名無しさん
12/01/31 11:25:12.39
>>651
すいません。
「ブレイクがかかる」というのは、
その処理を通っている(行っている)ということです。

653:デフォルトの名無しさん
12/01/31 11:28:51.12
>>650
x() を 2 回呼んでいるのだから、
if(( x() % 2 ) == 0){ // x() が奇数を返す
}
else if(( x() % 2 ) == 1){ // x() が偶数を返す
}
else{
test++;
}
となれば、 test++ は実行される。

654:デフォルトの名無しさん
12/01/31 11:36:27.01
>>650
test++;は、どういう条件(例:x()が偶数、とか)の時に実行したいんだ?

655:デフォルトの名無しさん
12/01/31 11:46:02.29
>>653
あ~~~~!!!!!!!!
まさにそれです! なぞが解決しました! ありがとうございました!


656:デフォルトの名無しさん
12/01/31 11:54:51.82
>>650>>653の違いがわからん



657:デフォルトの名無しさん
12/01/31 12:13:24.37
違いって、解説加えただけで何かを変えたわけじゃないだろ

658:デフォルトの名無しさん
12/01/31 12:20:57.40
C言語で標準正規分布の累積確率を1e-20や1e-30の精度で計算したいのですが、どうすれば可能でしょうか?
Webにあるサンプルコードはどれも1e-10以下の精度しかないようなのです。

659:658
12/01/31 12:22:22.20
補足です
1e-20や1e-30の精度で、というのは、
分布の端っこの方まで確率を0でなく、可能な限り正数値で表したいという意味です

660:デフォルトの名無しさん
12/01/31 12:23:58.75
>>650
そもそもtest++はどこで宣言されてるの?
下のコードだと奇数でも偶数でも実行されないから、決して実行される事の無い、意味の無いコードになってるけど


661:デフォルトの名無しさん
12/01/31 12:25:50.43
流れも読まずにいちゃもんつけたいだけか

662:デフォルトの名無しさん
12/01/31 12:29:31.30
あ、違った
>>660は忘れて


663:デフォルトの名無しさん
12/01/31 12:56:22.69
>>658
方法1:値のばらつきが小さい場合(1e-20から1e-22のように100倍程度とか)
計算途中は10の20乗倍くらいで累積。
最後に10の20乗倍くらいで割る。


方法2:値のばらつきが大きい場合(1e-3から1e-100のなど)
整数配列 int a[1000]を、1000桁の数字に見立てて、自分で乗除加減算を実装する。


方法3:Unix計のbcなど、任意桁数計算ライブラリを使う。
「任意精度演算 Wikipedia」で検索。

664:デフォルトの名無しさん
12/01/31 13:53:12.01
>>650
floatの精度が10桁、doubleの精度が15桁なので、それ以上の精度が必要なら
gmpなどの多倍長精度実数を扱えるライブラリを使用するればいい。

665:デフォルトの名無しさん
12/01/31 13:54:18.22
アンカー間違えた
>>658
floatの精度が10桁、doubleの精度が15桁なので、それ以上の精度が必要なら
gmpなどの多倍長精度実数を扱えるライブラリを使用するればいい。

666:デフォルトの名無しさん
12/01/31 14:31:52.35
>>647
オブジェクト指向の型システムは、厳密な論理体系のモデル化を可能にする。これにより、コードの見通しや再利用性、保守性が向上する。

これ(型システムの利便性)が理解できてるなら、型ベースなJavaやC#が出来の悪い言語だと言ったのは変だよね。違うコンセプトの言語だと自分でも言ってるのだし。

それでも言うのならただのリンゴ信者。当然のことも理解できない。

667:デフォルトの名無しさん
12/01/31 14:33:05.76
プログラム経験0の人が最初にやるのに適した言語ってなんですか?


668:デフォルトの名無しさん
12/01/31 14:35:43.03
>>667
Prolog

669:デフォルトの名無しさん
12/01/31 14:37:04.83
そんなものはない
初学向きを自称してるのはPASCAL,BASIC,PYTHONあたり

670:デフォルトの名無しさん
12/01/31 14:39:13.58
>>668
CUI限定だな。


671:デフォルトの名無しさん
12/01/31 14:49:41.24
>>668
経験0 -> 経験1 では最強かも知れないけど、経験1 -> 経験2 に進む時に
最も困難を感じる言語なんじゃないか。


672:デフォルトの名無しさん
12/01/31 14:53:38.79
Cプラスプラス(何故か記号にすると消える) 以外ならいいと思う。
Cプラスプラスはいろいろ初心者にやさしくない。

673:デフォルトの名無しさん
12/01/31 14:56:54.56
>>671
Prologだけでいいじゃないの。
それはともかく、プログラム言語の経験がない人の方が
覚えやすいという言語は他に何があるかな。

674:デフォルトの名無しさん
12/01/31 15:07:38.18
>>672
Cppじゃいかんのか

675:デフォルトの名無しさん
12/01/31 15:11:23.19
初心者がわかりにくい気がしたので

676:デフォルトの名無しさん
12/01/31 15:12:24.01
C#で良いと思うけどな
日本語の資料多いし、使いこなせばCも自然と覚えるし

677:デフォルトの名無しさん
12/01/31 15:18:25.87
HTML5のcanvasにて作った折れ線グラフの線に、リンクをつけることは可能ですか?
もし可能ならどのようなプログラム書けばよいのか教えてください

線の一本一本は、
ctx.beginPath();
ctx.strokeStyle = 'rgb(0,191,256)';
ctx.lineWidth = 6;
ctx.moveTo(208,460);
ctx.lineTo(272,460);
ctx.stroke();
上記のようなプログラムで表示させています


678:デフォルトの名無しさん
12/01/31 15:38:13.78
板違い

679:デフォルトの名無しさん
12/01/31 16:01:11.89
>>667
twitterではこのところ弾けてるから、案外と旬なのかもね >Prolog


680:デフォルトの名無しさん
12/01/31 16:02:34.54
実用的に役立たないゴミ言語


681:デフォルトの名無しさん
12/01/31 16:09:56.95
>>674
C++の作者がホームページに、Cのエキスパート向けに設計した、と書いてる。

682:658
12/01/31 17:28:23.27
>>658です
>>663>>665
回答どうもありがとうございました。
任意精度演算やgmpというのは初めて知りました。勉強してみたいと思います。

683:デフォルトの名無しさん
12/01/31 18:00:06.36
>>672
全角なら+も入るんじゃないか?
C++
C++


684:デフォルトの名無しさん
12/01/31 18:30:42.37
C++で検索かけられない糞検索エンジンがムカつくよな

685:デフォルトの名無しさん
12/01/31 18:35:04.86
>>673
学びやすいことと、有用と両方必要だろ


686:デフォルトの名無しさん
12/01/31 18:44:12.06
習得時間で見ると
Smalltalk/Prolog/Scheme >>>> LL言語 >>>>>>>C系言語

687:デフォルトの名無しさん
12/01/31 18:53:36.15
>>686
はあ。それでHaskell,Ocaml,Erlang,Scala といった関数型はどこに入りますか?


688:デフォルトの名無しさん
12/01/31 19:03:35.76
ごめん
屁が出たw

689:デフォルトの名無しさん
12/01/31 20:39:01.91
>>666
オブジェクト指向と型は直接関係ない
型のメリットは単なる型付き言語のメリット
関数型言語や配列指向言語でも同じ型の恩恵は受けられる

690:デフォルトの名無しさん
12/01/31 20:56:54.15
>>666
リンゴは関係無い。
コンポーネントの提唱者が、コンポーネント実証のために
余計なものを捨ててデザインした事に価値がある

691:デフォルトの名無しさん
12/01/31 21:42:57.99
日本で仕事になる言語を全て教えてください

692:デフォルトの名無しさん
12/01/31 21:49:20.48
日本語

693:デフォルトの名無しさん
12/01/31 22:04:01.48
>>649
最初からそういう設計じゃ無く継ぎ接ぎで作ってるから、
既存のクラスにインターフェイス無視した
オブジェクトの引き渡しできないだろ。
シグニチャが一致してるにも関わらず、
インターフェイスが共通じゃ無かったら
既存のクラスを再利用できん。

694:デフォルトの名無しさん
12/01/31 22:29:36.38
>>691
TIOBE INDEX で50位以内に入ってる言語はしっかり探せばどこかに仕事はあるよ。

695:デフォルトの名無しさん
12/01/31 22:34:33.54
まあCOBOLやっとけば仕事にあぶれることないから騙されれと思ってCOBOLやってみな

みんなも同意見だよな



w

696:デフォルトの名無しさん
12/01/31 23:30:48.58
>>689
オブジェクト指向におけるといえばよかったかな。
別にどんな言語でもオブジェクト指向自体はできる。
継承等の機能によって論理体系のモデル化がしやすいですよ、とかそんな意味で
言ったつもりだったが、流れを少々無視してしまった感があったかな。
すまん。
>>690
なんとなく、Apple 製品関係に美学とかそういった言葉使い出すと
信者さんが言っているふうに聞こえてしまった。
すまん。
あと、価値がないとは俺は思ってないよ。
C# も C++ も Java も、もちろん Objective-C もその他の言語も。

697:デフォルトの名無しさん
12/02/01 00:04:21.51
いま中2なんですけど、
頑張って勉強すればそこそこいい
プログラマーになれますか??

あと、具体的なプログラムの勉強方法
を教えてくださいm(_ _ )m

698:デフォルトの名無しさん
12/02/01 00:06:06.29
死ね

699:デフォルトの名無しさん
12/02/01 00:06:06.80
まず寝ろ

700:デフォルトの名無しさん
12/02/01 00:19:38.34
>>697
いいかどうか知らんけどプログラマーにはなれる
とりあえずプログラミング言語から調べろ。

701:デフォルトの名無しさん
12/02/01 00:21:48.13
ブラウザでJavascripプログラミング

702:デフォルトの名無しさん
12/02/01 00:32:28.77
マジレスするとプログラム言語の勉強なんて後でどうとでもなる。
一流になりたいなら、まずは目指す業種に限らずシぬほど勉強しろ。

頭を使い切ることになれてるヤツは見てて怖いくらいに吸収も早いんだもん。例外もいるけど。

703:デフォルトの名無しさん
12/02/01 00:35:04.91
>>697
寝不足とコーヒーっていうかカフェイン一般はやめとけ。効率落ちるから。

704:デフォルトの名無しさん
12/02/01 00:35:16.73
「頭を使い切ることになれてるヤツ」が「シぬほど勉強し」たとは限らないけどな。

705:デフォルトの名無しさん
12/02/01 00:38:22.52
プログラミングなんて大学入るまで一切出来なくても良い

706:デフォルトの名無しさん
12/02/01 00:58:17.35
才能ないヤツが才能あるヤツと張ろうとするなら、努力しなきゃどうしようもないじゃん。
才能あるヤツが努力するのなら、それは期待できるだろ。

707:デフォルトの名無しさん
12/02/01 01:00:10.49
俺も中学の時に始めた。 C# って言語。
Visual C# 2010 っていうソフトが Microsoft から無料で配布されていて、
インストールするだけでプログラムの開発環境が整うよ。

あとは、ネットの資料とか、文法の本を買ってくるなりして文法の勉強をする。
本は 3000 円くらいあれば買える。
本買うなら Visual C# ~の本じゃなくてただの C# ~の本を買うこと。Visual C# ~の本は C# の文法とは別の内容になるので。
ネットの資料は自分で調べろ。
文法は面倒くさいけど、ちゃんと基本文法が理解できてればそれなりのことはできる。
もちろん正確に理解できていればできているほど、できることが膨らむ。
まあ、途中からアルゴリズムとかの勉強をしないといけなくなるが。
わからないことがあったら質問スレに質問するとかすればいいよ。C# なら ふらっと C#。

まあ、それよりも高校受験頑張ったほうがいいよ。本当に >>705 の言う通り。
良い高校・大学に行くとプログラミングが出来る友達ができる可能性が若干上がると思う。
ライバルは欲しいよね。春休み終わったらプログラミングは一旦忘れましょう。

708:デフォルトの名無しさん
12/02/01 01:04:55.26
ガキが俺のレスに安価付けて同意してんじゃねえよ

709:デフォルトの名無しさん
12/02/01 01:17:39.30
>>696
価値が無いじゃない。土方言語だという話だ。
土方言語は、往々にしてライブラリじゃなく
言語のコア実装に対して大きく変更が入る。
土方現場の要望に合わせてどんどん継ぎ接ぎ増築される。
始めからある種の概念を持って設計された言語なら、
土方の要望なんて聞かない。識者同士の判断で
ゆっくりと拡張される。
lispやsmalltalk、Cなんかもいい例だ。
Cもいい加減な設計でつくられた土方向けだろうと
言うかもしれんが、あれはあれで殆ど完成してる。


710:デフォルトの名無しさん
12/02/01 01:17:39.82
スイマセン。大人になって数年経つのでうっかりレス同意してしまいました。

711:デフォルトの名無しさん
12/02/01 01:22:55.76
lispに夢見る奴って多いよね

712:デフォルトの名無しさん
12/02/01 02:09:37.55
Lispの宇宙。

713:デフォルトの名無しさん
12/02/01 02:34:46.91
Win7上でロベール本でVisual Studio 2008 Proを使いC++を勉強しています。

コンソールアプリからやっていますが、デバッグボタンを押して
表示させようと思うと、一瞬でコマンドプロンプトが開いて消えます。
やっているのは for のあたりです。
コレを改善できませんでしょうか。


714:デフォルトの名無しさん
12/02/01 02:38:21.34
自己解決
「デバック無しで実行」を選ぶことで、コマンドプロンプトがすぐ消えるのはなくなくなりました。


715:デフォルトの名無しさん
12/02/01 02:40:26.15
>>713
コード片出せるなら出すんだ。
ブレークポイントで止めて、ステップ実行するのがいいと思う。

エスパーするなら、forで消えるなら、breakかexitしてプログラムが終わってる。
または例外投げてキャッチしてない。

716:デフォルトの名無しさん
12/02/01 02:42:09.67
>>714
その辺の話なら、conio.hインクルードして、getch()を噛ませておけばいいよ。

717:デフォルトの名無しさん
12/02/01 02:48:29.91
>>709
[>>631] の泥臭い言語を
[>>647] の段階で [>>709]に新登場した土方言語と同定とは判断がつかなかった。

俺は Java や C# が馬鹿にされていると思ったから反論しただけ。流れ的にそう思ってしまった。
[>>636]は Java や C# を馬鹿にしている・価値がないとしているレスにしか見えない気がするけど
Objective-C としての美しさを他と過剰に比較したに過ぎない文だったってことか。
読み取りミスで話に一貫性がなくなってしまった気がするのでもうこれ以上俺はレスはしない。
スマン。

Java は Java の識者によって Pure OOPL を一貫した変更しかしていない。
C# を変更しているのは C# の識者だし、その証拠に今までのデータ関連の拡張によって 1.0 の時よりも綺麗になっている。
ライブラリ -> 予約語としてのシンタックスと、順を追って機能を進化させているからね。
Java や C# もそれぞれ思想を持って丁寧に設計されていると思うよ。

718:デフォルトの名無しさん
12/02/01 02:51:55.91
>>715-716
ご親切にありがとう
上述した「デバックなしで実行」でやっています。


719:デフォルトの名無しさん
12/02/01 02:54:16.67
>>718
出来れば、ブレークポイントで止めて変数の傾向を見ながらデバッグするのがイイと、個人的には思う。
まー、上手く行ってるならそれもいいけど。

720:デフォルトの名無しさん
12/02/01 02:58:56.73
すなおにコマンドプロンプトでコマンドをうてばいいのに


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch