二级c语言全部授课课件摘要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章对函数的进一步讨论 一、传给main函数的参数 第一种写法:main(int argc,char **argv){….} 第二种写法:main(int argc,char *argv[]){….} 期中argc和argv是两个参数名,可由用户自已命名,但是它们的 类型却是固定的。第一个参数argc必须是整数;第二个参数argv 是一个指向字符型的指针数组的指针,这个字符型指针数组的 每个指针都指向一个字符串。见第11章例题: 二、通过实参向函数传递函数名或指向函数的指针变量 (见书158页例题即可) C语言规定:函数必须先定义,后调用(函数的返回值类型为int 或char 除 外)凡是未在调用前定义的函数(即未在调用前写函数原型),c编译程序都 默认函数的返回值为int型。对于返回值为其他类型的函数,若把函数的定义 放在调用之后,应该在调用之前对函数进行说明(即写函数原型)。 函数的递归调用 必须符合以下三个条件: 1、可以把要解的问题转化为一个新的问题,而这个新的问题的 解法仍与原来的解法相同,只是所处理的对象有规律地递增或 递减。 2、可以应用这个转化过程使问题得到解决。 3、必定要有一个明确的结束递归的条件。 /* 此函数用于计算 a 的阶乘 */ int factorial(int a) { if (a == 1) return 1; else { a = a * factorial(a-1); return a; } } 函数递归调用 在一个函数体内调用自身称为函数的递归调用 第十二章 标识符的作用域和存储类 变量的作用域 4-1 作用域是某些事物起作用或有效的区域。 限于陆地 限于海洋 限于空中 程序中变量也有不同的使用范围,称为变量的作用域。变量的作用域决定变量的可访问性 变量的作用域 4-2 void displayDiscount() { float discount_amt; . . . . . . . . . } 局部变量:不能在函数外使用 float discount_amt; void main() { . . . . . . } void displayDiscount() { . . . . . . } 全局变量:可以在整个程序中使用 局部变量的作用域 4-3 #include stdio.h void addNumbers() { int num1,num2,sum; printf(\n 请输入两个数:); scanf(%d %d,num1,num2); sum=num1+num2; printf( 子函数中 sum 的值是 %d \n,sum); } void main() { int sum=0; addNumbers(); printf(\n 主函数中 sum 的值是 %d \n ,sum); } 内存 sum num2 0 45 num1 请输入两个数:56 45 子函数中sum的值是101 主函数中sum的值是 0 56 sum 101 全局变量的作用域 4-4 #include stdio.h int sum=0; void addNumbers() { int num1,num2; printf(\n 请输入两个数:); scanf(%d %d,num1,num2); sum=num1+num2; printf( 子函数中 sum 的值是 %d \n,sum); } void main() { addNumbers(); printf(\n 主函数中 sum 的值是 %d \n ,sum); } 内存 sum num2 0 45 num1 请输入两个数:56 45 子函数中sum的值是101 主函数中sum的值是101 56 101 #includestdio.h Int sum; Void fun(void); Main() { sum=10; Printf(“(1):%d\n”,sum); Fun(); Printf(“(2):%d\n”,sum); } Void fun() { int sum; sum=20; Printf(“(3):%d\n”,sum); } 结果:(1):10 (3):20 (2):10 不提倡使用全局变量的原因: (1)不论是否需要,全局变量在整个程序运行期间都占用内存空间。 (2)全局变量必须在函数以外

文档评论(0)

光光文挡 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档