华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當前位置:計算機等級 > 二級考試 > C語言程序設計 > C語言輔導 > 文章內(nèi)容
  

全國計算機等級考試二級C語言入門教程(75)

中華IT學院   【 】  [ 2016年2月19日 ]

函數(shù)的嵌套調(diào)用

C語言中不允許作嵌套的函數(shù)定義。因此各函數(shù)之間是平行的,不存在上一級函數(shù)和下一級函數(shù)的問題。 但是C
語言允許在一個函數(shù)的定義中出現(xiàn)對另一個函數(shù)的調(diào)用。這樣就出現(xiàn)了函數(shù)的嵌套調(diào)用。即在被調(diào)函數(shù)中又調(diào)用其它
函數(shù)。 這與其它語言的子程序嵌套的情形是類似的。其關系可表示如圖5.2。

表示了兩層嵌套的情形。其執(zhí)行過程是:執(zhí)行 main函數(shù)中調(diào)用 a函數(shù)的語句時,即轉(zhuǎn)去執(zhí)行 a函數(shù),在 a

函數(shù)中調(diào)用b 函數(shù)時,又轉(zhuǎn)去執(zhí)行b函數(shù),b函數(shù)執(zhí)行完畢返回 a函數(shù)的斷點繼續(xù)執(zhí)行,a 函數(shù)執(zhí)行完畢返回main

函數(shù)的斷點繼續(xù)執(zhí)行。

[例 5.8]計算s=2  2!+3  2!

本題可編寫兩個函數(shù),一個是用來計算平方值的函數(shù) f1, 另一個是用來計算階乘值的函數(shù) f2。主函數(shù)先調(diào) f1計算出

平方值, 再在 f1中以平方值為實參,調(diào)用 f2計算其階乘值,然后返回f1,再返回主函數(shù),在循環(huán)程序中計算累加

和。

long f1(int p)

{

int k;

long r;

long f2(int);

k=p*p;

r=f2(k);

return r;

}

long f2(int q)

{

long c=1;

int i;

for(i=1;i<=q;i++)

c=c*i;

return c;

}

main()

{

int i;

long s=0;

for (i=2;i<=3;i++)

s=s+f1(i);


printf("\ns=%ld\n",s);
}
long f1(int p)
{
……
long f2(int);
r=f2(k);
……
}
long f2(int q)
{
……
}
main()
{ ……
s=s+f1(i);
……
}

首頁 1 2 3 4 尾頁
分享到:
本文糾錯】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動訪問考試網(wǎng) | 復制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關于本站  網(wǎng)站聲明  廣告服務  聯(lián)系方式  站內(nèi)導航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營業(yè)執(zhí)照
湟源县| 台山市| 政和县| 罗江县| 南城县| 南涧| 兴文县| 玉山县| 定结县| 富阳市| 眉山市| 乌兰浩特市| 兴和县| 沙坪坝区| 永善县| 鄂州市| 乌兰察布市| 会理县| 府谷县| 拜城县| 车险| 吴忠市| 镇原县| 莱阳市| 灵丘县| 阳城县| 洛南县| 清苑县| 镇原县| 玉田县| 安陆市| 盐山县| 临桂县| 中牟县| 鸡泽县| 南江县| 台湾省| 武清区| 嫩江县| 枣庄市| 高邮市|