C言語の第一歩
■ このスレッドは過去ログ倉庫に格納されています
0001美歩路
NGNG何からやっていいのかわかりません。
そこで、C言語をいじったことのある人は
まず最初になにをやったかを
教えていただけたら、と思います。
よろしくお願いします。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGhttp://www.google.com
終了
0005フレッシャーズ
NGNGfor文
if文
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGまず本買ってきて読め。
当たり前だろ?!
0009デフォルトの名無しさん
NGNGC++からどうぞ。
0010デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGint main( ) {
printf("Hello World\n");
return 0;
}
これからだな。
コンパイルして実行。
終了
0013美歩路
NGNGIllegal Charaterがどうとかって言われます。
0014デフォルトの名無しさん
NGNGと、書きながら、初心者にとって真に上質なCの雑誌って、あるだろーかとふと悩む
0015デフォルトの名無しさん
NGNGprintf行とreturn行の全角を半角に直すかなんかする。
コメント以外の全角文字はたいていのコンパイラじゃ
エラーになるから注意必要NE
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1031340950/
0019フレッシャーズ
NGNGint main( ) {
int i
for(i=0; i<10; i++)
printf(" %d ",i);
return 0;
}
こんなのは?
0020デフォルトの名無しさん
NGNGCマガジンのC講座はかなり初心者向けだね。
でもmallocの紹介は早すぎた気がする・・・
0021デフォルトの名無しさん
NGNG0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGhttp://www.atmarkit.co.jp/
0024デフォルトの名無しさん
NGNG0025フレッシャーズ
NGNG出来ていたのですね。
0026デフォルトの名無しさん
NGNGhttp://www.cmagazine.jp/
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGC言語講座は初心者向けだと思うけど、それだけのために毎月1200円(?)ってのもなー
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNGint main()
{
printf("いい加減、Hello worldは飽きた。\n");
return 34;
}
0032デフォルトの名無しさん
NGNGいいような気もする
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGint main()
{
printf(">>31文字列ソートでもやってなさい。\n");
return -1;
}
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNGC言語だとかなりつらい罠。
0037デフォルトの名無しさん
NGNGC覚えるのにまず体鍛える人とかダイエットする人とかいないだろ?
0038デフォルトの名無しさん
NGNGまずは最後までやりとげるための精神力を養いますね。
0039デフォルトの名無しさん
NGNG糖分やカフェインで頭を活性化しておくといいかもしれない
0040デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGなるほどね〜
物は考えようだな
0042デフォルトの名無しさん
NGNG「びっくりするほどC言語!びっくりするほどC言語!」
とハイトーンで連呼しながらベットを昇り降りする
これを10分程続けると妙な脱力感に襲われ、Cがわかった気分に浸れる
0043美歩路
NGNGこの前買ったCの本を読んでるうちに
こんなにレスが…
みなさま、ありがとうございます!
>>39
とりあえずガラナ飲みましたが。
活性化!活性化!!
>>42
まじッスか!?(w
0044デフォルトの名無しさん
NGNG0045フレッシャーズ
NGNG/*02*/#include <stdio.h>
/*03*/
/*04*/int main( ) {
/*05*/ int i;
/*06*/
/*07*/ for(i='Z'; i>='A'; i--) /* LOOP */
/*08*/ printf("%c%03d.",i,i);
/*09*/ printf("\n");
/*10*/ for(i='a'; i<='z'; i++) /* LOOP */
/*11*/ printf("%c%03d.",i,i);
/*12*/
/*13*/ return 0;
/*14*/}
/*15*/// こんなプログラムはどうだ!デクリメント使っていることは、気にしない気にしない
0046フレッシャーズ
NGNGその為にコメント入れたつもりだったのに駄目なのね。
  試 試
0047デフォルトの名無しさん
NGNGint main(){
int i;
printf("%d\n",func(5));
return 0;
}
int hoge(int n)
{
if ( n > 0 ) {
return hoge ( n - 1 ) * n;
} else {
return 1;
}
}
改行はされるがコンパイルはとおらん(藁
0048デフォルトの名無しさん
NGNG0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNG#include <stdio.h>
double func(double n){
  if ( n > 0 ) {
    return func ( n - 1 ) * n;
  } else {
    return 1;
  }
}
int main(){
  int n;
  scanf("%d",&n);
  printf("%.0f\n",func(n));
  return 0;
}
0051デフォルトの名無しさん
NGNG^
0052デフォルトの名無しさん
NGNG0053デフォルトの名無しさん
NGNG単発厨に示しがつきません。
また調子に乗って厨が同じようなスレを立て始めます。
単発質問スレは他のスレへ誘導するか無視してください。
0054デフォルトの名無しさん
NGNG0055OPENFILENAME ofn;
NGNGs=ofn.lpstrFile;
'char *' から 'char []' に変換することはできません。(新しい動作 ; ヘルプを参照)
と怒られるんですが,いろいろキャストしてもダメ.
sへ代入するにはどうしたら?
0056デフォルトの名無しさん
NGNGこっちで聞け
http://pc3.2ch.net/test/read.cgi/tech/1031340950/l50
0057デフォルトの名無しさん
NGNG明らかに単発質問スレだし・・・
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGsine
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGパラレルポートを使って
温度センサーを使って画面に気温を表示したいのですが A/Dコンバータは製作しました。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGこんな糞スレを今更あげてるお前も同レベルだな。
0064デフォルトの名無しさん
NGNG0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNG<>:標準ライブラリとかそのへん
"":自作のヘッダとか
ということになってる
0075デフォルトの名無しさん
NGNG""はまず#includeしているファイルのディレクトリから探す。
だから>74のような使い分けになる。
0076デフォルトの名無しさん
NGNGすでに削除依頼済ですので、今後は書き込まないようにお願いします。
本物のスレは↓こちら。
http://pc3.2ch.net/test/read.cgi/tech/1038405432/l50
C言語のことは俺に聞け<45>
0077デフォルトの名無しさん
NGNG削除依頼出てないけど。
0078デフォルトの名無しさん
NGNGかまうな。そこらじゅうでコピペしてるアフォだよ。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG0082IP記録実験
NGNGhttp://qb.2ch.net/test/read.cgi/accuse/1042013605/
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
0083デフォルトの名無しさん
NGNGできないです>責任逃れ
0084デフォルトの名無しさん
NGNGIP保存しちゃ匿名性が保たれないだろう。
0085デフォルトの名無しさん
NGNG0086デフォルトの名無しさん
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
────────────────────────────
0087デフォルトの名無しさん
NGNG削除整理、削除要請、削除議論、批判要望
live2
ニュース速報
tmp
ニュース極東、バカニュース、ちくり裏事情、違反の潰し方、薬・違法
少年犯罪、政治思想、ゴーマニズム、ペット苦手、download
ロビー、なんでもあり、厨房、最悪、学歴、人権問題
0088デフォルトの名無しさん
NGNGご愁傷様。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNGラウンジに行けばわかる
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGhttp://www.sankei.co.jp/news/030107/0107sha095.htm
「小学生殺す」と書き込み
インターネットで不特定多数が書き込む掲示板に「埼玉県の小学生を始業式で殺す」という書き込みがあり、
埼玉県教育委員会は7日までに、教職員らによる登下校の指導などを市町村教育委員会などに通知した。
県によると、ほとんどの学校の始業式は7〜8日だが、これまで異変は起きていない。県警は悪質ないたず
らとみて調べている。
県教委によると、書き込まれたのは掲示板「2ちゃんねる」で、昨年12月27日夜、「始業式に乱入してぶっ
殺してやる」「埼玉県の小学生だ」などのメッセージが書き込まれ、閲覧した人が県にメールで連絡した。
県は「いたずらと思うが、念のために対応を指示した」としている。
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG535と531のID...
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG今年はしょっぱなからでかい動きがあるな。
0098デフォルトの名無しさん
NGNG捕まるときは捕まるだろ?
↑縦読み不可
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG削除系の板は今までも(恐らくリモホ表示以前から)
SETTING.TXTの設定でIPを記録していましたが、何か?
0101デフォルトの名無しさん
NGNG前々からIPが思いっきり表示されてると思ったが?
0102デフォルトの名無しさん
NGNGとりあえず記念コキカ
0103デフォルトの名無しさん
NGNG0104デフォルトの名無しさん
NGNG2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG0111デフォルトの名無しさん
NGNGでも全員が閲覧できるわけじゃないから
ヤバイこと書き込まなきゃOKなんでしょ?
0112デフォルトの名無しさん
NGNG0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNG漏れは悪いことしないので全然OK
0115デフォルトの名無しさん
NGNG気弱なのにでたらめな事書くんじゃねーよ!(糞
逝け逝け!消えろ。>>キラー
石川の恥バーカ!
0116デフォルトの名無しさん
NGNG0117デフォルトの名無しさん
NGNG0118山崎渉
NGNG0119デフォルトの名無しさん
NGNGこっち上げるぞ。
0120山崎渉
NGNG0121山崎渉
NGNG0122デフォルトの名無しさん
NGNG0123123
NGNGとりあえず累乗計算をやってみました。
#include <stdio.h>
main()
{
int h;
int i;
int j;
int k = 1;
printf("累乗計算プログラム。\n");
printf("元の数字を入力してください。\n");
scanf("%d", &i);
printf("指数を入力してください。\n",i);
scanf("%d", &j);
for(h=1;h<=j;h++)
k = k * i;
printf("結果 %d",k);
}
5の2乗とかはちゃんとした答えが出たのですが、10の10乗ともなると、答えがおかしくなります。
どこを修正したらよいでしょうか?
0124デフォルトの名無しさん
NGNGUBASIC使え
0125デフォルトの名無しさん
NGNGint k=1;
の方が見やすくない?
0126デフォルトの名無しさん
NGNGプログラムコースのボクは、何と「プラグラムって何?」って感じです!!
オススメの本って何ですか?
今すぐ教えてください!!!!!
あと1週間死に物狂いで勉強します!!!
ヤベー
ヤベー
睡眠時間は3時間で、残りの21時間を勉強に当てます!!!
0127デフォルトの名無しさん
NGNGこうなったら、適当に本買って熟読します!!!
ミスったーーーーー
皆、きっとある程度はプログラムが組める奴等なんだろうなぁ
俺だけ何もできねーよ!!!
ちくしょう!ちなみに、学校で勉強するのはC言語ってやつらしいです!!!
これからたった1週間で何ができるって感じだけど
死ぬ気で勉強するぜ!!!!
ちくしょう!!!!もっと早く勉強しとけばよかった!!!
糞!糞!糞!
なんってこった!!!!!
うわわわわんn
0128デフォルトの名無しさん
NGNG後輩だな。ゲー専はいるとは死んだもどうぜん。
とにかく就職はアフォみたいに難しいぞ。他の専門よりもだ。
0129デフォルトの名無しさん
NGNGもうひとつ言うと大手ゲーム会社はほとんどが中途採用だ。
新卒はないに等しい。つまり即戦力になるヤシしかとらないわけだ。
おまえがそこまで出来るのかしらないが頑張ってくれ。
俺はそこまでの能力がなかったから情報処理に逃げた。
ただゲームPGというのはホントにプログラムを組むのが好きな奴じゃ
ないと務まらないらしい。恐ろしい環境で仕事しているみたいだ。
0130デフォルトの名無しさん
NGNGスレは読んでないけど、僕はBASICが最初。
次がC。
BASIC->Cの概念変更さえ済ませれば割とできる。
Goto禁止とか、グローバル変数止めるとか・・・。
まー、今だから言えることは、
変数と配列の概念を覚えて次はポインタとの違いをきちんと把握する。
後は場数だ。小ネタでも良いからコード書きまくるのだ。
他人のソース見るのもいいぞ。
0131デフォルトの名無しさん
NGNG構造体も覚えろよ。
0132山崎渉
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルトの名無しさん
NGNG最大値は最初にキーボードより入力
の模範解答キボンヌ。
最適な代入演算式がかけないモレは馬鹿。
0138137
NGNGコードって事でおながいします。
0139デフォルトの名無しさん
NGNG> フィナボッチ
ネタと認定していいですか ?
0140137
NGNG0141137
NGNGただし、そこらじゅうのサイトでネタとして使われてますが
いいですか??
0142デフォルトの名無しさん
NGNGイギリス紳士も裸足で逃げ出して、ギャフンと言う
スーパージェントルメェンの私が指摘してしんぜませう。
イタリアンの”FIBONACCI”の著書の出てきたのが語源。
FIBONACCIの名を挙げ、フィボナッチ数列と呼んでるサイトは多々あるが
FIBONACCIの名とフィナボッチ数列の呼び方のサイトは
我輩のgoogle術ではたったの2件しかヒットしなかった。
よもや単発単語検索で”そこらじゅうのサイト”と言うのではあるまいな?
01433分プログラム
NGNGint main(void)
{
int num;
int pf, f1, f2;
int in = 0;
while(!in)
{
num = 0;
printf("最大数入力\n");
scanf("%d", &num);
if (num > 0) in = 1;
}
pf = f1 = 0;
printf("%d\n", f1);
f2 = 1;
printf("%d\n", f2);
while(pf < num)
{
pf = f1 + f2;
f1 = f2;
f2 = pf;
printf("%d\n", pf);
}
return 0;
}
0144137
NGNGいやいや、間違えたのはモレだけじゃなかったんだと
少し安心しただけです・・。 ”フィナボッチ数列”単発単語検索
ですた・・。もっと勉強します。。
>>143
参考になります。サンクスコ
m(。_。;))m ペコペコ…
0145137
NGNG↑自信満々です・・。
0146デフォルトの名無しさん
NGNG0147デフォルトの名無しさん
NGNGモレもか
0148お願いします。
NGNGこれの実行結果を書き込んでくれませんか?
コード見直しても間違いはないみたいです。入門書との実行結果が違うので確かめたいです。
お願いします。
#include <stdio.h>
int main(void)
{
char string[5] = "ABC0";
printf("No.0 is %x\n", string[0]);
printf("No.1 is %x\n", string[1]);
printf("No.2 is %x\n", string[2]);
printf("No.3 is %x\n", string[3]);
printf("No.4 is %x\n", string[4]);
}
0149デフォルトの名無しさん
NGNGこの過程がわからないので
どなたかおわかりでしたらお教えください。
beki関数のxの値には何が入ってるのかもわからないし、
実行結果が1になる過程がさっぱりわかりません。
(2×iで答えは0になるんじゃないかと思ってるんですが。)
よろしくお願いします。
#include<stdio.h>
int beki(int x,int y);
main(){
int i;
int dt;
for(i=0;i<=5;i++){
dt=beki(2,i);
printf("%d\n",dt);
}
}
int beki(int x,int y)
{
int i;
int dt=1;
for(i=1;i<=y;i++){
dt = dt * x;
}
return dt;
}
0150デフォルトの名無しさん
NGNGdt = dt * x;
}
これは何なの? 同じことを何回も繰り返してさ。
読みにくいプログラムだな。
0151デフォルトの名無しさん
NGNG> 入門書との実行結果が違うので確かめたいです。
と書いときながら、肝心の実行結果が書かれていないとこみるとなんとなく釣りっぽいんだが...。
とりあえず実行環境は ?
>>149
とりあえず i = 0 の時...
x = 2, y = 0, dt = ??, i = ?? ← beki(x, y)
x = 2, y = 0, dt = 1, i = ?? ← dt = 1
x = 2, y = 0, dt = 1, i = 1 ← for(i = 1;
x = 2, y = 0, dt = 1, i = 1 ← for(...; i <= y;
→ 条件不成立、ループから抜ける。
x = 2, y = 0, dt = 1, i = 1 ← return dt;
となって、1 が返る。1つ1つ追っていけば、難しくないでしょ ?
(と言うかなに使ってるか知らないけど、デバッガのステップ実行について調べるといいと思うよ。)
>>150
釣れそうですか ?
0152デフォルトの名無しさん
NGNGdt += dt * x;
}
0153デフォルトの名無しさん
NGNGdt *= x;
}
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNG{
int i;
int dt=1;
for(i=1;i<=y;i++){ //ここではじめy==0なんだから、i<=yは偽
dt = dt * x; //だからここは、はじめは実行されないジャン。
}
return dt; したがって、1だな。
}
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG2を渡してるんだから、2でしょが。
単に勉強不足だろ、君。
終了だな。
0158デフォルトの名無しさん
NGNG0159bloom
NGNG0160デフォルトの名無しさん
NGNG0161デフォルトの名無しさん
NGNGしかもブスだらけだ。
0162デフォルトの名無しさん
NGNGありがとうございます。
最初のdtが1になる理由はわかりました。
ところで、このソースはある本のものなんですが、
beki関数のyの値にはmain関数のiの値が
入ってるということでいいんですよね?
それさえ理解できれば多分
この問題に関しては理解できたと思うんで、
たびたびすいませんがそれだけでもお答えいただけませんか?
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNG0165151
NGNG0166デフォルトの名無しさん
NGNG>ところで、このソースはある本のものなんですが、
beki関数のyの値にはmain関数のiの値が
入ってるということでいいんですよね?
いいんです。
その本は捨てた方がいいね。K&Rに汁!
0167148
NGNG0168デフォルトの名無しさん
NGNGint f(int, int);
int
main(int argc, char *argv[])
{
f(0, atoi(argv[1]));
printf("\n");
return 0;
}
int
f(int n, int g)
{
while (g>=1 && f(0, g-1)) {
return printf("%d ", f(g, 0));
}
while (n>=3) {
return f(n-1, 0) + f(n-2, 0);
}
return 1;
}
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGprintf("...\n") とか、fputs() を覚えることのできないアフォを排除するための仕様です。
0172デフォルトの名無しさん
NGNG0173デフォルトの名無しさん
NGNG飛躍しすぎ。
0174山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0175デフォルトの名無しさん
NGNG三十路には無理
0176デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char buf[1024];
sprintf(buf, "start %s", argv[0]);
return system(buf);
}
0177デフォルトの名無しさん
NGNG動きませんでつた。
$ gcc a.c
$ ./a.out
sh: start: command not found
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGどんなファイルができているの。ls してくれ。
0180デフォルトの名無しさん
NGNGちゃうよ。会社の名前だ。
http://www.knrgroup.com/
0181デフォルトの名無しさん
NGNGa.c a.out
0182デフォルトの名無しさん
NGNGある意味動いてると思うが?
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNG目からフェイズシフト装甲が落ちますた。
0186ゆみ
NGNGサンプルプログラム等をご存知の方いらっしゃいましたら是非教えてください。
よろしくお願いいたします。
0187ゆみ
NGNGCを使って「CSVファイル」の 「行」 と 「列」 を入れ替えたいのですが
サンプルプログラム等をご存知の方いらっしゃいましたら是非教えてください。
よろしくお願いいたします。
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGPSダウンはマズイ。
Nジャマーキャンセラーを搭載しる!
0192デフォルトの名無しさん
NGNG勉強になると思う。
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNG↓
ポインタのこみいった部分が良く分からんかったので
前橋タンの「ポインタ完全制覇」でわからんところを読む。
↓
基本は分かった。
↓
K&RとC言語FAQを見つつ、
「プログラミング作法」
の問題を解く。
こんな感じで勉強した。
我ながら中々無駄の無い勉強をしたと思う。
プログラミングなんてしたことなかったが
とりあえず常識は身についたか。
0195デフォルトの名無しさん
NGNGプログラミング言語C(日本語:Amazon.com)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/249-3363573-0743526
The C Programming Language, Second Edition(英語)
http://cm.bell-labs.com/cm/cs/cbook
転じて、この本のことを K&R と呼ぶこともあります。
Brian Kernighan のページ
http://cm.bell-labs.com/cm/cs/who/bwk/
Dennis M. Ritchie のページ
http://www.cs.bell-labs.com/who/dmr/
0196デフォルトの名無しさん
NGNG0197Kusakabe Yoichi
NGNG大変すばらしい本がありますよ。
0198デフォルトの名無しさん
NGNGありがとー。探してみますね!
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGお前VBプログラマか?
演算子と言ってください
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG0203山崎 渉
NGNG0204山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGなかほどにillegal characterがあると返ってきました。どこが間違っているのか
教えてください。
/* 成人かどうかを判定するプログラム */
#include<stdio.h>
main()
{
int age;
age = 22;
if(age>=20)
{
puts("今夜はとことん飲みましょう!");
}
else
{
puts("ウーロン茶で乾杯ですかね.....");
}
}
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG0209デフォルトの名無しさん
NGNG> if(age>=20)
ifの左側に全角空白があるからじゃねーの?
コンパイル、実行できたぞ
0210デフォルトの名無しさん
NGNGありがとう。全角空白を無くしてみたら、コンパイルできました。ほんのちょっと
したことも、許されないのですね。わたしはアバウトな人間ですから、これから
たいへんです。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNGなんかずれたコメントだな……。
0213デフォルトの名無しさん
NGNGアバウトというよりただのマヌケ。
0214デフォルトの名無しさん
NGNG0215デフォルトの名無しさん
NGNGあのう、ハーバード大学院卒です。
0216デフォルトの名無しさん
NGNGあのう、どどど童貞ちゃうわっ
0217デフォルトの名無しさん
NGNGあのう、宇宙人です
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGあー、なるほど。
そういうことか…。
>206を自分で打ってコンパイルしたから分からなかったわ…。
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG20:typedef unsigned char BYTE;
21:struct sPort { BYTE B0:1; BYTE B1:1; ... BYTE B7:7 };
22:#ifdef PORTB
23: extern sPort PB;
24: #pragma locate PB 6
25:#endif
--- program file --------------------
01:#define SW_BIT1 PB.B0
02:#define SW_BIT2 PB.B1
03:
04:BYTE sw_read( BYTE sw ) {
05: if( sw ){ // 入力有り?
06: wait10msec(); // 少しまつ
07: if( sw ) return 1; // 確かに入力有り
08: }
09: return 0; // 入力は無い
10:}
11:
12:void main( void ) {
13: if( sw_read(SW_BIT1) ) ...
14: if( sw_read(SW_BIT2) ) ...
15:}
--------------------------------------
場違いのような気もしますがPICです。
04行で渡ってくるswがこれでは定数なので
05行と07行のダブルチェックが意味をなしません。
これはどう書いたらいいんでしょうか。
0222デフォルトの名無しさん
NGNGmain()
{
printf("マンコ\n");
return 0;
}
0223デフォルトの名無しさん
NGNG#define AFO ">>%d ←ガッ\n"
#include<stdio.h>
main()
{
int afo = 1;
char buff[20];
while ( afo <= 222 ) {
sprintf( buff, AFO, afo++ );
printf( buff );
}
printf("( ゚Д゚)糞して寝ろヴォケ!\n");
}
0224デフォルトの名無しさん
NGNG#define AFO ">>%d ←ガッ\n"
#include<stdio.h>
main()
{
int afo = 1;
char buff[20];
while ( afo <= 222 ) {
sprintf( buff, AFO, afo++ );
printf( buff );
}
printf("( ゚Д゚)糞して寝ろヴォケ!\n");
}
0225くぉお
NGNGチャットの、補助ソフトを作りたいんですが、コンパイラ以外に何が必要ですか?
(入室の監視や、プロフを参照して自動書き込みするような・・・)
0226デフォルトの名無しさん
NGNGGCC、有料の開発環境
0227デフォルトの名無しさん
NGNGBorland c++compiler5.5インストール後、パスの追加はできましたがコンパイラオプションとリンカオプションの追加ができません。(意味すらわからない)
検索して、らしきものがあったにはあったのですが、
以下のファイルを作成しろっていわれても・・・
ファイルったって、「名前を付けて保存」でしか作ったことないのでわかるようにおしえていただけるとありがたいのですが。
【3】準備作業
(1) c:\borland\bcc55\bin に、以下の2つのファイルを作成します。
bcc32.cfg -w
-I"c:\borland\bcc55\include"
-L"c:\borland\bcc55\lib;c:\borland\bcc55\lib\psdk"
ilink32.cfg -x -Gn
-L"c:\borland\bcc55\lib;c:\borland\bcc55\lib\psdk"
0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNGhttp://www.cmagazine.jp/setbcc.html
0230デフォルトの名無しさん
NGNGありがとうございます。
これからはかたっぱしにgoogleしてみます。
とりあえずお礼まで。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGC言語専門課程とかいう(うろ覚え)本があったからそれを買いなさい。
立ち読みしたらなかなかよかったから。
0233デフォルトの名無しさん
NGNGさんくす。
0234デフォルトの名無しさん
NGNGおかげでC言語をマスターできました
マジでありがとう
0235デフォルトの名無しさん
NGNGttp://edu.stackart.net/c/c_seihin.html
0236デフォルトの名無しさん
NGNGC言語はコレなしでは語れないね
僕もコレでマスターしたクチです。
0237デフォルトの名無しさん
NGNG>>232
「Cプログラミング専門課程」だけど、ちょびっとだけwebで公開されてるよ
http://www.pro.or.jp/~fuji/mybooks/cpro/index.html
俺はこの本持ってて、すげー勉強になった
0238デフォルトの名無しさん
NGNGなかなか実行するのは難しいな
0239デフォルトの名無しさん
NGNG僕もコレでマスターしたクチです。
0240名無し@沢村
NGNGこれは土屋秀雄というガキがつくったバイナリエディタだが、ただのバイナリエディタではなく、いろいろなファイルをそのファイルのフォーマット解説つきでバイナリ表示&編集できるというなかなかのすぐれものバイナリエディタよ。
で、ファイルを開いたときに、フォーマット解説を表示するためには、そのフォーマットを記述したマクロファイルを定義しなければならないわけだが、最初からおまけでついているものは、BMP、GIF、JPG、ICO、LZHなどだよ。
つまり実際はBMP、GIF、JPG、ICO、LZHファイルに限ってフォーマット解説が見れるわけだな。
おまいらよ、おれはこのTSXBIN用のマクロとして、MIDとMLD用のやつをつくったからちょっと見てみろ?
つまりこのマクロがあると、パソコン用のMIDIファイルと携帯DoCoMo用のMfiファイルがフォーマット解説つきでバイナリ表示できるぞ。
ここ↓からダウンロードしてみろ?
http://hp.vector.co.jp/authors/VA015412/
おまいらよ、これはMIDIシーケンサーを学ぶおまいらにとてもためになるものだから、ちょっと見てみろ!?
0241デフォルトの名無しさんは ◆NULLPOmvRA
NGNGjavaは洗脳だし・・・。
でもそれがベストかも。
よよよょょょ......(涙
・・・・。
キュピーン!
アーッヒャッヒャッヒャ......。
0242デフォルトの名無しさん
NGNGそもそもc言語は最初からpcに入ってますか
0243デフォルトの名無しさん
NGNGもう少し日本語やコンピュータを勉強しようね。
0244デフォルトの名無しさん
NGNG正論!
0245デフォルトの名無しさん
NGNGおかげで半日でポインタが理解できた気になりました
0246デフォルトの名無しさん
NGNG俺はそんなことしなくても5秒でポインタ理解できたぞ。
0247デフォルトの名無しさん
NGNGポインタや配列がある程度理解できるレベルなんですが。
0248デフォルトの名無しさん
NGNGグラフィックってなに?
Windowsアプリ?
それともゲームみたいの?
どっちにしても標準のCでおもしろものはできないと思うよ。やったことないけど。
C++でやればいいのでわ?
0249デフォルトの名無しさん
NGNGそういう書籍探してるのですがないんですよ〜(TT)
0250デフォルトの名無しさん
NGNGオレはそういうの詳しくないけど、Cでグラフィック関係の書籍ってのは少ないと思う。
もしくはアルゴリズムの本に載ってるかもね。アルゴの本なら大抵Cで書いてるし。
0251デフォルトの名無しさん
NGNG数学的図形ってキレイ好きなんです。(理系大学ではないんですけど)
わざわざレスありがとね(・∀・)
0252デフォルトの名無しさん
NGNGGraphicsやるんだったら将来的にもWinやっておいたほうがいいんじゃないか?
なにか表示したいだけならそこらへんのwin32API本でも買ってGDI関数学びなさい.
0253252
NGNGついでにいうとGDIで基本的なことはサポートされている(Bezier曲線とか図形など)
数学の知識があればある程度自由に書ける.
ただし, 正確さや簡素さを求めるとマッピングモードだったり余計なことが混ざるから
結局は基本的なwin32の知識が必要になってくるかもしれない.
3次元や動的なGraphics表現したいならDirectX使うしか道は無いな.
おせっかいかもしれないが,一応言っておくと
「静的な表現だけでいい」 -> 簡単なwin32本(なんでもいいかも)
「もっと極めたい」 -> win32 && C++ && DirectX
後者はとてつもなく茨の道だが, やりたいのならガッツリやっていくしかないな.
win32マジメにやりたいならpetzoldのプログラミングwindowsがお勧め.
0254デフォルトの名無しさん
NGNGワロタ。
0255デフォルトの名無しさん
NGNGBorlandでBorland C++ Compiler 5.5を
ダウンロードしようと思ったんだけど、
http://www.borland.co.jp/cppbuilder/freecompiler/bcc55download.html
このページにいってから何すればいいのか全然わかんない。
どうすればいいか教えてください。
0256デフォルトの名無しさん
NGNGFTPをクリック。
0257255
NGNGエラーが出るかのどっちかなんだよ。
0258デフォルトの名無しさん
NGNGパソコン初心者板総合質問スレッドVol.627
http://pc2.2ch.net/test/read.cgi/pcqa/1076671439/
0259デフォルトの名無しさん
NGNG0260デフォルトの名無しさん
NGNGttp://myu.daa.jp/osiete/message.html
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNGprintf("増田○奈 たむ!!");}
0265デフォルトの名無しさん
NGNG以下のようなプログラムがあったとする。
プリプロッセッサその他の処理
int main()
{
なんらかの処理
return 0;
}
この場合の「return 0;」はプログラムの終了を意味する。return(0);でも可。
ちなみに、
int main()→void main()の場合「0」は不要。(むしろ「0」を入れてはだめ)
また中括弧内部の最後にあるreturnも不要。(これはあってもなくても良い)
0266デフォルトの名無しさん
NGNG糞Qに答えてくれてありがとう!勉強になりました!
0267初心者
NGNGプログラムを組むために必要なソフトウエアは無償のモノがあるのでしょうか?
0268デフォルトの名無しさん
NGNGttp://pc2.2ch.net/test/read.cgi/tech/1035882599/
ttp://pc2.2ch.net/test/read.cgi/tech/1077102238/
ttp://pc2.2ch.net/test/read.cgi/tech/1069530956/
0269デフォルトの名無しさん
NGNGWindowsなら
http://cygwin.com/
とか.
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNGわけのわからなさに
陥ってCをあきらめるのが一番の早道でつ。
0273デフォルトの名無しさん
NGNGhttp://pc5.2ch.net/test/read.cgi/tech/1083037891/2
0274デフォルトの名無しさん
NGNGWinアプリなんてCとかC++とか関係無いところだと思うけどな。
0275デフォルトの名無しさん
NGNGいや、普通わかるだろってのはチョットかじったことのある奴だからで、
まさにそれすらわからんから「未経験者」なのであり、「入門書」が必要なのであり…
とりあえず、知識ゼロの未経験者はこのあたりから読んでみるといい。
・C言語〈1〉はじめてのCプログラミング
・C言語 (2)
http://www.amazon.co.jp/exec/obidos/ASIN/488135843X/
http://www.amazon.co.jp/exec/obidos/ASIN/4881358448/
ここにも目を通しておくといい。
ttp://www2.wbs.ne.jp/~dskoba/database/prog.htm
わからん単語が出てきたらここで調べろ。
http://e-words.jp/
0276デフォルトの名無しさん
NGNGいきなり難解な物やらせて「即挫折」より
ひまわりとかHSPに誘導した方がいいんじゃねーの?
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGいきなり難解な物やらせて「即挫折」より
ひまわりとかHSPに誘導した方がいいんじゃねーの?
0279デフォルトの名無しさん
NGNG0280デフォルトの名無しさん
NGNGすれ違い。
0281デフォルトの名無しさん
NGNG生が一番
0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGきときと CPad
でググってみたら。
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG漏れも2週間くらいかかって50ページしか進んでないよ。
入力中の異なる文字をヒストグラムにするってやつに
4日かかった。
0286デフォルトの名無しさん
NGNGで宣言して
a++;
ってしたらアドレスが3つすすんだんだけど常識?
0287デフォルトの名無しさん
NGNG0288デフォルトの名無しさん
NGNG常識というより、仕様通りですが。
0289デフォルトの名無しさん
NGNG≫ ぬるぽぉぉぉぉぉぉー! ≪
/MMM| /MMMMMMMMMMM、\
|/
''''''─- .....,,,_ __人_人,_从人_.人_从._,人_人_
 ̄"゙'"''''''─‐- ゙"ニ ─__ )
