您所在位置: 网站首页 / C语言入门文档.ppt / 文档详情
C语言入门文档.ppt 立即下载
2024-08-19
约3.9千字
约75页
0
2MB
举报 版权申诉
预览加载中,请您耐心等待几秒...

C语言入门文档.ppt

C语言入门文档.ppt

预览

免费试读已结束,剩余 70 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

04Function
(函数)Structure:KnowledgepointCisamodularprogramminglanguage(C是模块化程序设计语言)UnderstandingofthefunctionClassificationoffunctions(函数分类)FunctionDefinition(函数定义)FunctionDefinition(函数定义)合法标识符FunctionDefinitionFormat:returnexpression;
		return(expression);
return;
Annotation:Theprogramreturnstothecallingfunction,thevalueofexpressionreturnstoitscaller.
返回调用函数
Theremaybemorethanonereturnstatements,butthereisonlyonereturnvalueinafunction.
可能不止一个return语句,但一次只能带回一个返回值。
ReturnstatementPrototypingaFunction(函数的声明)Example:
floatadd(float,float);/*functiondeclaration*/
main()
{
floata,b,c;
scanf("%f,%f",&a,&b);
c=add(a,b);
printf("sumis%f",c);
}
floatadd(floatx,floaty)
{floatz;
z=x+y;
return(z);
}main()
{floata,b;
intc;
scanf("%f,%f",&a,&b);
c=max(a,b);
printf("Maxis%d\n",c);
}
max(floatx,floaty)
{floatz;
z=x>y?x:y;
return(z);
}CallingaFunction(函数调用)CallingaFunction(函数调用)CallingaFunction(函数调用)CallingFunctionparametersandtheirtransfermode
Formalparameter&ActualArguments
形式参数:定义函数时函数名后面括号中的变量名
实际参数:调用函数时函数名后面括号中的表达式说明:
实参必须有确定的值
形参必须指定类型
形参与实参类型一致,个数相同
若形参与实参类型不一致,自动按形参类型转换———函数调用转换
形参在函数被调用前不占内存;函数调用时为形参分配内存;调用结束,内存释放
例计算x的立方Parameterpassing
Valueispassed
Whenthefunctioncall,Allocationunitfortheparameter,andtheargumentvalueiscopiedintotheparameter;Endofthecall,parameterunitisreleased,Argumentstoretaintheoriginalvalue.
Features:
Theparameterandargumentstakedifferentinthememoryunit
One-waytransfer参数传递方式
值传递方式方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值
特点:
形参与实参占用不同的内存单元
单向传递7Addressispassed
Functioncall,thedatastorageaddresspassedtotheparameter
Features:
Theparameterandargumentstakeinthesamestorageunit
"Two-way"transfer
Actualandformalparametersmustbeconstantorvariableaddress地址传递
方式:函数调用时,将数据的存储地址作为参数传递给形参
特点:
形参与实参占用同样的存储单元
“双向”传递
实参和形参必须是地址常量或变量/*ch9_3.c*/
swap(p1,p2)
int*p1,*p2;
{intp;
p=*p1;
*p1=*p2;
*p2=p;
}
main()
{inta,b;
scanf("%d,%d",&a,&b);
printf(“a=%d,b=%d\n”,a,b);
printf(“swapped:\n”);
swap(&a,&b);
printf(”a=%d,b=%d\n",a,b);
}Nestedfunctioncalls
(函数嵌套调用)
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

C语言入门文档

文档大小:2MB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用