質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.61%

  • C

    3568questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

ドットインストールのC言語の関数について

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 982
退会済みユーザー

退会済みユーザー

ドットインストールにてC言語の講座を見ているので菅。関数についていまいち意味がわかりません。
http://dotinstall.com/lessons/basic_c/9409
どういう意味ですか?
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • munyaX

    2015/04/14 19:30

    具体的にどういった部分がわからなかったのですか?

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2015/04/14 22:24

    JavaScriptのような関数だと思っていいのでしょうか?書き方から意味までほぼわかりません・・・わかるのは処理をまとめて使いやすくということだけです。

    キャンセル

回答 1

checkベストアンサー

+1

初心者の回答ですが、ご了承ください。

まず関数とは、このビデオで行っているように複数の処理をまとめられる一種の機能のようなものです。C言語では関数を組み合わせてプログラムを作ります。たまにC言語は関数型言語と勘違いされますが、違います。手続型です。forループやif条件分岐などを大切にする言語です。
そんな手続きの中でも
int main(void){
}
はエントリポイントと呼ばれる関数で、プログラムがここから始まるということを示す特殊な関数です。

さてこの講座では引数を2個取り、大きいほうを戻り値で戻す関数を作ってますね。
関数の作り方ですが
__戻り値の型 関数名(引数リスト){}__
という形で書くことができます。
ちなみに関数の書き方は使用言語によって違います。
C言語の変数には整数型に int、longなどがあり
浮動小数型に float、doubleなどがあります。
getMax()関数は戻り値にも引数にも浮動小数型を使っています。
float getMax(float a,float b){
    if(a>=b){
        return a;
    }else{
        return b;
    }
}
とありますね。
関数で戻り値を設定するためには
return a;
のようにreturnというキーワードを使います。
コードの中身としてはifの条件分岐でaがb以上であった場合にaを返し、それ以外の場合にbを返す
といった感じです。
関数の呼び出し方ですが
int main(void){
    float result;
    result=getMax(2.3,5.2);
    printf("%f\n",result);

    return 0;
というコードが書かれていますが、今回は戻り値のある関数を呼び出すため、戻り値を格納するために変数(result)を用意しています。当然関数からはfloat型の戻り値が返ってくるのでそれと同じ型です。
引数は2.3と5.2 。大きいほうは5.2なので戻り値は5.2、resultにも格納されます。
それをprintf()関数で出力していますが、この際使われる変換仕様%fについてお話しします。
変換仕様とはprintfやscanfなどの関数によく用いられる方法です。%~~と書かれている場所にコンマで区切られたものを埋め込むような仕様です。
例えば
#include<stdio.h>
int main(void){
    int i;
    double f;
    char c;

    scanf_s("%d\n", &i);  //int型の変換仕様(scanf):%d
    scanf_s("%lf\n", &f);  //double型の変換仕様(scanf):%lf
    scanf_s("%c", &c);  //char型の変換仕様(scanf):%c

    printf("i=%d\n", i);  //int型の変換仕様(printf):%d
    printf("f=%f\n", f);  //double型の変換仕様(printf):%f
    printf("c=%c\n", c);  //char型の変換仕様(printf):%c

    return 0;


}
コマンドプロンプトの画面は
2
2.5
a
i=2
f=2.500000
c=a
のようになります。

こんな感じでよろしいでしょうか?長くなって申し訳ございません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/04/14 22:28

    詳しくありがとうございます!とても助かりました!

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • C

    3568questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。