単発質問スレは嫌われるものだが、変数までの説明はしてやってもいいだろ
まずC言語の基本の形
int main() {
return 0;
}
これは下のように書いても同じ
int main()
{
return 0;
}
これだけだと特になにもしないわけだ
TVゲームによくあるHPを想像してほしい
プログラミングではHPの数字をどういう風に管理しているのか?
『変数』だ
変数とは、PCのメモリー上に名前をつけて、データを入れたり出したりできるようにした場所をいう
プログラミングの本ではデータを入れるための『箱』として解説される
HPの値はその時々によって変化するだろう?
変数に1を入れたり、2を入れたりすれば変数の持っている値は変わる
だから『変数』というわけだ
hpという変数ならhp=1 hp=2という具合だな
ただし、日本語が文末に。をつけるようにC言語では;をつける
だからhp=1;となる
そして、変数には『宣言』が必要だ
宣言なしにいきなりhp=1;とはできない
さきに、int hp;のようにする必要がある
おお!ここまでは解るぞ
int hp;
とは、数字を入れるための箱をhpという名前で用意しろということ
intは整数型といって整数しか入れられない箱を用意するんだ
int hp;と宣言しておくことでこれ以降でhpという箱に数字を入れたり出したりできる
ただし、出しても出しても変数の中は変化しないから注意が必要だ
変数に数字を入れたら本当に入ってるか確かめたくなるよな
そこでprintf関数というものを使う
これにはいろんな使い方があるんだがとりあえず
int型の変数hpを表示する場合はこうだ
printf("%d", hp);
実際に変数に値を入れて
そのとおりに表示されるか試して欲しい
が、その前にint main()の前に
#include<stdio.h>
を加えて欲しい
これを入れることでprintf関数などいろんな関数(機能みたいなもの)が使えるようになる
C言語では使わないことはないというぐらいによく使うものだ
>>21 ありがとうありがとう
ここまではモーマンタイだ
分かり易い(/_;)
おっと、変数への代入を説明していなかったか
数学では=は等しいという意味だが、
プログラミングでは
hp=1;
というのは、hpに1を入れるという意味になる
>>24 そういうこと
ああ、そうそう
int main()
{
ここにプログラムを書く
return 0;
}
さあ、変数に値を入れて表示してみてくれ
わからなければ聞いてくれてかまわない
>>25 さて、やろう
と思ったんですが
今PCでphoebe?とか何とか言うのを使ってるのですが、何かこれを使え!ってのはありますか?
visualC+とかなんとか....
コンパイル出来ない(/_;)
とりあえず基礎から教えてやった方がいいよな?
//int型へのポインタpを宣言
int n=20,*p;
//pにnのアドレスを代入
p = &n;
//変数nに10を代入
*p = 10;
この時点で変数nは10になっている
これが分からなかったらもう諦メロン‥‥
>>28 #include<stdio.h>
int main()
{
int hp;
int = 1;
printf("%d",hp);
return 0;
}
何回やってもエラーになります(ノД`)
>>29 あばばばばばばわからん諦めれんんnおごごw
あっ、デケター!
実行結果に
1
と出てきましたぞヽ(^o^)丿
答えは
#include<stdio.h>
int main()
{
int hp;
hp = 1;
printf("%d",hp);
return 0;
}
int っていうのは宣言するときに使うだけ
int hp; でint型の変数hpを作ったら
hpを使えばいい
OK?
>>30 intは型だから数字いれたりできないのな
int hp;(int型の変数hp)
つまりhp(変数)に数字をいれろ!
hp = 1;
そう
>>33 了解です!
あ、そういえば大学では
int main()
の()の中にvoidとか何とかを書けって言われたような...?
int hp;
hp = 1;
を
int hp = 1;
と短くすることもできる
さらに、
int a;
int b;
を
int a,b;
としたり、
int a=1;
int b=2;
を
int a=1,b=2;
もできる
>>36 書いちゃダメ
どうせ書くなら(int argc,char *argv[])にしとけ
コマンドラインで引数とらない限り関係ないが
とりあえず書いとけば問題ないから!
みたいな風に言われたのに...orz
ナンテコッタイΣΣ( ̄◇ ̄;)
わざわざ書く必要はないな
>>42 わかりました
うわー
ほかにも意味ないこといっぱい書いてるんだろうなぁ....
基本ぐらいならその辺のサイト見る方がいいんじゃね
>>44 今探してたら苦Cとかなんとか言うのがあったんですが、これを頑張れば皆を見返せますか?
int型のほかにchar型というのがある
char a = 'b';
これでchar型の変数aにbという文字を入れる
char型の変数は英数字1文字を入れることができる(日本語は無理)
これの表示は
printf("%c", a);
な
int型変数は%dで
char型変数は%cだ
char型変数の表示もやってみ
んじゃ俺は寝る
>>46 そう...
このcharとかなんとかが出てきてついていけなくなったんですorz
わざわざ丁寧にありがとうございました!
頑張って勉強して教授をギャフンといわせれるように頑張ります!
お休みなさい!
あ、あと参考までに学部学科教えてくれ
情報学部だよな?
>>48 マジですか
うわあどうしよう
>>49 そうです情報工学部...
何でこんなとこ来たんだろう
charで躓くってどういうことだよ
何が分からないのかいってみてみごらん
int main のint も不要
main()
{
}
これで動く
SkypeIDあるなら暇だしいつでも教えてあげるぞー
>>52 えwまじですかw
スリムでかっちょええw
>>53 コミュ障なので...w
main()
{
extern int printf(const char *format, ...);
int a=1;
printf("%d",a);
}
俺もコミュ障だし大丈夫
あと
>>52のやり方は確かに動くけどよくないその場しのぎ
>>55 extern〜なんちゃらのとこがすでに意味不明でござるw
void main()
{
}
通はvoid main()
main()
{
}
は、実行には何の問題もないが
まず突っ込まれることだろう
extern int printf(const char *format, ...);
これは型式であってそのまま使うもんじゃないぞ
>>56 やっぱりintは書いておくに越したことは無いんですね(^-^;
関数の頭につけてるのは関数の返り値の型
int main(int argc, char** argv)
{
return 0;
}
いつもこう書く良い子ちゃん
ぎょへー
なんか高度な話になってきたぞ
ふひひ
>>61 int main()
{
return 0;
}
この書き方で統一させておいたらいいよ
charで躓いてるってことは条件分岐とかも全くわからないの?
駄目だー
苦Cっての見てもいろいろ有りすぎて何から手をつければ良いんだー
>>67 yes
ifだのwhileだのforをまわすだのなんだの
やめてくれええええええええ
おまえわざとわからないふりしてるだろ?w
>>69 じゃあ例えば、画面上に「a」って1文字だけ出すプログラム書いてみてよ
>>71 #include<stdio.h>
int main(){
int b = a;
printf("%d",b);
return 0;
}
どうでしょうか!
>>72 残念
ではヒント
int ってのは整数を入れる箱
char ってのは文字を入れる箱
>>73 あ....
最後のやつでしたねそういえば....
てことは
int b = a;を
char b = a;にして
%c
にすればいいわけですね!
そういうこと
これでchar型の変数は扱える
でもそんな難しく考えなくても
#include<stdio.h>
int main(){
printf("a");
return 0;
}
で正解だったんだけどね
>>75 あ、hello worldと同じなんですねorz
じゃあ次にaという変数に3.14って値を代入して
その変数aを使って「πは3.14」って画面上に表示させてみてよ
>>77 #include<stdio.h>
int main(){
int a = 3.14;
printf("π=%d");
return 0;
}
ですか?
てかwindows標準搭載のコマンドプロンプトでC打ち込めますか?
なんか今ほかのコンパイラとか言うやついろいろやってるけどインストールすら出来なくて...orz
printf("π=%d");
とりあえずこの部分はよく見たら何が間違いか自分でも気付くんじゃないかな?
このスレの前半部分でもちゃんと分かってたはず
>>79 π =3........だ....と....
>>80 intと%dは整数型...そういうことですか?!
>>81 つまりintじゃ小数点のついた数はちゃんと表示されないってことだ
となるとやはり小数点の値用の箱が用意されてるはず
それがdoubleっていう物なんだよ
で、intでいう「%d」charでいう「%c」がdoubleの場合「%f」になる
もう一度入力してみて
>>82 そういうこと
あと
printf("π=%d");
は凡ミスだと思うけど
printf("π=%d",a);
にしないとだめね
>83
そんなことはない
自分で決めればいいじゃないか
固定小数点数とかもあるし
>>83 π=-0.00000
ってなんなんだ....or
なったああああああああ
π=3.140000
なんで0が4個ついてるか知らんがなりましたぜ!
>>85 あくまでもC言語の導入部分の話なんだからそんなこと言うとこんがらがるんじゃね?
>>87 それでおk
これで
整数は int →%d
一文字は char →%c
小数は double →%f
ってのはわかったよね?
>>89 了解です!
これで明日のプログラミングのポイントがどーとかもバッチリです!
ありがとうございます!
...orz
d decimal
c character
f floating point number
>>90 ここで補足
「%f」っていうのは便利なことに
自分がどういう表示をさせたいか、ってのも決めることが出来る
π=3.140000を
π=3.14
という表示にできるかどうかってのはこいつにかかってるわけだ
たとえばこの場合は
全体を4桁(小数点を含む)、小数点以下は2桁にしたいわけだから
%4.2fという風に%とfの間に挟んじゃう
>>93 これは凄い
成る程良くできてるなぁ...
>>94 じゃあ、変数a,b,cを使ってそれぞれに10,3,3.33を代入して
その変数を使って
「10割る3は3.33」って表示させてみて
この時「10割る3は3.330000」みたいにならないように
>>95 や、ヤバい眠いですぞ...
自分でスレ立てたのに.
ようし!
少なくともこの課題をクリアするまではがんばるぞ!
少々お待ちを....
>>96 これで最後ね
あと、プログラム書くところの右下、syntax highlightって所にチェック入れるとやりやすくなるよ
>>97 出来ました!
結果は10/3=3.33です!
どうでしょうか?
#include<stdio.h>
double main(){
double a = 10,b = 3, c = 3.33;
printf("%2.0f/%1.0f=%4.2f",a,b,c);
return 0;
}
>>98 まあよしとしようw
ただ、わざわざ整数型の数字をdoubleにする必要はなくて
#include <stdio.h>
int main()
{
int a = 10,b = 3;
double c = 3.33;
printf("%d/%d=%4.2f",a,b,c);
return 0;
}
これの方がよかったかな
ご苦労
>>99 あ、わければよかったんですねw
くっっそーーー
でも楽しーー!
こんな初歩でもちゃんと動いたらめっちゃうれしいですw
こんな遅くまでありがとうございました(*゚▽゚)ノ
頑張って勉強します!
お休みなさい〜Zzzz
>>98 あ、でも
double main{
}
これはだめだわ
プログラムに使われる数字がなんであれ
int main{
}
であることは変わらないから気をつけて
>>101 始まりは絶対int....ってことですね
ってことはcharの時も
int main()
で
char a;
てことですよね?
>>102 そういうこと
int main()
{
は何も悩まずそのまま書いちゃってdoubleだとかcharだとか悩むのはそれ以降ってことね
どうせ暇だしまたいつでも教えてあげる