- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
PAGE
课题
任务7.3某车企多项数据显示(将指针作为函数参数)
课型
讲练
授课班级
授课时数
2
教学目标
1.字符串指针变量的说明和应用
2.函数的指针与函数指针变量的应用
3.指针数组与主函数main()的形参
教学重点
1.函数的指针与函数指针变量的应用
2.指针数组与主函数main()的形参
教学难点
指针数组与主函数main()的形参
学情分析
指针和字符串连接在一起是一个难点,前面应该都讲过了指针和字符串分别这两个知识点。将两者结合起来学习,体会不同之处。
对于子函数用指针作为行参也是第一次接触,会有一定难度。
教学效果
教后记
任务7.3某车企多项数据显示(将指针作为函数参数)
7.3.1任务目标
已知某品牌4S店1~12月的汽车销售量分别为10,12,15,14,16,8,7,14,16,17,11,12,输出1~12月的汽车销售量。
7.3.2知识储备
1.数组名可以用作函数的实参和形参。
例如:
#includestdio.h
sort(intarray[])
{
…
}
voidmain()
{
intscore[10];
…
sort(score);
…
}
当使用数组名作参数时,如果形参数组中各元素的值发生变化,则实参数组元素的值也随之变化。因为实参数组与形参数组共占同一段内存单元。
2.动态存储方式与静态存储方式
静态存储方式:程序运行期间分配固定的存储空间。
动态存储方式:程序运行期间根据需要进行动态分配存储空间的方式。
3.局部变量与全局变量
程序中变量的使用范围不同:作用域(scope)就是变量的有效范围。变量的作用域取决于变量的访问性。
(1)局部变量。
函数内部的变量称为“局部变量”(localvariable),其作用域仅限于函数内部,离开该函数后就是无效的,再使用系统就会报错。
主函数中定义的变量也只能在主函数中使用,不能在其他函数中使用。
允许在不同的函数中使用相同的变量名,它们代表不同变量,分配不同的存储单元,互不相干,不会发生混淆。
形参变量:在函数体内定义的变量都是局部变量。实参给形参传值的过程也就是给局部变量赋值的过程。
(2)全局变量
在所有函数外部定义的变量称为“全局变量”(globalvariable),它的作用域默认是整个程序,也就是所有的源文件,包括.c文件和.h文件。它的作用域是从声明时刻开始到程序结束。
全局变量定义必须在所有函数之外。
全局变量可加强函数模块之间的数据联系,但是函数又依赖这些变量,降低函数的独立性。
在同一个源文件中,允许全局变量和局部变量同名,在局部变量作用域内,同名的全局变量不起作用。
示例1,全局变量与局部变量的应用。
#includestdio.h
intsum1=0; //全局变量
voidaddNumbers(intnum1,intnum2)
{
intsum=0; //局部变量
sum=sum+num1+num2;
sum1=sum1+num1+num2;
printf(\n两数之和子函数sum=的值是%d\n,sum);
printf(\n两数之和子函数sum1=的值是%d\n,sum1);
}
voidmain()
{
intsum=0; //局部变量
intnum1,num2; //局部变量
printf(\n请输入两个数;);
scanf(%d%d,num1,num2);
addNumbers(num1,num2);
addNumbers(num1,num2);
printf(\n两数之和主函数sum=的值是%d\n,sum);
}
示例1的运行结果如图7-7所示。
图7-7示例1的运行结果通过上述示例发现,定义了全局变量的sum1
图7-7示例1的运行结果
7.3.3典型案例
典型案例1:从键盘上输入某客车集团5个员工的工资,并将其输出。
代码如下:
#includestdio.h
voidscanfEmployees(intEmployees[],intn)
{int*p,i;
for(p=Employees,i=1;p(Employees+n);p++,i++)
{
printf(请输入第%d个人的工资:,i);
scanf(%d,p);
}
}
voidprint(intEmployees
您可能关注的文档
- 单片机原理及应用(C51版)第3章习题答案.docx
- 单片机原理及应用(C51版)第4章课后题答案.docx
- 单片机原理及应用(C51版)第5章课后题答案.docx
- 单片机原理及应用(C51版)第6章作业答案.docx
- 单片机原理及应用(C51版)第7章课后题答案.docx
- C语言项目化教程(基于智能制造软件)教案 项目八任务1一辆汽车的数据显示(结构体变量).doc
- C语言项目化教程(基于智能制造软件)教案 项目二任务1统计汽车的数量 (printf函数 教案).doc
- C语言项目化教程(基于智能制造软件)教案 项目二任务2统计汽车的载客人数 (scanf函数).doc
- C语言项目化教程(基于智能制造软件)教案 项目二任务3 统计需要的车辆(算术运算符、强制转换).doc
- C语言项目化教程(基于智能制造软件)教案 项目二任务4 显示驾照的类型(字符输入与输出).doc
文档评论(0)