• 締切済み

C++のプログラム

naturalの回答

  • natural
  • ベストアンサー率37% (419/1115)
回答No.5

naturalです。 コメント読みました。 取り敢えず最も初歩の段階から説明することにします。 以下のソースは何の処理もしませんがコンパイル出来る完全なプログラムです。 void main(void) { } このような形でC言語の最小のプログラムは書けるわけです。 後は{と}の間に処理を書き連ねていけばプログラムとして色々な仕事をする様にできます。 voidと言う部分が2カ所ありますが、ちょっと解説しておきたいと思います。 最初の方は関数型と呼ばれる部分で、どんな型の値を返してくるかを指定します。 つまり人間に例えると、その関数が仕事を終えた後でどういった形で報告をおこなうかを指定する部分です。 後者の方は引数と呼ばれる部分でその関数がどんな型の値を引き受けて仕事をするかを指定します。 こちらも人間に例えると、どんな資料を与えて仕事をさせるかを指定するわけです。 このプログラムではどちらもvoid型となっていますがvoidは「特に無い」ことを示します。 つまり使用する際には返却値も引数も無いと言うことになります。 さて前述の様に{と}の間にいよいよ処理を加えたいと思います。 但し関数を使用する場合その関数を宣言しているヘッダーファイルと呼ばれるものを読み込んでやるように指定しなければなりませんのでご注意下さい。 例えばこうです。 #include <stdio.h> void main(void) {   printf("Hello,world!\n"); } 上記の例で言うところの#includeで始まる行がヘッダーファイルの読み込み指定部分です。(厳密に言うと読み込みでは無いのですが便宜的にそう述べておきます) お解りでしょうか? printfと言う関数がどういった形で使われるべきかと言った情報がstdio.hにはあり、このファイルの情報を読み込ませることによってコンパイラーにも情報がわたり、翻訳の際に参照されるわけです。 因みに使う関数によってどんなヘッダーファイルを指定すればよいかについてですが、テキストをお持ちならば関数の仕様がどこかに解説してあるはずですのでそちらをご覧頂ければ記載されているはずです。 ここまででC言語の第一歩となるはずですが、既に理解されていたでしょうか? もしまだならばもう一度テキストの冒頭部分を読み返してみることをお奨めします。 単位をあきらめるのはまだ早いですよ!頑張って!!p(^^)q

ikuchan
質問者

お礼

5回ほど繰り返し読んでみましたがやっぱり理解不能です。せっかく丁寧に書いていただいたのに…。ありがとうございます。

