C++蓝桥等考导学/十二级:函数/之三:(3函数的调用方式)(十二级完)

一、观看视频

01】全局变量和局部变量【02】函数的调用方式【03】最小公倍数

04】约分

二、研读学生讲义

【学生讲义】01】全局变量和局部变量【学生讲义】02】函数的调用方式【学生讲义】03】最小公倍数

【学生讲义】【04】约分

三、练习题(不清楚回头查看有关视频或讲义)

01】 有关全局变量,描述错误的是:

①在所有函数外部声明的变量是全局变量。

②全局变量的作用于是变量所在的文件。

③全局变量的值在程序的整个生命周期内都是有效的。

④全局变量在程序执行的全过程中一直占用内存单元。

02】说一说下面程序的输出,然后运行验证。

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>#include<cstring>using namespace std;char a;short b;int c;double d;string e;int main(){  cout <<"1" << a << "2"<< endl;  cout << b << endl;  cout << c << endl;  cout << d << endl;  cout <<"3" << e << "4"<< endl;   return 0;}

03】有关局部变量,描述错误的是:

①局部变量:在函数或一个代码块内部声明的变量。

②主函数main中定义的变量是局部变量。

③函数的形参是局部变量。

④局部变量只能被函数内部或者代码块内部的语句使用。在不同的函数中变量名可以相同,它们分别代表不同的对象,在内存中占据不同的内存单元,互不干扰。

⑤局部变量的存储空间是临时分配的,当函数执行完毕,局部变量的空间就被释放,之中的值无法保留到下一次使用。

⑥一个局部变量和一个全局变量是可以同名的,在相同的作用域内局部变量有效时全局变量无效。即局部变量可以屏蔽全局变量。

⑥如果不初始化,那么它的初值与全局变量一样,字符类型是空格,数值类型是0,字符串类型是空字符串("")。

⑦局部变量受栈空间大小的限制,无法开辟规模很大的数组。

04】请判定下面的描述是使用全局变量的好处还是坏处:

①使得函数间多了一种传递信息的方式。

②增加调试难度。因为多个函数都能改变全局变量的值,不易判断某个时空全局变量的值。

③如果在一个程序中多个函数都要对同一个变量进行处理,就可以将这个变量定义成全局变量。

④降低程序的通用性。如果将一个函数移植到另一个程序中,需要将全局变量一起移植过去,同时还有可能出现重名问题。

05】说一说下面程序的输出,然后运行验证。

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;void swap(int a, int b){  int t = a;  a = b;  b = t;  cout << a << ' ' << b << endl;}int main(){  int c = 1;  int d = 2;  swap(c, d);  cout << c << ' ' << d << endl;   return 0;}

06】说一说下面程序的输出,然后运行验证。

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;void swap(int &a, int &b){  int t = a;  a = b;  b = t;  cout << a << ' ' << b << endl;}int main(){  int c = 1;  int d = 2;  swap(c, d);  cout << c << ' ' << d << endl;   return 0;}

07】编程(使用自定义函数)

 

08】编程(使用自定义函数)

 

09】OpenJudge练习

OpenJudge-1.13-21】最大质因子序列

OpenJudge-1.13-23】区间内的真素数

OpenJudge-1.13-34】【OpenJudge-2.1-1973】确定进位