r──--- ...___ ) 待ちやがれ!
三 /レi ニ | ニ ≡ ) 頭叩かせろ!
.ニ ( ´∀)| ニ |!カ_ ろ 待ってくれー!!
| / つ つ Lニ-‐′´ )/⌒Y⌒Y⌒l/⌒Y⌒Y⌒Y⌒
'''''゙゙゙゙゙ ̄ _,, -‐'''∧_∧ っ ゚
--─="゙ ̄ ⊂(Д´;) ゜ {三}
ニ─ _,.. ゝ、 つ===回
_,.. -‐'" しへ ヽ .{三}
__,, -‐''" , ゙ー'
, ' /
'''''| | .....,,,_
 ̄| |''''''─‐- ゙"ニ ─__
| |─ガッ- ...___
| |/レi ニ | ニ ≡
| |`Д)| ニ |!カ_
| | つ つ Lニ-‐′´
''| |゙゙ ̄ _,, -‐'''
--| |"゙ ̄
ニ| | _,.
| | _,.. -‐'"
__,,| |''"
| |
0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNG0295デフォルトの名無しさん
NGNG同時並行で色々勉強しなきゃいけなくて、頭が混乱気味です。
0296デフォルトの名無しさん
NGNG0297ぷち
NGNGアニメーションで、歩いてる人がパッタとこけるとか・・・・
ちょっと笑いがとれそうなやつ★
簡単なやつでもなんでもいいんで
0298デフォルトの名無しさん
NGNG含めますよ。
0299デフォルトの名無しさん
NGNGIOCCCのページに行って
anderson.c を拾ってくるといいよ。
0300デフォルトの名無しさん
NGNGああ、関数ポインタをメンバに。
そっか。ありがとうございます!
0301デフォルトの名無しさん
NGNG素直にC++
0302デフォルトの名無しさん
NGNG面白いプログラムって言うと
「このグローバル変数どこで使ってるの…(検索)…って、使ってないじゃんか」とか
「flgHogeって、Hogeじゃないって意味なのかよ」とか
「どう考えてもこのifの後は流れないんだけど、本当にテストしたの?」とか
「この関数事態仕様と違うのはおくとしても、どこからも呼ばれてねぇじゃん。
あいつ(すでに契約切れでいないPG)一体なにしとったんや」とか
「なんかおかしいと思ったら、インデントが嘘ついとんのかよ」とか
「せめてGet関数では更新は止めてくれ」とか
そういうプログラムのことだよね!
ちょっとどころじゃない笑いがとれますぜ。人は普通それを失笑と呼びますが。
0303へぼプログラマー
NGNGアドレスを指定していないポインタ変数とかもね。。。
0304デフォルトの名無しさん
NGNGあるプログラムを打ち込み付属のCD-ROMにあったあるソフトの「ビルド」って
とこを押すように書いてあったんで押しました。そしたらエラー0警告0で
成功したのですがHellow Worldと表示されるプログラムなのに何も出てきません。
どうやったら表示させることができるでしょうか?
初心者すぎですみませんです。
0305デフォルトの名無しさん
NGNGOSとかは何だ?
0306デフォルトの名無しさん
NGNGビルドとコンパイル間違えていました。
ソフトの一番上の所にある、
ファイル 編集 表示 挿入 プロジェクト ビルド... ヘルプ
のところのビルドから"コンパイル"を押していました。
今ここのビルドから"ビルド"を押しましたら見事にexeが作成されました。
この作成されたexeをダブルクリックしても何もでてこなかったので
コマンドプロントに放り込んでみると見事にHellow Wordと表示されました。
これで記念すべき第1のプログラミング成功しましたです。^^
0307304
NGNG...MS-Windowsだったのか
0308デフォルトの名無しさん
NGNG調べていましたらここにもっとよさそうな物がありましたです^^
305さんお世話になりましたっす^^
0309デフォルトの名無しさん
NGNGまだ3つしかやってませんがとても面白くてはまってしまいました。
0310デフォルトの名無しさん
NGNGどのようなこと、どのようなもので
知識や技術を増やしていったんでしょうか?
よろしければ教えてください
0311デフォルトの名無しさん
NGNG特に作りたいわけじゃないものを作って金をもらった。
その過程で知識は勝手についてくるものだ。
0312デフォルトの名無しさん
NGNG0313一星 ◆Cppn/.YI3.
NGNGただ質問をするだけにスレを立てるのはスレが乱立して非常に迷惑になるんだが。
質問なら既存のスレがいくらでもあると思うんだが、
それには目を通してみたのか?
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGWinなら、WindowsAPI
http://www.ascii.co.jp/pb/msp/36001/36001.htm
を読めば、窓が出せるようになる。
0316デフォルトの名無しさん
NGNGポインタと構造体で確実につまずくから、
それにもめげずにがんばってくれ。
0317デフォルトの名無しさん
NGNGこの2日間で覚えた関数は2つだけでしてprinftとscanfです。
これで電卓みたいな事ができてとても感激しています。
,これ一つ入れなかっただけでエラー起こしたりして大変でしたがとても面白いと思います。
ポインタと構造体もがんばってやってみたいと思います。
0318デフォルトの名無しさん
NGNG自作自演厨うざい
このスレはスルーで自然消滅するからいいのに・・・
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNGprintfとscanfで喜べるようなら、
ポインタとか構造体とか後回しで for とか if とかやったほうが、
モチベーションあがるよーな気がします。
forで俺がうれしかったのは100ぐらいまでの素数をずらっと表示させたときかなw
ifでは心理テストを作ったときかな。cでやるようなことじゃねーけどw
0322デフォルトの魚釣りさん
NGNG0323デフォルトの名無しさん
NGNGぬるぽウイルスを作りたいと思っています。頑張ります。
0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGCならなんでも出来るんでしょ?
笑っていると、痛い目にあいますよ。
0326デフォルトの名無しさん
NGNG0327aho ◆9Ce54OonTI
NGNG#include <stdio.h>
int main()
{
int i = 0;
for(; i > -1 ; i++)
printf("お前はバカ %d 回目", i);
return 0;
}
これでCは完璧
0328デフォルトの名無しさん
NGNGどういうものがあり、一番使いやすいものはどれになりますでしょうか?
freeソフトでも有料ソフトでもよいので教えてください。よろしくお願いします
0329デフォルトの名無しさん
NGNGスレタイ見ろよ
第一歩は誰でもこんなもん
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG#include <stdarg.h>
int scanf(const char *format, ...)
{
va_list arg;
va_start(arg, format);
return vfscanf(stdin, format, arg);
}
0332デフォルトの名無しさん
NGNGこんな感じで v〜 関数を流用する時、va_end() は要らないんだっけ?
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNGVC++, BCB...etc
0335デフォルトの名無しさん
NGNGCDT
0336デフォルトの名無しさん
NGNG「はじめてのC」で勉強はじめようと思っていたのですが。
0337デフォルトの名無しさん
NGNG初心者ならC++からで
0338デフォルトの名無しさん
NGNGC :手続き指向
C++:オブジェクト指向
ただC++はCを元にしているので当然C++で手続き指向のプログラムを作れるし、
〜指向ってのは物事の考え方に過ぎないからCでオブジェクト指向プログラミングをする事もできる。
0339デフォルトの名無しさん
NGNGよくプログラムの最後に return 0; とつけるけど0になんの意味があるの?9とか8とかほかの数字や文字や関数をつけたらどうなる?
0340デフォルトの名無しさん
NGNG最後の 0 は、大抵の OS では「正常終了」を意味すると合意が得られている(らしい)。
8 や 9 を返した場合、何が起こるかは、その戻り値を使うアプリに依存。
文字、例えば 'a' を返すと、きっと外部に 0x61 を渡す事が出来るかもね。
文字列を返そうとすると、コンパイラに弾かれないかな?
よしんば return (int)"hoge"; としても、外部アプリには "hoge" は届かないはず。
return func(); とすれば、func() の結果が返る。
ちなみに C++ では、main() の return を省略できる。
その場合、return 0 されたものと扱われる。
0341デフォルトの名無しさん
NGNG親プロセスで返り値を見ることができる。
0342デフォルトの名無しさん
NGNG通常EXIT_SUCCESSかEXIT_FAILUREを返せばよい
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG都合悪いでしょうか?
0345デフォルトの名無しさん
NGNG参考書の選択を間違ったんじゃない?
0347344
NGNGコンパイラはボーランドC++です。
で、
#include <stdio.h>
main()
{
printf("おはようございます。\n");
printf("Good Morning\n");
printf("GOOD MORNING\n");
printf(" \n");
printf("123456\n");
}
こんなやつをとりあえずコンパイルしてみました。
すると
警告 W8070 hello3.c 9: 関数は値を返すべき(関数 main )
って出てきました。コンパイル自体はできたみたいで、
hello3.exeを実行すると、ちゃんと表示されます。
この警告って無視っていいのでしょうか?
main()
{
printf("おはようございます。\n");
printf("Good Morning\n");
printf("GOOD MORNING\n");
printf(" \n");
printf("123456\n");
return 0;
}
戻り値の型を省略すると、
int main()
{
...
}
にしたのと同じ。
どうしても return 使いたくなければ、
void main()
{
...
}
0351344
NGNGテキストはC++じゃなくCなんですが、コンパイラはボーランドC++なんです。
で、return 0入れて、警告出ないのがC++コンパイラだと思っておりました。
(テキストではreturn 0なんてなかったですし、エラーなんて出ておりませ
んでしたので。)
ちなみに今日の夕方から情報集めてボーランドC++いれて
Cの勉強はじめております。いつ一冊終わるかなぁ。とりあえず、
何も考えずにやってみよっと。
で、戻り値とかよくわかんないっす。int も void もまだわからんす。
明日の勉強で追いつけるかどうかわかんないですけど、頑張り松。
0352デフォルトの名無しさん
NGNG0353困りん坊主
NGNG*配列も使ってください。
データを入力してください:10 ←数の入力中
データを入力してください:5
データを入力してください:-1 ←マイナスの数を入力すると終了
2つのデータが入力されました。
棒グラフを作成します。
データ1 10 |**********
データ2 5 |*****
頼みますm(_ _)m
0354デフォルトの名無しさん
NGNGこの板に宿題やってあげるスレがあったからそこ行け
0355困りん坊主
NGNG誰に言ってるの?
0357デフォルトの名無しさん
NGNGfflush(stdin)をどこかのサイトで間違ってるけれど、最初はこれでもOKなんて書いてありました。
何をどうしているのでしょうか???
0358デフォルトの名無しさん
NGNG何が言いたいのかさっぱり分からん…
0359デフォルトの名無しさん
NGNGs
f
何
SFについて知りたいならSF板に行くといいと思うよ
http://book3.2ch.net/sf/
0360デフォルトの名無しさん
NGNG書式に合わない部分がバッファに残って誤動作するから scanf は使わない方が良い。
代わりに自前のバッファに一旦読み込んでからsscanfで処理する。具体的には、
char buf[256];
等を用意しておいて、
fgets(buf, 256, stdin);
sscanf(buf, "フォーマット文字列", &xx, &yy, &zz, ....);
とする。
0361デフォルトの名無しさん
NGNG:とか;とか,とかの使い方の法則ってあるでしょうか?
なんでswitchには:なの?とか
printfには;なのに、ifには何もつかないの?とか
疑問です。
0362デフォルトの名無しさん
NGNG: ラベル名の後ろにつける。
ifは制御文なので後ろの文と合わせて1つの文となるからifの直後には何も付けない。
0363デフォルトの名無しさん
NGNG}else{
};
↑ここの;がいらないのはなぜか?っていう意味かな?
0364デフォルトの名無しさん
NGNGwhile(...){...}
これは;不要
do{...}while(...);
これは;必要
0365デフォルトの名無しさん
NGNGそういう意味なら
{ 〜 } を ; が付いていないけどCでは複文という文の一種として扱われているから、が答えになる。
0366デフォルトの名無しさん
NGNGstruct {
int a;
}
これでエラーになりましたが、なぜでしょう。。
0367デフォルトの名無しさん
NGNGだと;が必要なのに、関数
int get_price(int nen)
{
}
だとなぜ;がいらないのでしょう?
0368デフォルトの名無しさん
NGNG{ }にセミコロンが必要なんじゃなくて、structの宣言の終端にセミコロンが必要だから。
{ }に対してセミコロンが必要かどうか と勘違いしてないか?
>>365氏が言うように、{〜}は複数の文をまとめただけのものだから、
どこに使われるかでセミコロンが必要になるかは変わってくる。
原則としてCでは文の終端にセミコロンが必要だけど、例外として
制御文や関数等には必要ない。
それはC言語の構文規則でそう定義されているからで、
そういうものだと覚えるしかないと思う。
0370デフォルトの名無しさん
NGNG例えばこんなかんじで。
「もし、2<x<5 または 9<x<100 の時」
ってどう書けばいいのでしょうか?
if(x>2 && x<5 || x>9 && x<100)
{〜}
ではいけないような気がします。
0372デフォルトの名無しさん
NGNGhogehoge ←ここに;つけない
else
fugafuga; ←ここには;つける(文の終わりだから)
っていう言語もあったような?
0373デフォルトの名無しさん
NGNGif(!(x <= 2 || (x >= 5 && x <= 9) || x >= 100))
{〜}
0374デフォルトの名無しさん
NGNG要はわかんなかった事が、ifの()の中をさらに()でくくる事ができるという事を知らなかったという事でした。
持ってるテキストに載ってなかったもので(^^;)
それにしても:やら;やらややこしいですね。
仕様だと思ってとりあえず丸覚えしていって、そのうち法則みたいなのがわかるようになるでしょうか?
0375デフォルトの名無しさん
NGNGそのテキスト捨てた方が良い
タイトル言ってみ?
0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNGif文はif(制御式) 文 else 文 (else以降は省略可)
文には式文、複文、ラベル付文、制御文があり、
複文とは"{"と"}"の間に任意の数の宣言(省略可)とそれに続いて任意の数の文(これも省略可)を並べた物。
式文とは式に";"を付けた物。
ラベル付文とは文の手前にラベルに続けて":"を付けた物。
(制御文は省略。if文、for文などのこと)
0378いなむらきよし
NGNG0379デフォルトの名無しさん
NGNGぼけ! 括弧つけなくてもつけても同じだ!
if (2 < x && x < 5 || 9 < x && x < 100)
0380デフォルトの名無しさん
NGNG> 制御文や関数等には必要ない。
ぼけ! いいかげんなことを言うな。制御分にも関数呼び出しにも必要だ!
printf("hello");
return 0;
0381デフォルトの名無しさん
NGNG> どこに使われるかでセミコロンが必要になるかは
そうではない! > ぼけ
「どこでつかわれるかで複数の文をまとめたものかどうかは変わる」んだ。
0382デフォルトの名無しさん
NGNGswitchじゃなくてgotoでも「:」だ > ラベル
0383デフォルトの名無しさん
NGNG> テキストにはreturn 0は載ってなかったな。
その本の題名をさらせ!
0384デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG0388デフォルトの名無しさん
NGNG私の経緯から考えるとC++のテキストは一冊では全く事足りない。
最低5冊は読まないとダメかもよ
0389デフォルトの名無しさん
NGNG最低EffectiveC++, MoreEffectiveC++
STLを使うならEffectiveSTL
Templateを使うならModernC++Design
参考としてExceptionalC++等々
あとオブジェクト指向の解説本も入れたら出費が(´Д`)
0390デフォルトの名無しさん
NGNGEffectiveSTL、EffectiveC++は個人的に好きじゃない…
人の勝手だろ、っていうところまで書いていたりするから。
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNG初心者にそこまでやらせるのは酷だろ。
PerlとかRubyでプログラムそのものに慣れさせてから
改めてC++に触れさせればいいのに。
0393デフォルトの名無しさん
NGNG「C言語をマスターするぜ!!」ってのは、難しいから
HTMLでも扱ってメモ帳などを開くクセを付けて、
CGIに用いられるPERL言語から始めるのもGOOD
自分はそんな感じですた
0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNGほとんどの処理は、型があるから、それを覚えてしまえば、それなりの物は書ける。
自分も初心者です。がんばりましょう。
0396デフォルトの名無しさん
NGNG0397デフォルトの名無しさん
NGNGじゃあ、どうすりゃいいのさ?
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNGで、なにか簡単なプログラムのソースを見るんだよ。俺の場合は雑誌に付いてたメモ帳だった気がする。
見ながらいじってみて変化を確認して。みたいな感じで覚えていくんだよ。
なれてきたら自分で作るものにあわせて、中級〜上級者向けの本読むとかすればいい。
0400デフォルトの名無しさん
NGNGもししっているのならば教えてもらいたいのですが・・・。
なにぶん初心者なので、わかりやすいけど、内容が深いものがいいです。
0401デフォルトの名無しさん
NGNG倉薫 著
C言語 (全2巻)
がわかりやすかった。プログラミング初心者向け。
0402デフォルトの名無しさん
NGNG内容が深いかどうかはわからないけど、
Amazon.co.jp: 本: C言語〈1〉はじめてのCプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/488135843X/
Amazon.co.jp: 本: C言語 (2)
http://www.amazon.co.jp/exec/obidos/ASIN/4881358448/
enumに関しての説明が充実しているらしい。
0403デフォルトの名無しさん
NGNGありがとうございました!
0404デフォルトの名無しさん
NGNG必ず立ち読みして、自分にあっているかどうかを確かめたほうが良い。
0405デフォルトの名無しさん
NGNG0406デフォルトの名無しさん
NGNG読んだことないけど、全くの初心者なら倉薫の方がいいんじゃないかな?
初心者向きじゃないって言うレビューもあるし。
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNG例えば
char s[1];
s[0] = "foo";
s[1] = "bar";
とした時に、
確認したいのは…
1.s[0]は"foo"の先頭文字('f')のアドレスを指していて、s[1]は"bar"の先頭文字('b')の先頭文字のアドレスを指している
2.変数名は配列の先頭アドレスになるので、*s {配列sの先頭アドレスを参照} は s[0] {配列sの先頭要素}と等価である
3.*(s+1) {配列sの先頭アドレスを1要素分進めたアドレスを参照} は s[1] {配列sの2番目の要素} と等価になる
で、疑問
その1:
メモリ内で、"foo"と"bar"が必ずしも順番に並ぶとは限らない?
(必ず |f|o|o|\0|b|a|r|\0| になるとは保証されていないのか。)
その2:
*s + 1 という式の「1」が意味するところ
(s[0]に格納されているアドレスを 1番地 進めたアドレス? or char1文字分進めたアドレス?)
エロイ人、教えてください。
0409デフォルトの名無しさん
NGNGその1:されていません
その2:後者
0410デフォルトの名無しさん
NGNG0411デフォルトの名無しさん
NGNG私はドクターですが、4年かかりました。
0412408
NGNGありがとう
0413デフォルトの名無しさん
NGNG「初めに勉強するのはC言語で良いのですか?」
Cは難しいと聞きますが、やり始めたらある程度までやる自身はあります。
ただ、無駄になるのが怖いのです。
使用目的はプログラムをある程度かじってから考える・・・、では駄目ですかね?
0414デフォルトの名無しさん
NGNGCが難しいと言う人は単にコンピュータ言語そのものに慣れていないだけです。
コンピュータ言語それぞれの違いというのは些細なものですし、仮に、もし何か一つ
だけ覚えるなら何が良いか、と聞かれたら、私なら「Cが適当」(場合によってC++)
と答えるでしょう。
そして、もし2番目を選べるならLispでしょう。
それらはコンピュータ言語で良くあるタイプの、非常に良いコンビネーション、
手続き型と関数型、と言えます。
2つ以上の言語を覚えると、新たな言語を覚えるのは軽い気持ちで覚えられるでしょう。
コンピュータ言語の文法の複雑さはたかが知れているので、慣れてくると、一つの
ケースとして、あなたが見た事があるだろう言語はほとんど覚えているということ
もありえます。
0415デフォルトの名無しさん
NGNGありがとうございます。
早速C言語から学んでみたいと思います。
0416デフォルトの名無しさん
NGNG0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
05/01/22 07:11:550421デフォルトの名無しさん
05/01/22 09:07:48そういう貴方もさくらなんでしょ?
0422デフォルトの名無しさん
05/01/22 09:08:50emacsに慣れた方がいいよ。
はっきりいって、全てemacs内で完結できるし。
windowsならmeadowかな。
0423デフォルトの名無しさん
05/01/22 13:29:400424デフォルトの名無しさん
05/01/22 18:56:17xyzzyは、meadowよりもWindowsに密着している風だから、使いやすいのだけど、
問題はemacs-lispの資産が使えないこと。
独自のlispを採用しているから、移植が面倒。
プログラミングを知らない人は使いたいスクリプトを移植することもできないだろう。
その点meadowはemacs-lispのスクリプトがそのまま動くから、emacsとほとんど同じ
ように使える。
結論として、meadowの方が良いと思う。
0425デフォルトの名無しさん
05/01/22 21:57:51総叩きにあいそうだから黙っておくか
0426デフォルトの名無しさん
05/01/22 22:14:04バキィ!ヽ( ・∀・) :(⌒ミ( //(´∀` )
バキィ!!ヽ l| |l(:;;:( ドガァ!!///ヽ、 _`ヽゴスッ!!
('⌒;ヾ / '/ li| l!グシャァ!!\从从///'ミ_/ヽドゴッ!!
(⌒)y'⌒;ヾ从从(⌒〜∵;)´⌒`つ,;(´(´⌒;"'ボキボキボキッ
(´⌒ー- ;:#∧_;/// 彡(:::゜;。(;;;)、⌒从;;ノ・`⌒);
(´;⌒(´⌒;;' ~ヽと;;;;。#;;、ミ,,:,,;;;ヽ/ノ:#`""^ヾ⌒));
 ̄ ̄(´⌒;,(´,(゙゙゙'゛""゙゙)゙'';"(´⌒;,(´,(´⌒;)
↑>>425
0427デフォルトの名無しさん
05/01/22 22:21:320428デフォルトの名無しさん
05/01/22 23:15:11後者は驚いたことに、殆ど全ての操作をマウスのみで行なっていた。
#いや、勿論入力はキーだが。カーソル移動もスクロールもマウスな訳だ。
0429デフォルトの名無しさん
05/01/24 01:06:400430デフォルトの名無しさん
05/01/24 01:09:16char x[10];
とか宣言するところですが、
char x;
ってやったらどうなるんですか?
0431デフォルトの名無しさん
05/01/24 08:58:460432デフォルトの名無しさん
05/01/24 20:08:21charに数字を入れたらバカにされた・・・
別に良いじゃん、仕事じゃ普通にやるし。
char=1バイトの領域としてみれば文字じゃなくても良いじゃん。
組み込み系では文字なんてあんまり扱わなかったんだよ。
・・・馬鹿にされてちょいと凹む今日この頃
0433デフォルトの名無しさん
05/01/24 22:05:56確かに8ビットCPUなら常套手段だが、最近の32ビットCPUの場合速度的にもサイズ的にも却って不利だ。
0434デフォルトの名無しさん
05/01/25 20:24:170435デフォルトの名無しさん
05/01/26 00:39:00char型には文字列は入れられません。
char型ポインタにも文字列は入れられません。
俺語で語らずに用語を正しく。
0436デフォルトの名無しさん
05/01/26 00:44:28翻訳してやろう。
char型配列に格納されている文字列を、char*型ポインタの示す先にコピーするには
どうしたら良いのでしょうか?
0437デフォルトの名無しさん
05/01/26 00:48:07strcpy()
ただし、ポインタの先は適当な領域であること。
0438デフォルトの名無しさん
05/01/26 19:39:110439デフォルトの名無しさん
05/01/26 19:39:470440デフォルトの名無しさん
05/01/26 21:52:44int main(void)
{
printf("%d / %d = %d ... %d\n",40,13);
}
40÷13を計算し、式と商と余りを表示するプログラムをつくりたいのにできない。
答えはわかってるんだけどなんでこれでできないのかわからないです。
教えてえろい人
0441デフォルトの名無しさん
05/01/26 22:36:210442デフォルトの名無しさん
05/01/26 22:38:20a = 40;
b = 13;
c = 40 / 13;
d = 40 % 13;
printf("%d ÷ %d = %d ・・・%d",a,b,c,d);
0443デフォルトの名無しさん
05/01/26 23:14:570444デフォルトの名無しさん
05/01/27 00:54:07例:
char data_byte[4] = { 0x11, 0x22, 0x33, 0x44};
long data_long = 0x88776655;
data_longをdata_byteに書き込んでdata_byteを
0x88, 0x77, 0x66, 0x55
にしたいのですが・・・
無理ですかね?
0445デフォルトの名無しさん
05/01/27 06:44:43data_byte[0] = ((unsigned) data_long) >> 24;
data_byte[1] = ((unsigned) data_long) >> 16;
data_byte[2] = ((unsigned) data_long) >> 8;
data_byte[3] = (unsigned) data_long;
0446デフォルトの名無しさん
05/01/27 11:30:15できる場合って、return (?)にすればいいんでしょうか?
0447デフォルトの名無しさん
05/01/27 12:33:16このスレはsage放置してください。
#include<malloc.h>
int* f(int n){
int*p=(int*)malloc(n*sizeof(int));
return p;
}
後でfree(p);を忘れずに。
0448デフォルトの名無しさん
05/01/27 15:56:530449デフォルトの名無しさん
05/01/27 19:15:29「猫でもわかるプログラミング」が有名ですが
苦しんで覚えるC言語入門
ttp://homepage3.nifty.com/mmgames/c_guide/
や、
目指せプログラマー!
ttp://hp.vector.co.jp/authors/VA000124/index.htm
とかって有名なのでしょか?
0450デフォルトの名無しさん
05/01/27 21:19:410451デフォルトの名無しさん
05/01/28 15:04:530452デフォルトの名無しさん
05/01/28 19:09:560453デフォルトの名無しさん
05/02/03 01:51:35C言語って「文字列」を格納する変数のデータ型ってないんでしょうか?
0454デフォルトの名無しさん
05/02/03 09:28:030455デフォルトの名無しさん
05/02/03 14:20:430456デフォルトの名無しさん
05/02/04 00:59:25454の言う通り
char x[];
で格納できるよ
そのうち配列を覚えれば分かるようになると思うよ。
ちなみに、%sは文字列の出力は%s
ex.
printf("%s", "abc");
0457デフォルトの名無しさん
05/02/05 11:51:26int (*p)[10]; int型配列要素数10(40バイト)を指示すポインタ
でいいのでしょうか?
0458デフォルトの名無しさん
05/02/05 13:16:03ダメ
>指示すポインタ
0459デフォルトの名無しさん
05/02/05 18:16:490460デフォルトの名無しさん
05/02/05 18:19:43#include <stdlib.h>
void main (void)
{
int *p;
int *start;
int i=0;
start=p;
while(1)
{
p=(int *)malloc(sizeof(int));
p++,i++;
if(p==(int*)NULL)
{
break;
}
}
printf("インクリメント回数%d",i);
return;
}
メモリー2.27Gまで確保したところで止まるのですが、インクリメント回数は表示されません。
まだ確保出来ると処理を続けているのでしょうか?
0461デフォルトの名無しさん
05/02/05 18:22:57こうすべき。
while(1)
{
p=(int *)malloc(sizeof(int));
if(p==(int*)NULL)
{
break;
}
p++,i++;
}
0462デフォルトの名無しさん
05/02/05 18:23:32何よりも先にエラー処理だよ。
0463デフォルトの名無しさん
05/02/05 18:39:170464デフォルトの名無しさん
05/02/05 18:39:38132378282回でした。
これでfreeする場合は、
p=startで代入して最初に持ってきて、
p++で2回目のmallocを探せるのでしょうか?
0465デフォルトの名無しさん
05/02/05 20:35:130466デフォルトの名無しさん
05/02/06 17:21:480467デフォルトの名無しさん
05/02/07 14:30:45初心者レベルですがJavaについての知識はあります。
これからVS.netでC++を学んでみたいのですが、言語の文法を学ぶ場合、
はじめに、Cを学んでからステップアップしてC++を学ぶべきですか?
それとも、いきなりC++から学んでもいいのでしょうか。
0468デフォルトの名無しさん
05/02/07 14:50:04私はこのスレでならCを学べと答える。
0472デフォルトの名無しさん
05/02/09 04:16:10if(n>=3 && n<3)
と書いてしまった場合の処理はどうなるのでしょうか?
なんか普通に処理が進んでるんですけど・・・
0473デフォルトの名無しさん
05/02/09 04:27:54常に偽ではあるが、問題なし。コンパイラと警告レベルによっては警告してくれないかな。
0474デフォルトの名無しさん
05/02/09 19:01:00ただ単に if文が実行されず、常に飛ばされてるだけですよ。
0475デフォルトの名無しさん
05/02/10 02:47:32if ( hoge[-1] == 'a' ){
・
・
・
}
としたらどうなるんですか?
0476デフォルトの名無しさん
05/02/10 02:53:05例えば
char hage[10];
char * hoge = & hage[1];
ならば
hoge[-1]はhage[0]と同意です。
しかし、
char hoge[10];
に対していきなり
if (hoge[-1])
などとしてはいけません。
0477デフォルトの名無しさん
05/02/10 06:55:47if(hoge[n-3]=='b' && hoge[n-2]=='a' && hoge[n-1]=='k' && hoge[n]=='a')
{
return -1;
}
とかするときは、n >= 3 になってから探すようにするんですね。
ありがとうございます。
0478デフォルトの名無しさん
05/02/11 03:00:08#include <stdio.h>
int main(void)
{
/*変数の宣言*/
int dat; /*キー入力した値*/
/*9が入力されるまで、キー入力*/
do
{
printf("整数を入力...");
scanf("%d",&dat);
}
while(dat!=9);
return 0;
}
上記のソースで
while(dat!=9);
の部分を
while(dat<>9);
と書くとコンパイルされないんですが
どうしてなんでしょう・・・
0479デフォルトの名無しさん
05/02/11 03:25:34BASICやってたの?
0480デフォルトの名無しさん
05/02/11 04:08:450481デフォルトの名無しさん
05/02/14 14:18:08はじめてのC読んだら、size_tはプラスの値ならどうのこうのってあるんです
けど、strlenでマイナスの値になる事ってあるんですか?
0482デフォルトの名無しさん
05/02/15 03:15:14>strlen関数で、intにキャストしてる例を見たんですけど、普通なんでしょうか。
普通じゃないと思う。
>けど、strlenでマイナスの値になる事ってあるんですか?
size_tが符号無し整数型で引き数がNULLの時に(size_t)-1が返るような実装でも無いと思う。
(int)(size_t)-1はマイナスの値になると思うが…
0483デフォルトの名無しさん
05/02/15 23:10:53しかもこれでprintfしたらちゃんと文字まで表示されてるし。
0484デフォルトの名無しさん
05/02/16 00:26:33文字しか返せないとエラーを返せないから。 c faqに出てないかな?
0485デフォルトの名無しさん
05/02/16 01:24:100486デフォルトの名無しさん
05/02/16 01:41:44fp_data=fopen(hogehoge,"a");
というのはできるでしょうか?data.txtを開きたいとして。
0487デフォルトの名無しさん
05/02/16 01:53:270488デフォルトの名無しさん
05/02/16 02:10:27なぜstrlenはエラーを返せないsize_t型なのでしょうか?
0489デフォルトの名無しさん
05/02/16 02:25:550490デフォルトの名無しさん
05/02/16 08:16:57>なぜstrlenはエラーを返せないsize_t型なのでしょうか?
(´・ω・`)知らんがな。
strlenにC言語の文字配列を渡したらエラーにならんがな。
シグナルや例外はエラーとは違うがな。
0491デフォルトの名無しさん
05/02/16 09:09:12まず strlen の「エラー」とは
どういう状況をいうのかを
考えてから書き込め。
0492デフォルトの名無しさん
05/02/16 09:52:36ぬるぽとか
0493デフォルトの名無しさん
05/02/16 10:39:22仕 様 だ か ら
0494デフォルトの名無しさん
05/02/16 10:40:570495デフォルトの名無しさん
05/02/16 10:47:02作った香具師に聞け
0496デフォルトの名無しさん
05/02/16 11:03:530497デフォルトの名無しさん
05/02/16 11:22:590498デフォルトの名無しさん
05/02/16 15:16:19作った香具師に聞け
0499デフォルトの名無しさん
05/02/16 20:42:33空気があることが前提のなって作られたからだろうな。
0500デフォルトの名無しさん
05/02/16 21:50:48憶測で質問をするな。
本当に人間は空気がないと生きられないのか、
自分で実験したことでもあるのか?
0501デフォルトの名無しさん
05/02/17 14:53:490502デフォルトの名無しさん
05/02/17 15:00:38ファイルが存在している場合はその内容を破壊します
---------------------------------------------------------------------
"a+" 読み込み/書き込みモードの両方のモードで開きます
ファイルが存在する場合は追加、無い場合は作成します
0503デフォルトの名無しさん
05/02/17 16:01:560504デフォルトの名無しさん
05/02/17 16:12:34ファイルがない場合は新しく作成し、存在している場合はその内容を破壊します
0505デフォルトの名無しさん
05/02/17 21:58:360506デフォルトの名無しさん
05/02/25 02:48:010507デフォルトの名無しさん
05/03/05 02:50:250508デフォルトの名無しさん
05/03/05 04:12:210509デフォルトの名無しさん
05/03/05 06:47:33bcc32 -ehoge *.h *.c
0510デフォルトの名無しさん
05/03/05 12:01:31おいおい…
0511デフォルトの名無しさん
05/03/07 21:25:26インクルードすればいいんじゃねぇの?
0512デフォルトの名無しさん
05/03/07 23:36:250513デフォルトの名無しさん
05/03/08 09:47:10宿題スレ行け
0514デフォルトの名無しさん
05/03/16 04:21:220515デフォルトの名無しさん
05/03/17 18:50:150516デフォルトの名無しさん
05/03/17 19:49:15汗水垂らしてアセンブラでもやりませう
0517デフォルトの名無しさん
05/03/17 22:14:39誰かC言語でプログラム書いてもらえませんか?
0518デフォルトの名無しさん
05/03/18 00:28:280519デフォルトの名無しさん
05/03/19 18:16:42完全に初めてで、挫折したくないという人には厚みが抵抗感ありそう。
ごく薄い入門本→「やさしいC」→何か作る が良さそう。
参考書的に「はじめてのC」使う。
0520ビギナー
05/03/19 18:24:350521デフォルトの名無しさん
05/03/19 18:53:460522デフォルトの名無しさん
05/03/19 19:54:26vimとかカーソル移動とかページ送ったりするのが楽チンなのが良い
0523デフォルトの名無しさん
05/03/19 19:56:31お勧めは寧ろPeggy。
0524デフォルトの名無しさん
05/03/19 21:20:31VisualStudio.net C++
0525デフォルトの名無しさん
2005/03/21(月) 11:05:16カンパウェアだけど。
0526デフォルトの名無しさん
NGNG0527デフォルトの名無しさん
2005/04/06(水) 06:33:430528デフォルトの名無しさん
2005/04/13(水) 17:51:500529デフォルトの名無しさん
2005/04/14(木) 18:10:210530デフォルトの名無しさん
2005/04/14(木) 20:39:430532デフォルトの名無しさん
2005/04/14(木) 22:56:090533デフォルトの名無しさん
2005/04/14(木) 23:38:33のこぎりを扱えれば大工として就職できますか?
この質問に Yes/No で答えろ
その答えがおまえの質問の答えだ
0534532
2005/04/15(金) 07:06:40アルゴリズムやハード・ソフトも必要だという事か
0535デフォルトの名無しさん
2005/04/16(土) 00:39:100536デフォルトの名無しさん
2005/04/16(土) 00:47:01C言語を扱えればプログラマーとして就職できますか?
この質問に Yes/No で答えろ
その答えがおまえの質問の答えだ
0537デフォルトの名無しさん
2005/04/16(土) 06:03:35\
お そ .い ヽ
か の や |
し り ` ,. -──- 、
い .く / /⌒ i'⌒iヽ、
つ / ,.-'ゝ__,.・・_ノ-、ヽ
は i ‐'''ナ''ー-- ● =''''''リ _,....:-‐‐‐-.、
l -‐i''''~ニ-‐,....!....、ー`ナ `r'=、-、、:::::::ヽr_
 ̄ \ヽー' !. t´ r''"´、_,::、::::} ノ` ,.i'・ ,!_`,!::::::::::::ヽ
ヾ、 ゝゝ、,,ニ=====ニ/r'⌒; rー`ー' ,! リ::::::::::::ノ
i`''''y--- (,iテ‐,'i~´,ゝ'´  ̄ ̄ヽ` :::::::::::ノ
.| !、,............, i }'´ _ 、ー_',,...`::::ィ'
●、_!,ヽ-r⌒i-、ノ-''‐、 ゝ`ーt---''ヽ'''''''|`ーt-'つ
( `ーイ ゙i 丿 ;'-,' ,ノー''''{`' !゙ヽノ ,ヽ,
`ー--' --'` ̄ `ー't,´`ヽ;;;、,,,,,,___,) ヽ'-゙'"
(`ー':;;;;;;;;;;;;;;;ノ
``''''''``'''''´
0538デフォルトの名無しさん
2005/04/16(土) 14:46:22俺はのこぎりを使えるプログラマだけど
プログラマとして就職していない
0539デフォルトの名無しさん
2005/04/16(土) 23:34:520540デフォルトの名無しさん
2005/04/16(土) 23:37:080541デフォルトの名無しさん
2005/04/16(土) 23:47:260542デフォルトの名無しさん
2005/04/17(日) 00:14:100543デフォルトの名無しさん
2005/05/04(水) 21:27:200545デフォルトの名無しさん
2005/05/26(木) 19:00:56int hogehoge( void array, int n){
char foo[] = "たらば蟹";
switch( n ){
case 1:
(char*)array = (char*)malloc(sizeof(char) * length);
strcpy( (char*)array, foo);
break;
・
・
}
・
・
・
return 0;
}
このようにしてmain関数から
prinft(" %s\n", array);
としても何も表示されないんですが、どうしたら表示されるようになるでしょうか?
0546デフォルトの名無しさん
2005/05/26(木) 20:54:32int hogehoge(char **array)
{
*array = malloc();
strcpy(*array, foo);
return 0;
}
あるいは戻り値を使っていないのならchar *を返す方法もある。
0547545
2005/05/26(木) 21:09:51引数にどんなデータ型の配列も放り込めるようにするにはどうすればいいでしょうか?
そして任意のデータ型に変換して代入する、とか。。。
0548デフォルトの名無しさん
2005/05/26(木) 21:29:32void **を引数にとるかvoid *を返すかする。
0549デフォルトの名無しさん
2005/05/26(木) 22:45:22#include <stdio.h>
main()
{
printf("This is a test");
}
って打って コンパイルして メイクしてEXE作ると黒い画面が出て
すぐ終了してしまう・・・。 WHY?
0550デフォルトの名無しさん
2005/05/26(木) 22:50:070551デフォルトの名無しさん
2005/05/27(金) 22:22:090552デフォルトの名無しさん
2005/05/27(金) 22:40:37両者とも出来る。
拡張子によってCとC++と切り替えてくれる。
0553デフォルトの名無しさん
2005/05/27(金) 22:46:36ありがとうございます。
0554デフォルトの名無しさん
2005/05/28(土) 17:31:13どんなプログラム作るときもとりあえず主要なの全部インクルードするようにしたらなんか不都合ある?
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
・
・
・
こんな感じで。
0555デフォルトの名無しさん
2005/05/28(土) 17:33:59良んじゃね?
VCなんかでウィザード使うとそういうことするよ。
0556デフォルトの名無しさん
2005/05/28(土) 18:32:28沌
0557デフォルトの名無しさん
2005/05/28(土) 18:36:41コンパイルに多少余計な時間がかかるようになるけどそれでもよければ。
0558デフォルトの名無しさん
2005/05/28(土) 18:43:53お前の一言で俺の人生が変わった
0559デフォルトの名無しさん
2005/05/29(日) 13:09:06main()
{
printf("This is a test");
int i;
cin >>i;
return 0;
}
として黒い画面を出してるんだけど、もっとスマートな方法ありませんかね?
0560デフォルトの名無しさん
2005/05/29(日) 13:56:20普通にコマンドプロンプトから起動すればいいだろ?
0561デフォルトの名無しさん
2005/05/29(日) 17:51:30system("pause");
0562デフォルトの名無しさん
2005/05/29(日) 18:17:02C言語なのにiostreamを使うとは勇気のある奴だなお前・・・
0563デフォルトの名無しさん
2005/05/30(月) 20:30:01int count;
count = 1;
temp = (char*)malloc( sizeof(char) );
while( (temp[count - 1] = (char)fgetc( stdin ) ) =! '\n'){
count++;
temp = (char*)realloc( temp , sizeof(char) * count );
}
buffer[count] = '\0';
こういうめんどくさい事するぐらいならfgetsの方がいいんでしょうか?
断片化も起きないし…
0564デフォルトの名無しさん
2005/05/30(月) 22:48:04reallocの最初の引数にはNULLを渡せるからこう書ける。
char *temp = NULL;
int count = 1;
while (((temp = realloc(temp, count))[count] = getchar()) != '\n')
count++;
temp[count] = '\0';
sizeof (char)は常に1なので省略させてもらった。
ちなみにこれがC++だとたったこれだけで済む。
std::string temp;
std::getline(std::cin, temp);
0565デフォルトの名無しさん
2005/05/30(月) 22:51:39無駄なコードを書かなければ面倒じゃない
sizeof(char) は初心者しか書かない(って書くと厨が騒ぐが…)
毎回 realloc なんてするからメモリが断片化しやすい
vector とかは一般的にサイズを 2倍していくぞ
第一最初の malloc で 1バイトしか確保しないのがバカバカしい
stdin だったら 32-128 バイトくらい確保していれば滅多なのことでは
realloc する事はないだろう
0566デフォルトの名無しさん
2005/05/31(火) 18:51:06int count;
int count2;
temp = (char*)malloc( MOJIRETU );
count = 0;
count2 = 1;
while( ( temp[count] = ( char )fgetc( stdin )) != '\n' ){
if( count % MOJIRETU == 0 && count != 0){
count2++;
temp = (char*)realloc( temp, MOJIRETU * count2 );
}
count++ ;
}
temp[count] = '\0' ;
temp = (char*)realloc( temp, count);
こんな感じでどうでしょう?
0567デフォルトの名無しさん
2005/05/31(火) 19:17:54fgets使えよ
#define NUM 32
char *pInput = NULL;
int Count = 0;
while ((pInput = realloc(pInput, (Count + 1) * Num)) != NULL)
{
char *p;
if (!fgets(pInput + Count * NUM, NUM, stdin))
break;
p = strchr(pInput + Count * NUM, '\n');
if (p)
{
*p = '\0';
break;
}
Count++;
}
0568デフォルトの名無しさん
2005/05/31(火) 20:29:53ぼちぼち次のことをはじめようと思っているのですが、どういう事をすればいいでしょうか。
オススメの書籍などもあれば教えて下さい。
CUIでなら、はじめてのCレベルではぼちぼち自分で考えたものを作っています。
http://www.bohyoh.com/CandCPP/C/Library/hindex.html
↑にあるような標準関数はほとんどわからないんで、説明を読んでは関数の動作確認したりするのがいいのでしょうか?
0569デフォルトの名無しさん
2005/05/31(火) 22:49:04俺はほぼ全関数のサンプル書いて実験した
それはそれは勉強になりました
0570デフォルトの名無しさん
2005/05/31(火) 22:51:400571デフォルトの名無しさん
2005/06/05(日) 10:02:16ここでも見てテトリスを作ってみたら?
0572デフォルトの名無しさん
2005/06/05(日) 12:27:15char *pInput = NULL;
char *pBuf = NULL;
int Count = 0;
while ((pBuf = realloc(pInput, (Count + 1) * Num)) != NULL)
{
char *p;
pInput = pBuf;
if (!fgets(pInput + Count * NUM, NUM, stdin))
break;
p = strchr(pInput + Count * NUM, '\n');
if (p)
{
*p = '\0';
break;
}
Count++;
}
/* pBufがNULLの時はreallocに失敗 */
0573デフォルトの名無しさん
2005/06/05(日) 15:42:14reallocがmallocの代わりに使えないのだが。
char *hoge;
hoge = realloc( hoge, 10);
hoge[0] = 'a';
hoge[1] = 'b';
hoge[2] = '\0';
こうすると実行できない。なぜっすか?
0574デフォルトの名無しさん
2005/06/05(日) 15:47:170575デフォルトの名無しさん
2005/06/05(日) 18:31:42hogeが初期化されずに無効な領域を指しているから。
0576デフォルトの名無しさん
2005/06/05(日) 20:37:59ありがとうございました。
hogeが初期化されずに無効な領域を指しているというのがよくわかったようなわからないような。
確かに
char *hoge = NULL;
してからreallocするとエラー出ませんでした。
これは「 charへのポインタhogeはどこも指していませんよ」
っていう解釈でいいのでしょうか。
それに対してreallocして領域確保できるっていうのも不思議なんですが。
ちなみに、
char *hoge;
hoge = malloc(1);
hoge = realloc( hoge, 10);
ならできてしまうというのもよくわからないです。
うまい解説下さい。よろしくおねがいします。
0577デフォルトの名無しさん
2005/06/05(日) 20:48:52realloc()は規格で最初の引数にNULLを渡しても問題なく動かなければならないと決められているから。
その最初の引数がNULLではない場合はmalloc()/calloc()/realloc()で呼び出したポインタを渡さなければならないと決められているから。
0578デフォルトの名無しさん
2005/06/05(日) 21:48:29ptr が NULL の場合には malloc(size) と等価である。
size が 0 の場合には free(ptr) と等価である。
ptr が NULL 以外の場合、 ptr は以前に呼び出された malloc(), calloc(), realloc() のいずれかが返した値でなければならない。
ptr が指す領域が移動されていた場合は free(ptr) が実行される。
realloc() が失敗した場合には、元のブロックは変更されない。
つまり、解放されたり移動されたりはしない。
0579デフォルトの名無しさん
2005/06/05(日) 22:44:51俺としては、使わないですむなら極力ポインタを使わないでほしい・・・
0580デフォルトの名無しさん
2005/06/06(月) 00:45:17最近の言語はオブジェクトを新規に生成する場合にはポインタという概念ではないが、
理論的に考えてすっきりするのはアドレスであり、それを扱うポインタが一番しっくり来
るのだが。もう古いのかな?
0581デフォルトの名無しさん
2005/06/06(月) 23:24:29Javaは明示的なポインタはないし、System.gc()で簡単に片付けられるから便利だよなーって思うけど、もっさりしてるのがやだな。
0582デフォルトの名無しさん
2005/06/06(月) 23:26:060583デフォルトの名無しさん
2005/06/07(火) 18:15:31ガッ
0584デフォルトの名無しさん
2005/06/23(木) 01:27:50int main(void)
{
char buf[80];
printf("string=C language");
gets(buf);
puts(buf);
puts(buf);
printf("%s\n",buf);
printf("%s\n",buf);
return 0;
}
上記のやり方でC languageを10行以上表示できる方法を
知りたいのですが教えていただけないでしょうか?
0585デフォルトの名無しさん
2005/06/23(木) 09:24:05つーか、puts()を並べるかループにしろと言う指摘は黙殺か?
0586デフォルトの名無しさん
2005/06/23(木) 10:26:42ネタにマジレスか(ry
>>584
#include <stdio.h>
int main(void) {
int i;
for (i = 0; i < 10; ++i) puts("C language");
return 0;
}
0587デフォルトの名無しさん
2005/06/24(金) 22:56:22マジレス。
最初にchar型配列bufを宣言して、その配列の中に"C Language"を入れた後に
10行以上表示したかった?
gets(buf)があるという事は、"C Language"を手入力したかった?
という事で、
#include<stdio.h>
int main( void ){
char buf[80];
int i;
prinft("C languageと入力して下さい : ");
gets( buf );
for( i = 0; i < 10; i++ ){
printf( "%s\n", buf );
}
return 0;
}
こんなとこじゃないかなあ。
0588デフォルトの名無しさん
2005/07/07(木) 15:56:440589デフォルトの名無しさん
2005/07/07(木) 17:53:10ポインタスレでも同じ質問してたろ。
マルチするやつには教えるかよ。
0590デフォルトの名無しさん
2005/07/07(木) 18:53:16http://pc8.2ch.net/test/read.cgi/tech/1120522752/
0591デフォルトの名無しさん
2005/07/07(木) 19:07:23590 今回掲示板をみたのも初めてだったので一応はじめに検索したのですがあれだと授業でやってないことが多かったので聞かせてもらいました。わざわざリンクはって頂いたのにすいませんでした。
0592デフォルトの名無しさん
2005/07/07(木) 20:17:07俺も初心者だが、考えてみる。
とりあえず必要そうなものは、ある数が素数かどうか判定する関数。
int sosu_hantei( int num );
素数だったら 1、そうでなければ 0 を返す。
int sosu_hantei( int num ){
int cnt;
int hantei;
/* とりあえず2で割り切れるようだと0を返す */
if( num % 2 == 0 ){
return 0;
}
/* 引数が1だったら1を返す。 */
if( num == 1){
return 1;
}
/* 奇数だけを調べる。引数の半分までを調べる。 */
for( cnt = 3; cnt < num/2 ; cnt += 2 ){
if( num % cnt == 0 ){
hantei = 0;
break;
}else{
hantei = 1;
}
}
return hantei;
}
まだ試してみてないっす。
0593592
2005/07/07(木) 20:29:00int x;
int flag_x;
int flag_y;
for( x = 1; x <= 500; x++){
flag_x = sosu_hantei( x );
flag_y = sosu_hantei( 1000 - x );
if( flag_x == 1 && flag_y == 1){
printf("( x , y ) = ( %3d , %3d )\n", x, 1000 - x );
}
}
return 0;
}
これは表示させて終わってるけど、後でその素数の組み合わせを利用したいんだったら、要素数1000とかの1次元配列か、要素数100ぐらいの2次元配列に突っ込んでいってもいいと思われ。
0594デフォルトの名無しさん
2005/07/07(木) 20:56:230595デフォルトの名無しさん
2005/07/09(土) 15:46:380596デフォルトの名無しさん
2005/07/16(土) 19:54:12if( num % 2 == 0 ){
return 0;
}
"2"の立場はどうする?
0597デフォルトの名無しさん
2005/07/16(土) 19:55:400598デフォルトの名無しさん
2005/07/16(土) 20:59:05何か問題でも?
0599デフォルトの名無しさん
2005/07/16(土) 21:06:08>for( cnt = 3; cnt < num/2 ; cnt += 2 ){
そんなに大量に調べるんだ。
0600デフォルトの名無しさん
2005/07/16(土) 21:15:490601デフォルトの名無しさん
2005/07/17(日) 01:20:310602デフォルトの名無しさん
2005/07/17(日) 10:28:400603デフォルトの名無しさん
2005/07/17(日) 10:38:27おれもはるか昔の話だけど、C始めたときはポケコンで
ハンドアセンブルでプログラム動かしたことがあったら、
何も困らんかったよ。
0604592
2005/07/17(日) 11:23:27調べてきました。
なるほど。
昔の人の優れたアルゴリズムがあったわけですね。
あと1は素数じゃないとか2は素数だとかもそういえばそうでした。
ありがとうございました。
0605デフォルトの名無しさん
2005/07/17(日) 16:18:030606デフォルトの名無しさん
2005/10/11(火) 15:06:11それともこのままC言語を極めたほうがいいですか?
0607デフォルトの名無しさん
2005/10/11(火) 15:29:45ふーん。で、いままでCでどんなプログラム書いたの?
0608606
2005/10/12(水) 02:17:26ただ、一通り本を読んだら今度は何を勉強すればいいのかよく分からなくなったので質問させてもらいました。
0609デフォルトの名無しさん
2005/10/12(水) 18:29:11入門書レベルだと、ソースの規模も小さいだろうから、もうすこし大きな物をCで書いてみることを
お勧めする。題材は色々あるだろうが、身近に使っているものを再現するようなものが、最初の
ステップとしてはいいかもしれない。
仕事では、既にある物を作り直すのはあまり良くないことだが、学習中はどんどんやったほうがいい。
0610606
2005/10/12(水) 18:55:23さっそくいろいろ書いてみます。
0611デフォルトの名無しさん
2005/10/14(金) 00:14:45頑張れよ。
0612デフォルトの名無しさん
2005/11/16(水) 03:16:10モジュール分割と、ヘッダの使用法を身につけな。
それが実用上の最低限のやり方だよ。あまり入門書には書いてないけれどね。
0613デフォルトの名無しさん
2005/11/25(金) 13:46:57教えてください。
0614デフォルトの名無しさん
2005/11/25(金) 23:06:080615デフォルトの名無しさん
2005/11/26(土) 00:01:37Windows系のプログラミングスレで聞いたほうがいいよ。
0616デフォルトの名無しさん
2005/12/18(日) 03:24:190617クレヨ( ゚д゚)
2006/02/14(火) 15:07:11僕の読んだ本によると、
例えば↓
int i;
for(i=0;i<5;i++){
printf("%d",i);}
はまずi=0を実行しi<5を判定し真なら条件式に当てはまっている為
ブロックの中身printf("%d",i);を実行すると書いてありました。
でもこのジャンケンゲーム↓
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
main(){
int computer,x,player = 0,p_win = 0,p_lose = 0,draw = 0,c_win = 0;
printf("【ジャンケンゲーム!!】\n");
srand(time(NULL));
for(x = 0; x<5; x++){
printf("ジャンケン…(プレイヤーは「1:ぐー、2:チョキ、3:パー」を入力)>");
scanf("%d",&player);
while(getchar() != '\n');
if(player == 1){printf("プレイヤーはグー!!\n");}
else if(player == 2){printf("プレイヤーはチョキ!!\n");}
else if(player == 3){printf("プレイヤーはパー!!\n");}
else{printf("※プレイヤーは不正な手を入力しました\n");}
0618クレヨ( ゚д゚)
2006/02/14(火) 15:08:35printf("コンピュータは");
if(computer == 1){printf("グー!\n");}
else if(computer == 2){printf("チョキ!\n");}
else if(computer == 3){printf("パー!\n");}
if(player == 1 && computer == 2){printf("プレイヤーの勝ち!!\n");
p_win++;}
else if(player == 2 && computer == 3){printf("プレイヤーの勝ち!!\n");
p_win++;}
else if(player == 3 && computer == 1){printf("プレイヤーの勝ち!!\n");
p_win++;}
else if(player == computer){printf("あいこ!!\n");
draw++;}
else{printf("コンピュータの勝ち!!\n");
c_win++;}
}
0619クレヨ( ゚д゚)
2006/02/14(火) 15:09:15if(p_win>c_win){printf("プレイヤーの勝ち☆\n");}
else if(p_win<c_win){printf("プレイヤーの負け★\n");}
else{printf("引き分け☆★\n");}
return 0;
}
は先ほどの
int i;
for(i=0;i<5;i++){
printf("%d",i);}
のように
for(x = 0; x<5; x++)以降に変数xが一度も使われていないのに
ちゃんと5回繰り返しました…。
何度考えてもわかりません。
分かる方教えて下さいませ。
0620デフォルトの名無しさん
2006/02/14(火) 15:27:40釣りじゃないよね。 釣じゃないって言って。 お願い。
釣じゃないこと前提にマジレスする。
for(i=0 ; i<5 ; i++){ /* ブロックの中身 */ }
が5回ループするのは、ブロックの中身に何が書いてあるかには 「 原則として 」 関係ないんだ。
for(式1 ; 式2 ; 式3)の動作は、
初回:式1を実行する。 式2を評価して真なら、(for文の)次の文を実行して、またfor文に戻る。
2回目以降:式3を実行する。 式2を評価して(以下、初回と同じ)
いずれの場合も、式2の評価結果が偽なら、for文終了。
すなわち、for(i=0;i<5;i++) の部分に、5回ループの仕組みは全て備わってるの。
もちろん、for文に引き続く(ループさせる)文のなかで変数 i 自体を操作したら、動作は変わってきちゃうよね?
0621デフォルトの名無しさん
2006/02/14(火) 19:10:310622クレヨ( ゚д゚)
2006/02/14(火) 21:56:26なるほど!!ご丁寧にありがとうございました!!
今日でc言語を勉強し始めてちょうど10日目くらいになります。
途中で投げ出さないで最後まで頑張りたいと思います。
本当にありがとうございました!!
0623デフォルトの名無しさん
2006/02/18(土) 00:31:20マジで釣りじゃないのか・・・
とりあえず、
int x;
for( x = 0; x < 5; x++ ){
printf( "hoge\n" );
}
ほれ、forブロックの中で x 使ってないけど
hoge
hoge
hoge
hoge
hoge
って表示されたでしょ。x は for という制御文をどうにかして
使いたいからもってきた、ってカンジ〜?ミタイナー。
0624デフォルトの名無しさん
2006/02/18(土) 00:34:33投げやりだけど丁寧で萌えス
0625デフォルトの名無しさん
2006/03/04(土) 07:38:580626たけし
2006/03/09(木) 15:25:28やっとコンピューターを知ってきました。優秀なプログラマの姿がようやく見えてきました!がんばるぞ!
0627デフォルトの名無しさん
2006/03/10(金) 03:15:58日本語でどうぞ。
0628デフォルトの名無しさん
2006/03/10(金) 08:14:430629デフォルトの名無しさん
2006/03/10(金) 10:30:18<丶`∀´>ウリを馬鹿にするものには謝罪と賠償を請求するニダ
0630デフォルトの名無しさん
2006/03/12(日) 15:45:17アドレスとポインタの差なんて、ちゃんと勉強した奴なら誰でも知ってるよ。
アドレスとポインタの差なんて、ちゃんと勉強した奴なら誰でも知ってるよ。
アドレスとポインタの差なんて、ちゃんと勉強した奴なら誰でも知ってるよ。
アドレスとポインタの差なんて、ちゃんと勉強した奴なら誰でも知ってるよ。
アドレスとポインタの差なんて、ちゃんと勉強した奴なら誰でも知ってるよ。
アドレスとポインタの差なんて、ちゃんと勉強した奴なら誰でも知ってるよ。
アドレスとポインタの差なんて、ちゃんと勉強した奴なら誰でも知ってるよ。
http://pc8.2ch.net/test/read.cgi/prog/1140616676/
0631デフォルトの名無しさん
2006/03/12(日) 21:13:53なんか、深い探求をしているんだなw
0632デフォルトの名無しさん
2006/03/12(日) 23:17:16最新科学は、哲学との融合を始めたというが
C言語もその境地に達したか・・・
0633デフォルトの名無しさん
2006/03/12(日) 23:59:58ポインタ変数はあるが、アドレス変数はない。
ポインタが保持するのはアドレスだが、アドレスが保持するのはポインタじゃない。
0634デフォルトの名無しさん
2006/03/13(月) 14:52:060635デフォルトの名無しさん
2006/03/13(月) 15:22:300636デフォルトの名無しさん
2006/03/13(月) 22:23:410637デフォルトの名無しさん
2006/03/14(火) 21:01:46ポインタ「○○○が俺と貴様の差なのだ」
アドレス「グゥ」
みたいに説明しとくれよ、おまいさん
0638デフォルトの名無しさん
2006/03/14(火) 22:33:51メモリ上の場所を表す言わば住所のようなものがアドレス。
Cの場合、大抵のアーキテクチャではポインタを実装するのに、アドレス値をそのまま利用している。
アドレスは一意に定まるからポインタとして使うのに都合が良いからだ。
逆に言えばアドレスでなくとも何か一意に定まるものがあれば、それでポインタは実装できる。
言わばポインタはメモリアドレスの「場所を表す」という機能を抽象化したものだと言えるかもしれない。
少なくともCのポインタは生のアドレスと比べると、
アドレス値という具体的な数値は消え(必要なら使えるが)、型というメタ情報が付いている。
0639デフォルトの名無しさん
2006/03/15(水) 00:40:18俺はポインタを、テキストエディタのカーソルみたいなもんかという
イメージやったんだが、おまいの説明で、それで合ってるなと思った。
サンクス。
0640デフォルトの名無しさん
2006/03/15(水) 01:15:49と言った香具師がいた。
更にC1セルに"=B1"と書けばポインタのポインタだ。
と言うので、
そしてA1セルに"=B1"と書けば循環参照だな。
と言ってやった。
0641デフォルトの名無しさん
2006/03/15(水) 04:17:36例えば指し棒。
int型なら先っぽがint型の指し棒。
指し棒だから、最初は何も指していない。
int a,*b;
b = &a;
int型の指し棒をつくり,aのおいてある。それにaの置いてあるアドレスを指す。
アドレス空間 |
|
|
指し棒bーーーーー【 &a |a
|
0642デフォルトの名無しさん
2006/03/15(水) 07:47:490643デフォルトの名無しさん
2006/03/15(水) 07:56:57"明治六年元日"と"明治三年閏十月"の引き算みたいな面倒な話はシラネ
0644デフォルトの名無しさん
2006/03/15(水) 12:31:12入門用のプログラム「Hello World」を書いてコンパイルしてできた.exe
のファイルを開いても、コマンドプロンプトが一瞬でてすぐに消えるという
状態になっています。よく目を凝らしてそのコマンドプロンプトをみると
「Hello World」と書かれている気がしないでもありません。
このプログラムは成功なのでしょうか?
使用コンパイラはBorland社のBorland C++ Compilerです
0645デフォルトの名無しさん
2006/03/15(水) 12:34:160646644
2006/03/15(水) 12:41:56/* hello.c */
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
0647デフォルトの名無しさん
2006/03/15(水) 12:49:33成功してるよ。
ウィンドウズのコンソールはプログラムの実行終了と同時に閉じる仕様に
なっている。
それなら、どうすればウィンドウが残るかを考えて見るのが次のステップ。
ヒント >>645
0648644
2006/03/15(水) 13:28:20わざわざありがとうございます。いろいろ試行錯誤して見ます
0649デフォルトの名無しさん
2006/03/15(水) 13:32:57getch(); /* リターン押されるまで待機 */
return 0;
0650644
2006/03/15(水) 13:37:56いやぁ、答えそのものまで…未熟な俺でスミマセン
0651デフォルトの名無しさん
2006/03/15(水) 16:00:24getch()なんて関数あったっけ?
getchar()ならわかるんだけど。もし>>649で動かなかったら、
getchをgetcharに変えてごらん。自分でなんとかしようとする、
その姿勢はよし。頑張れ〜
0652デフォルトの名無しさん
2006/03/15(水) 17:18:070653644
2006/03/15(水) 18:13:15少しずつ難しいプログラムにもチャレンジしていきたいと思います。
ありがとうございました
0654デフォルトの名無しさん
2006/03/16(木) 20:08:09ぱっと見て「ヘタだなぁ」と思うコード
http://pc8.2ch.net/test/read.cgi/tech/1141867015/
0655デフォルトの名無しさん
2006/03/16(木) 21:21:26>アドレスとポインタの差
差は何だったんだ?
違いだとか定義だとか機能なんて、判らないほうがどうかしてると思うんだが、差ってなによ
0656デフォルトの名無しさん
2006/03/17(金) 03:03:41これが終わったらWindowsゲームプログラミングに移ろうかと考えていたのですが、
その前に「独習C」の方もやったほうがよろしいのでしょうか?教えてください。
0657デフォルトの名無しさん
2006/03/17(金) 04:48:44やったほうがいいです
そして次の本へいくまえにアルゴリズムとデータ構造について学んでください
0658デフォルトの名無しさん
2006/03/17(金) 05:10:41「何でこんなことするんだ」と言ってるレベルなら
10日で…を繰り返しやった方が
慣れるまで時間がかかる
0659デフォルトの名無しさん
2006/03/17(金) 05:13:54わかりました。できれば具体的な書籍名など挙げていただけると助かります。>アルゴリズムとデータ構造
0660デフォルトの名無しさん
2006/03/17(金) 05:19:44http://www.amazon.co.jp/exec/obidos/ASIN/4797324198/
0661デフォルトの名無しさん
2006/03/17(金) 21:31:33#include <stdio.h>
#include <float.h>
int main()
{
double pai = 3.14159265358979;
int mon = 3;
float flt = 1.2f;
printf("%5.2hf\n", flt);
printf("%-5.2f\n", flt);
printf("%05.2f\n", flt);
printf("%+08.2f\n", flt);
printf("%-08.2f\n", flt);
printf("%d\n", mon = 3);
printf("%e\n", pai);
printf("%08.2f\n", pai);
printf("%05d\n", mon);
printf("円周率は%fです\n", pai);
printf("円周率は%lfです\n", pai);
printf("もう少し詳しい値は%10.8lfです\n", pai);
printf("もう少し詳しい値は%15.13lfです\n",pai);
printf("もう少し詳しい値は20.18fです\n",pai);
printf("円周率は%010.2f\n", pai);
printf("円周率は%-10.2f\n", pai);
printf("円周率は%10.2f\n", pai);
return 0;
}
0662661
2006/03/17(金) 21:32:461.20
1.20
01.20
+0001.20
1.20
3
3.141593e+000
00003.14
0003
円周率は3.141593です
円周率は3.141593です
もう少し詳しい値は3.14159265です
もう少し詳しい値は3.1415926535898です
もう少し詳しい値は3.141592653589790000です
円周率は0000003.14
円周率は3.14
円周率は 3.14
とあるC言語入門用の本から抜き出したサンプルプログラムをちょこっといじったもの
0663http://www.vector.co.jp/soft/win95/util/se072729.html
2006/03/18(土) 19:05:52もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
0664デフォルトの名無しさん
2006/03/18(土) 19:08:51死ねカス
0665デフォルトの名無しさん
2006/03/18(土) 23:11:59こうかな?
#include <stdio.h>
#include <float.h>
int main()
{
double pai = 3.14159265358979;
int mon = 3;
float flt = 1.2f;
printf("%4.2hf\n", flt);
printf("%-5.2f\n", flt);
printf("%05.2f\n", flt);
printf("%+08.2f\n", flt);
printf("%-08.2f\n", flt);
printf("%d\n", mon = 3);
printf("%e\n", pai);
printf("%08.2f\n", pai);
printf("%04d\n", mon);
printf("円周率は%fです\n", pai);
printf("円周率は%lfです\n", pai);
printf("もう少し詳しい値は%10.8lfです\n", pai);
printf("もう少し詳しい値は%15.13lfです\n",pai);
printf("もう少し詳しい値は%20.18fです\n",pai);
printf("円周率は%010.2f\n", pai);
printf("円周率は%-10.2f\n", pai);
printf("円周率は%10.2f\n", pai);
return 0;
}
0666デフォルトの名無しさん
2006/03/19(日) 20:51:01main()
{
char *i;
scanf("%s",i);
printf(i);
}
これ文字列の制限あるのはなぜなんですか?制限なしに出来ますか?
0667デフォルトの名無しさん
2006/03/19(日) 21:40:35そもそも i は正しいメモリ領域を指していないので、動くこと自体が偶然。
i を配列にすれば正しいプログラムになり、そして配列の大きさまで平気になる。
本当にどこまでも文字列を受け付けるようにしたいなら、動的メモリ確保を使う。
だが、結構面倒だし、普通はそんなことをせず、適当に制限を設けてしまうのが普通。
0668デフォルトの名無しさん
2006/03/19(日) 23:28:20これ、実行できても
エラーで止まるだろ
表示されたらすげーコンパイラだよ
0669デフォルトの名無しさん
2006/03/20(月) 00:46:01char *i = "2ch";
こういうのを例題とかで見るんですけど、配列との違いがいまいち理解できない・・・
0670デフォルトの名無しさん
2006/03/20(月) 01:40:48それはだ
"2ch"っていうのが、文字列リテラルというもので
char *i = "2ch";
というのはchar型のポインタiに"2ch"という文字列リテラルの先頭アドレス
をわたしてるということになるのです。
じゃぁ、"2ch"ってアドレスのどこにあるの?って言われると
アドレスのどっかとしか言えない。
しかし、printf("%p",i);ってすれば、言わずもがな"2ch"の先頭アドレスが表示され
例えば、printf(i);ってしたら2chって表示される。
もっと言えば、char array[] = "fuckin world!!";って宣言して
printf(array);ってすれば、fuckin world!!って表示される。
それと、宣言時
char *i = "2ch";っていうのは*iに"2ch"を代入してるように見えるけど
char* i="2ch"ってすればわかりやすいと思うが、char型のポインタとしてiを
宣言し、そのiに"2ch"というアドレスを渡してると思えば良いと思うよ
実際char* i = "2ch";ってしても問題無いし、実際の所こっちの方がわかりが良い
ただ、char* i,d,c;ってすると最初のiだけがchar型のポインタとして宣言したことになり
以降のd,cは普通のchar型の変数としてみなされる。
だから、char *i;っていう風に書くのであーる
0671デフォルトの名無しさん
2006/03/20(月) 03:14:230672デフォルトの名無しさん
2006/03/20(月) 08:20:18ところがどっこいC++ではchar* iと書きたくなる。
少なくとも俺はそうだった。
0673デフォルトの名無しさん
2006/03/21(火) 10:51:360674デフォルトの名無しさん
2006/05/17(水) 08:46:40さらに、その順列(並び替え?)を組み合わせごとにすべて表示するプログラムを作れ
4月からCを学び始めたもので全然プログラムが組めません。
関数(comb)?再帰? 参考になりそうなものも見つかったのですが理解できませんでした。
0675デフォルトの名無しさん
2006/05/20(土) 23:25:21昔、n個の中からかぶらないランダムなm個の順列とかいう関数を組んでみた
事あるけど、それに似てるかな。
配列を可変長にする必要があるのでポインタを扱わなければなりません。
関数化はもちろん必要ですが、再帰は効率を求めるならともかく、使わないで
おこうと思えば使わずに済むと思います。
ただの数学なので、頭の中でどう計算して並べるかをプログラムするだけです。
0676デフォルトの名無しさん
2006/05/24(水) 22:04:03○(円)を指定した縦行横行内を動かして壁(指定行外)などに当たって跳ね返り
運動し続けるプログラムを作りたいのですが
なにかヒントというかきっかけになるものを教えていただけ無いでしょうか
サンプルプログラムなどがあれば教えてください
0677デフォルトの名無しさん
2006/05/24(水) 23:14:190678デフォルトの名無しさん
2006/05/25(木) 01:45:16javaと同じ用にPATHの設定を
するんですか??
初心者ですいません
0680デフォルトの名無しさん
2006/05/25(木) 18:08:00そういうものもあるし、そうでないものもある。
選んだコンパイラ次第。
0681デフォルトの名無しさん
2006/05/25(木) 18:08:13コンパイラの?
0682デフォルトの名無しさん
2006/05/25(木) 18:11:230683デフォルトの名無しさん
2006/05/25(木) 18:27:16同じ様に
0684デフォルトの名無しさん
2006/05/27(土) 18:16:260685デフォルトの名無しさん
2006/05/27(土) 19:00:530686デフォルトの名無しさん
2006/05/28(日) 11:33:440687デフォルトの名無しさん
2006/06/03(土) 01:37:54初期値 a, b が入力でき、 6桁推定された解と関数 f (x) を呼びだした回数を出力する方法を教えてください。
0688デフォルトの名無しさん
2006/06/03(土) 02:17:46http://pc8.2ch.net/test/read.cgi/tech/1147908265/
0689デフォルトの名無しさん
2006/06/08(木) 20:41:13そのまんま。
0690デフォルトの名無しさん
2006/07/26(水) 11:58:26っていうエラーが出るんですけど、どうしたらいいんでしょうか・・・
超初心者ですみません><
0691デフォルトの名無しさん
2006/07/26(水) 12:46:15Borand C++なら、Readme.txtに書いてある。
0692デフォルトの名無しさん
2006/07/30(日) 01:13:26>>690はマルチの悪寒
690がちゃんと設定を済ませてるなら
#include "stdio.h"
って書いてる可能性もあるかとw
0693デフォルトの名無しさん
2006/07/30(日) 01:50:13そう書いてあってもコンパイル通るよ。
"" の場合は単にソースのフォルダが優先されるだけで、見つからなかったら
<> と同じ動作をするよ。
0694デフォルトの名無しさん
2006/07/30(日) 03:38:250695デフォルトの名無しさん
2006/07/30(日) 04:33:430696デフォルトの名無しさん
2006/07/30(日) 11:16:30環境くらい書けば教えてもらえるかも知れない
とりあえず
set
これを実行して結果をここに晒せ
0697デフォルトの名無しさん
2006/07/31(月) 01:29:03X^2+3X+2=0のような方程式を解く関数を作りたい。
引数には、X^2の係数、Xの係数、数、の3つを入れる。
この関数の戻り値はどのようなものにすればよいか。
また、この関数を作れ。
0698デフォルトの名無しさん
2006/07/31(月) 02:07:17デバッグと判別式は自分でやってくれ。
#include<stdio.h>
#include<math.h>
struct niji func(double, double, double);
struct niji {
double plus;
double minus;
};
struct niji func(double a, double b, double c) {
struct niji ret;
ret.plus = (-b + sqrt(b * b -4 * a * c)) / 2 * a;
ret.minus = (-b - sqrt(b * b - 4 * a * c)) / 2 * a;
return ret;
}
int main(){
double a, b, c;
struct niji ans;
scanf("%lf", &a);
scanf("%lf", &b);
scanf("%lf", &c);
ans = func(a, b, c);
printf("%lf & %lf\n", ans.plus, ans.minus);
}
0699デフォルトの名無しさん
2006/07/31(月) 05:06:250700デフォルトの名無しさん
2006/09/29(金) 17:23:290701デフォルトの名無しさん
2006/10/05(木) 01:10:03#include <stdio.h>
#define PI 3.14159265
main()
{
float r;
float menseki,enshuu;
printf("え、円の半径を入力しなさいよっ!\n");
scanf("%f",&r);
menseki=PI*r*r;
enshuu=2*PI*r;
printf("半径は %f でいいのね!?\n",r);
printf("それだと円の面積と円周の長さは\n");
printf("%f と %f よっ!\n",menseki,enshuu);
printf("べ、別にアンタのために計算してあげたんじゃないんだからっ!\n");
printf("次からはこれくらい自分でやらなきゃ駄目なんだからねっ!\n");
}
0702デフォルトの名無しさん
2006/10/14(土) 04:17:35>>697のような関数を、任意のn次で解ける関数を作れ
0703デフォルトの名無しさん
2006/11/01(水) 17:03:590704デフォルトの名無しさん
2006/11/12(日) 10:56:24どうしても同じに思えるんです。
0705デフォルトの名無しさん
2006/11/12(日) 11:14:38その本、だめかもね
0706デフォルトの名無しさん
2006/11/12(日) 11:23:080707名無しさん
2006/11/12(日) 12:20:470708デフォルトの名無しさん
2006/11/12(日) 12:32:39古いマシンじゃなければ大ジョブだよ
0709デフォルトの名無しさん
2006/11/19(日) 14:11:30http://mixi.jp/view_bbs.pl?id=12516056&comment_count=150
0710デフォルトの名無しさん
2006/11/22(水) 23:04:43母の作る弁当はお世辞にも華やかとは言えない質素で見映えの悪い物ばかりだった。
友達に見られるのが恥ずかしくて、毎日食堂へ行き、お弁当はゴミ箱へ捨てていた。
ある朝母が嬉しそうに「今日は〇〇の大好きな海老入れといたよ」とオレに言ってきた。
オレは生返事でそのまま高校へ行き、こっそり中身を確認した。
すると確に海老が入っていたが殻剥きもめちゃくちゃだし
彩りも悪いし、とても食べられなかった。
家に帰ると母はオレに「今日の弁当美味しかった?」としつこく尋ねてきた。
オレはその時イライラしていたし、いつもの母の弁当に対する鬱憤も溜っていたので
「うるさいな!あんな汚い弁当捨てたよ!もう作らなくていいから」とついきつく言ってしまった。
母は悲しそうに「気付かなくてごめんね…」と言いそれから弁当を作らなくなった。
それから半年後、母は死んだ。オレの知らない病気だった。母の遺品を整理していたら、日記が出てきた。
中を見ると弁当のことばかり書いていた。
「手の震えが止まらず上手く卵が焼けない」 日記はあの日で終わっていた。
0711デフォルトの名無しさん
2006/11/23(木) 00:36:28母さん、恋しいよう
0712デフォルトの名無しさん
2006/11/28(火) 13:35:30その本なんていう本?
一応C言語にも if とか for とかの分岐のための命令(?)はあるよ。
命令とは言わないのかなこれ(ステートメント? キーワード?)。
それに変数宣言や関数宣言とかの宣言は関数じゃない。
typedef も関数じゃない。
0713デフォルトの名無しさん
2006/11/28(火) 16:55:340714デフォルトの名無しさん
2006/12/01(金) 18:05:360715デフォルトの名無しさん
2006/12/06(水) 20:13:46Cでは四捨五入はどのようにやられているのでしょうか?
0.5をたしてINTでキャストとかじゃ、対象のデータが
浮動少数の場合に誤差がでます。
0716デフォルトの名無しさん
2006/12/06(水) 23:46:46floor (num * 10 + 0.5) / 10; /* 小数点以下1位に丸める */
floor (num * 100 + 0.5) / 100; /* 同2位に丸める */
みたいなことやってる
0717デフォルトの名無しさん
2006/12/07(木) 09:09:43四捨五入なんだし、誤差の範囲ないで問題ない。
気になるなら有効数字を一つ増やしてくれ
0718715
2006/12/07(木) 09:25:44#include <stdio.h>
int round(double value)
{
int sign = value > 0 ? 1 : -1;
value /= sign;
if (value - (int)value < 0.5) return (int)value * sign;
if (value - (int)value > 0.5) return ((int)value + 1) * sign;
if ((int)value % 2 == 0) return (int)value * sign;
return ((int)value + 1) * sign;
}
double half_adjust(double value, double digit)
{
return round(value / digit / 10.0) * digit * 10.0;
}
0719デフォルトの名無しさん
2006/12/24(日) 04:27:010720デフォルトの名無しさん
2007/02/01(木) 00:21:220721デフォルトの名無しさん
2007/02/24(土) 13:08:550722デフォルトの名無しさん
2007/03/05(月) 14:50:46あるところで手詰まってしまいました。
まず、自分が作ろうとしている住所録の仕様は
登録、編集、削除、参照を行えるプログラム
登録は一人ずつファイル出力を行う。
名前
住所
電話番号
メールアドレス
これで一人分のデータ。(構造体で領域確保)
編集は編集したい行数を受け取り(複数行は考えないものとする)、新しい文字列に差し替える。
削除は次の人のデータを上書きして、消す。
参照はstrcmpで名前を検索していき、行数指定で一人分のデータを出力
このような仕様で作っていこうと思っていたのですが
削除と編集がうまくいかなく、困っています。
0723722
2007/03/05(月) 14:55:33printf("編集するのは何行目?:");scanf("%s",&gyo);gyo=-1;
fp=fopen("address.txt","r");
j=0;
while(fgets(buf[j],80,fp)!=NULL){j++;}
printf("どのように編集しますか?\n");
scanf("%s",str); //編集文字str
fclose(fp);
fp=fopen("address.txt","w");
max=j;j=0;
while(1){
if(j!=gyo){ //編集する行の前まで普通に出力
fprintf(fp,"%s",buf[j]);
j++;
}
else{ //編集する行になったら挿入
fprintf(fp,"%s",str);
gyo=-1; //gyoをマイナスし指定行数の先を出力させる
}
if(j>max)break; //全部出力し終わったらbreak
}
fclose(fp); //ファイルを閉じる
という感じでやっているのですが、指定してる行数に出力されないどころか、編集文字strの内容が全部でません。
お前なんか勘違いしてんぞ?ってところがありましたらご指導ください。
0724デフォルトの名無しさん
2007/03/05(月) 15:54:03char *s = "Hello ""World";
printf( "Minasan ""konnitiwa\n" );
はそれぞれ、
char *s = "Hello World";
printf( "Minasan konnitiwa\n" );
と同じになる様ですが、どういった規約でそうなるのでしょうか?
0725デフォルトの名無しさん
2007/03/05(月) 16:01:22うん
0726デフォルトの名無しさん
2007/03/05(月) 16:22:09const char *s = "hello, " "world";
⇒const char *s = "hello, world";
0727724
2007/03/06(火) 13:45:49ありがとうございます。
>>723
1行目:scanf("%s",&gyo);gyo=-1;
%s は文字列読み込み。 gyo=-1 は gyou-=1 では?
6行目:scanf("%s",str);
str は充分な文字数を確保してありますか?充分な文字数を確保しても危険で、
scanf("%60s",str); の様に文字数を制限するべき。
072885
2007/03/08(木) 10:50:42fseek関数で解決しました。
今度は削除ですが、削除したいデータを次のデータで上書きする
といった感じでやとうと思ったのですが、それだと最後のデータを削除できません。
何かいい方法ないですか?
0729デフォルトの名無しさん
2007/03/08(木) 11:10:35上書きというより改変コピーしてるだけだぜ
一時ファイルを使って作業して、最後に元のファイルと置き換えると吉
073085
2007/03/08(木) 15:49:04そのデータのレコードに来るまで、元のデータを出力していき
削除したいデータのレコードと重なったら、そいつを飛ばして
次のデータから出力していけばいいって事かな?
0731デフォルトの名無しさん
2007/05/22(火) 03:10:250732デフォルトの名無しさん
2007/05/22(火) 19:53:490733デフォルトの名無しさん
2007/06/10(日) 23:36:390735デフォルトの名無しさん
2007/08/25(土) 20:34:120736デフォルトの名無しさん
2007/08/25(土) 21:11:19そんなの関係ねぇ!
0737デフォルトの名無しさん
2007/09/11(火) 18:06:45ちなみにOSはWindowsXPを使っています
0738デフォルトの名無しさん
2007/09/11(火) 18:35:240739デフォルトの名無しさん
2007/09/11(火) 19:06:59// C言語
#include<stdio.h>
int main(){
printf("Hallo Work!");
return 0;
}
// BASIC
GOTO HALLOWORK
0740デフォルトの名無しさん
2007/09/13(木) 13:20:010741デフォルトの名無しさん
2007/09/18(火) 00:57:16Borland C++ コンパイラ 5.5
BCC Developer なんですが
コンパイルしても実行ファイルができません。
cppファイルがオープン出来ないと出ます。
PATHが取得できないと設定の時点で出ていたのですが
それが原因でしょうか?
初心者すぎて自害したいくらいですが誰か助けてください。
0742デフォルトの名無しさん
2007/09/20(木) 04:39:23PATHの設定をして下さい
0743デフォルトの名無しさん
2007/09/21(金) 22:24:35探してみるとIncludeフォルダの中にparams.hが見つからなかったので、
ttp://mccammon.ucsd.edu/isim/html/params_8h-source.html
このソースコードをIncludeフォルダに入れてみたけれど
エラー E2141 C:\borland\bcc55\Include\Params.h 68: 宣言の構文エラー
エラー E2147 C:\borland\bcc55\Include\Params.h 70: 引数宣言は 'params' で始められない
エラー E2147 C:\borland\bcc55\Include\Params.h 72: 引数宣言は 'params' で始められない
エラー E2056 C:\borland\bcc55\Include\Params.h 75: endif 指令の位置が誤っている
みたいなエラーがでました。
わかる方いたら宜しくお願いします。
0744741
2007/09/23(日) 22:03:47とりあえずありがとうございました。
0745デフォルトの名無しさん
2007/09/23(日) 22:11:0013年前のソフトは動くのに数年前のコンパイラは動かないのか
0746デフォルトの名無しさん
2007/09/24(月) 22:02:47BCCはVistaでうまく設定出来ないからC++ Express Edition使えって
文書があった。
0747デフォルトの名無しさん
2007/09/26(水) 20:00:200748デフォルトの名無しさん
2007/10/18(木) 01:37:460749デフォルトの名無しさん
2007/10/18(木) 01:39:400750デフォルトの名無しさん
2007/10/18(木) 02:35:14しいていうならメモリ上でデータを記憶している場所を指すものです。
ただ、普通一般のコンピュータはデータとプログラムが同じメモリ上に記録
されているから扱いを間違えると大変なことになる。
(プログラムやOSの一部を書き換えると大変なことになりかねない)
0751デフォルトの名無しさん
2007/10/18(木) 18:59:100752デフォルトの名無しさん
2007/10/18(木) 19:01:520753デフォルトの名無しさん
2007/10/18(木) 19:06:080754デフォルトの名無しさん
2007/10/18(木) 22:11:15ただ使われ方が単純じゃないだけだが
0755デフォルトの名無しさん
2007/10/19(金) 21:26:51a=1;
でaをプリントすると
1072693248っていう数がでてくる。
これってどういうこと?
0756デフォルトの名無しさん
2007/10/19(金) 21:36:53バグをバグと認めなさいということ
0757デフォルトの名無しさん
2007/10/20(土) 00:35:58どうやってる?
(そこに間違いがある)
0758デフォルトの名無しさん
2007/10/20(土) 00:41:42必ずしも板読んでいる人の開発環境がWindowsや最新のものではないかもしれない…
Dosという場合も…
自分の学校だって1年入学が早かったら286マシン&TurboCでの開発環境だった…
1年ではFORTRANで5'ディスクを学習のために「自腹」で買わされた…
0759デフォルトの名無しさん
2007/10/20(土) 10:49:01もう1つ大事な「型」について、そっくり抜けてるから。
0760デフォルトの名無しさん
2007/10/20(土) 12:23:18ポインタの型っていうのは、
int *p;
の「int」が何なのかってことだよな?
もしそうなら、それはそのポインタを介して一度にどれくらいのデータをやり取りするかを意味してるんだよな。
だから「int *」型だと、一度にsizeof(int)バイトのデータをやり取りするっていうこと。
0761デフォルトの名無しさん
2007/10/20(土) 13:01:220762デフォルトの名無しさん
2007/10/20(土) 13:21:150763デフォルトの名無しさん
2007/10/20(土) 13:38:47ポインタはただのアドレスの入れ物で(参照するのに)一々型キャストするのは面倒だし(参照先の)型の静的チェックも出来ないから
(参照先の型を予め決めておいてポインタを)明示的に初期化しようってだけのことだろ?
0764デフォルトの名無しさん
2007/10/20(土) 16:31:090765デフォルトの名無しさん
2007/10/20(土) 16:32:460766デフォルトの名無しさん
2007/10/20(土) 16:35:580767デフォルトの名無しさん
2007/10/20(土) 18:04:03大きな整数を扱うプログラムが書きたいため、
多倍長演算について学びたいのですが、資料がなかなか見つかりません。
どなたか良い本、サイト、ご存知ないでしょうか?
0768デフォルトの名無しさん
2007/10/20(土) 20:12:46素直にググリましょう。
検索Topで次のページがかかったよ
http://idm.s9.xrea.com/factorization/multiprec/multiprec.html
0769767
2007/10/21(日) 00:43:070770デフォルトの名無しさん
2007/10/22(月) 21:13:25a=1;
print("%d",a);
を実行すると
1072693248っていう数がでてくる。
これってどういうこと?
0771デフォルトの名無しさん
2007/10/22(月) 21:16:08float型の1をint型として読み取ったときに1072693248っていうint型の値と等しいってこと
0772デフォルトの名無しさん
2007/10/22(月) 23:03:040773プリンがー
2007/10/27(土) 22:58:43これってどういう意味??
0774デフォルトの名無しさん
2007/11/05(月) 01:41:17飾り
0775デフォルトの名無しさん
2007/11/05(月) 15:30:030776デフォルトの名無しさん
2007/11/06(火) 15:47:460777デフォルトの名無しさん
2007/11/06(火) 15:48:340778デフォルトの名無しさん
2007/11/13(火) 16:06:12メイン関数において、2つの放物線
y=ax2+bx+c
y=px2+qx+r
の係数a、b、c、p、q、rをキーボードから入力し、その数値を関数に引数として渡す。
関数はその数値を用いて2曲線の交点の有無を調べ、その交点の個数を戻り値とし
てメイン関数に渡す(交点が無い場合は0、交点が1つの場合は1、交点が2つの場
合は2、交点が無限に存在する場合はー1を戻り値にする)。また関数は、もし交点が
有限個存在するならばそれらの交点の座標値をメイン関数に渡す。メイン関数は関数
から得たこれらの情報を得て、交点の個数を画面に表示し、さらにもし交点が有限個
存在するならばそれらの座標値を画面に表示する。そのようなプログラムを作成せよ。
プログラミングさっぱりわからん・・・
0779デフォルトの名無しさん
2007/11/13(火) 17:12:29http://pc11.2ch.net/test/read.cgi/tech/1194262698/
0780デフォルトの名無しさん
2007/11/13(火) 17:25:450781デフォルトの名無しさん
2007/11/13(火) 22:13:37こんなスレがあるとは・・・誘導サンクス
0782デフォルトの名無しさん
2007/11/30(金) 17:06:47どうやったら逆にコピーできるんですか?
誰か教えてください
0783デフォルトの名無しさん
2007/11/30(金) 22:40:29同じサイズの配列を確保してfor文回せばいいじゃん。
それをやりたくないなら、
char foo;
for( i = 0; i < sizeof( array ); i++ ){
foo = array[ i ];
for( j = 1; j < sizeof( array ); j++ ){
array[ j - 1] = array[j];
}
array[ sizeof( array ) - 1 - i ] = foo;
}
んな事をするしかない。
0784デフォルトの名無しさん
2008/01/15(火) 05:17:46dat落ちしててスレタイも解らない
と思ったけどブラウザで開いたら解った
C/C++の宿題を片付けます 99代目
せっかく書いたのでこのまま送信
0785デフォルトの名無しさん
2008/05/10(土) 04:35:180786デフォルトの名無しさん
2008/07/22(火) 22:51:34lengthは文字列長
int i = 0;
int j = length - 1;
while (i < j)
{
char tmp = str[i];
str[i] = str[j];
str[j] = tmp;
i++;
j--:
}
0787デフォルトの名無しさん
2008/07/23(水) 07:17:49今年で21になるのですが今から専門学校に通ったりしてプログラムの
勉強を始めるのは遅すぎるでしょうか?
1からのスタートになるのでどうしようか迷っています。
0788デフォルトの名無しさん
2008/07/23(水) 08:28:14独学で十分
0789デフォルトの名無しさん
2008/07/23(水) 10:40:25間に合わない事はない。
ただ、専門学校行くかどうかは別として基本情報技術者程度の知識は持っておけ。
0790デフォルトの名無しさん
2008/07/24(木) 11:04:570791デフォルトの名無しさん
2008/07/25(金) 01:55:41遅くはないし、けど専門学校に通うほどのもんではない。
ただ、学習だけに時間をさけて、質問すれば確実に答えを
返してくれる環境というのはうらやましいような気も。
C、VB、Java、Oracleあたりをガンガンいじって
JavaでStrutsあたり使ってSNS作ってみたりするのはいいかと思う。
ただ教えられるがままじゃだめかと。
常に授業より先行しておいて自分で何かどんどん作るように。
0792デフォルトの名無しさん
2008/07/28(月) 23:27:38高校レベルの数学で苦手意識があるならかなり険しい道になると思われ。
逆に高校レベルの数学を普通にこなせるならまあ、いけるんじゃないか。
0793デフォルトの名無しさん
2008/07/31(木) 10:55:490794デフォルトの名無しさん
2008/07/31(木) 22:21:24お答えするためにはパスワードが必要です
0795デフォルトの名無しさん
2008/08/02(土) 22:08:190796デフォルトの名無しさん
2008/08/03(日) 00:44:310797デフォルトの名無しさん
2008/08/05(火) 12:02:440798デフォルトの名無しさん
2008/08/05(火) 22:24:120799デフォルトの名無しさん
2008/08/10(日) 13:17:04digital marsでもつかってろ
http://www.digitalmars.com/
0800デフォルトの名無しさん
2008/10/14(火) 22:56:2480点以上100点以内 A
65点以上80点未満 B
50点以上65点未満 C
0点以上50点未満 D
それ以外の整数に対しては「ありえない」と出す
0801デフォルトの名無しさん
2008/10/14(火) 23:13:43つelse
つ<=
つprintf
0802デフォルトの名無しさん
2008/10/15(水) 08:06:56> rank.exe 100 80 65 50 30
などとすると自動的に 100〜80A、80〜65:B、65〜50:C、50〜30:D、30以下:Eと付けてくれるの
0803デフォルトの名無しさん
2008/10/15(水) 09:24:31int main(int argc, char *:argv) { ... }
0804デフォルトの名無しさん
2008/10/16(木) 09:22:01char h[101];
int a, b, c, d, s;
double tokuten = 29;//得点
puts("rank Aの下限 Bの下限 Cの下限 Dの下限");
a = atoi(argv[1]);
b = atoi(argv[2]);
c = atoi(argv[3]);
d = atoi(argv[4]);
for(s=100; s >= a;s--) h[s] = 'A';
for(s=a; s >= b;s--) h[s] = 'B';
for(s=b; s >= c;s--) h[s] = 'C';
for(s=c; s >= d;s--) h[s] = 'D';
printf("得点=%d ランク=%c\n\n", tokuten, h[tokuten]);
}
0805デフォルトの名無しさん
2008/10/16(木) 19:52:15キモ過ぎるwww
0806デフォルトの名無しさん
2008/10/16(木) 22:03:480807デフォルトの名無しさん
2008/10/16(木) 22:22:240808デフォルトの名無しさん
2009/05/29(金) 15:11:04デフォで h[101:76] が 'A' とか表埋めとけよ。
そんで実行時に下限が違うところだけ
表を修正すればもっと速くなるぞw
0809デフォルトの名無しさん
2009/06/06(土) 11:28:310810デフォルトの名無しさん
2009/06/06(土) 11:57:11{
int a, b, c, d, e;
int tokuten = 29;//得点
char rank;
a = atoi(argv[0]);
b = atoi(argv[1]);
c = atoi(argv[2]);
d = atoi(argv[3]);
e = atoi(argv[4])
if((b<=tokuten)&&(tokuten<a)) rank = 'A';
else if((c<=tokuten)&&(tokuten<b)) rank = 'B';
else if((d<=tokuten)&&(tokuten<c)) rank = 'C';
else if((0<=tokuten)&&(tokuten<d)) rank = 'D';
else {printf("ありえない\n");}
printf("得点=%d ランク=%c\n\n", tokuten, rank);
}
0811デフォルトの名無しさん
2009/06/15(月) 03:14:050812デフォルトの名無しさん
2009/06/15(月) 04:52:19そんなのGNUのなんか(サウンド関係だった気がする)のソースで見て以来いくつかの糞本で何度か見かけたくらいだよ。
それでどうやってエラー処理するんだ。
rankは"DCBA"の有効なアドレスを参照するインデックスであるのか。
むしろrank["DCBA"]とかにして読みにくくしないの。
0813デフォルトの名無しさん
2009/06/15(月) 07:18:020814デフォルトの名無しさん
2009/06/15(月) 09:21:38つーか、100点はありえないのかよw
0815デフォルトの名無しさん
2009/06/15(月) 21:43:440816デフォルトの名無しさん
2009/06/15(月) 21:57:110817デフォルトの名無しさん
2009/06/16(火) 09:48:45argvのインデックスを1からに変えて、aとの比較を等号つきに変えるくらいだからねぇ。
この手の課題っぽいプログラムでI/Fを凝っても仕方ないし。
0818デフォルトの名無しさん
2009/06/16(火) 18:59:430819デフォルトの名無しさん
2009/06/16(火) 19:38:290820デフォルトの名無しさん
2009/06/20(土) 14:47:570821デフォルトの名無しさん
2009/09/01(火) 02:46:040822デフォルトの名無しさん
2009/09/01(火) 11:34:360823デフォルトの名無しさん
2010/05/08(土) 12:29:070824デフォルトの名無しさん
2010/05/08(土) 13:48:000825デフォルトの名無しさん
2010/08/11(水) 11:26:460826デフォルトの名無しさん
2010/11/13(土) 15:58:150827デフォルトの名無しさん
2010/11/13(土) 18:33:570828デフォルトの名無しさん
2011/05/04(水) 19:34:17.920829天使 ◆uL5esZLBSE
2011/07/01(金) 22:27:43.63変数に$ついてる言語触ってるって事だよね
いちいちSHIFT+4キーおして $ 打ちまくってる感触はどう?
0830デフォルトの名無しさん
2011/11/20(日) 14:27:58.470831デフォルトの名無しさん
2011/11/29(火) 01:19:16.570832デフォルトの名無しさん
2011/12/21(水) 01:20:17.28>315 :デフォルトの名無しさん:2009/02/12(木) 18:34:06
アホw
0833デフォルトの名無しさん
2012/01/25(水) 02:58:43.770834デフォルトの名無しさん
2012/01/27(金) 09:05:45.54>>12
のように書くと、Dos窓が出てきて速攻閉じてしまいます。
で、gets(szBuf);を最後に追加して
ウインドウを保持しています。
ネットソースでは自分の環境ではこの現象が起きます。
スマートなウインドウ保持はどのようにするのでしょうか?
OS vista
0835デフォルトの名無しさん
2012/01/28(土) 01:48:30.40[コマンド プロンプト] ウィンドウを開くには、[スタート] ボタン [スタート] ボタンの画像 をクリックし、[すべてのプログラム]、[アクセサリ]、[コマンド プロンプト] の順にクリックします。
http://windows.microsoft.com/ja-JP/windows-vista/Command-Prompt-frequently-asked-questions
0836デフォルトの名無しさん
2012/01/28(土) 02:00:28.66// console.jsの名前で保存してから、エクスプローラでconsole.jsをダブルクリック
// Microsoft (R) Windows Script Host Version 5.6
directory = "C:/work/";
o = WScript.CreateObject("WScript.Shell");
o.CurrentDirectory = directory;
o.Run("cmd");
0837デフォルトの名無しさん
2012/01/28(土) 02:03:05.16スタートから選択すればコマンドプロンプトがでる
0838デフォルトの名無しさん
2012/01/30(月) 19:47:53.43つ[getchar();]
gets()を使うのはお勧めできない。
0839デフォルトの名無しさん
2012/01/31(火) 21:24:43.100840デフォルトの名無しさん
2012/03/01(木) 23:42:12.920841デフォルトの名無しさん
2012/03/02(金) 20:22:40.27一番最初にCのソース見たときだけだけど
0842デフォルトの名無しさん
2012/03/03(土) 21:59:16.39まあでもstudioっぽいとは思ったw
0843デフォルトの名無しさん
2012/03/20(火) 07:15:57.90http://engawa.2ch.net/test/read.cgi/poverty/1332079527/
読売新聞社の全国世論調査(2月25〜26日実施、面接方式)で、憲法を「改正する方がよい」と答えた人は54%となり、
昨年9月調査(43%)から11ポイント上昇した。「改正しない方がよい」は30%(昨年39%)に下がった。
支持政党別でみると、改正賛成派は無党派層で55%(同40%)、民主支持層で51%(同45%)、自民支持層でも53%(同51%)に上がった。
(2012年3月18日22時27分 読売新聞)
http://www.yomiuri.co.jp/politics/news/20120318-OYT1T00619.htm
■ このスレッドは過去ログ倉庫に格納されています