関連するQ&A

  • C言語について

    以前も同じことを質問したのですが、分からなかったので、また質問します。本を読んでも分かりませんのでプログラム全てを教えて下さい。2日も考えています。他人からすれば何で説明を読んでも分からないのか?と思われると思いますが、本当に全く分からないし見当もつきません。よろしくお願いします。 1.キーボードから整数nを入力して、1+2+…+nを求めるプログラムを作れ。 2.キーボードから整数nを入力して、1*2*…*nを求めるプログラムを作れ。 3.キーボードから10個の実数を入力し、それらの平均を求めるプログラムを作れ。 4.円錐の体積を求めるプログラムを作れ。 注:円錐体積V=π*r*r*h/3 5.キーボードから文字列を入力し、それを逆さまにするプログラムを作れ。例えば、"dog"を逆さまにすると"god"になる。 以上の5問です。できるだけ簡単で理解しやすいものでお願いします。

  • C言語!プログラム書いたのですがエラーです!

    課題内容 キーボードから数字を入力してその値までの合計を表示する。 さらに入力した値が偶数なら0から入力した値までのすべての偶数の和を 入力した値が奇数なら1から入力した値までのすべての奇数の和を表示するプログラム。 #include<stdio.h> int main(void) { int i, n, sum; sum=0; scanf("%d",&n); printf("入力値:%d\n", n); if(n%2 = 0) { for(i=0;i<=n;i+=2) { sum=sum+i; } printf("合計値:%d\n",sum); } else { for(i=1;i<=n;i+=2) { sum=sum+i; } printf("合計値:%d\n",sum); } return(0); } これでコンパイルすると10行目に左辺値が必要とでます。 どうすればよいでしょうか? 教えてください。よろしくお願いします。

  • C言語のプログラムを修正してほしいのですが

    #include <stdio.h> int main(void) { int i, sum; sum = 0; for (i=1; i<=100; i++){ sum = sum + i; } printf("sum=%d\n", sum); sum = 0; i= 1; while (i <= 100) { sum = sum + i; ++i; } printf("sum=%d\n", sum); sum = 0; i = 1; do { sum = sum +i; ++i; } while (i <=100); printf("sum=%d\n", sum); return 0; } 上記のプログラムに修正を加えて、実行結果が 1+3+5+…+n の nを入力してください → 99をキーボードから入力(例) sum=2500 sum=2500 となるようにしたいです。 nはキーボードから奇数を入力します。 奇数値 nをキーボードから入力して、1からnまでの奇数の総和を 計算するプログラムです。 超暇なときにでも回答お願いします。

  • C言語の、階乗を使うプログラムの問題を教えて下さい

    C言語の、このプログラムを作るのが分かる方、教えて下さい。階乗を使う問題です。 「キーボードで整数aを入力するとn!>aとなるときの最小のnを出力するプログラムを作りなさい」という問題です。 分からず苦戦しています。 nをキーボードで入力してn!を求めるには #include<stdio.h> int main(void) { int kekka,n,i; printf("n=? \n"); scanf("%d",&n); kekka=1; for(i=1;i<=n;i++) { kekka=kekka*i; } printf("%d!は%dです。\n",n,kekka); return 0; } とすればいいのは自分で作れたのですが、問題にあるn!>aのプログラムが分からず困っています。 分かる方、お願いいたします

  • エラーが出ます。

    「キーボードから受け取った整数が偶数か奇数かを表示するプログラムを、switch 文を使って作成する」 という問題で、プログラムを作ってみたのですが、エラーが出ます。 caseの後の%2==0 %2!=0の部分が間違っていると思うのですが、これは何と書けばいいでしょうか?偶数と、奇数の場合の条件の書き方はどうやるのでしょう? 回答お願いします。 #include<stdio.h> int main(void) { int a; scanf("%d",&a); switch(a) { case %2==0 : printf("%dは偶数です\n",a); break; case %2 != 0 printf("%dは奇数です\n",a); break; } }

  • 間違いを指摘して頂けませんか?(切実)

    私は大学で春からプログラミングの基礎を学び始めたプログラミング初心者です。 今、if関数のネストについて習っていて、if関数のネストを利用したプログラム作成の課題が出て、一応書いてはみたのですがどうしても上手くいきません。下に課題の内容と私の書いたプログラムを書いておきますので、間違っている箇所を指摘、修正して貰えませんか?宜しくお願い致します。 【課題】 次の項目に従ってプログラムを作成せよ。 (1)整数型の変数noを宣言 (2)「整数を入力してください。」と表示して改行 (3)キーボードから入力された値を変数noに代入 (4)入力された値が ・偶数で4で割り切れる数なら「整数○は偶数で4で割り切れます。」 ・偶数で4で割り切れない数なら「整数○は偶数だけど4で割り切れません。」 ・奇数で3で割り切れる数なら「整数○は奇数で3で割り切れます。」 ・奇数で3で割り切れない数なら「整数○は奇数だけど3で割り切れません。」 の○の位置にnoの値を当てはめて表示した後、改行 #include <stdio.h> main(void) { int no; printf("整数を入力してください。\n"); scanf("%d",&no); if(no/2==0,no%4==0){ printf("整数%dは偶数で4で割り切れます。\n",no); }else{ if(no/2==0,no%4!==0){ printf("整数%dは偶数だけど4で割り切れません。\n",no); }else{ if(no/2!=0,no%3==0){ printf("整数%dは奇数で3で割り切れます。\n",no); }else{ printf("整数%dは奇数だけど3で割り切れません。\n",no); } } } } ※なお、上のプログラムは全て左詰めになってしまっていますが、質問する上で表示出来なかっただけですので…実際にはちゃんと然るべき箇所にTabキーによる余白は入れてあります。

  • C言語のプログラムについて。

    #include <stdio.h> int main(void) {   int hoge,piyo;   printf("数値を入力せよ。:");   scanf("%d",&hoge);   piyo = hoge % 2;   if (piyo == 0) {     printf("%dは、偶数。\n",hoge);   } else {     printf("%dは、奇数。\n",hoge);   };   return 0; } という、プログラムが、実行できません。 といって、エラーメッセージがでてくれないので、困っています。 ひょっとして、非常に初歩的なミスという気もするのですが。 これはよかった!という、C言語に関する書籍、また、コンピュータのシステムに関する書籍がありましたら、合わせてご教授ください。

  • C言語について  

    次のような問題が解けません。あと少しなのでよろしくお願いします。 4回目と5回目がうまく表示されません。 キーボードから値を入力し、1から入力された値までの奇数の和を求めて出力するプログラムを作成しなさい。ただし、for文を使うこと。 また、0 や負数が入力された場合は合計値を0と表示すること。 実行例 入力値:9 合計値:25 #include<stdio.h> int main(void) { int n,ne,kisuu; printf("\n入力値:"); scanf ("%d",&ne); n=1; kisuu=0; for(n=1;n<=ne;n=n+2){ kisuu=kisuu+n; printf("\n1から %dまでの奇数の和:%d\n",ne,kisuu); } }

  • C言語のプログラムについてですが、

    #include <stdio.h> int main(void) { double r; printf("半径を入力してください:"); scanf("%lf", &r); printf("円周=%f\n", 2.0 * r * 3.14159); printf("円面積=%f\n", r * r * 3.14159); return 0; } 上のC言語のプログラムを参考にして 正三角形一辺を double値でキーボード入力し、次のように高さと 面積を計算するプログラムを教えてください。 よろしくお願いしますl_ω_l 3の平方根は1.73205とします。 [実行結果] ======= 一辺の値を入力してください: 20 高さ=17.320500 面積=173.205000

  • C言語 繰り返しの問題

    C言語の初心者です。 キーボードから値を入力して、1から入力された値までの奇数の和を求めて出力するプログラムを作成します。以下のように組んでみましたが、全然うまくいきません。誰か教えていただけませんか? #include<stdio.h> int main(void) { int i,n,sum; sum=0; printf("入力値:",n); scanf("%d",&n); if(n<=0) { printf("\n合計値:0\n"); } else { printf("入力値:\n",n); for(i= 1; i<= n; i=i+2) { if(n%2=1) { sum=sum+i; } } } printf("\n合計値\n",sum); }