C言語をやりたいんですが

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/12/23(日) 02:35:09
まずなにやったらいいの?
2008/01/25(金) 09:51:55
>>68
やなこった。ばーか。
2008/01/25(金) 15:30:22
開発環境の構築
Hallo World
変数型
演算子
代入演算子
比較演算子
基本的な入出力
関数
プリプロセッサ
配列
ポインタ
ポインタ渡し
参照渡し
メモリの確保/解放
構造体
文字列
文字コード
文字入出力
ファイル入出力
多次元配列
マクロ
共用体/列挙体
コマンドライン引数
バブルソート
FIFO
FILO
文字列検索
2008/01/25(金) 16:23:08
>Hallo World
面白い
72 ◆nullpop./c
垢版 |
2008/01/26(土) 08:29:26
>>1おはよう。できたかな?

模範解答を示す。

長いので、スレをまたぐが。


#include <windows.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>

typedef struct tab_sex_stack{
char *data;
int size;
struct tab_sex_stack *tugi;
} STACK;

STACK *o721 = NULL;
73 ◆nullpop./c
垢版 |
2008/01/26(土) 08:29:48
int pop(void *data){
STACK *sp;
int size;

if (data == NULL) return -4;
if (o721 == NULL) {
return 0;
}
size = o721->size;
memcpy(data, o721->data,size);
sp = o721->tugi;
free(o721->data);
free(o721);
o721 = sp;
return size;
}


