C言語——関数
C言語——関数
1、なぜ関数を使うのか:重複操作を避ける .プログラムのモジュール化(逐一分解)に有利
2、関数とは何か論理上:特定の機能を完了するのに十分なコードブロック; 物理的には、受信可能なデータ【もちろん、受け入れなくてもよい】受信可能なデータを処理するデータ処理の結果を返すことができる【任意の値を返さなくてもよい】 .まとめ:1.関数は1種のツールで、彼は大量の類似の問題を解決するために設計した.関数はブラックボックス として使用できます.
3、関数の定義方法形式: 本質:関数が特定の機能を実現できる具体的な実現方法を詳細に説明する. 関数の戻り値のタイプは、関数のタイプとも呼ばれます.つまり、関数のタイプは戻り値のタイプと同じです. return式;の意味: 被変調関数を終了し、主関数に式の値を返す. 式が空の場合、関数は終了し、プライマリ・コール関数に値を返さない. breakはforループとswitchを終了するために使用され、returnは関数を終了するために使用される である.
4、関数の分類有パラメトリック関数と無パラメトリック関数 戻り値関数と戻り値なし関数 がある.ライブラリ関数およびユーザー定義関数 値伝達関数およびアドレス伝達関数 一般関数とメイン関数(main)注:1つのプログラムに1つのメイン関数が必要であり、1つのメイン関数しかありません.メイン関数は一般関数を呼び出し、一般関数は互いに呼び出すことができます.メイン関数はプログラムの入口であり、関数の出口でもあります.例:
5、関数の宣言注意:実行時は上から下になるので、関数が宣言されず、主関数の後ろに置かれると、プログラムがエラーを報告します.宣言するときはセミコロンをつけてください. ライブラリ関数(printfのような)は、#includeによって実現されるため、これ以上宣言する必要はありません.
6、どのようにソフトウェア開発の中で合理的な設計関数で実際の問題を解決するか一つの関数の機能はできるだけ独立して、単一であるべきである.牛人のコードを多く勉強し、真似します.
1、なぜ関数を使うのか:
#include
void max(int i, int j) // max , i,j ;
{ //void
if(i>j)
printf("%d
" ,i);
else
printf("%d
" ,j);
}
int main(void) // main , main
{
int a, b, c, d, e, f;
a=1, b=4, c=0, d=9, e=90, f=78;
max(a,b); // , max ;
max(c,d);
max(d,f);
return 0;
}
2、関数とは何か
# include
int f(void) //f()
{
return 10;// 10;
}
void g(void) //
{
//return 10;error
}
int main(void)
{
int j = 88;
j = f();
printf("%d
", j);// 10
//j = g(); error g
return 0;
}
3、関数の定義方法
( )
{
}
# include
void f(void)
{
int i;
for (i=0; i<5; i++)
{
printf(" !
");
// break; // for ,for
return ;// f()
}
printf(" !
");
}
int main(void)
{
f();
}
// break : ! !
// return : !
4、関数の分類
/*
*
*/
#include
int main(void)
{
int val;//
int i;//
printf(" :");
scanf("%d",&val);
for (i=2; i<val; i++) //
{
if(val%i == 0)
break;
}
if(i == val)
printf("Yes!
");
else
printf("No!
");
return 0;
}
=========================================================
/*
*
*/
#include
bool IsPrime(int val)
{
int i;//
for (i=2; i<val; i++) //
{
if(val%i == 0)
break;
}
if(i == val)
return true;
else
return false;
}
int main(void)
{
int m;
printf(" :");
scanf("%d", &m);
if( IsPrime(m) )
printf("Yes!
");
else
printf("No!
");
return 0;
}
5、関数の宣言
#include
void f(void); // ,
int main(void)
{
f(); // ,
return 0;
}
// f main
void f(void)
{
printf("test!
");
}
6、どのようにソフトウェア開発の中で合理的な設計関数で実際の問題を解決するか
/*
1~val 1
*/
#include
int main(void)
{
int val;
int i;
int j;
scanf("%d", &val);
for(i=2; i<=val; i++)//
{
for(j=2; j<i; j++)
{
if(0 == i%j)
break; // for ,break
}
if(j == i)
printf("%d
", i);
}
return 0;
}
=========================== ========================================
/*
1 ,
2
*/
# include
// : m , true, false
bool IsPrime(int m)
{
int i;
for (i=2; i<m; ++i)
{
if (0 == m%i)
break;
}
if (i == m)
return true;
else
return false;
}
// 1 n ,
void TraverseVal(int n)
{
int i;
for (i=2; i<=n; ++i)
{
if ( IsPrime(i) )
printf("%d
", i);
}
}
int main(void)
{
int val;
scanf("%d", &val);
TraverseVal(val);
return 0;
}