int push(void *data, int size){
STACK *sp;
if (data == NULL || size <= 0) return -4;
sp = o721;
o721 = malloc(sizeof(STACK));
if (o721 == NULL) return 0;
o721->data = malloc(size);
memcpy(o721->data, data, size);
o721->size = size;
o721->tugi = sp;
return 32;
}
74 ◆nullpop./c
垢版 |
2008/01/26(土) 08:30:31
main(){
auto char eros[200];
int meko;
int gane;
DWORD timmer = GetTickCount();

push("aho", 4);
push("baka", 5);
gane = 0721;
push(&gane, 4);
pop(&meko);
printf("%d\n\n", meko);
pop(eros);
puts(eros);
pop(eros);
puts(eros);
pop(eros);
puts(eros);

/* EOF */
2008/01/26(土) 09:37:39
>>1
もう教えることはないだろう。
>>1はプログラムを見せてくれなかったな。
自分のプログラムを他人に見せるのは恥ずかしいかもしれない。
とくにはじめたばかりなのでしょうがないが。
だが、他人に見てもらうこと、指摘されること、他人の目を意識することでプログラムは上達するぞ。

もっとも上達する方法は、漠然とCを覚えるのではなく、作りたい物を決めること。
そのために何が必要なのか考えれば、おのずと上達していくだろう。

あとは>>1しだいだ。がんばれ。
そして新しいパラダイムを築いてくれ。
2008/01/26(土) 11:22:51
8進定数を10進出力している馬鹿発見。
77デフォルトの名無しさん
垢版 |
2008/01/27(日) 02:17:27
C言語学習ならまずこれだろ。
http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
2008/01/27(日) 09:21:57
つぎは、 nullpop 君による、プログラム72 に出てくる型がいかに 65 の説明の通りか。
つまり BASIC とさほど変わってないかの説明です。
79デフォルトの名無しさん
垢版 |
2008/01/27(日) 10:57:36
>>78
>>72-74ではいきなりポインタ宣言されてるんですが。
80デフォルトの名無しさん
垢版 |
2008/01/27(日) 14:08:51
今からC言語覚えようってセンスがもう........
81デフォルトの名無しさん
垢版 |
2008/01/27(日) 14:10:55
>>80
マルチか

C言語を教えてください!!
http://pc11.2ch.net/test/read.cgi/prog/1201319713/
23 名前:仕様書無しさん[] 投稿日:2008/01/27(日) 14:07:49
今からC言語覚えようってセンスがもう........
2008/01/27(日) 14:31:11
>>80
なにが?
汎用アセンラ覚えなきゃ組み込み系は仕事できませんが
2008/01/27(日) 14:32:44
そんなにアセンラず、落ち着いて書き込め。
84デフォルトの名無しさん
垢版 |
2008/01/27(日) 14:48:34
>>82
ならなおさらC言語ができなきゃいけないだろ。
アセンブラの実物見たことないやつがしったかして邪魔スンナぼけ
2008/01/27(日) 17:57:18
アセンブラ必要か?
組み込み系でもいろいろあるからな。
2008/01/27(日) 19:25:24
今はもう組み込みでもCばっかりだな。
だが作法が他とは全然違う罠。
2008/01/27(日) 21:19:13
>>84
> ならなおさらC言語ができなきゃいけないだろ。
汎用アセンブラてCのことだが…
88デフォルトの名無しさん
垢版 |
2008/01/27(日) 21:47:31
アセンブラとコンパイラの区別が付かない人は引っ込んでて
2008/01/27(日) 22:54:00
うわー
2008/01/28(月) 02:20:03
http://www.python.jp/doc/release/tut/node5.html
たまたまpythonがインストールされてインタプリタ起動したんだけどすごいね。昔のN88Basicみたいに簡単に使える。
本当は>>>なんだけど書き込みでエラーになるんで削除。
C:\Airblade-1.3.2\python>python
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
> 2+2
4
> (50-5*6)/4
5
> 7/3
2
> 7/-3
-3
> width = 20
> height = 5*9
> width * height
900
> x = y = z = 0 # x と y と z をゼロにする
> x
0
> 3 * 3.75 / 1.5
7.5
> 7.0 / 2
3.5
> word = 'Help' + 'A'
> word
'HelpA'
> word[0:2]
'He'
> word[2:4]
'lp'
2008/01/28(月) 10:17:28
>>90
だからなに?
余りに当たり前過ぎて欠伸が出てくるんだけど。
92デフォルトの名無しさん
垢版 |
2008/01/28(月) 11:01:57
当たり前って言い方は詐欺的だろ。
確かにPythonを使うのは当たり前かもしれないが、Phthon使う前はなかなかない。
コマンド入力で答えが返るのはDOSプロンプトでもあるが、制約が多くて不自由だし。

スクリプトはどこにでもあるが、1行ずつ実行できるようなのはあまりない。
少なくとも3Dゲームがぐりぐり動くようなのは、ライブラリが優れてるのか知らないが見たことない。
Flashプレーヤーですら3Dっぽく見えても2次元動画だったりするし。

当たり前って言うならどんな環境を知ってるのか教えて欲しいね。
2008/01/28(月) 11:27:42
はぁ? MATLABにしろそのクローンのOctaveにしろ、インタラクティブな環境はご存じないのですか?
それ自身がインタラクティブな環境で実装されている言語だって色々あるし。
それとも単に「Pythonすげー」って言いたいだけ?
2008/01/28(月) 11:30:19
やり取りがあまりにも高度すぎて眩暈がしてきたよ・・・
いちいち突っかかることなのか?
95デフォルトの名無しさん
垢版 |
2008/01/28(月) 11:43:02
>"for"ループを使用することなくベクトルや行列の操作を行っている

>これらの短所にも関わらず、MATLAB は依然多くの科学技術計算で用いられている。

すごいけど

>完全な互換性や最新版のMATLABを得るためには、製品を購入する必要がある。
>結果的に、MATLABの利用者はベンダの囲い込みに属することとなる。

囲い込みしてるのが当たり前ってどういう神経してるんだか。
使う可能性が1%もないのに勉強しろって?

死ねば?
2008/01/28(月) 11:45:16
>>95
>はぁ? MATLABにしろそのクローンのOctaveにしろ、インタラクティブな環境はご存じないのですか?
「そのクローン」って、意味わかりませんでしたか?
97デフォルトの名無しさん
垢版 |
2008/01/28(月) 11:46:17
>>96
意味?
ニセモノって意味だよな。
2008/01/28(月) 13:19:23
馬鹿が居る。
2008/01/28(月) 13:28:56
ほんとだ
>>98に居るな
100デフォルトの名無しさん
垢版 |
2008/01/28(月) 18:53:38
総括すると、みんなCが大好きってことだな
2008/01/28(月) 19:44:57
喧嘩はやめようぜ。
2008/01/28(月) 22:06:01
ししょー
2008/02/29(金) 21:04:47
このスレおわったのか?
2008/04/07(月) 02:07:56
はじめて "hello world" が表示された時の感動を俺は忘れない
105104
垢版 |
2008/04/15(火) 22:31:50
ごめん忘れたみたい
106104
垢版 |
2008/04/17(木) 17:44:58
今少しだけ思い出した
107デフォルトの名無しさん
垢版 |
2008/06/17(火) 00:12:01
はじめての言語は
MSXのBASICと言うのは
俺のような30代・・・
Cといえばturbo C
これも・・

2008/06/17(火) 07:33:03
日本語でおk
2008/06/18(水) 09:11:43
>>108
>>107を意訳

初めて使った言語がMSXのBASIC→30代
Cといえばturbo Cという人間も>>107と同じ30代
2008/06/27(金) 02:09:07
ファミコン世代
ファミリーBASICも30代
2008/06/28(土) 19:03:58
TurboCもいいけど一番お世話になったのはLSI-C試食版
2008/07/06(日) 19:47:08
同じくだ。
PC98時代(DOS)からWindows98時代までお世話になったw
2008/08/20(水) 21:10:12
学校では98でturboCしたが
メモリに直に数値入れるイメージしかない
通信といえばBBSの時代・・・
114デフォルトの名無しさん
垢版 |
2008/09/01(月) 03:35:35
ほしゅ
2008/09/01(月) 04:34:09
XCやGCCで育ったのも30代。
無料でついてきたマクロアセンブラで遊んだのも30代。
2008/09/01(月) 04:53:24
俺漏れも
マニュアル読み尽くしてreadとfreadは機能がだぶってるじゃんか
とかいうあたりからunixへ入っていった
あとkmyaccとか2005年あたりにさりげなく
バージョンアップしてんの知ってた?
2008/09/01(月) 08:59:29
ヤック・デカルチャー?
118デフォルトの名無しさん
垢版 |
2008/09/02(火) 18:33:52

そのTV・劇場版マクロスを
視聴した小学生も今は30代
2008/09/02(火) 19:10:00
雑談はマ板で。
 プログラマー
 http://pc11.2ch.net/prog/
2008/09/02(火) 19:22:31
Cスレにぴったりの言葉を思いついた

「Yacc de Culture.」
(訳: 構文解析やらないか)
2008/09/12(金) 22:35:23
試食版じゃないLSI-Cを使ってると込みたことある人はどんだけいるのだろう。
2008/09/12(金) 22:43:07
はいよ。使ってるところを見たというより、使ってた。
尤も、製品買ったのにSmallモデルしか使った記憶が無い罠。
まぁ、試食版には無いライブラリのソースは見られたけど。
2008/11/28(金) 07:30:28
そだね。とりあえずvoltaileにでもなってもらおか
124デフォルトの名無しさん
垢版 |
2008/11/28(金) 19:12:18
BasicMagazineの投稿に憧れ
マシン語なら日高の本を買い



いまどきC言語はnet検索で終了?
2008/11/28(金) 20:51:57
  ●●●
 ●   ●


 ●   ●
  ●●●
2008/11/28(金) 23:58:52
誰かさ、オンラインコンパイラーってやつを作ってみてよ。
オンラインで YoutubeのSWFを音声やMPEGに変換するサイトがあるじゃん。
それと同じように Cソースを 実行形式に自動変換してくれるサイト作ってよ。
127デフォルトの名無しさん
垢版 |
2008/11/29(土) 23:35:42
C言語での「ウィンドウ作成」ってできるんですか?
できればサンプルソース書いていただきたいのですが。
ボーランドでソース書いてもエラー出て まいっちんぐマチコ先生でつ。
2008/11/30(日) 05:04:18
まいっちんぐマチコ
これ知っている人が40代以上である確率は非常に高いと
思われ。
2008/11/30(日) 10:44:48
>>124
その心に燃える闘魂が宿っていればnet検索で何も問題はない。
2008/12/01(月) 16:50:21
>>127
できるよ
OSは何?
winだったらAPI叩けばいいし、UNIX系だったら、X motif openwin lesstif gtk とか
2008/12/02(火) 09:52:24
いやーん
132デフォルトの名無しさん
垢版 |
2008/12/05(金) 03:51:54
>>130
OSはXPなんですが、API叩くというのは?(すみませんチョwww初心者なんで)
そういう関数ってかインターフェースがあるんですか?
2008/12/05(金) 03:59:13
ほらよ!
#include <windows.h>
main(){
WNDCLASS wcex={0,DefWindowProc,0,0,0,0,0,0,0," "};
RegisterClass(&wcex);
ShowWindow(CreateWindow(" ",0,1,300,300,200,200,0,0,0,0),1);
Sleep(3000);
}
134デフォルトの名無しさん
垢版 |
2008/12/05(金) 04:08:25
>>133
おぉ〜ネ申よ!
解決の糸口が見えてきたよ。
2008/12/05(金) 05:14:19
解決しても
また次の問題をかかえてくるに
8000ペリカ
2008/12/06(土) 00:13:08
>>132
ペゾルドのProgramming WindowsなどのまともなWindowsプログラミングの入門書読め。
137デフォルトの名無しさん
垢版 |
2008/12/06(土) 05:50:47
こんにちわ 世界!
138デフォルトの名無しさん
垢版 |
2008/12/06(土) 10:18:13
さようなら 世界!
139デフォルトの名無しさん
垢版 |
2008/12/06(土) 10:24:13
スクールデイズ 最終話か!
2008/12/06(土) 10:58:40
printf("Nice boat.\n");
2008/12/09(火) 13:41:44
中に誰もいませんよ!
2008/12/10(水) 12:29:09
#ifndef OTL
#define OTL
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {
char *str;
ulong length;
} OTLSTRING;


#endif

#define TEST1

main()
{
OTLSTRING orz;
}

#endif
143デフォルトの名無しさん
垢版 |
2008/12/15(月) 23:58:45
なにこのゆとりスレ・・・
144デフォルトの名無しさん
垢版 |
2008/12/18(木) 03:02:36
ゆっとりしていってね!
145デフォルトの名無しさん
垢版 |
2008/12/18(木) 21:05:26
BASIC→マシン語

Cのはいる余地なしなのが30代と思ったが・・そうでもないのか
2008/12/19(金) 12:08:14
C使えなかったんですか?貧乏だったんですね。
147デフォルトの名無しさん
垢版 |
2008/12/19(金) 21:00:22
パソコンは8bitで過去の栄光のmkUSR以降だったんです。

ガッコで98FAでturboCを初めてつかったんです。

そのときの参考書はお約束の Hello world の表示からポインタの説明までだったんです。

インターネットが流行る前のBBSの時代だったんです。
2008/12/20(土) 01:23:36
ひとついえるのは

汎用性のないプログラムはゴミ
149デフォルトの名無しさん
垢版 |
2008/12/20(土) 07:18:36
汎用性のある会社員でもゴミになる時代
150デフォルトの名無しさん
垢版 |
2008/12/21(日) 10:19:49
金もうかるシステムをつくる経営者にならんとね

2008/12/25(木) 09:13:39
最近「○○言語やりたいんですが、何をすれば?」みたいなのが多い。
逆だろ?
「××したいんだけど、○○言語ではどうすればいい?」
と聞くべきだろ?
何で自分がする(したい)事を他人から指示されなきゃならんの?
目的があれば、手段(言語)なんてなんでもいいよな?

と思うMZ80B世代のおっさんでした。
152デフォルトの名無しさん
垢版 |
2009/02/14(土) 17:21:06
素人か上級釣り士ってだけのこと
子供は保護されてっから無意識に自分を中心にして回ってると思いがちなんだよ
掲示板も自分のため、ホームページのじゃんじゃんカウンタ回る、最強、天才、うんこちんこ大好き
2009/02/14(土) 17:31:15
そしてまんこも
2009/02/14(土) 17:55:35
C言語ができることがトレンディだった時代も・・・あったと思う
二十年くらい前に
2009/04/24(金) 23:42:06
>>1はどうしているんだろう?
2009/05/04(月) 22:27:35
for文 (1)

繰り返しにはfor文を使う。
for(初期化;条件;処理){
ループ処理
}

for (i=0;i<10:i=i+1){
処理
}
これが基本形だ。

for(i=0,j=5,k=20;l==5;i+=j);
このような書き方もできる
2009/05/04(月) 22:31:03
for文 (2)

繰り返し途中に抜ける場合、
continueとbreakの12つがある・
continueはforの頭にもどりbreakはループを抜ける。

for(c=0;c<20;c++){
printf("%d\r\n", c);
if (c == 10) {
c = 15;
continue;
}
if (c == 18) break;
}


2009/05/04(月) 22:32:50
for文 (3)
無限ループはwhile厨とfor厨、goto厨がいる。
私はわかりやすさの面からforを推奨する

for(;;) {
無限ループ
}

while(0==0) {
無限ループ
}

LOOPS:
無限ループ
goto LOOPS;

2009/05/04(月) 22:37:43
文字列処理(1/3)

Cのもじれつはナル文字 (N88BASICでいえばCHR$(0))
で終わるbyte型の配列だ。

"sex"はs,e,x,\0の4バイトになる。

文字列処理はsprintf関数を使う。
printfの出先を文字列のアドレスにしただけ。


char nakano_minako[666];
char *ppp;
ppp = &0[nakano_minako];
sprintf(nakano_minako, "sex is sex");
puts(ppp);


2009/05/04(月) 22:40:20
文字列処理(2/3)

数値変換は
atoi,atof,atolを使うN88BAICのVAL関数とおなじ。

char timer_sex[] = "05:10:12";
int hh,mm,ss;
hh = atoi(&0[timer_sex]);
mm = atoi(&3[timer_sex]);
ss = atoi(&6[timer_sex]);

printf("%d - %d - %d \b\r\n\t", hh,mm,ss);
2009/05/04(月) 22:42:35
文字列処理(3/3)

文字列は配列だから、簡単に暗号化できる

char sex[] = "sex for your 072";

while (*sex++) {
*sex += 22;
}

2009/05/04(月) 22:45:00
関数ポインタ(1/3)

C言語は関数ポインタを使って処理を読みやすくできる

typedef int (*type_is_sex)(int sex, int o72);

type_is_sex sex[3];

sex[0] = printf;
sex[1] = sprintf;
sex[2] = fprintf;


2009/05/04(月) 22:51:01
staticの重要性(1/1)

C言語はstaticとexternという重要なキワードが存在する
グロバル変数にstatic int g_sex;
としあ場合、ほかのファイルからは見えなくなる
関数ないで
int f(void *d){
static s_sm;
...
}
とした場合、関数を抜けても値を保持するようになる。

externはほかのファイルに変数がありますよを意味する。

-------sex1.c-------------
int g_sex;
--------------------------

-------sex2.c-------------
extern int g_sex;
printf("%d",g_sex);
-------------------------
externはあくまで外部にあることを意味するので、
多重適宜してはいけない
2009/05/04(月) 22:53:50
プリプロセッサ (1/5)

#のある命令がいくつかある。
#include
#define
#if
#else
#endif
#pragma

これらはプリプロセッサといい、コンパイル前に行われる。
#includeは指定ファイルに置換される
#defineは単語置き換えを行う。
#if,else,endifは条件によってこんぱいるを帰る
#pragmaは重要だ。
2009/05/04(月) 22:56:18
プリプロセッサ (2/5)

#pragmaは重要だ。
#pragma onceとすることで多重インクルードを防ぐ。

------------monko.h------------
typedef int sex_i;
-------------------------------
もし、このmonko.hを複数のファイルが読んだら、
typedef多重のエラーになる。
ここで

------------monko.h------------
#pragma once
typedef int sex_i;
-------------------------------
とすれば、1階しか呼ばれない。
2009/05/04(月) 23:05:50
プリプロセッサ (3/5)

#pragmaは重要だ。
#pragma packを使うことで構造体のあラインを調整できる。

#pragma pack(1)とすれば
以降の構造体が1バイトであラインされる(パデングなし)

#pragma pack(4)としたばあい、少々複雑だ。

typedef struct {
int x;
char c1;
char c2;
} SEXOS;

printf(%d", sizeof SEXOS);

何バイトだろうか?
12バイトにはならず8バイトになる。




167 ◆nullpop./c
垢版 |
2009/05/05(火) 12:02:32
プリプロセッサ (4/5)

プリプロセッサによってコメントをネストできる

#ifdef SEC
#ifdef SEV
/* */
#else
#endif
#endif
2009/05/05(火) 14:21:25
プリプロセッサ (5/5)

##演算子

#define pasta(front,end) front ## end

pasta(name,1)でname,1という文字記号が作られる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況